OSDN Git Service

0750 Tween_v0.7.5.0
authorkiri_feather <kiri_feather@users.sourceforge.jp>
Wed, 11 Nov 2009 09:14:45 +0000 (09:14 +0000)
committerKimura Youichi <kim.upsilon@bucyou.net>
Sat, 18 Feb 2012 13:43:02 +0000 (22:43 +0900)
git-svn-id: http://svn.sourceforge.jp/svnroot/tween/trunk@3 e39ad16e-3079-482e-bb30-4b4d378143b6

96 files changed:
LICENSE.ja.txt [new file with mode: 0644]
LICENSE.txt [new file with mode: 0644]
Tween.sln [new file with mode: 0644]
Tween.suo [new file with mode: 0644]
Tween/AnalyzeKey.vb [new file with mode: 0644]
Tween/ApplicationEvents.vb [new file with mode: 0644]
Tween/AtIdSupplement.Designer.vb [new file with mode: 0644]
Tween/AtIdSupplement.resx [new file with mode: 0644]
Tween/AtIdSupplement.vb [new file with mode: 0644]
Tween/ChangeLog.txt [new file with mode: 0644]
Tween/Connection/HttpConnection.vb [new file with mode: 0644]
Tween/Connection/HttpConnectionApi.vb [new file with mode: 0644]
Tween/Connection/HttpConnectionOAuth.vb [new file with mode: 0644]
Tween/DetailsListView.vb [new file with mode: 0644]
Tween/DialogAsShieldIcon.Designer.vb [new file with mode: 0644]
Tween/DialogAsShieldIcon.resx [new file with mode: 0644]
Tween/DialogAsShieldIcon.vb [new file with mode: 0644]
Tween/FilterDialog.Designer.vb [new file with mode: 0644]
Tween/FilterDialog.en.resx [new file with mode: 0644]
Tween/FilterDialog.resx [new file with mode: 0644]
Tween/FilterDialog.vb [new file with mode: 0644]
Tween/InputTabName.Designer.vb [new file with mode: 0644]
Tween/InputTabName.en.resx [new file with mode: 0644]
Tween/InputTabName.resx [new file with mode: 0644]
Tween/InputTabName.vb [new file with mode: 0644]
Tween/My Project/Application.Designer.vb [new file with mode: 0644]
Tween/My Project/Application.myapp [new file with mode: 0644]
Tween/My Project/AssemblyInfo.vb [new file with mode: 0644]
Tween/My Project/Resources.Designer.vb [new file with mode: 0644]
Tween/My Project/Resources.en.resx [new file with mode: 0644]
Tween/My Project/Resources.resx [new file with mode: 0644]
Tween/My Project/Settings.Designer.vb [new file with mode: 0644]
Tween/My Project/Settings.settings [new file with mode: 0644]
Tween/MyCommon.vb [new file with mode: 0644]
Tween/MySocket.vb [new file with mode: 0644]
Tween/OpenURL.Designer.vb [new file with mode: 0644]
Tween/OpenURL.en.resx [new file with mode: 0644]
Tween/OpenURL.resx [new file with mode: 0644]
Tween/OpenURL.vb [new file with mode: 0644]
Tween/Outputz.vb [new file with mode: 0644]
Tween/Resources/1o.ico [new file with mode: 0644]
Tween/Resources/2b.ico [new file with mode: 0644]
Tween/Resources/3b.ico [new file with mode: 0644]
Tween/Resources/4b.ico [new file with mode: 0644]
Tween/Resources/4r.ico [new file with mode: 0644]
Tween/Resources/4y.ico [new file with mode: 0644]
Tween/Resources/5b.ico [new file with mode: 0644]
Tween/Resources/5g.ico [new file with mode: 0644]
Tween/Resources/5o.ico [new file with mode: 0644]
Tween/Resources/5r.ico [new file with mode: 0644]
Tween/Resources/5y.ico [new file with mode: 0644]
Tween/Resources/6b.ico [new file with mode: 0644]
Tween/Resources/6g.ico [new file with mode: 0644]
Tween/Resources/6o.ico [new file with mode: 0644]
Tween/Resources/ChangeLog.txt [new file with mode: 0644]
Tween/Resources/re.ico [new file with mode: 0644]
Tween/Resources/re2.ico [new file with mode: 0644]
Tween/Resources/re3.ico [new file with mode: 0644]
Tween/Resources/re4.ico [new file with mode: 0644]
Tween/SearchWord.Designer.vb [new file with mode: 0644]
Tween/SearchWord.en.resx [new file with mode: 0644]
Tween/SearchWord.resx [new file with mode: 0644]
Tween/SearchWord.vb [new file with mode: 0644]
Tween/Setting.Designer.vb [new file with mode: 0644]
Tween/Setting.en.resx [new file with mode: 0644]
Tween/Setting.resx [new file with mode: 0644]
Tween/Setting.vb [new file with mode: 0644]
Tween/Setting/SettingAtIdList.vb [new file with mode: 0644]
Tween/Setting/SettingBase.vb [new file with mode: 0644]
Tween/Setting/SettingCommon.vb [new file with mode: 0644]
Tween/Setting/SettingFollower.vb [new file with mode: 0644]
Tween/Setting/SettingLocal.vb [new file with mode: 0644]
Tween/Setting/SettingTab.vb [new file with mode: 0644]
Tween/SettingToConfig.vb [new file with mode: 0644]
Tween/ShieldIcon.vb [new file with mode: 0644]
Tween/StatusDictionary.vb [new file with mode: 0644]
Tween/TabsDialog.Designer.vb [new file with mode: 0644]
Tween/TabsDialog.en.resx [new file with mode: 0644]
Tween/TabsDialog.resx [new file with mode: 0644]
Tween/TabsDialog.vb [new file with mode: 0644]
Tween/ToolStripLabelHistory.vb [new file with mode: 0644]
Tween/TwConfig.vb [new file with mode: 0644]
Tween/Tween.Designer.vb [new file with mode: 0644]
Tween/Tween.en.resx [new file with mode: 0644]
Tween/Tween.resx [new file with mode: 0644]
Tween/Tween.vb [new file with mode: 0644]
Tween/Tween.vbproj [new file with mode: 0644]
Tween/Tween.vbproj.user [new file with mode: 0644]
Tween/TweenAboutBox.Designer.vb [new file with mode: 0644]
Tween/TweenAboutBox.en.resx [new file with mode: 0644]
Tween/TweenAboutBox.resx [new file with mode: 0644]
Tween/TweenAboutBox.vb [new file with mode: 0644]
Tween/Twitter.vb [new file with mode: 0644]
Tween/WebBrowserController.vb [new file with mode: 0644]
Tween/Win32Api.vb [new file with mode: 0644]
Tween/app.config [new file with mode: 0644]

diff --git a/LICENSE.ja.txt b/LICENSE.ja.txt
new file mode 100644 (file)
index 0000000..a2fae3b
--- /dev/null
@@ -0,0 +1,30 @@
+謝辞
+
+本ソフトウェアにおいて、Tween/Resources ディレクトリに含まれる
+以下のファイル:
+    1o.ico
+    2b.ico
+    3b.ico
+    4b.ico
+    4r.ico
+    4y.ico
+    5b.ico
+    5o.ico
+    5r.ico
+    5y.ico
+    6b.ico
+    6o.ico
+    re.ico
+    re2.ico
+    re3.ico
+    re4.ico
+は Minami <http://www.pi-kun.com/> によって作成されました。
+上記のファイルは GNU General Public License (GPL) (GNU 一般公衆利用許諾書)
+によってライセンスされていません。上記のファイルに対する問い合わせは、
+Tween の著作者ではなくアイコンの著者にお問い合わせください。
+
+謝辞終わり。
+
+GNU General Public License (GPL) (GNU 一般公衆利用許諾書) の非公式な
+日本語訳は 2008 年 11 月 17 日 (日本時間) の時点で
+http://sourceforge.jp/magazine/07/09/02/130237 にて公開されています。
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644 (file)
index 0000000..50b29cc
--- /dev/null
@@ -0,0 +1,702 @@
+ACKNOWLEDGEMENT:
+
+In this software, below icon files in Tween/Resources directory:
+    1o.ico
+    2b.ico
+    3b.ico
+    4b.ico
+    4r.ico
+    4y.ico
+    5b.ico
+    5o.ico
+    5r.ico
+    5y.ico
+    6b.ico
+    6o.ico
+    re.ico
+    re2.ico
+    re3.ico
+    re4.ico
+was created by Minami <http://www.pi-kun.com/>.
+These files are NOT licensed under the GNU General Public License (GPL).
+Please inquire about these files not to copyright holders of Tween, but
+to the author of the icons.
+
+END OF ACKNOWLEDGEMENT. BELOW IS THE LICENSE OF CODES OF THE SOFTWARE.
+
+
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
diff --git a/Tween.sln b/Tween.sln
new file mode 100644 (file)
index 0000000..2479620
--- /dev/null
+++ b/Tween.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Tween", "Tween\Tween.vbproj", "{41B54F21-5442-47D4-80F0-872D56D9E1FD}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|Any CPU = Debug|Any CPU
+               Release|Any CPU = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {41B54F21-5442-47D4-80F0-872D56D9E1FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {41B54F21-5442-47D4-80F0-872D56D9E1FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {41B54F21-5442-47D4-80F0-872D56D9E1FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {41B54F21-5442-47D4-80F0-872D56D9E1FD}.Release|Any CPU.Build.0 = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+EndGlobal
diff --git a/Tween.suo b/Tween.suo
new file mode 100644 (file)
index 0000000..7801f12
Binary files /dev/null and b/Tween.suo differ
diff --git a/Tween/AnalyzeKey.vb b/Tween/AnalyzeKey.vb
new file mode 100644 (file)
index 0000000..efef4d9
--- /dev/null
@@ -0,0 +1,44 @@
+Public Module AnalyzeKey
+'    このファイルはデバッグビルドのTweenにより自動作成されました   作成日時  2009/05/08 10:59:14
+
+    Public _splitPost As String = "<li id=""status_"
+    Public _splitPostRecent As String = "<li id=""status_"
+    Public _statusIdTo As String = """"
+    Public _splitDM As String = "<li id=""direct_message_"
+    Public _parseName As String = "://twitter.com/"
+    Public _parseNameTo As String = """"
+    Public _parseNick As String = "<img alt="""
+    Public _parseNickTo As String = """"
+    Public _parseImg As String = "src="""
+    Public _parseImgTo As String = """"
+    Public _parseMsg1 As String = "<span class=""entry-content"">"
+    Public _parseMsg2 As String = "</span>"
+    Public _parseDM1 As String = "<span class=""entry-content"">"
+    Public _parseDM11 As String = "<span class=""protected"">"
+    Public _parseDM2 As String = "</span>"
+    Public _parseDate As String = "data=""{time:'"
+    Public _parseDateTo As String = "'}"">"
+    Public _getAuthKey As String = "<input name=""authenticity_token"" value="""
+    Public _getAuthKeyTo As String = """"
+    Public _parseStar As String = "<a class="""
+    Public _parseStarTo As String = """"
+    Public _parseStarEmpty As String = "fav-action non-fav"
+    Public _followerList As String = "<select id=""direct_message_user_id"" name=""user[id]""><option value="""" selected=""selected"">"
+    Public _followerMbr1 As String = "/option>"
+    Public _followerMbr2 As String = """>"
+    Public _followerMbr3 As String = "<"
+    Public _getInfoTwitter As String = "<div class=""bulletin info"">"
+    Public _getInfoTwitterTo As String = "</div>"
+    Public _isProtect As String = "<span class=""lock-icon"""
+    Public _isReplyEng As String = ">in reply to "
+    Public _isReplyJpn As String = ">u8fd4u4fe1: "
+    Public _isReplyTo As String = "<"
+    Public _parseProtectMsg1 As String = "."" />"
+    Public _parseProtectMsg2 As String = "<span class=""meta entry-meta"">"
+    Public _parseDMcountFrom As String = "<span id=""message_count"" class=""stat_count"">"
+    Public _parseDMcountTo As String = "</span>"
+    Public _parseSourceFrom As String = "<span>from <a href="
+    Public _parseSource2 As String = """>"
+    Public _parseSourceTo As String = "</a>"
+    Public _removeClass As String = "<li class="""
+End Module
diff --git a/Tween/ApplicationEvents.vb b/Tween/ApplicationEvents.vb
new file mode 100644 (file)
index 0000000..cf8cfd3
--- /dev/null
@@ -0,0 +1,140 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Option Strict On
+
+Imports System.Diagnostics
+Namespace My
+
+    ' 次のイベントは MyApplication に対して利用できます:
+    ' 
+    ' Startup: アプリケーションが開始されたとき、スタートアップ フォームが作成される前に発生します。
+    ' Shutdown: アプリケーション フォームがすべて閉じられた後に発生します。このイベントは、通常の終了以外の方法でアプリケーションが終了されたときには発生しません。
+    ' UnhandledException: ハンドルされていない例外がアプリケーションで発生したときに発生するイベントです。
+    ' StartupNextInstance: 単一インスタンス アプリケーションが起動され、それが既にアクティブであるときに発生します。 
+    ' NetworkAvailabilityChanged: ネットワーク接続が接続されたとき、または切断されたときに発生します。
+    Partial Friend Class MyApplication
+        Private mt As System.Threading.Mutex
+
+        Private Sub MyApplication_Shutdown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shutdown
+            Try
+                mt.ReleaseMutex()
+                mt.Close()
+            Catch ex As Exception
+
+            End Try
+        End Sub
+
+        Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
+
+            'InitCulture()
+
+            Dim pt As String = Application.Info.DirectoryPath.Replace("\", "/") + "/" + Application.Info.ProductName
+            mt = New System.Threading.Mutex(False, pt)
+            Try
+                If Not mt.WaitOne(0, False) Then
+                    ' 実行中の同じアプリケーションのウィンドウ・ハンドルの取得
+                    Dim prevProcess As Process = GetPreviousProcess()
+                    If prevProcess IsNot Nothing AndAlso _
+                        IntPtr.op_Inequality(prevProcess.MainWindowHandle, IntPtr.Zero) Then
+                        ' 起動中のアプリケーションを最前面に表示
+                        WakeupWindow(prevProcess.MainWindowHandle)
+                    Else
+                        If prevProcess IsNot Nothing Then
+                            'プロセス特定は出来たが、ウィンドウハンドルが取得できなかった(アイコン化されている)
+                            'タスクトレイアイコンのクリックをエミュレート
+                            '注:アイコン特定はTooltipの文字列で行うため、多重起動時は先に見つけた物がアクティブになる
+                            Dim rslt As Boolean = ClickTasktrayIcon("Tween")
+                            If Not rslt Then
+                                ' 警告を表示(見つからない、またはその他の原因で失敗)
+                                MessageBox.Show(My.Resources.StartupText1, My.Resources.StartupText2, MessageBoxButtons.OK, MessageBoxIcon.Information)
+                            End If
+                        Else
+                            ' 警告を表示(プロセス見つからない場合)
+                            MessageBox.Show(My.Resources.StartupText1, My.Resources.StartupText2, MessageBoxButtons.OK, MessageBoxIcon.Information)
+                            'MessageBox.Show("すでに起動しています。2つ同時には起動できません。", "多重起動禁止")
+                        End If
+
+                    End If
+                    '起動キャンセル
+                    e.Cancel = True
+                    Exit Sub
+                End If
+            Catch ex As Exception
+            End Try
+
+            GC.KeepAlive(mt)
+
+        End Sub
+
+        Private Sub MyApplication_UnhandledException(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
+            'GDI+のエラー原因を特定したい
+            If e.Exception.Message <> "A generic error occurred in GDI+." AndAlso _
+               e.Exception.Message <> "GDI+ で汎用エラーが発生しました。" Then
+                e.ExitApplication = ExceptionOut(e.Exception)
+            End If
+        End Sub
+
+        Public ReadOnly Property CultureCode() As String
+            Get
+                Static _ccode As String = Nothing
+                If _ccode Is Nothing Then
+                    Dim filename As String = System.IO.Path.Combine(Application.Info.DirectoryPath, "TweenConf.xml")
+                    If IO.File.Exists(filename) Then
+                        Try
+                            Using config As New IO.StreamReader(filename)
+                                Dim xmlDoc As New Xml.XmlDocument
+                                xmlDoc.Load(config)
+                                Dim ns As New Xml.XmlNamespaceManager(xmlDoc.NameTable)
+                                ns.AddNamespace("conf", "urn:XSpect.Configuration.XmlConfiguration")
+                                _ccode = xmlDoc.SelectSingleNode("//conf:configuration/entry[@key='cultureCode']", ns).SelectSingleNode("string").InnerText
+                            End Using
+                        Catch ex As Exception
+
+                        End Try
+
+                    End If
+                End If
+                Return _ccode
+            End Get
+        End Property
+
+        Public Overloads Sub InitCulture(ByVal code As String)
+            Try
+                ChangeUICulture(code)
+            Catch ex As Exception
+
+            End Try
+        End Sub
+        Public Overloads Sub InitCulture()
+            Try
+                ChangeUICulture(Me.CultureCode)
+            Catch ex As Exception
+
+            End Try
+        End Sub
+
+    End Class
+
+End Namespace
+
diff --git a/Tween/AtIdSupplement.Designer.vb b/Tween/AtIdSupplement.Designer.vb
new file mode 100644 (file)
index 0000000..fdd0de7
--- /dev/null
@@ -0,0 +1,84 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class AtIdSupplement
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Me.ButtonOK = New System.Windows.Forms.Button
+        Me.ButtonCancel = New System.Windows.Forms.Button
+        Me.TextId = New System.Windows.Forms.TextBox
+        Me.SuspendLayout()
+        '
+        'ButtonOK
+        '
+        Me.ButtonOK.DialogResult = System.Windows.Forms.DialogResult.OK
+        Me.ButtonOK.Location = New System.Drawing.Point(0, 121)
+        Me.ButtonOK.Name = "ButtonOK"
+        Me.ButtonOK.Size = New System.Drawing.Size(75, 23)
+        Me.ButtonOK.TabIndex = 1
+        Me.ButtonOK.TabStop = False
+        Me.ButtonOK.Text = "Button1"
+        Me.ButtonOK.UseVisualStyleBackColor = True
+        '
+        'ButtonCancel
+        '
+        Me.ButtonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.ButtonCancel.Location = New System.Drawing.Point(82, 121)
+        Me.ButtonCancel.Name = "ButtonCancel"
+        Me.ButtonCancel.Size = New System.Drawing.Size(75, 23)
+        Me.ButtonCancel.TabIndex = 2
+        Me.ButtonCancel.TabStop = False
+        Me.ButtonCancel.Text = "Button2"
+        Me.ButtonCancel.UseVisualStyleBackColor = True
+        '
+        'TextId
+        '
+        Me.TextId.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
+        Me.TextId.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource
+        Me.TextId.Dock = System.Windows.Forms.DockStyle.Fill
+        Me.TextId.Location = New System.Drawing.Point(0, 0)
+        Me.TextId.Name = "TextId"
+        Me.TextId.Size = New System.Drawing.Size(162, 19)
+        Me.TextId.TabIndex = 3
+        '
+        'AtIdSupplement
+        '
+        Me.AcceptButton = Me.ButtonOK
+        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.ButtonCancel
+        Me.ClientSize = New System.Drawing.Size(162, 19)
+        Me.Controls.Add(Me.TextId)
+        Me.Controls.Add(Me.ButtonCancel)
+        Me.Controls.Add(Me.ButtonOK)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
+        Me.Name = "AtIdSupplement"
+        Me.ShowInTaskbar = False
+        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
+        Me.TopMost = True
+        Me.ResumeLayout(False)
+        Me.PerformLayout()
+
+    End Sub
+    Friend WithEvents ButtonOK As System.Windows.Forms.Button
+    Friend WithEvents ButtonCancel As System.Windows.Forms.Button
+    Friend WithEvents TextId As System.Windows.Forms.TextBox
+End Class
diff --git a/Tween/AtIdSupplement.resx b/Tween/AtIdSupplement.resx
new file mode 100644 (file)
index 0000000..19dc0dd
--- /dev/null
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
\ No newline at end of file
diff --git a/Tween/AtIdSupplement.vb b/Tween/AtIdSupplement.vb
new file mode 100644 (file)
index 0000000..b403d91
--- /dev/null
@@ -0,0 +1,99 @@
+Public Class AtIdSupplement
+
+    Public inputId As String = ""
+    Public isBack As Boolean = False
+
+    Public Sub AddId(ByVal id As String)
+        If Not Me.TextId.AutoCompleteCustomSource.Contains(id) Then
+            Me.TextId.AutoCompleteCustomSource.Add(id)
+        End If
+    End Sub
+
+    Public Function GetIdList() As List(Of String)
+        Dim ids As New List(Of String)
+        For i As Integer = 0 To Me.TextId.AutoCompleteCustomSource.Count - 1
+            ids.Add(Me.TextId.AutoCompleteCustomSource(i))
+        Next
+        Return ids
+    End Function
+
+    Public ReadOnly Property IdCount() As Integer
+        Get
+            Return Me.TextId.AutoCompleteCustomSource.Count
+        End Get
+    End Property
+
+    Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click
+        inputId = Me.TextId.Text
+        isBack = False
+    End Sub
+
+    Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click
+        inputId = ""
+        isBack = False
+    End Sub
+
+    Private Sub TextId_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextId.KeyDown
+        'If e.KeyCode = Keys.Enter Then
+        '    inputId = Me.TextId.Text
+        '    Me.Close()
+        'End If
+        If e.KeyCode = Keys.Back AndAlso Me.TextId.Text = "" Then
+            inputId = ""
+            isBack = True
+            Me.Close()
+        End If
+        If e.KeyCode = Keys.Space OrElse e.KeyCode = Keys.Tab Then
+            inputId = Me.TextId.Text + " "
+            isBack = False
+            Me.Close()
+        End If
+        If e.Control AndAlso e.KeyCode = Keys.Delete Then
+            If Me.TextId.Text <> "" Then
+                Dim idx As Integer = Me.TextId.AutoCompleteCustomSource.IndexOf(Me.TextId.Text)
+                If idx > -1 Then
+                    Me.TextId.Text = ""
+                    Me.TextId.AutoCompleteCustomSource.RemoveAt(idx)
+                End If
+            End If
+        End If
+    End Sub
+
+    Private Sub AtIdSupplement_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
+        Me.Height = Me.TextId.Height + SystemInformation.ToolWindowCaptionHeight + Me.TextId.Margin.Top
+    End Sub
+
+    Private Sub AtIdSupplement_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+        TextId.Text = "@"
+        TextId.SelectionStart = 1
+    End Sub
+
+    Public Sub New()
+
+        ' \82±\82Ì\8cÄ\82Ñ\8fo\82µ\82Í\81AWindows \83t\83H\81[\83\80 \83f\83U\83C\83i\82Å\95K\97v\82Å\82·\81B
+        InitializeComponent()
+
+        ' InitializeComponent() \8cÄ\82Ñ\8fo\82µ\82Ì\8cã\82Å\8f\89\8aú\89»\82ð\92Ç\89Á\82µ\82Ü\82·\81B
+
+    End Sub
+
+    Public Sub New(ByVal IdList As List(Of String))
+
+        ' \82±\82Ì\8cÄ\82Ñ\8fo\82µ\82Í\81AWindows \83t\83H\81[\83\80 \83f\83U\83C\83i\82Å\95K\97v\82Å\82·\81B
+        InitializeComponent()
+
+        ' InitializeComponent() \8cÄ\82Ñ\8fo\82µ\82Ì\8cã\82Å\8f\89\8aú\89»\82ð\92Ç\89Á\82µ\82Ü\82·\81B
+
+        For i As Integer = 0 To IdList.Count - 1
+            Me.TextId.AutoCompleteCustomSource.Add(IdList(i))
+        Next
+    End Sub
+
+    Private Sub TextId_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TextId.PreviewKeyDown
+        If e.KeyCode = Keys.Tab Then
+            inputId = Me.TextId.Text + " "
+            isBack = False
+            Me.Close()
+        End If
+    End Sub
+End Class
diff --git a/Tween/ChangeLog.txt b/Tween/ChangeLog.txt
new file mode 100644 (file)
index 0000000..31f8789
--- /dev/null
@@ -0,0 +1,864 @@
+***Ver 0.5.5.0(2009/7/3)
+-起動と同時に設定ファイルを保存して、設定が飛ぶ問題に対応
+***Ver 0.5.4.0(2009/7/3)
+-タブ名に禁止文字が使われている以前のバージョンからアップデートする際に変換する処理を追加
+-パスワード暗号化で例外が発生するバグ対応
+-ReTweetの際に改行が<BR>で混入するバグの再修正
+***Ver 0.5.3.0(2009/7/3)
+-タブ名禁止文字に ” " を追加
+-古いタブ設定ファイルが残るバグ修正
+-タブ設定が保存されないバグ修正
+-APIモード時に短縮URLが解決されないバグ修正
+-ReTweetでHTMLデコードするように変更
+-ReTweet時の発言域カーソル位置を先頭にするよう変更
+-ReTweet時にHTMLタグが混入するバグ修正
+-qurl.comのURL展開対応
+-APIモード時のハッシュタグへのリンク作成機能追加
+***Ver 0.5.2.0(2009/7/2)
+-バージョンアップ時にタブ名に禁止文字( \ : / ? * < > | )が含まれていた場合は置き換えを行う
+-タブ追加・名前変更時に、禁止文字( \ : / ? * < > | )が含まれていた場合、再入力を促す
+***Ver 0.5.1.0(2009/7/2)
+-Webモードのサインインができなくなっていた仕様変更対応
+-一部URLの取り扱いの変更
+-ReTweetの際に<br>タグが紛れ込んでしまうバグを再修正
+-一つの書き込みに圧縮されたURLが複数含まれている場合に最初のURLだけしか展開できないバグを修正
+-圧縮されたURLにクエリ(?以降)またはフラグメント(#以降)が付加されていた場合に、展開結果においてそれらが切り捨てられるバグ修正
+-書き込む文字列の全角スペースを半角スペースに置き換える処理で半角スペース2個に置き換えるように変更
+-タブ名変更時にタブ選択ダイアログのリストに古いタブ名が残るバグ修正
+-短縮URL解決処理を高速化
+-設定ファイル形式変更
+-起動時バージョンアップ時の終了方式変更
+-Webモード時は、ステータス欄のAPI残数を表示しないよう変更
+-詳細表示のユーザー名が欠ける事があったのを修正
+-エンコード済みSHIFT-JIS文字列がURLに含まれる場合に正しく処理できないことがあったのを修正
+-短縮URLの展開を1段階のみに変更
+-返信先の強調表示を追加(デフォルトピンク)
+***Ver 0.5.0.0(2009/6/15)
+-発言詳細の選択文字列クリップボードコピーの不具合修正
+-発言右クリックからのID振り分けルール作成で、発言が選択されていない場合は即処理中断するように変更
+-タブ名変更で、振り分けルール作成時のタブ名リストに変更前タブ名が残るバグを修正
+-ステータス欄のリンク先URL表示で&がアンダーバーに誤認されるバグ修正
+-発言内の不正なURLを開こうとすると、発言詳細にエラーページが出てしまう問題に対処。不正なURLは開かれず無視されます。仕様です。***Ver 0.4.9.0(2009/6/8)
+-URL自動短縮が動作していなかったバグを修正
+-振り分けルール追加の際にすでに同じルールが存在していた場合にダイアログを出すようにした
+***Ver 0.4.8.0(2009/6/7)
+-bctiny.com,pic.gd,airme.usのURL展開に対応
+-詳細表示領域にフォーカスがある場合にRキーによる更新が効かなかったバグを修正
+-改行を含む書き込みをReTweetする際に<br>タグが入り込んでしまうバグを修正
+-DM詳細表示の際に送信DMか受信DMかを明示するようにした(DirectMessage From/Toが名前の前に表示されます)
+-片思い色分け表示が無効な場合に送受信DMの色分けまで無効になっていたバグ修正
+-発言詳細での「選択文字列で検索」内の検索エンジン並び順を変更
+-発言詳細での「選択文字列で検索」でGoogle検索した際にGoogle日本版で検索するよう変更(hl=ja)
+-POSTmode切り替えに「全角スペースを半角スペースに置き換える」を追加。初期状態でこの機能は有効です。
+-in_reply_to_status_id付与の際にリンク化されない@IDまでカウントしていたバグ修正
+-発言詳細の選択文字列クリップボードコピーの方式変更
+***Ver 0.4.7.0(2009/5/15)
+-Outputzに送信する設定で復活の呪文に問題があるときに投稿が必ずPOST規制判定されていたバグを修正
+-短縮URLの展開結果がマルチバイト文字を含む場合に正常に展開できないことがあるバグを修正
+-all @ replies廃止の仕様変更に伴い複数Replyの先頭にドットを付加するように修正
+-URL圧縮の際にIDNを考慮していなかったのを修正(マルチバイト文字を使用したURLはu.nuでは圧縮できません。u.nu側の不具合で仕様です)
+-u.nuでURL短縮変換を行った際に改行が入り込んでしまっていたのを修正
+-ヘルプ→API情報 で取得系APIの使用状況を表示できるようにした
+***Ver 0.4.6.0(2009/5/8)
+-ListView右クリックあるいは操作メニューを開くとクラッシュすることがあるバグを修正
+-ustre.amのURL展開対応
+-bit.lyでのURL圧縮に対応
+-URL変換サービス自動選択の優先使用の初期設定をbit.lyに変更(バージョンアップの方は変更されません)
+-URL短縮に失敗した場合のエラーメッセージが表示されていなかったバグ修正
+-Twitter Webのサインイン応答変更対応
+***Ver 0.4.5.0(2009/5/7)
+-ff.imのURL展開が正常に行われていなかったバグ修正
+-Fav発言タブの名前を変更(Favourites→Favorites)お手数ですが旧名称のタブは削除をお願いします。
+-設定の「STOTコピーとReTweet Protect発言を含めない」が有効になっているときにReTweetメニューを無効にするようにした
+-DMをReTweetできてしまっていたのを修正
+-タブメニューに「タブ名の変更」を追加
+-u.nuのURL圧縮に対応
+-URL短縮サービス自動選択で優先使用する短縮サービスを指定できるようにした
+-URL短縮サービス自動選択で短縮失敗した場合、2回目は最初に使用したもの以外からランダム選択するようにした
+-Sourceが取得できなくなっていた問題に対処(Web変更対応)
+-in_reply_to_status_idが取得できなくなっていた問題に対処(Web変更対応)
+***Ver 0.4.4.0(2009/5/1)
+-APIモードで起動した場合は警告を出し、Web取得モードへ切り替えることができるように
+-APIモードで起動した場合に警告しない設定を追加
+-digg.com,u.nuのURL展開に対応
+-tweetburner(twurl.nl)のURL圧縮に対応
+-Web取得でhomeの発言がreply扱いになる問題に対応(Web変更対応)
+-一部英語リソースが使われずに表示される問題を修正(API警告は後々対応)
+***Ver 0.4.3.0(2009/4/26)
+-Reply(Mentions)取得間隔の設定を分離
+-投稿時取得の設定を追加
+-Reply同時取得の設定が効いていなかった問題を修正(常に同時取得していました)
+-詳細表示領域でのJavaScript/ActiveXの動作を念のために禁止
+-取得した記事に詳細表示で使用しないタグが混入していた場合は除去するように変更
+-設定画面でユーザー名の部分にメールアドレスや@IDを入力してしまった場合のチェックが実際には素通りだったのを修正
+-設定保存に失敗した場合はリトライするように
+-初回起動時に空の設定ファイルを作成しないように
+-twitthis.com,blip.fm,tumblr.com,www.qurl.comのURL展開に対応
+-タブ名変更で重複名を指定すると例外になるバグ修正
+-例外処理を一部変更し、終了できないことがある問題に対応
+-ウインドウがアクティブでないときに入力欄の色を元に戻すように
+-起動時にFav厳密チェックの設定が反映されない問題を修正
+-ReTweetの書式を変更。振り分けルールを作成されている方は見直しをお願いします。
+-詳細表示部分で文字列を選択していないときは関連のメニューを無効にするようにした
+-終了処理中にマウスカーソルをBusyに変更するようにした
+-新形式の設定ファイル移行後に言語切り替えが動作していなかったのを修正
+***Ver 0.4.2.0(2009/4/9)
+-取得間隔最大値を600秒から6000秒へ変更
+-画面最小化orアイコン化時のみ新着通知を表示するオプション追加
+-Web取得モードでFollowers取得とFav厳密チェックが動作しなくなっていたのを修正(API変更対応)
+-API取得モードでPOSTメソッドを指定できないように(API変更対応)
+-API残数を常に表示するように(起動直後に表示されないのは仕様です)
+-バージョンアップ処理を0.3.8.0以前相当へ戻し(次回バージョンアップから反映)
+-Web取得モードで一部クライアントから投稿された書き込みを正しくReTweetできなかったのを修正
+-未読ジャンプ不具合対策を若干強化
+-Fav削除でエラーを起こすことがあったのを修正
+-終了時のタイマー停止処理を強化
+***Ver 0.4.1.0(2009/4/7)
+-API使用時のreply判定漏れするバグ修正
+-API使用時のHTMLデコードしないバグ修正
+-設定が保存できない問題に対応
+-バージョンアップ確認ダイアログのVista対応(管理者権限昇格を明示するアイコンをボタンに付加)
+-設定画面で、API使用有無切り替えによる他項目の表示状態変更が正しく行われない問題を修正
+-API制限時のステータスメッセージ変更(BadRequest(400)の場合に表示)
+-follower取得失敗時のステータスメッセージ変更
+-最短取得間隔を30秒に変更(Web取得での自動調整では最短15秒のままです)
+-設定画面で取得間隔を伸ばしても反映されないバグ修正
+-APIでGETメソッド使用時、ステータス欄にAPI残り回数を表示
+-TwitterSearchへのクエリ修正
+-API使用切り替え時に、follower情報を自動取得するよう変更(問題あればご指摘ください)
+-API使用時に不正なXMLが帰ってきた場合に例外メッセージが表示される問題を修正
+-発言投稿失敗時はリトライするよう変更
+-ReTweetの際にTwitterが表示を省略したURLでもそのまま使用していたのを修正
+-発言削除で例外発生する問題を修正
+-タスクバーが下以外にある場合、起動時表示位置がずれる問題を修正
+***Ver 0.4.0.0(2009/4/4)
+-発言削除時のフォーカス位置調整
+-スクレイピング時に、新WebUiの場合に、1ページ目を取得しない問題を修正
+-API使用時に@idへのリンク付与がずれている問題を修正
+-API使用時に不正なXMLを取得した場合の暫定対処
+-タブ切替のショートカット追加。a/sもしくはC-n/C-pで前後のタブに切り替えます。C-nでのタブ振り分けルール作成のショートカットを置き換えました。
+-英語版設定画面の項目名が日本語版と不一致だったものを修正。英語対応していなかった項目の英語対応
+-API取得に対応。設定画面から切替てください。(注意:デフォルトでAPI使用しません)
+-複数返信でも先頭にドットを付加しないように変更
+-自動バージョンアップ時に特権昇格を要求するよう変更。メニューにシールドアイコン付加
+-タブの並び順が保存されないバグ修正
+***Ver0.3.9.0(2009/4/1)
+-WebのURL変更への対応
+-デフォルトタブ「Favourites」追加。Fav発言が追加されます。
+-振り分けルールのID欄でも正規表現が使えるように変更
+***Ver0.3.8.0(2009/3/24)
+-Form位置決定の際にタスクバーの考慮をしていなかったのを修正
+-通常の終了時に設定が保存されていなかった不具合を修正
+-アイコン保存でエラーが起きるのを修正
+-タイトルバーに最終書き込みを表示するモードで複数行ポストをした場合にXPのビジュアルスタイル有効だと描画が乱れることがあったのを修正
+-設定保存タイミングの見直し
+-振り分けルール編集画面で、編集ボタンを押して、同内容でOKボタン押した際にルールが消えてしまう不具合修正
+-設定ファイル書き込みで例外発生する問題に対応(暫定)
+***Ver0.3.7.0(2009/3/19)
+-アクティブでないタブの未読管理を切り替えた際に未読アイコンが追従しなかったのを修正
+-カラムヘッダの「日時」を「取得日時」に変更(ロジックは0.2.9.0から。今回は表示のみ)
+-短縮URLの移動先URLにUTF-8の文字列が含まれる場合にURL解決に失敗していたのを修正
+-設定ファイル読み書きでフリーズする場合がある問題に対応
+-設定に入力欄のアクティブ時背景色と、フォント&文字色を追加
+-発言詳細欄で、右クリックでの選択文字列コピーができない環境への対応
+-振り分けルール編集時に例外が発生するバグ修正
+-Replyタブでも振り分けルールが編集できるように変更。(Reply判定された発言は残ります)
+-振り分けルール作成で、重複ルールが登録されないよう変更
+***Ver0.3.6.0(2009/3/13)
+-Ctrl+EでURLを開く場合にPunycode変換が効いていなかったのを修正
+-OSシャットダウン時は設定保存をしないよう変更(暫定)
+-設定読み込み・書き込みを排他制御するよう修正
+-バージョンアップ時の処理を高速化
+***Ver0.3.5.0(2009/3/11)
+-Punycode変換の際に例外が発生することがあったのを修正
+***Ver0.3.4.0(2009/3/10)
+-一部のURLを含んだ書き込みの解析時にエラーを起こしていたのを修正
+***Ver0.3.3.0(2009/3/10)
+-自動アップデートが動作しなくなった問題を修正
+***Ver0.3.2.0(2009/3/10)
+-振り分けルール編集でエラーになる問題を修正
+-起動直後にタブ切り替えでエラーになる問題を修正
+***Ver0.3.1.0(2009/3/9)
+-設定ファイルの形式を変更。WindowsUpdateで発生する不具合回避
+-起動時に取得したDMが、正しく送受信で色分けされない問題を修正
+-ReTweetを返信として投稿しないよう変更
+-IDN対応(http/https/ftp)
+***Ver0.3.0.0(2009/2/26)
+-tabキーで▼ボタンにフォーカスが移らないよう修正
+-振り分けルール編集画面で、単一条件の追加・編集が正しく行えない問題を修正
+-「その他機能」にショートカットCを割り当て
+-展開するURL短縮サービスに「ff.im」を追加
+***Ver0.2.9.0(2009/2/26)
+-メニュー関連一部見直し(Space,Ctrl+A,Ctrl+C,Shift+Ctrl+Sの各ショートカットキーを表示するように)
+-返信の際に自分の@IDが混ざる場合があったバグを修正
+-Unicodeを含んだURLをCTRL+Eで開こうとしていた場合に無限ループになる場合があったのを修正
+-起動時読み込み中に終了させるとエラーが発生していたのを修正
+-投稿規制検出で起動中のID変更を考慮していなかったのを修正
+-操作メニュー見直し(一部機能を階層化、その他機能へ移動)
+-メニューの「コマンド」を「その他機能」に変更
+-設定画面の「通信」タブから通信時のタイムアウト待ち時間を設定可能にした
+-操作メニューにReTweetを実装。ショートカットキーはAlt+R
+-ReTweetとSTOT形式コピーの際にProtect発言を除外できるようにした。設定の「動作」タブの「STOTコピーとReTweet Protect発言を含めない」にチェックしてください。
+-起動時処理中に終了した際の待ち時間の短縮を行った
+-設定画面の日付フォーマットのサンプルが書き換えられないことがあるバグを修正
+-URL圧縮によって逆に圧縮前よりも長くなってしまう場合は圧縮しないように修正
+-振り分けルール保存の際に先頭に必ず半角のスペースが付加される問題を修正
+-振り分けルールの正規表現パターンに空白文字を含めることができない問題を修正
+-POSTボタンの横にPost動作切り替えメニュー表示ボタンを新設。クリックするとメニューが出ますのでチェックで切り替えてください。
+-POST動作切り替えメニューで、URLの全角文字切り離し措置を切り替え可能にした。初期設定は無効です。
+-POST動作切り替えメニューで、APIコマンド回避措置を切り替え可能にした。初期設定は有効です。意図的にコマンドを発行したい場合は無効にしてください。
+-POSTボタン動作切り替えメニューに、URL自動短縮を新設。設定>動作タブのURL自動短縮設定と連動します。
+-Twitter Web変更への暫定対応
+***Ver0.2.8.0(2009/2/13)
+-投稿日時の書式指定を可能に(リスト部)
+-描画がちらつくことがある問題を再修正(0270でエンバグ。ご迷惑おかけします)
+-振り分けルール編集後にエラーが発生する問題を修正
+-未読ジャンプが正常に動作しなくなることがある問題を修正
+-設定画面からユーザーIDまたはパスワードを変更した際に不具合が発生していたのを修正
+-更新ステータスを10件までツールチップで表示するように
+-更新中はタスクトレイアイコンが動いたままになるよう修正
+-Twitter側でのリンク化時に全角文字を巻き込む問題に対処するためのuriと全角文字切り離しの処理を無効化(様子見)
+-発言削除でエラーが発生する問題を修正
+-新着時に非選択タブの選択発言がずれる仕様を変更
+-Webライクな2列表示を復活
+-起動時に取得した発言が新着通知される場合がある問題を修正
+-起動時に取得した発言に対しても、片思い表示を後から反映するよう変更
+***Ver0.2.7.0(2009/2/8)
+-新規発言追加時の再描画を減らした
+-Followersリスト取得の際のエラー処理を修正
+-別IDでログインしようとした場合にFollowersリストキャッシュを無効にしていなかったのを修正
+-マウスカーソルがBusy状態のまま戻らなくなることがあったバグを修正
+-rキーを押すと更新を行うようにした
+-未読カウンタがマイナスになることがあるバグ修正
+-ステータスIDでのソート以外の場合でもステータスIDの順序を維持するようにした
+-日付表示を旧形式へ戻し
+-カラム幅が保存されないことがあるバグを修正
+***Ver0.2.6.0(2009/2/5)
+-設定->表示に「未読スタイル適用」を追加。デフォルトON。Offでも未読マークは変更されます。
+-リストで多くの発言を選択しているとき、新着があると固まる問題に対処。30件以上選択している場合は、新着時に選択発言がずれますのでご注意ください。
+-未読スタイルに文字色設定を復活
+-新着時のリスト再描画&通知が立て続けに起こる現象に対応
+-未読→既読へのスタイル変更のディレイを削除。スタイル変更方式も合わせて変更
+-関連発言背景色変更のディレイを削除
+-発言詳細欄の更新ディレイを0.4秒から0.2秒へ変更
+-特定の発言内容により例外が発生する問題に対処
+-複数行入力のショートカットをC-kからC-tへ変更
+-特定列の幅が保存されなかったバグ修正
+-列幅を狭めたときに、列幅をはみ出して文字が描画される問題に対処
+***Ver0.2.5.0(2009/2/3)
+-設定->通信のプロキシ設定が使われないバグ修正
+-DMの取得で、送信分・受信分のページを歯抜けで取得するバグ修正
+-通信タイムアウトのデフォルト値を15秒->20秒へ
+-日時昇順で「新着時リスト固定」していてもスクロールしてしまうバグ修正
+-新着取得後の選択状態再設定で例外が頻発するバグ修正
+-他タブ同発言移動(Alt + ←/→)で発言未選択で行うと例外発生するバグ修正
+***Ver0.2.4.0(2009/2/3)
+-起動時読み込みモードとReplyタブで更新したとき以外のタイミングでReplyタブを取得していなかったバグ修正
+-ちらつきが激しくなるようなので描画処理を元に戻した
+-未読管理しないタブでもフォントが未読になるバグ修正
+-CTRL+B/CTRL+SHIFT+Bでフォントを即時切り替えるようにした
+-描画周り微調整
+-タブの全発言を保存しようとするとエラーを起こすバグ修正
+-描画を若干高速化
+-未読書き込みのフォント変更復活(仮)
+-フォーカス枠の描画を修正
+-カラム幅が保存されていなかったバグ修正
+-リプライ判定を調整(IDの後ろに文字列がついていてリンクに巻き込まれてしまっていた場合に対応)
+-Replyページから取得した発言はReplyであると見なすようにした
+-終了時に低確率でハングアップすることがあったのを修正
+-終了時に時間がかかることがあったのを減らした
+-発言取得時のスクロールを調整
+-再フィルタの実行時に移動フィルタが正しく動作しないバグを修正
+-データ保持方式変更
+-Sourceの取得に対応
+-一部のアイコンで色抜けを起こしていたのを修正
+-アニメーションGIFを使用したアイコンに対応
+-Configファイルから正規表現を使用したフィルタを読み込んだ場合のエラーチェック強化
+-リスト固定モードでもスクロールしてしまうことがあるのを減らした
+-未読表示方法の変更 従来のフォントと色変更による表示を廃止し、未読書き込みの場合は"★"を表示するようになりました。
+-入力欄に文字列を入力していない状態でPOSTボタンを押すとタイムラインを取得するようにした。(F5と同じ)
+-Followersリスト取得/アイコン取得をマルチスレッド化
+-アイコンの読み込みに失敗することがあるようなので対策
+-一部環境において正しいConfigファイルを読み込めない現象の対策
+-Followersリスト取得結果をキャッシュするようにした
+-片思いリスト取得メニューにサブメニューを追加し、キャッシュ無効の状態での全件取得と現在からの差分取得ができるようにした
+***Ver0.2.3.0(2009/1/22)
+-取得エラーなどで再サインオンができない問題を修正(クッキー削除)
+***Ver0.2.2.0(2009/1/22)
+-Twitterサインオン仕様変更対応
+***Ver0.2.1.0(2009/1/14)
+-Fav結果検証の際に壊れたxmlが返ってくると例外が発生していたのを修正
+-動作検証用コードが残ってしまっていたのを削除
+-タブの追加、削除、名前変更、振り分けダイアログを閉じた際に設定を書き出すようにした
+-入力欄にフォーカスがある場合でもCTRL+PageUp/PageDownでタブ切り替えできるようにした
+-16x16以外のアイコンサイズの場合にリスト背景色のWindowsの設定を無視していたのを修正
+-詳細表示領域にフォーカスがある場合にF5キーが効いていなかったのを修正
+-DM受信カウント変化でのDM取得が正常に動作していなかったのを修正
+-CTRL+Eでマルチバイト文字を含むURLを開けないことがある不具合を修正
+***Ver0.2.0.0(2008/12/27)
+-Outputz不正な復活の呪文への対応&設定画面英語リソース対応
+-設定を保存して再起動した場合にOutputzへの記録が有効にならない不具合を修正
+***Ver0.1.9.0(2008/12/24)
+-twurl.nlで圧縮されたURLの展開ができなかったのを修正
+-特定のアイコンによりエラーが起きるのを修正
+-wedata通信時のタイムアウトを5秒に(暫定)
+-Outputz対応コードの修正
+-Twitterのhtml構造変更対応
+-BlackFavショートカット削除
+-バージョンアップのチェック&更新版ダウンロード先をSourceForge.jpに変更(次版より)
+***Ver0.1.8.0(2008/12/15)
+-Wedata使うように戻し
+-入力欄のURLを投稿時に自動短縮するオプション追加
+-固定タブ(Recent,Reply,Direct)の順序変更もできるように
+-発言抜け対策
+-メモリリーク修正
+-発言の後ろにつく...のリンク削除
+-発言をブラックふぁぼったーに追加する機能をマージ (@shuyoko 氏によるもの。ありがとうございます)
+-起動時読み込みページ数設定のうち、ReplyとDMが保存されていなかったのを修正
+-オフライン検知で例外発生する場合の対応
+-ID振り分けルールのタブ選択ダイアログで、Recent,Reply,Directが表示されてしまうバグ修正
+-短縮URL展開が失敗する場合があったので修正
+***Ver0.1.7.0(2008/12/04)
+-コマンド回避ロジックを調整
+-ブラウザなどから選択文字列やリンクをドラッグ&ドロップした場合に、入力欄へ入力するようにした。
+-バルーンを表示する際にユーザー名を表示するオプションの設定を見るようにした。
+-最小化で起動した場合に起動できない問題とそれに関連する不具合修正
+-TwitterのHTML変更対応
+***Ver0.1.6.0(2008/11/28)
+-詳細発言表示部分からの右クリック検索をローカライズ対応可能にした。その他メニュー項目の見直しを行った。
+-初期化完了してからフォームを表示するようにした(つもり)
+-詳細発言表示部分からの右クリックメニューでURLをコピーできるようにした
+-詳細発言表示部分からの検索の際に文字列を正規化していなかったのを修正
+-文字列を選択していなかったときに検索をしようとした場合の動作を修正
+-詳細発言表示部分からの右クリックメニューで、選択文字列を現在のタブで検索できるようにした。
+-Twitterコマンド誤認問題が本家で修正されたのにあわせ、回避ロジック修正
+-HTML解析に失敗したとき、切り出したHTMLをファイル出力(コマンドライン引数'/d'の時のみ)
+-DMが取れないケースに対応
+***Ver0.1.5.0(2008/11/25)
+- アイコンサイズ48*48の1列表示が正常に表示されないバグ修正
+***Ver0.1.4.0(2008/11/25)
+- DMが取れないケースに対応
+- DMで、プロテクト状態取得、スクリーンネーム取得に対応
+- UI を国際化 (他言語にも容易に対応させることが出来ます)
+- UI を英語にローカライズ (仮)
+- budurl.comで圧縮されたURLの展開表示に対応
+- DMが取得できなかった場合にFollowersリスト取得が実行されなかったのを修正
+- 詳細発言表示部分で右クリックした場合に、選択文字列で検索できるようにした。対応はWikipedia、google、Twitter検索、Twitter Search。
+- 短縮URLの転送先URLに、正規化されていない文字列が含まれていた場合に文字化けを起こしていたのを修正
+- F5連打→終了で例外が発生するバグ修正
+- 発言入力欄関連で例外が発生するバグ修正
+***Ver0.1.3.0(2008/11/20)
+- 詳細欄のID/日時部で、余白があるにもかかわらず、ID表示が折り返されてしまう問題を改善
+- メニューの描画方式を OS のバージョンに関わらず常に同じにした
+- Alt キーを押した際にフォーカスが混乱する問題を修正
+- F1 キーで Tween まとめサイトを表示するようにした
+- アイコンが読み込めなかった場合にアイコンを保存しようとするとエラーが発生するのを修正
+- 発言/DM削除が一見できているようで、サーバからは削除されていなかったバグ修正
+***Ver0.1.2.0(2008/11/17)
+- URL圧縮処理で通信エラーが起こった場合を考慮していなかったのを修正
+- 発言詳細が隠せなくなっていた問題を修正
+- 起動時のアップデート処理でエラーが発生する問題を再修正
+- コマンドメニューのURL短縮変換サブメニューに「短縮サービス自動選択」を追加。Tinyurlから応答がないときはis.gdを試します。
+- CTRL+LをURL短縮変換の「短縮サービス自動選択」に割り当て。
+- 入力欄で範囲選択をしている場合は、その選択範囲をURLとみなして変換するようにした。(日本語がURLに含まれる場合はこちらをどうぞ。httpで始まっているかどうか、以外のURL妥当性検証は意図的に行っていません)
+- コマンドメニューのURL短縮変換サブメニューに「元に戻す」を追加。POST動作をするまでの間の変換を元に戻せます。
+- 短縮URL展開の複数サービス対応(is.gd,twurl,rubyurlなど)
+- 発言・DMが削除できない問題に対処
+- タブ並び順が保存されないバグ修正
+- 更新中アイコン周りで例外が発生する問題に対応
+- バージョン表記変更(最下位桁をTrunkバージョンとして使用)
+***Ver0.1.0.1(2008/11/11)
+- 「操作」メニューに「返信先ステータスを開く」を追加。ショートカットキーはCTRL+Iです。
+- 最前面表示オプションの不具合対応(サブ画面が隠れる、勝手に最前面が解除される)
+- ハロウィーンのEmoticonを使用すると、リストビューにimg srcタグがそのまま表示されてしまう現象を修正(に置き換えます)
+- コンパイラオプションの調整(多少高速化?)
+- ステータスバーの文字列の生成をスマートにした
+- 自分以外のステータスが選択されていてもステータスの削除をするか聞かれる問題を修正
+- タイムライン詳細部分のアイコンを右クリックして原寸大画像へアクセス・アイコンを保存できるようにした (原寸大画像の保存は保留)
+- 例外発生時の挙動とログのファイル名及び内容を変更した
+- (テスト)BackgroundWorker終了待ちの際のSleep時間調整
+- ステータス投稿欄の高さを可変にし、複数行入力可能にした (初期状態もしくは高さ最小の状態では単一行入力 (旧来と同じ) です)
+- メニューバーとステータスバーの配置の改善
+- 複数行編集時に垂直スクロールバーを表示することにより現在の状態を把握しやすくした
+- 投稿ヒストリを参照するキーバインドを Up/Down から Ctrl+Up/Ctrl+Down に変更
+- 発言欄で改行する処理追加(Shift-EnterやCtrl-Enterなど(投稿キーの設定による))
+- 「ファイル」-「発言欄複数行入力」で発言欄の複数行入力を切り替え可能に
+- 発言削除失敗時のメッセージを簡素化
+- 特定のタイミングで終了させた際にエラーが発生していたのを修正
+- 終了処理を若干高速化
+- 「コマンド」メニューに「入力欄のURLを短縮変換」を追加。入力欄にあるURLっぽい文字列をサブメニューのサービスで短縮変換します。
+- 「操作」メニューの「片思いユーザーリスト取得」を「コマンド」メニューに移設。
+- 設定ダイアログを開いたときに、フォーカスを「ユーザー名」にセットするようにした。
+- 日時ソート順でソートできない問題に対応
+***Ver0.1.0.0(2008/10/28)
+- 更新間隔0を設定した場合にエラーが起こるバグ修正
+- 終了処理中の設定保存でエラーが発生した場合は無視するよう変更(自動バージョンアップ対応)
+- 起動時のバージョンチェックでバージョンアップする際、設定保存でエラーが発生するバグ修正
+- Shiftキーを押しながら起動、もしくは最新版の取得を行うと、バージョンが上がっていなくても強制更新するよう変更
+***Ver0.0.9.9(2008/10/28)
+- ここ最近の設定追加項目を保存していなかった問題に対処
+- オプションの起動時バージョンチェックと起動時キーデータ更新のオプションを追加
+- 更新間隔自動調整で、取得16件以下の場合は+1秒へ変更
+- TinyUrl展開オプションが機能していなかった問題を修正
+- 更新間隔自動調整が機能していなかった問題を修正
+- 更新間隔自動調整の有効・無効オプションを設定画面に追加(デフォルト有効)
+- ステータス欄のPOST制限表示を時速表示に変更し、Fav数を追加(自発言/Fav/取得発言)。過去1時間の実績値です。
+- ステータス欄にタイムライン更新間隔表示を追加
+- ☆テスト☆タイムアウトを15秒に
+- ☆暫定☆ルール編集時の再振り分けを高速化
+- 振り分けルールでID指定の場合、大文字小文字を区別しないよう修正
+- DMの投稿日時表示
+- followersをAPI取得へ。起動時取得(オプションで変更可能)。手動取得追加。副作用:片思われの人から@もらっても青字にならない
+- Favの成功判定を、Fav追加APIの応答を使用せずに厳密に行うようにした(デフォルトOFF)
+- リストと詳細部間の区切り線を移動してもサイズを保存していなかったバグ修正
+- 「常に最前面に表示」するオプション追加
+- タイムライン取得間隔のデフォルト値を90秒へ変更
+***Ver0.0.9.8(2008/10/16)
+- wedata変更分の取り込み
+***Ver0.0.9.7(2008/10/16)
+- 取得間隔の自動調整(最大値は設定値。短くする方向で自動調整)
+- HomeのDM数を参照して、増加していたらDM取得
+- Setting画面のタブインデックス整理
+- Setting画面にTinyURLを解決するかのオプション追加(デフォルトON)
+- 通信回線がOffからOnになった際、通信クラスを再作成(プロキシ情報を再取得のため)
+- 1時間あたりのPOST残り回数と最大回数を表示するようにした。最大値は手動設定で初期値125、実際に制限する機能はありません。
+- WindowsVistaで削除ダイアログのレイアウトが崩れていたのを修正
+- プロキシの直接指定が出来るよう設定画面に追加
+- Favの追加・削除が実際には行われているが、エラーとして認識していた問題に対応(twitter仕様変更)
+- ウィンドウタイトルに未読数を表示している場合の未読数更新タイミングをリアルタイムに近づけた
+- リストアイコンを表示しない設定の場合、アイコン画像を取得しないよう変更
+- (TweenUp.exe)Administrator権限で動かしている場合、バージョンアップ時にTween.exeのプリコンパイルにより起動速度改善
+***Ver0.0.9.6(2008/9/19)
+- 最小化した際にタスクトレイアイコンのみにする設定を追加。設定画面で「最小化したとき アイコン化する」にチェックを入れてください。
+- Xボタンを押したときに終了する設定を追加。設定画面で「Xボタンを押したとき 終了する」にチェックを入れてください。
+- サウンドを有効にするかどうかの切り替えメニューを追加した。(ファイル>サウンド切り替え)
+- 設定画面のタブ化
+- Webブラウザ指定を「参照」ボタンから可能に
+- 自分の発言の先頭が「. 」だったら返信と見なさないように変更
+***Ver0.0.9.5(2008/8/27)
+- DM削除できない問題を修正
+***Ver0.0.9.4(2008/8/27)
+- 48サイズアイコンの発言間を微調整
+- 発言を削除できない場合がある問題を修正
+- 自分宛@がrecentタブで未読状態で表示されたままになる問題を修正
+***Ver0.0.9.3(2008/8/26)
+- 48サイズアイコンのとき、Ver0091までの複数列表示も選べるようにした。
+- 48サイズ1列表示のとき、名前等を太字で表示するよう変更。アイコンと文字の間を広げた。
+- 48サイズ1列表示のとき、列ヘッダクリックで日時でソートするように変更
+***Ver0.0.9.2(2008/8/25)
+- 設定不可能な値を入力しているとキャンセルボタンで設定画面を閉じられない不具合を修正
+- SHIFTキーを押したままPOSTボタンをクリックした場合にステータステキストを付加しないようにした。
+- Twitterコマンド対策が「:D」「:-D」「W-OAM」並びにこれらに類似の文字列でも発動していたのを修正。
+- 通常検索において、大文字小文字を区別せずに扱うようにした。区別したい場合は「大文字小文字を区別する」にチェックを入れてください。
+- 検索で正規表現を使えるようにした。
+- Favした発言を前後に移動できるショートカットキーを実装した。(SHIFT+Nまたは→で次へ、SHIFT+Pまたは←で前へ)
+- アイコンサイズ48x48の場合はリサイズを行わないようにした。
+- タイトルバーとツールチップにユーザー名を表示させる機能を追加。設定画面で「タイトルバーとツールチップ ユーザー名を表示」にチェックを入れてください。
+- タイトルバーの表示内容を選択できるように変更(設定画面)。なし、バージョン、発言、未読@数、未読数、未読数(未読@数)、全未読/全発言数。(更新は取得時のみ)
+- 振り分けルールダイアログで、ルールをダブルクリックしたときに編集できるようにした。
+- URL選択ダイアログで、URLをダブルクリックしたときにURLジャンプできるようにした。
+- 書き込みAPIの仕様変更に対応。単独ユーザーあてリプライが正しく返信先書き込みを指すようになりました。(表示識別は今後実装予定)
+- 未読ジャンプ高速化
+- DM解析キー変更に追従
+- 画面下部URL表示欄に、各種カウント数表示
+- ソート順ロックを有効化
+- 48サイズアイコンのとき、リストを1列でまとめ表示するよう変更。(速度改善)
+***Ver0.0.9.1(2008/8/4)
+- 振り分けルールの変更有無チェックでこけるバグ修正
+- タブ削除・タブクリアに確認メッセージ追加
+- 発言削除・DM削除がエラーになる問題に対応
+- 取得タイマーが止まる(?)問題に暫定対応
+- siv情報がWebから削除されたので、関連コードを削除
+***Ver0.0.9.0(2008/8/2)
+- ファイル保存の表記をcsvからtsvへ変更。ダブルクォーテーションのエスケープ、タブ文字置き換え、改行置き換え追加
+- SplitterDistanceが正しく保存されないバグ対応
+- 振り分けルールの画面を開いて、編集せずに閉じただけで、再振り分け処理が走る問題を改善
+- サスペンドから復帰時にエラーになる問題に対応
+- https対応(無条件です。不都合あればお知らせください。)
+- 指定タブの発言を全クリアする機能追加
+- タブの未読管理をOffにしても、内部の状態が未読で残っていたバグ修正
+***Ver0.0.8.9(2008/7/18)
+- サインインのWeb変更対応(https、ユーザ名&パスワードフィールドの名前変更)
+***Ver0.0.8.8(2008/7/9)
+- STOT形式コピーで原因不明のエラーが出るので、内部的にリトライするよう変更
+- Ctrl+Eで発言中のURLを開く機能追加
+- GDI+の汎用エラーに対処(不正な画像形式(ICOなど)の場合はスキップ)
+***Ver0.0.8.7(2008/7/4)
+- 発言にD:が含まれる場合に、エスケープしてポストができない問題を修正
+- プロテクトユーザーの発言が「Add meなんちゃら」になった場合に、HTMLタグが発言に含まれてしまう不具合修正
+- 振り分けルール変更時に、再振り分けするように変更
+- STOT形式コピーの際、例外が発生する問題に対処
+***Ver0.0.8.6(2008/6/17)
+- 振り分けルールに正規表現を使うルールを追加する際、正規表現の妥当性チェックを追加
+- htmlスクレイピングのキーデータをwedataから取得するよう変更。単純なWeb仕様変更は、wedataの変更のみで対応できるようになりました。
+- STOT形式コピーの際、例外が発生する問題に対処
+***Ver0.0.8.5(2008/6/13)
+- Twitter仕様変更(Recent)への対応
+***Ver0.0.8.4(2008/6/13)
+- DMの送信・受信がそれぞれ一件以上ない場合、DM取得失敗と表示されて片思い表示になってしまうバグ修正
+- DM取得失敗時は、片思い表示をしないように修正
+- DM取得での両思いのユーザー取得処理を、DM受信分の時のみ実施するよう修正
+***Ver0.0.8.3(2008/6/12)
+- 発言履歴が上書きされる問題を修正
+- ルールヒットマークが文字化けするので、shift-jis対応文字へ変更(♪)
+- 取得HTMLが切れた状態で取得される場合があるらしいので対応
+- 起動時repliesページの取得に失敗しても、通常モードへ移行するよう変更
+- 通信エラー時のリトライ回数を3回→2回へ変更
+- メニューに「全て選択」を復活。ショートカットキーの表記はないが、Ctrl+Aで代用可能
+- タイムライン取得時にreplyもチェックするかを選択するオプション追加
+- 発言投稿をAPIに一本化
+- まとめて既読にする時、タブ見出しがちらつく問題に対処
+- 未読ジャンプで、次の発言へ移る際のスクロール位置を変更
+- 「新着時リスト固定」されていない場合、最新発言が表示されている場合のみスクロールするよう変更
+- Shift+Zで、選択行を画面中央へ再表示
+***Ver0.0.8.2(2008/6/5)
+- タブ削除するとエラーが発生する問題に対処
+- 発言履歴を遡る時カーソルが末尾に設定されない問題を修正
+- Tweenについて、の画面で更新履歴表示部にスクロールバーを追加
+- 発言履歴を表示→入力エリア削除→別の履歴を表示、で履歴が空にならないように修正
+***Ver0.0.8.1(2008/6/5)
+- 「振り分けフィルター」の文言を「振り分けルール」に変更
+- ルールに、正規表現を使うか・リンク先URLも検索するか、のオプション追加(ルール見直しお願いします)
+- ルールにマッチした場合、マークを付ける・何もしない、のオプションを追加。マークはリストアイコン横に表示(ルール見直しお願いします)
+- リンク先を開くブラウザを指定できるように設定に追加(手抜きなのでフルパスでブラウザ本体を指定。存在チェックもしていない)
+- 未読消化時にタブ見出しがちらつく問題に対処
+- プロテクトマークを◆→Юへ変更。
+- タブ切り替え時にリストの列並び順がリセットされてしまう問題に対処
+- 発言を複数選択してCtrl+Rしたときに、頭にドット(.)が付加されない問題に対処
+- DM返信補助で、フォーカスが入力欄へ移らない問題と、入力内容が消えてしまう問題に対処
+- 入力欄で上下キー押下することで、発言履歴を表示
+- 編集メニューに「コピー(STOT形式テキスト)」「コピー(ステータスURL)」を追加
+- 操作メニューに「ID振り分けルール作成」を追加
+- 振り分け先タブ選択画面表示時に、リストにフォーカスを設定するよう修正
+- 「ヘルプ」→「Tweenについて」の画面に更新履歴の表示を追加
+- (追記)マーク表示がアイコン列をはみ出して表示される問題を修正
+***Ver0.0.8.0(2008/6/2)
+- 通信タイムアウトをデフォルト値へ戻した。リトライは継続ししているが止めようかな・・・
+- Ctrl+CでSTOT形式でクリップボードへコピー
+- Ctrl+Shift+CでステータスURLをクリップボードへコピー
+- プロテクトな人を識別できるように、アイコン横に◆マークを表示
+- 発言欄でCtrl+Aが効かなかった問題に対処。リストのCtrl+A用メニューを削除。機能はしますのでご安心を。使わないか。
+***Ver0.0.7.9(2008/6/1)
+- 発言投稿がAPIを使用しないとできなくなっていた問題を修正
+***Ver0.0.7.8(2008/5/31)
+- 発言投稿をAPIでできるように変更(デフォルトOff。APIの場合は『from Tween』と表示されます♪)
+- 複数発言選択時のCtrl+Rが1件分しか働かなかった問題に対処
+- HTTP通信タイムアウトを20秒にしてリトライ2回するように変更。(発言投稿以外)
+- 発言投稿を別スレッド化して、タイムライン取得待ちを軽減(したつもり)
+- 『@返信ALL』メニュー追加。発言者と選択している発言に含まれるID全員に返信
+- DMの頭にスペースが入っていた問題に対処
+- メニューの『ヘルプ』から、Webページを開く項目が機能しなかったバグ修正
+- 誤爆防止のため、Ctrl+Qのショートカット削除
+***Ver0.0.7.7(2008/5/29)
+- DMポスト時のレスポンスを考慮していなかった問題に対応(何度もごめんなさい。)
+***Ver0.0.7.6(2008/5/29)
+- 長文ポスト時のレスポンスが日本語対応していなかった問題に対応
+***Ver0.0.7.5(2008/5/29)
+- HTTP通信のヘッダパラメータ変更。通信が早くなった・・・かも知れない。
+- Ctrl+Enterでポストするオプションを有効化。これに伴い、POST時の警告音が出る問題も解決
+- POSTエラー時のメッセージをWebからの取得に変更。
+- ヘルプ→Twitterからのお知らせ メニューを追加。HTMLタグの除去などはしていないので、文字化ける可能性あり。そのうち対応。
+- 次頁取得閾値のデフォルト値を20に変更
+***Ver0.0.7.4(2008/5/23)
+- fav 済をさらにfavるとエラーになる問題を修正
+- 違う発言がfavられる問題を修正
+- タブ切り替え時にクラッシュする問題を修正
+***Ver0.0.7.3(2008/5/21)
+- 発言複数選択してフィルター作成を選択したときに、一括ID登録できるように対応
+- 起動時Reply読み込みページ数が機能していなかった問題に対応
+- フィルター編集画面のタブドロップダウンリストが機能していなかった問題に対応
+- 個別のフィルターを編集すると、フィルターが二重登録されたり、本文の文字列が増殖する問題に対応
+***Ver0.0.7.2(2008/5/20)
+- 振り分けフィルター機能追加。IDや本文にヒットする条件を指定してください。IDは完全一致です。本文は指定単語が含まれればヒットし、英大小文字は区別しません。スペース区切りでAND条件になります。ID+POSTの場合は、発言者IDと発言内容を区別なくチェックします。ID&POSTの場合は、IDと本文それぞれの条件がAND条件となりますが、未指定の場合は条件に含まれません。本文はリンク先URLも検索対象となります。
+- Fav追加・削除の非同期化
+- ポップアップメニューがあらぬところに出現する問題に対処
+- 新着通知、未読管理、再生Wavファイルをタブ別に設定するようにしました。新着通知については、ファイルメニューの新着通知が親で、これがONになっている場合にタブ別の新着On/Off が機能します。未読管理についても同様、設定画面の未読管理が親になっています。サウンド再生についても設定ファイルのサウンド再生が親になっています。
+- 前バージョンとは設定ファイルの互換性がなくなりました。前バージョンからの自動更新もされません。
+- 自動バージョンアップツールをVBScriptから@syo68k氏作成のexeに変更(Thanks! @syo68k)
+***Ver0.0.7.1(2008/5/8)
+- Enterキーでの複数Replyができない問題に対処
+***Ver0.0.7.0(2008/5/8)
+- 送信DMが受信DMと同じ表示になってしまい、見分けがつかなくなる問題に対処
+- 返信操作補助で、発言選択してEnter、発言ダブルクリックの場合は、返信先が重複しないよう判定。この操作の場合、返信先は文頭に追加されます。
+- 返信補助操作で、Ctrl+R(もしくはメニューから選択)の場合は、返信先の重複チェックをせず、文末に返信先を追加します。
+***Ver0.0.6.9(2008/5/8)
+- 特定ユーザーへのリプライができない問題に対処
+- DMの送信分も取得(送信分は片思いの色で表示します)
+- 更新間隔0を指定可能に(自動更新無効)
+- ReplyとDMの起動時読み込みページ数を指定可能に。(RecentとDMは1~、Replyは0~指定可能です。)
+***Ver0.0.6.8(2008/5/7)
+- 新規タブ作成時に、列幅、列の並び順が全タブデフォルトに戻る問題に対処
+***Ver0.0.6.7(2008/5/7)
+- 列幅、列の並び順が次回起動時に復元されない場合がある問題に対処
+***Ver0.0.6.6(2008/5/7)
+- データ取得時の更新中アイコン(矢印のやつ)をアニメーション(Thanks! @pureminami)
+***Ver0.0.6.5(2008/5/7)
+- Webのレイアウト変更への対応(発言本文にSPANタグが見えてしまっていました)
+***Ver0.0.6.4(2008/5/7)
+- Webのレイアウト変更への対応(発言本文にSPANタグが見えてしまっていました)
+***Ver0.0.6.3(2008/5/6)
+- Webのレイアウト変更への対応
+- タブ見出しをD&Dで並べ替えできるようにしました(デフォルトのタブ以外)
+***Ver0.0.6.2(2008/4/11)
+- Webのレイアウト変更への対応
+***Ver0.0.6.1(2008/4/9)
+- Webのレイアウト変更への対応(発言の投稿)
+- Tabをダブルクリックして名前を変更できるように
+***Ver0.0.6.0(2008/4/9)
+- Webのレイアウト変更への対応(Recent取得:2回目)
+***Ver0.0.5.9(2008/4/9)
+- Webのレイアウト変更への対応(Recent取得)
+- 起動時の読み込み継続確認でタスクバーをブリンク
+- 自動更新時のProxyキャッシュ回避対策
+- 発言詳細部にフォーカスがあるとき、Spaceキーで未読ジャンプできるように
+- 発言詳細部にフォーカスがあるとき、F5キーで発言詳細が消える問題に対応(新着取得は機能しません)
+***Ver0.0.5.8(2008/4/2)
+- 更新中アイコンを入れ替え
+- 終了時処理が十分でなく、エラーログが記録されていた問題に対応
+***Ver0.0.5.7(2008/4/2)
+- 発言域でもSpaceキーで未読へジャンプするよう変更。但し、発言域が空の場合のみ。
+- 別のフォルダから起動した場合は、二重起動できるように変更(複数アカウント対応)
+- 検索ボックスを開いたとき、前回の検索ワードを選択状態で表示するよう変更
+- リスト発言選択時の色変え処理にディレイ&キャンセル処理復活(保持発言が多くなった場合の負荷軽減)
+- 各種ダイアログを開いた後、メイン画面に戻った際に発言域のIMEがOffになる問題を修正
+- 新着通知とサウンド再生が個別に機能するよう修正
+***Ver0.0.5.6(2008/3/23)
+- j/kキーでの移動で、Ctrl、Shiftキーとの併用を可能にし、カーソル上下と同様の操作を可能に。
+- リストのちらつき低減。(ダブルバッファ) 動作が重く、使用に耐えない場合はお知らせください。
+- 設定画面を閉じた際に、現在の全設定をファイル保存するよう変更。
+- 最終既読位置の保管をしないよう変更。
+- 保持している発言のファイル書き出し機能追加。UTF-8のタブ区切り。形式:username,発言(テキスト),日時,nickname,ID,発言(html形式のリンク含む)
+- 発言入力部でのみ、Ctrl+Spaceによる未読ジャンプ復活。
+- 発言入力部でのCtrl+Aによるリスト全選択を無効に。そのうち入力内容の全選択ができるようにする。
+***Ver0.0.5.5(2008/3/19)
+- カーソル移動系の1キーショートカット追加。z:選択発言を画面最上行になるようスクロール(日時昇順の場合。降順の場合は最下行)。Shift+g:最新発言へジャンプ。Shift+h:画面内の最上行へジャンプ。Shift+l:画面内の最下行へジャンプ。Shift+m:画面内の中央行へジャンプ。
+***Ver0.0.5.4(2008/3/18)
+- アイコンカスタマイズ機能が動いてなかったので修正
+***Ver0.0.5.3(2008/3/18)
+- カーソル移動系の1キーショートカット追加。.:アンカーへ移動、←/→:アンカー&関連発言移動、Enter:Reply入力補助
+- 発言編集領域にフォーカスあるとき、背景色を変えました。(色の変更できません。そのうち・・・)
+- バージョンアップ用スクリプトがutf-8で吐き出されるため動かない問題に対応
+※0.0.5.1or0.0.5.0(?)からバージョンアップする人は、手動でお願いします。
+※0.0.5.3をダウンロードしてしまった方は、15:42に再アップしたので、再度ダウンロード&入れ替えをお願いします。
+***Ver0.0.5.2α(2008/3/17)
+- カーソル移動系の1キーショートカット追加。j/k:上下、h/l:その人の前後発言、n/p:アンカー&関連発言移動、Space:未読ジャンプ(リストでのみ有効)
+- Ctrl+Spaceによる未読ジャンプのショートカット廃止
+(1キーショートカットの反応を見るためのテストリリース)
+***Ver0.0.5.1(2008/3/12)
+- タブ切り替え時にエラーが発生する問題を修正
+- タブメニューのIDコピー/移動選択時に表示されるタブ選択画面で、タブを選択しないでOKボタン押すとエラーが発生する問題を修正
+- 各種アイコンを一新 ※Minamiさんありがとう!
+- バージョンアップ用のスクリプトを修正して、プロセスの終了を待つように変更
+- アイコンのカスタマイズに対応(アイコンフォルダを作ってゴニョゴニョする。詳細は別の機会に。。。)
+***Ver0.0.5.0(2008/3/11)
+- 新着取得分の表示が欠ける場合がある問題を修正
+***Ver0.0.4.9(2008/3/11)
+- 新着取得分の色変えが行われないバグ修正
+- マウスホイールでのスクロール時に色変えが行われないバグ修正
+***Ver0.0.4.8(2008/3/10)
+- 保持件数が多くなると、カーソル移動が遅くなる問題を修正。「遅くなったから再起動」は不要になるはずです。
+- ヘルプメニューに「Tweenまとめサイトへ」「公開ページ」「ダウンロードページ」を追加
+- 操作メニューの「更新」にアクセスキー「U」を設定
+(まだ設定画面いじくり中で見難いままです。ごめんなさい。)
+***Ver0.0.4.7(2008/3/4)
+- @返信の判別不具合修正。色が変わらない場合、返信と認識しない場合が多々ありました。
+(緊急リリースのため、設定画面が見難くなっています。ご了承くださいませ。)
+***Ver0.0.4.6(2008/2/29)
+- DM、自発言の複数一括削除でエラーになる不具合を修正
+- ハートマーク対応(遅 <3を?に変換します
+- 自分宛のReply判定を正規表現に変更。他の人宛の返信を自分宛の返信と判定することがある問題を修正
+- tinyUrlの事前展開に対応(画面下部のリンク先表示に時間がかからなくなりました)
+- デッドロック(?)に対応したつもり
+- POST処理中にリストダブルクリックで、@hogehogeが処理中の発言に付加される問題を修正
+- 使用しているアイコンの関係で、配布ライセンスを明記(CreativeCommons Attribution-ShareAlike 2.5) どなたかアイコン下さいm(_ _)m
+***Ver0.0.4.5(2008/2/24)
+- Fav削除でエラーが発生する問題に対応
+***Ver0.0.4.4(2008/2/24)
+- リスト描画方式変更(0.0.4.1~3よりメモリにやさしい、と思う)
+- Fav追加/削除を同期処理に戻した
+- Fav追加/削除したとき、発言詳細の名前文字色を即時変更するようにした
+- DMリストで「ステータスを開く」コマンドを無効にした(まだ暴発しますが・・・)
+- Twitterコマンドの判別条件を緩和。発言に失敗した場合はお知らせいただけると助かります。
+- 発言詳細の表示が変更された場合のナビゲート音を出さないように変更
+- 複数発言のFav時に、確認メッセージを追加
+***Ver0.0.4.3(2008/2/21)
+- URL中のTwitterコマンドを無視するように修正
+***Ver0.0.4.2(2008/2/21)
+- Recentのリストで、リストアイコンサイズ24,48の場合に、折り返し表示されないバグ修正
+- Reply,DMのリストで、右クリックメニューが表示されないバグ修正
+- 手動での最新版取得メニューを追加
+***Ver0.0.4.1(2008/2/21)
+- リストのチラつきをなくしました
+- Twitterコマンドが含まれる発言が「DM宛先間違い」で投稿できない問題に対応しました
+***Ver0.0.4.0(2008/2/20)
+- DMの発言詳細表示がされないバグ修正
+- 新着取得時に発言詳細部が再描画される問題を修正
+- POST中のreply、DM発言操作補助が効いてしまうバグ修正
+***Ver0.0.3.9(2008/2/19)
+- リスト描画高速化
+- 自動バージョンチェック&更新追加
+***Ver0.0.3.8(2008/2/16)
+- RecentとRepliesを取得するときに、1ページ目はページクエリを付けないように修正
+***Ver0.0.3.7(2008/2/15)
+- DMタブ選択時に不正落ちするバグ対応(リプライ条件変更対応時のバグ)
+- エラートラップでさらにエラーが起きるアホなバグ修正
+***Ver0.0.3.6(2008/2/15)
+- アイコンずれ問題に対応(したつもり)
+- バックグラウンド処理時の不正落ちを捕捉し、ログへ書き出す処理追加(トラップ漏れしてたっぽい)
+- リプライ条件変更に伴い、文末の「in reply to」も参照して自分への返信と判断するよう拡張
+***Ver0.0.3.5(2008/2/15)
+- バレンタイン対応(相手のいない発言(プロテクト???)への対応)
+- 発言ポスト時の非同期化
+- 本文とステータス間に半角スペースを補完
+***Ver0.0.3.4(2008/2/14)
+- バレンタイン対応 ・・・もう勘弁・・・
+- 未読ジャンプで複数件選択される場合のあるバグ対応
+- 発言削除時にエラーになるバグ対応
+- Get時のnocacheオプション削除
+- 通信タイムアウトをデフォルトへ戻した(90秒)
+***Ver0.0.3.3(2008/2/13)
+- Webで削除したけどTweenに残っている発言をFavるとエラーになるバグ修正
+- 片思いをOffにしても、既読⇒未読に変わると片思いの色になる切ないバグ修正
+- 発言部にフォーカスがあるとき、未読ジャンプしたらフォーカスをリスト部へ移すよう変更
+- 未読ジャンプで該当なかったら、Recentタブの最終発言に戻るよう変更
+- 発言ステータス(個別発言のページ)を開くメニュー追加(Ctrl+O)
+- ふぁぼられを開くメニューを追加(Ctrl+Shift+O)
+- 新着通知バルーンをクリックしても画面がアクティブにならない場合がある問題へ暫定対応
+- DMタブで発言をダブルクリックしたら、DM送信補助操作になるように変更
+- マウス操作による複数人リプライ補助操作に対応(先頭にドット付加)
+- 長時間起動で落ちる(?)場合があるらしいので、エラーログ記録機能追加
+- 設定画面のステータス設定に例を追記(例)[TWN]) ←Tweenにしている方は、変更にご協力いただけると助かります。Twitter検索が難しいのです。
+***Ver0.0.3.2(2008/2/7)
+- 0.0.3.0の抜けチェック機能を削除。設定で閾値=1、取得ページ=10にすれば抜けませんが、Twitter側も思うところあっての対応だと思われますので、この設定は非推奨です。
+***Ver0.0.3.1(2008/2/6)
+- メニューの「操作」が開けなくなっていたバグ修正
+***Ver0.0.3.0(2008/2/6)
+- 150発言取得したら、10ページ遡って抜けチェックします。暫定機能です。Twitterが復調したら消します。
+- Ctrl+Spaceキーで未読発言へジャンプします。タブ横断します。ただし、リストにフォーカスがあるときしか機能しません。
+***Ver0.0.2.9(2008/2/5)
+- タブ操作で新規タブにIDコピーor移動した場合、ソート順が他のタブと異なる場合がある問題を修正
+- タブ操作でタブ削除後に削除したタブと同名のタブを作成するとエラーが発生する問題を修正
+- 保持している発言が多くなると、スクロールがもたつく問題を修正
+- 主に48*48のアイコンの場合に、スクロールがもたつく問題に暫定対応(アイコンの画質下げ。見た目は変わりません)
+- Windowsの日付と時刻の形式設定で、年を削っている場合にソート処理で例外が発生する問題を修正
+***Ver0.0.2.8(2008/2/4)
+- 片思いの人の発言を選択すると、通常発言の文字色になってしまうバグ修正
+- 一旦終了すると、未読・既読の文字色が黒に戻ってしまうバグ修正
+- バージョン情報表示画面追加(ファイルメニュー)
+- リストの列並び順、ソート順、列の幅をすべてのリストで共通化(DMのソート順は例外)
+- 新着通知バルーンに表示するユーザー名を「なし」「ユーザーID」「ニックネーム」から選べるように変更(設定画面)
+- 新着受信時にリストの表示を固定する設定を、設定画面からファイルメニューへ移動
+***Ver0.0.2.7(2008/2/2)
+- タブ操作のID移動の動作ががIDコピーになる場合があるバグ修正
+- Twitterが重い場合にエラーが発生する問題を修正
+- タスクトレイアイコンでステータス通知するよう変更
+          o 青@:通常
+          o グレー@:オフライン(オンラインになるまで更新動作しません)
+          o 青矢印:更新中
+          o 赤@:更新エラーあり(エラーのバルーン表示はなくなりました。ステータスに表示されます)
+- フォント&色をユーザーが変更できるよう設定に追加(設定画面)
+- XPでの動作時、メニュー背景が青くなっていたのを修正
+***Ver0.0.2.6(2008/1/23)
+- 新着通知サウンドのOn/Off切り替えを設定に追加(デフォルトOff。音を出したい人はwavファイルを用意して設定変更してね)
+- 片思い表示のOn/Offを設定に追加
+- 未読管理のOn/Offを設定に追加
+- @Replyの発言補助を改善
+- アイコンサイズ変更時にエラーになるバグ修正
+- アイコン取得のスレッド化を中止(起動がちょっとだけ遅くなりました。今後改善します)
+- DMも未読管理するように変更(起動時読込分は既読です)
+***Ver0.0.2.5(2008/1/22)
+- 新着通知サウンド対応(実行ファイルと同じフォルダにnew.wav,reply.wav,dm.wavを置くと幸せになれるかも)テストしてません。ごめんね!
+- POST時にRecent,Replyを更新
+- Windows2000でメニューが真っ黒になる問題に対応。(XPではメニュー背景が青くなってしまった。古いUIを選択すればOKかも)
+- タブ見出しのフォントを指定しないように変更
+- IDコピーやReplyで、同一ポストが複数タブに登録されていても、現タブでそのポストの未読状態を変更したら、他タブの同ポストの未読状態も同時に更新
+- 複数発言を選択しての未読状態変更時に、タブの未読アイコンを即時更新
+- Replyタブの発言背景色変更を有効にした
+- アイコンサイズを変更した場合に、すぐにリストを再描画するように変更
+- 新着件数が閾値を超えた場合の追加読込ロジックを修正。大多数の場合、次のページまでしか読んでいなかった。
+***Ver0.0.2.4(2008/1/19)
+- 片思い識別(片思いの人は文字色を青で表示。follower情報はDM更新のタイミングです。)
+- ステータス設定を設定画面に追加
+***Ver0.0.2.3(2008/1/17)
+- 多重起動禁止
+- 設定値の初期値変更
+- 起動時DM取得も20件毎に応答を返すように変更(タイムラインは対応済み)
+- タブ削除時のバグ修正
+***Ver0.0.2.2(2008/1/16)
+- 検索機能追加
+- アイコンサイズ48、24の時、リスト内発言を複数選択できない不具合修正
+- 起動時読込継続確認メッセージでキャンセルを選択しても、読込を中断しない不具合修正
+- 全新着通知の切り替えにショートカット(Ctrl+Q)を設定
+- FavのショートカットをCtrl+FからCtrl+Sへ変更
+***Ver0.0.2.1(2008/1/9)
+- Repliesからも取得
+***Ver0.0.2.0(2008/1/9)
+- ローカルへのログ保存機能を削除(コードは残してあります。これなかったら使ってやらん!という場合は教えてください)
+- 起動時読込ページ数の10ページ制限を再度撤廃(前回既読位置、または設定ページ数どちらか早いほうまで読み込みます。10ページ毎に継続確認メッセージが出ます。)
+- リスト中発言の折り返し表示を実装(Vistaは昔から対応済み。今回はXP。アイコンサイズ24または48で折り返し表示されます)
+- 新着通知設定(すべて通知、(すべて通知をOffにして)Replyを通知、DMを通知)
+- 投稿欄脇に文字数カウンタ追加。さらに140文字を超えると、発言欄の文字が赤くなります。
+***Ver0.0.1.9(2007/12/28)
+- ブラウザ起動を非同期処理にしました(発言中のURLクリックや発言者のHomeを開くなど)
+***Ver0.0.1.8(2007/12/27)
+- DMの詳細表示で落ちるバグ修正。ごめんよごめんよ
+***Ver0.0.1.7(2007/12/27)
+- DMのアイコン取得で落ちるバグ修正。超恥ずかしい
+***Ver0.0.1.6(2007/12/27)
+- 未読があるタブ見出しにアイコンを表示するようにしました
+***Ver0.0.1.5(2007/12/26)
+- 片思いの人がプロテクトに設定変更したときに流れてくる文言で落ちるバグ修正
+***Ver0.0.1.4(2007/12/22)
+- 過去ログ読み込み時に、現在のアイコンとログのアイコンが変わっている人がいると起動時に固まるバグ修正
+***Ver0.0.1.3(2007/12/21)
+- タブ作成(いくつでも)機能追加(右クリック→タブ操作)
+- 各タブへの発言振り分け(ID指定)機能追加(右クリック→タブ操作)
+- リンク先URL表示追加
+- 古いポスト読み込み時のロジックを変更
+- ブラウザ部のフォントをMS UI Gothicに変更
+***Ver0.0.1.2(2007/12/14)
+- アイコン取得のスレッド終了を待っていなかったバグ修正(アイコンが表示されないことがありました)
+- リストのアイコンサイズに16*16を追加
+- リストのアイコンサイズは全リストで共通設定とし、設定画面に移した
+- 「アイコンなし」を選んだときに、行高さが最適な高さになるよう修正
+***Ver0.0.1.1(2007/12/12)
+- 返信先ポストの色換えができていなかったバグ修正
+- 新着取得エラー時に再ログインできない場合があるバグ修正
+***Ver0.0.1.0(2007/12/11)
+- 新着取得時にリスト表示位置を固定するオプション追加。固定しなければ勝手にスクロールします。
+***Ver0.0.0.9(2007/12/10)
+- ログ読込期間で、単位(分間、時間、日間)を指定可能に
+- 投稿文の表示を、RichTextからWebBrowserに変更。(追加DLLは使わなくなったよ。)
+***Ver0.0.0.8(2007/12/7)
+- 起動時のログ読込・新着読込で、適時応答を返すように変更
+- 返信先・返信元の色修正
+- 各種ショートカットの追加
+- メニュー周りの見直し
+- 設定をいくつか追加(過去ログ読込日数は、ポスト数や時間数指定が出来るように変更予定)
+***Ver0.0.0.7(2007/12/5)
+- リスト更新間隔を設定画面から変更しても元に戻ってしまうバグ対応
+- ログ保存機能追加 起動が目茶目茶遅くなる。要改善
+- 返信先・返信元の色換え追加 色が適当すぎ。後で変える。ユーザーが変えられるようにもする。
+- 遅延時・エラー時の取得漏れ対応
+- アイコン取得のスレッド化
+***Ver0.0.0.6(2007/12/3)
+- アイコンサイズ選択(大、小、なし) (アイコン「あり」から「なし」に変更した場合のリスト高さは、再起動しないと反映されません。極小サイズも追加しようかしら・・・)
+- 発言、DMの削除
+- DM取得タイマーを別に設けました。設定画面にも追加。(デフォルト600秒)
+***Ver0.0.0.5(2007/12/1)
+- (自分宛)Reply、DM(Inbox)のタブを追加
+- リスト内のポップアップメニューに返信、DM送信、削除を追加(削除機能は正常動作しません)
+***Ver0.0.0.4(2007/11/29)
+- gzip,deflateに対応。(微妙に速度アップ)
+- socketを廃してWebRequest/WebResponceに一本化。コード半減しました。
+- エラー時のメッセージ刷新
+***Ver0.0.0.3(2007/11/28)
+- 設定ファイルを実行ファイルパス(Tween.exe.config)に保存するよう変更
+- 設定ファイルのバージョン互換性を持たせた
+- 最小化したまま保存したとき、位置等に変な値が保存されるバグを修正
+***Ver0.0.0.2-1(2007/11/23)
+- タイムラインリストにソート、列の入れ替え機能追加(デフォルト 投稿日の降順)
+- ソート設定の保存・復元(起動・終了時)
+- 新着ポストがあった場合、リスト表示位置を保持
+- メモリ消費をちょびっと減らした
+- RichTextにコンテキストメニュー「コピー」追加。あと何がいるんだ?
diff --git a/Tween/Connection/HttpConnection.vb b/Tween/Connection/HttpConnection.vb
new file mode 100644 (file)
index 0000000..43feff9
--- /dev/null
@@ -0,0 +1,345 @@
+Imports System.Net
+Imports System.IO
+Imports System.Collections.Generic
+Imports System.Collections.Specialized
+Imports System.Text
+
+'''<summary>
+'''HttpWebRequest,HttpWebResponse\82ð\8eg\97p\82µ\82½\8aî\96{\93I\82È\92Ê\90M\8b@\94\\82ð\92ñ\8b\9f\82·\82é
+'''</summary>
+'''<remarks>
+'''\83v\83\8d\83L\83V\8fî\95ñ\82È\82Ç\82ð\90Ý\92è\82·\82é\82½\82ß\81A\8eg\97p\91O\82É\90Ã\93I\83\81\83\\83b\83hInitializeConnection\82ð\8cÄ\82Ñ\8fo\82·\82±\82Æ\81B
+'''\92Ê\90M\95û\8e®\82É\82æ\82Á\82Ä\95K\97v\82É\82È\82éHTTP\83w\83b\83_\82Ì\95t\89Á\82È\82Ç\82Í\81A\94h\90\83N\83\89\83X\82ÅGetContent\83\81\83\\83b\83h\82ð\83I\81[\83o\81[\83\89\83C\83h\82µ\82Ä\8ds\82¤\81B
+'''</remarks>
+Public Class HttpConnection
+    '''<summary>
+    '''\83v\83\8d\83L\83V
+    '''</summary>
+    Private Shared proxy As WebProxy = Nothing
+
+    '''<summary>
+    '''\83\86\81[\83U\81[\82ª\91I\91ð\82µ\82½\83v\83\8d\83L\83V\82Ì\95û\8e®
+    '''</summary>
+    Private Shared proxyType As ProxyType = ProxyType.IE
+
+    '''<summary>
+    '''\83N\83b\83L\81[\95Û\91\97p\83R\83\93\83e\83i
+    '''</summary>
+    Private Shared cookieContainer As New CookieContainer
+
+    '''<summary>
+    '''\8f\89\8aú\89»\8dÏ\82Ý\83t\83\89\83O
+    '''</summary>
+    Private Shared isInitialize As Boolean = False
+
+    '''<summary>
+    '''HTTP\92Ê\90M\82Ì\83\81\83\\83b\83h
+    '''</summary>
+    '''<remarks>
+    '''\91¼\82Ì\83\81\83\\83b\83h\81iHEAD,PUT,CONNECT\82È\82Ç\81j\82ª\95K\97v\82È\8fê\8d\87\82Í\92Ç\89Á\82·\82é\82±\82Æ
+    '''</remarks>
+    Protected Enum RequestMethod
+        ReqGet
+        ReqPost
+    End Enum
+
+    '''<summary>
+    '''HttpWebRequest\83I\83u\83W\83F\83N\83g\82ð\8eæ\93¾\82·\82é
+    '''</summary>
+    '''<remarks>
+    '''\95K\97v\82È\83w\83b\83_\97Þ\82Í\8cÄ\82Ñ\8fo\82µ\8c³\82Å\95t\89Á\82·\82é\82±\82Æ
+    '''\81iTimeout,AutomaticDecompression,AllowAutoRedirect,UserAgent,ContentType,Accept,HttpRequestHeader.Authorization,\83J\83X\83^\83\80\83w\83b\83_\81j
+    '''<param name="method">HTTP\92Ê\90M\83\81\83\\83b\83h\81iGET/POST\82È\82Ç\81j</param>
+    '''<param name="requestUri">\92Ê\90M\90æURI</param>
+    '''<param name="param">GET\8e\9e\82Ì\83N\83G\83\8a\81A\82Ü\82½\82ÍPOST\8e\9e\82Ì\83{\83f\83B\83f\81[\83^</param>
+    '''<param name="withCookie">\92Ê\90M\82Écookie\82ð\8eg\97p\82·\82é\82©</param>
+    '''<returns>\88ø\90\94\82Å\8ew\92è\82³\82ê\82½\93à\97e\82ð\94½\89f\82µ\82½HttpWebRequest\83I\83u\83W\83F\83N\83g</returns>
+    Protected Shared Function CreateRequest(ByVal method As RequestMethod, _
+                                            ByVal requestUri As Uri, _
+                                            ByVal param As SortedList(Of String, String), _
+                                            ByVal withCookie As Boolean _
+                                        ) As HttpWebRequest
+        If Not isInitialize Then Throw New Exception("Sequence error.(not initialized)")
+
+        'GET\83\81\83\\83b\83h\82Ì\8fê\8d\87\82Í\83N\83G\83\8a\82Æurl\82ð\8c\8b\8d\87
+        Dim ub As New UriBuilder(requestUri.AbsoluteUri)
+        If method = RequestMethod.ReqGet Then
+            ub.Query = CreateQueryString(param)
+        End If
+
+        Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(ub.Uri), HttpWebRequest)
+
+        '\83v\83\8d\83L\83V\90Ý\92è
+        If proxyType <> proxyType.IE Then webReq.Proxy = proxy
+
+        If method = RequestMethod.ReqGet Then
+            webReq.Method = "GET"
+        Else
+            webReq.Method = "POST"
+            webReq.ContentType = "application/x-www-form-urlencoded"
+            'POST\83\81\83\\83b\83h\82Ì\8fê\8d\87\82Í\81A\83{\83f\83B\83f\81[\83^\82Æ\82µ\82Ä\83N\83G\83\8a\8d\\90¬\82µ\82Ä\8f\91\82«\8d\9e\82Ý
+            Using writer As New StreamWriter(webReq.GetRequestStream)
+                writer.Write(CreateQueryString(param))
+            End Using
+        End If
+        'cookie\90Ý\92è
+        If withCookie Then webReq.CookieContainer = cookieContainer
+        '\83^\83C\83\80\83A\83E\83g\90Ý\92è
+        webReq.Timeout = DefaultTimeout
+
+        Return webReq
+    End Function
+
+    '''<summary>
+    '''HTTP\82Ì\89\9e\93\9a\82ð\8f\88\97\9d\82µ\81A\83X\83g\83\8a\81[\83\80\82Ì\83R\83s\81[\82ð\95Ô\8bp
+    '''</summary>
+    '''<remarks>
+    '''\83\8a\83_\83C\83\8c\83N\83g\89\9e\93\9a\82Ì\8fê\8d\87\81iAllowAutoRedirect=False\82Ì\8fê\8d\87\82Ì\82Ý\81j\82Í\81AheaderInfo\83C\83\93\83X\83^\83\93\83X\82ª\82 \82ê\82ÎLocation\82ð\92Ç\89Á\82µ\82Ä\83\8a\83_\83C\83\8c\83N\83g\90æ\82ð\95Ô\8bp\81B\83{\83f\83B\83f\81[\83^\82Í\8f\88\97\9d\82µ\82È\82¢\81B
+    '''WebException\82Í\83n\83\93\83h\83\8b\82µ\82Ä\82¢\82È\82¢\82Ì\82Å\81A\8cÄ\82Ñ\8fo\82µ\8c³\82Å\83L\83\83\83b\83`\82·\82é\82±\82Æ
+    '''</remarks>
+    '''<param name="webRequest">HTTP\92Ê\90M\83\8a\83N\83G\83X\83g\83I\83u\83W\83F\83N\83g</param>
+    '''<param name="contentStream">[OUT]HTTP\89\9e\93\9a\82Ì\83{\83f\83B\83X\83g\83\8a\81[\83\80\82Ì\83R\83s\81[\8f\91\82«\8d\9e\82Ý\97p</param>
+    '''<param name="headerInfo">[IN/OUT]HTTP\89\9e\93\9a\82Ì\83w\83b\83_\8fî\95ñ\81B\83w\83b\83_\96¼\82ð\83L\81[\82É\82µ\82Ä\8bó\83f\81[\83^\82Ì\83R\83\8c\83N\83V\83\87\83\93\82ð\93n\82·\82±\82Æ\82Å\81A\8aY\93\96\82Ì\83w\83b\83_\82ð\83f\81[\83^\82É\90Ý\92è\82µ\82Ä\96ß\82·</param>
+    '''<param name="withCookie">\92Ê\90M\82Écookie\82ð\8eg\97p\82·\82é</param>
+    '''<returns>HTTP\89\9e\93\9a\82Ì\83X\83e\81[\83^\83X\83R\81[\83h</returns>
+    Protected Shared Function GetResponse(ByVal webRequest As HttpWebRequest, _
+                                        ByVal contentStream As Stream, _
+                                        ByVal headerInfo As Dictionary(Of String, String), _
+                                        ByVal withCookie As Boolean _
+                                    ) As HttpStatusCode
+        Using webRes As HttpWebResponse = CType(webRequest.GetResponse(), HttpWebResponse)
+            Dim statusCode As HttpStatusCode = webRes.StatusCode
+            'cookie\95Û\8e\9d
+            If withCookie Then SaveCookie(webRes.Cookies)
+            '\83\8a\83_\83C\83\8c\83N\83g\89\9e\93\9a\82Ì\8fê\8d\87\82Í\81A\83\8a\83_\83C\83\8c\83N\83g\90æ\82ð\90Ý\92è\82µ\82Ä\8fI\97¹
+            GetHeaderInfo(webRes, headerInfo)
+            '\89\9e\93\9a\82Ì\83X\83g\83\8a\81[\83\80\82ð\83R\83s\81[\82µ\82Ä\96ß\82·
+            If webRes.ContentLength > 0 Then
+                Using stream As Stream = webRes.GetResponseStream()
+                    If stream IsNot Nothing Then CopyStream(stream, contentStream)
+                End Using
+            End If
+            Return statusCode
+        End Using
+    End Function
+
+    Protected Shared Function GetResponse(ByVal webRequest As HttpWebRequest, _
+                                        ByRef contentText As String, _
+                                        ByVal headerInfo As Dictionary(Of String, String), _
+                                        ByVal withCookie As Boolean _
+                                    ) As HttpStatusCode
+        Using webRes As HttpWebResponse = CType(webRequest.GetResponse(), HttpWebResponse)
+            Dim statusCode As HttpStatusCode = webRes.StatusCode
+            'cookie\95Û\8e\9d
+            If withCookie Then SaveCookie(webRes.Cookies)
+            '\83\8a\83_\83C\83\8c\83N\83g\89\9e\93\9a\82Ì\8fê\8d\87\82Í\81A\83\8a\83_\83C\83\8c\83N\83g\90æ\82ð\90Ý\92è\82µ\82Ä\8fI\97¹
+            GetHeaderInfo(webRes, headerInfo)
+            '\89\9e\93\9a\82Ì\83X\83g\83\8a\81[\83\80\82ð\83e\83L\83X\83g\82É\8f\91\82«\8fo\82µ\82Ä\96ß\82·
+            If contentText Is Nothing Then Throw New ArgumentNullException("contentText")
+            If webRes.ContentLength > 0 Then
+                Using sr As StreamReader = New StreamReader(webRes.GetResponseStream)
+                    contentText = sr.ReadToEnd()
+                End Using
+            End If
+            Return statusCode
+        End Using
+    End Function
+
+    Protected Shared Function GetResponse(ByVal webRequest As HttpWebRequest, _
+                                        ByVal contentBitmap As Bitmap, _
+                                        ByVal headerInfo As Dictionary(Of String, String), _
+                                        ByVal withCookie As Boolean _
+                                    ) As HttpStatusCode
+        Using webRes As HttpWebResponse = CType(webRequest.GetResponse(), HttpWebResponse)
+            Dim statusCode As HttpStatusCode = webRes.StatusCode
+            'cookie\95Û\8e\9d
+            If withCookie Then SaveCookie(webRes.Cookies)
+            '\83\8a\83_\83C\83\8c\83N\83g\89\9e\93\9a\82Ì\8fê\8d\87\82Í\81A\83\8a\83_\83C\83\8c\83N\83g\90æ\82ð\90Ý\92è\82µ\82Ä\8fI\97¹
+            GetHeaderInfo(webRes, headerInfo)
+            '\89\9e\93\9a\82Ì\83X\83g\83\8a\81[\83\80\82ðBitmap\82É\82µ\82Ä\96ß\82·
+            If webRes.ContentLength > 0 Then contentBitmap = New Bitmap(webRes.GetResponseStream)
+            Return statusCode
+        End Using
+    End Function
+
+    Private Shared Sub SaveCookie(ByVal cookieCollection As CookieCollection)
+        For Each ck As Cookie In cookieCollection
+            If ck.Domain.StartsWith(".") Then
+                ck.Domain = ck.Domain.Substring(1, ck.Domain.Length - 1)
+                cookieContainer.Add(ck)
+            End If
+        Next
+    End Sub
+
+    '''<summary>
+    '''in/out\82Ì\83X\83g\83\8a\81[\83\80\83C\83\93\83X\83^\83\93\83X\82ð\8eó\82¯\8eæ\82è\81A\83R\83s\81[\82µ\82Ä\95Ô\8bp
+    '''</summary>
+    '''<param name="inStream">\83R\83s\81[\8c³\83X\83g\83\8a\81[\83\80\83C\83\93\83X\83^\83\93\83X\81B\93Ç\82Ý\8eæ\82è\89Â\82Å\82 \82é\82±\82Æ</param>
+    '''<param name="outStream">\83R\83s\81[\90æ\83X\83g\83\8a\81[\83\80\83C\83\93\83X\83^\83\93\83X\81B\8f\91\82«\8d\9e\82Ý\89Â\82Å\82 \82é\82±\82Æ</param>
+    Private Shared Sub CopyStream(ByVal inStream As Stream, ByVal outStream As Stream)
+        If inStream Is Nothing Then Throw New ArgumentNullException("inStream")
+        If outStream Is Nothing Then Throw New ArgumentNullException("outStream")
+        If Not inStream.CanRead Then Throw New ArgumentException("Input stream can not read.")
+        If Not outStream.CanWrite Then Throw New ArgumentException("Output stream can not write.")
+        If inStream.CanSeek AndAlso inStream.Length = 0 Then Throw New ArgumentException("Input stream do not have data.")
+
+        Do
+            Dim buffer(1024) As Byte
+            Dim i As Integer = buffer.Length
+            i = inStream.Read(buffer, 0, i)
+            If i = 0 Then Exit Do
+            outStream.Write(buffer, 0, i)
+        Loop
+    End Sub
+
+    '''<summary>
+    '''headerInfo\82Ì\83L\81[\8fî\95ñ\82Å\8ew\92è\82³\82ê\82½HTTP\83w\83b\83_\8fî\95ñ\82ð\8eæ\93¾\81E\8ai\94[\82·\82é\81Bredirect\89\9e\93\9a\8e\9e\82ÍLocation\83w\83b\83_\82Ì\93à\97e\82ð\92Ç\8bL\82·\82é
+    '''</summary>
+    '''<param name="webResponse">HTTP\89\9e\93\9a</param>
+    '''<param name="headerInfo">[IN/OUT]\83L\81[\82É\83w\83b\83_\96¼\82ð\8ew\92è\82µ\82½\83f\81[\83^\8bó\82Ì\83R\83\8c\83N\83V\83\87\83\93\81B\8eæ\93¾\82µ\82½\92l\82ð\83f\81[\83^\82É\83Z\83b\83g\82µ\82Ä\96ß\82·</param>
+    Private Shared Sub GetHeaderInfo(ByVal webResponse As HttpWebResponse, _
+                                    ByVal headerInfo As Dictionary(Of String, String))
+
+        If headerInfo Is Nothing Then Exit Sub
+
+        If headerInfo.Count > 0 Then
+            Dim keys(headerInfo.Count - 1) As String
+            headerInfo.Keys.CopyTo(keys, 0)
+            For Each key As String In keys
+                If Array.IndexOf(webResponse.Headers.AllKeys, key) > -1 Then
+                    headerInfo.Item(key) = webResponse.Headers.Item(key)
+                Else
+                    headerInfo.Item(key) = ""
+                End If
+            Next
+        End If
+
+        Dim statusCode As HttpStatusCode = webResponse.StatusCode
+        If statusCode = HttpStatusCode.MovedPermanently OrElse _
+           statusCode = HttpStatusCode.Found OrElse _
+           statusCode = HttpStatusCode.SeeOther OrElse _
+           statusCode = HttpStatusCode.TemporaryRedirect Then
+            If headerInfo.ContainsKey("Location") Then
+                headerInfo.Item("Location") = webResponse.Headers.Item("Location")
+            Else
+                headerInfo.Add("Location", webResponse.Headers.Item("Location"))
+            End If
+        End If
+    End Sub
+
+    '''<summary>
+    '''\83N\83G\83\8a\83R\83\8c\83N\83V\83\87\83\93\82ðkey=value\8c`\8e®\82Ì\95\8e\9a\97ñ\82É\8d\\90¬\82µ\82Ä\96ß\82·
+    '''</summary>
+    '''<param name="param">\83N\83G\83\8a\81A\82Ü\82½\82Í\83|\83X\83g\83f\81[\83^\82Æ\82È\82ékey-value\83R\83\8c\83N\83V\83\87\83\93</param>
+    Protected Shared Function CreateQueryString(ByVal param As SortedList(Of String, String)) As String
+        If param Is Nothing OrElse param.Count = 0 Then Return String.Empty
+
+        Dim query As New StringBuilder
+        For Each key As String In param.Keys
+            query.AppendFormat("{0}={1}&", UrlEncode(key), UrlEncode(param(key)))
+        Next
+        Return query.ToString(0, query.Length - 1)
+    End Function
+
+    '''<summary>
+    '''\83N\83G\83\8a\8c`\8e®\81ikey1=value1&key2=value2&...\81j\82Ì\95\8e\9a\97ñ\82ðkey-value\83R\83\8c\83N\83V\83\87\83\93\82É\8bl\82ß\92¼\82µ
+    '''</summary>
+    '''<param name="queryString">\83N\83G\83\8a\95\8e\9a\97ñ</param>
+    '''<returns>key-value\82Ì\83R\83\8c\83N\83V\83\87\83\93</returns>
+    Protected Shared Function ParseQueryString(ByVal queryString As String) As NameValueCollection
+        Dim query As New NameValueCollection
+        Dim parts() As String = queryString.Split("&"c)
+        For Each part As String In parts
+            Dim index As Integer = part.IndexOf("="c)
+            If index = -1 Then
+                query.Add(Uri.UnescapeDataString(part), "")
+            Else
+                query.Add(Uri.UnescapeDataString(part.Substring(0, index)), Uri.UnescapeDataString(part.Substring(index + 1)))
+            End If
+        Next
+        Return query
+    End Function
+
+    '''<summary>
+    '''2\83o\83C\83g\95\8e\9a\82à\8dl\97\82µ\82½Url\83G\83\93\83R\81[\83h
+    '''</summary>
+    '''<param name="str">\83G\83\93\83R\81[\83h\82·\82é\95\8e\9a\97ñ</param>
+    '''<returns>\83G\83\93\83R\81[\83h\8c\8b\89Ê\95\8e\9a\97ñ</returns>
+    Protected Shared Function UrlEncode(ByVal stringToEncode As String) As String
+        Const UnreservedChars As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~"
+        Dim sb As New StringBuilder
+        Dim bytes As Byte() = Encoding.UTF8.GetBytes(stringToEncode)
+
+        For Each b As Byte In bytes
+            If UnreservedChars.IndexOf(Chr(b)) <> -1 Then
+                sb.Append(Chr(b))
+            Else
+                sb.AppendFormat("%{0:X2}", b)
+            End If
+        Next
+        Return sb.ToString()
+    End Function
+
+#Region "DefaultTimeout"
+    '''<summary>
+    '''\92Ê\90M\83^\83C\83\80\83A\83E\83g\8e\9e\8aÔ\81ims\81j
+    '''</summary>
+    Private Shared timeout As Integer = 20000
+
+    '''<summary>
+    '''\92Ê\90M\83^\83C\83\80\83A\83E\83g\8e\9e\8aÔ\81ims\81j\81B10\81`120\95b\82Ì\94Í\88Í\82Å\8ew\92è\81B\94Í\88Í\8aO\82Í20\95b\82Æ\82·\82é
+    '''</summary>
+    Protected Shared Property DefaultTimeout() As Integer
+        Get
+            Return timeout
+        End Get
+        Set(ByVal value As Integer)
+            Const TimeoutMinValue As Integer = 10000
+            Const TimeoutMaxValue As Integer = 120000
+            Const TimeoutDefaultValue As Integer = 20000
+            If value < TimeoutMinValue OrElse value > TimeoutMaxValue Then
+                ' \94Í\88Í\8aO\82È\82ç\83f\83t\83H\83\8b\83g\92l\90Ý\92è
+                timeout = TimeoutDefaultValue
+            Else
+                timeout = value
+            End If
+        End Set
+    End Property
+#End Region
+
+    '''<summary>
+    '''\92Ê\90M\83N\83\89\83X\82Ì\8f\89\8aú\89»\8f\88\97\9d\81B\83^\83C\83\80\83A\83E\83g\92l\82Æ\83v\83\8d\83L\83V\82ð\90Ý\92è\82·\82é
+    '''</summary>
+    '''<remarks>
+    '''\92Ê\90M\8aJ\8en\91O\82É\8dÅ\92á\88ê\93x\8cÄ\82Ñ\8fo\82·\82±\82Æ
+    '''</remarks>
+    '''<param name="timeout">\83^\83C\83\80\83A\83E\83g\92l\81i\95b\81j</param>
+    '''<param name="proxyType">\82È\82µ\81E\8ew\92è\81EIE\83f\83t\83H\83\8b\83g</param>
+    '''<param name="proxyAddress">\83v\83\8d\83L\83V\82Ì\83z\83X\83g\96¼orIP\83A\83h\83\8c\83X</param>
+    '''<param name="proxyPort">\83v\83\8d\83L\83V\82Ì\83|\81[\83g\94Ô\8d\86</param>
+    '''<param name="proxyUser">\83v\83\8d\83L\83V\94F\8fØ\82ª\95K\97v\82È\8fê\8d\87\82Ì\83\86\81[\83U\96¼\81B\95s\97v\82È\82ç\8bó\95\8e\9a</param>
+    '''<param name="proxyPassword">\83v\83\8d\83L\83V\94F\8fØ\82ª\95K\97v\82È\8fê\8d\87\82Ì\83p\83X\83\8f\81[\83h\81B\95s\97v\82È\82ç\8bó\95\8e\9a</param>
+    Public Shared Sub InitializeConnection( _
+            ByVal timeout As Integer, _
+            ByVal proxyType As ProxyType, _
+            ByVal proxyAddress As String, _
+            ByVal proxyPort As Integer, _
+            ByVal proxyUser As String, _
+            ByVal proxyPassword As String)
+        isInitialize = True
+        ServicePointManager.Expect100Continue = False
+        DefaultTimeout = timeout * 1000     's -> ms
+        Select Case proxyType
+            Case proxyType.None
+                proxy = Nothing
+            Case proxyType.Specified
+                proxy = New WebProxy("http://" + proxyAddress + ":" + proxyPort.ToString)
+                If Not String.IsNullOrEmpty(proxyUser) OrElse Not String.IsNullOrEmpty(proxyPassword) Then
+                    proxy.Credentials = New NetworkCredential(proxyUser, proxyPassword)
+                End If
+            Case proxyType.IE
+                'IE\90Ý\92è\81i\83V\83X\83e\83\80\90Ý\92è\81j\82Í\83f\83t\83H\83\8b\83g\92l\82È\82Ì\82Å\8f\88\97\9d\82µ\82È\82¢
+        End Select
+        proxyType = proxyType
+    End Sub
+End Class
diff --git a/Tween/Connection/HttpConnectionApi.vb b/Tween/Connection/HttpConnectionApi.vb
new file mode 100644 (file)
index 0000000..7aa0fb5
--- /dev/null
@@ -0,0 +1,53 @@
+Imports System.Text
+Imports System.Net
+
+Public Class HttpConnectionApi
+    Inherits HttpConnection
+
+    Private Shared userName As String = ""
+    Private Shared password As String = ""
+    Private Shared credential As String = ""
+
+    Protected Function AuthorizeAccount() As Boolean
+        Dim authUri As Uri = New Uri("http://twitter.com/account/verify_credentials.xml")
+        Dim content As String = ""
+        Dim statusCode As HttpStatusCode = GetContent(RequestMethod.ReqGet, authUri, Nothing, content, Nothing)
+        If statusCode = HttpStatusCode.OK Then
+            Return True
+        Else
+            Return False
+        End If
+    End Function
+
+    Protected Function GetContent(ByVal method As RequestMethod, _
+            ByVal requestUri As Uri, _
+            ByVal param As SortedList(Of String, String), _
+            ByRef content As String, _
+            ByVal headerInfo As Dictionary(Of String, String)) As HttpStatusCode
+        'content\82ª\83C\83\93\83X\83^\83\93\83X\82³\82ê\82Ä\82¢\82é\82©\83`\83F\83b\83N
+        If content Is Nothing Then Throw New ArgumentNullException("content")
+        '\94F\8fØ\8dÏ\82©\83`\83F\83b\83N
+        If String.IsNullOrEmpty(userName) Then Throw New Exception("Sequence error. (userName is blank.)")
+
+        Dim webReq As HttpWebRequest = CreateRequest(method, _
+                                                    requestUri, _
+                                                    param, _
+                                                    False)
+        'API\97p\83w\83b\83_\82ð\95t\89Á
+        AppendApiInfo(webReq)
+
+        Return GetResponse(webReq, content, headerInfo, False)
+    End Function
+
+    Private Shared Sub AppendApiInfo(ByVal webRequest As HttpWebRequest)
+        webRequest.ContentType = "application/x-www-form-urlencoded"
+        webRequest.Accept = "text/html, */*"
+        webRequest.Headers.Add(HttpRequestHeader.Authorization, credential)
+    End Sub
+
+    Protected Shared Sub Initialize(ByVal userName As String, ByVal password As String)
+        HttpConnectionApi.userName = userName
+        HttpConnectionApi.password = password
+        credential = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(userName + ":" + password))
+    End Sub
+End Class
diff --git a/Tween/Connection/HttpConnectionOAuth.vb b/Tween/Connection/HttpConnectionOAuth.vb
new file mode 100644 (file)
index 0000000..f562565
--- /dev/null
@@ -0,0 +1,222 @@
+Imports System.Net
+Imports System.Collections.Generic
+Imports System.Collections.Specialized
+Imports System.IO
+Imports System.Text
+Imports System.Security
+
+Public Class HttpConnectionOAuth
+    Inherits HttpConnection
+
+    '''<summary>
+    '''OAuth\8f\90\96¼\82Ìoauth_timestamp\8eZ\8fo\97p\8aî\8f\80\93ú\95t\81i1970/1/1 00:00:00\81j
+    '''</summary>
+    Private Shared ReadOnly UnixEpoch As New DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified)
+
+    '''<summary>
+    '''OAuth\8f\90\96¼\82Ìoauth_nonce\8eZ\8fo\97p\97\90\90\94\83N\83\89\83X
+    '''</summary>
+    Private Shared ReadOnly NonceRandom As New Random
+
+    '''<summary>
+    '''OAuth\82Ì\94F\8fØ\83v\83\8d\83Z\83X\8e\9e\82Ì\82Ý\8eg\97p\82·\82é\83\8a\83N\83G\83X\83g\83g\81[\83N\83\93
+    '''</summary>
+    Private Shared requestToken As String
+
+    '''<summary>
+    '''OAuth\82Ì\83A\83N\83Z\83X\83g\81[\83N\83\93\81B\89i\91±\89»\89Â\94\\81i\83\86\81[\83U\81[\8eæ\82è\8fÁ\82µ\82Ì\89Â\94\\90«\82Í\82 \82é\81j\81B
+    '''</summary>
+    Private Shared token As String = ""
+
+    '''<summary>
+    '''OAuth\82Ì\8f\90\96¼\8dì\90¬\97p\94é\96§\83A\83N\83Z\83X\83g\81[\83N\83\93\81B\89i\91±\89»\89Â\94\\81i\83\86\81[\83U\81[\8eæ\82è\8fÁ\82µ\82Ì\89Â\94\\90«\82Í\82 \82é\81j\81B
+    '''</summary>
+    Private Shared tokenSecret As String = ""
+
+    '''<summary>
+    '''OAuth\82Ì\83R\83\93\83V\83\85\81[\83}\81[\8c®
+    '''</summary>
+    Private Const ConsumerKey As String = "EANjQEa5LokuVld682tTDA"
+
+    '''<summary>
+    '''OAuth\82Ì\8f\90\96¼\8dì\90¬\97p\94é\96§\83R\83\93\83V\83\85\81[\83}\81[\83f\81[\83^
+    '''</summary>
+    Private Const ConsumerSecret As String = "zXfwkzmuO6FcHtoikleV3EVgdh5vVAs6ft6ZxtYTYM"
+
+    '''<summary>
+    '''OAuth\82Ì\83\8a\83N\83G\83X\83g\83g\81[\83N\83\93\8eæ\93¾\90æURI
+    '''</summary>
+    Private Const RequestTokenUrl As String = "http://twitter.com/oauth/request_token"
+
+    '''<summary>
+    '''OAuth\82Ì\83\86\81[\83U\81[\94F\8fØ\97p\83y\81[\83WURI
+    '''</summary>
+    '''<remarks>
+    '''\83N\83G\83\8a\81uoauth_token=\83\8a\83N\83G\83X\83g\83g\81[\83N\83\93\81v\82ð\95t\89Á\82µ\82Ä\81A\82±\82ÌURI\82ð\83u\83\89\83E\83U\82Å\8aJ\82­\81B\83\86\81[\83U\81[\82ª\8f³\94F\91\80\8dì\82ð\8ds\82¤\82ÆPIN\83R\81[\83h\82ª\95\\8e¦\82³\82ê\82é\81B
+    '''</remarks>
+    Private Const AuthorizeUrl As String = "http://twitter.com/oauth/authorize"
+
+    '''<summary>
+    '''OAuth\82Ì\83A\83N\83Z\83X\83g\81[\83N\83\93\8eæ\93¾\90æURI
+    '''</summary>
+    Private Const AccessTokenUrl As String = "http://twitter.com/oauth/access_token"
+
+    '''<summary>
+    '''HTTP\92Ê\90M\82µ\82Ä\83R\83\93\83e\83\93\83c\82ð\8eæ\93¾\82·\82é\81i\95\8e\9a\97ñ\83R\83\93\83e\83\93\83c\81j
+    '''</summary>
+    '''<remarks>
+    '''\92Ê\90M\83^\83C\83\80\83A\83E\83g\82È\82ÇWebException\82ð\83n\83\93\83h\83\8b\82µ\82Ä\82¢\82È\82¢\82½\82ß\81A\8cÄ\82Ñ\8fo\82µ\8c³\82Å\8f\88\97\9d\82ª\95K\97v\81B
+    '''\83^\83C\83\80\83A\83E\83g\8ew\92è\82â\83\8c\83X\83|\83\93\83X\83w\83b\83_\8eæ\93¾\82Í\8fÈ\97ª\82µ\82Ä\82¢\82é\81B
+    '''\83\8c\83X\83|\83\93\83X\82Ì\83{\83f\83B\83X\83g\83\8a\81[\83\80\82ð\95\8e\9a\97ñ\82É\95Ï\8a·\82µ\82Äcontent\88ø\90\94\82É\8ai\94[\82µ\82Ä\96ß\82·\81B\95\8e\9a\83G\83\93\83R\81[\83h\82Í\96¢\8ew\92è
+    '''</remarks>
+    '''<param name="method">HTTP\82Ì\83\81\83\\83b\83h</param>
+    '''<param name="requestUri">URI</param>
+    '''<param name="param">key=value\82É\93W\8aJ\82³\82ê\82Ä\81A\83N\83G\83\8a\81iGET\8e\9e\81j\81E\83{\83f\83B\81iPOST\8e\9e\81j\82É\95t\89Á\82³\82ê\82é\91\97\90M\8fî\95ñ</param>
+    '''<param name="content">[IN/OUT]HTTP\83\8c\83X\83|\83\93\83X\82Ì\83{\83f\83B\95\94\83f\81[\83^\95Ô\8bp\97p\81B\8cÄ\82Ñ\8fo\82µ\8c³\82Å\8f\89\8aú\89»\82ª\95K\97v</param>
+    '''<param name="headerInfo">[IN/OUT]HTTP\89\9e\93\9a\82Ì\83w\83b\83_\8fî\95ñ</param>
+    '''<returns>\92Ê\90M\8c\8b\89Ê\82ÌHttpStatusCode</returns>
+    Protected Function GetContent(ByVal method As RequestMethod, _
+            ByVal requestUri As Uri, _
+            ByVal param As SortedList(Of String, String), _
+            ByRef content As String, _
+            ByVal headerInfo As Dictionary(Of String, String)) As HttpStatusCode
+        'content\82ª\83C\83\93\83X\83^\83\93\83X\82³\82ê\82Ä\82¢\82é\82©\83`\83F\83b\83N
+        If content Is Nothing Then Throw New ArgumentNullException("content")
+        '\94F\8fØ\8dÏ\82©\83`\83F\83b\83N
+        If String.IsNullOrEmpty(token) Then Throw New Exception("Sequence error. (Token is blank.)")
+
+        Dim webReq As HttpWebRequest = CreateRequest(method, _
+                                                    requestUri, _
+                                                    param, _
+                                                    False)
+        'OAuth\94F\8fØ\83w\83b\83_\82ð\95t\89Á
+        AppendOAuthInfo(webReq, param, token, tokenSecret)
+
+        Return GetResponse(webReq, content, headerInfo, False)
+    End Function
+
+#Region "\94F\8fØ\8f\88\97\9d"
+    Protected Function AuthorizeAccount() As Boolean
+        Dim authUri As Uri = GetAuthorizePageUri()
+        If authUri Is Nothing Then Return False
+        System.Diagnostics.Process.Start(authUri.PathAndQuery)
+        Dim inputForm As New InputTabName
+        inputForm.FormTitle = "Input PIN code"
+        inputForm.FormDescription = "Input the PIN code shown in the browser after you accept OAuth request."
+        If inputForm.ShowDialog() = DialogResult.OK AndAlso Not String.IsNullOrEmpty(inputForm.TabName) Then
+            Return GetAccessToken(inputForm.TabName)
+        Else
+            Return False
+        End If
+    End Function
+
+    Private Shared Function GetAuthorizePageUri() As Uri
+        Const tokenKey As String = "oauth_token"
+        requestToken = ""
+        Dim reqTokenData As NameValueCollection = GetOAuthToken(New Uri(RequestTokenUrl), "")
+        If reqTokenData IsNot Nothing Then
+            requestToken = reqTokenData.Item(tokenKey)
+            Dim ub As New UriBuilder(AuthorizeUrl)
+            ub.Query = String.Format("{0}={1}", tokenKey, requestToken)
+            Return ub.Uri
+        Else
+            Return Nothing
+        End If
+    End Function
+
+    Private Shared Function GetAccessToken(ByVal pinCode As String) As Boolean
+        If String.IsNullOrEmpty(requestToken) Then Throw New Exception("Sequence error.(requestToken is blank)")
+
+        Dim accessTokenData As NameValueCollection = GetOAuthToken(New Uri(AccessTokenUrl), pinCode)
+
+        If accessTokenData IsNot Nothing Then
+            Token = accessTokenData.Item("oauth_token")
+            TokenSecret = accessTokenData.Item("oauth_token_secret")
+            If Token = "" Then Return False
+            Return True
+        Else
+            Return False
+        End If
+    End Function
+
+    Private Shared Function GetOAuthToken(ByVal requestUri As Uri, ByVal pinCode As String) As NameValueCollection
+        Dim webReq As HttpWebRequest = Nothing
+        If String.IsNullOrEmpty(pinCode) Then
+            webReq = HttpConnection.CreateRequest(RequestMethod.ReqGet, requestUri, Nothing, False)
+        Else
+            webReq = HttpConnection.CreateRequest(RequestMethod.ReqPost, requestUri, Nothing, False)
+        End If
+        Dim query As New SortedList(Of String, String)
+        If Not String.IsNullOrEmpty(pinCode) Then query.Add("oauth_verifier", pinCode)
+        AppendOAuthInfo(webReq, query, requestToken, "")
+        Try
+            Dim status As HttpStatusCode
+            Dim contentText As String = ""
+            status = HttpConnection.GetResponse(webReq, contentText, Nothing, False)
+            If status = HttpStatusCode.OK Then
+                Return ParseQueryString(contentText)
+            Else
+                Return Nothing
+            End If
+        Catch ex As Exception
+            Return Nothing
+        End Try
+    End Function
+#End Region
+
+#Region "OAuth\94F\8fØ\97p\83w\83b\83_\8dì\90¬\81E\95t\89Á\8f\88\97\9d"
+    Private Shared Sub AppendOAuthInfo(ByVal webRequest As HttpWebRequest, _
+                                        ByVal query As SortedList(Of String, String), _
+                                        ByVal token As String, _
+                                        ByVal tokenSecret As String)
+        Dim parameter As New SortedList(Of String, String)
+        parameter.Add("oauth_consumer_key", ConsumerKey)
+        parameter.Add("oauth_signature_method", "HMAC-SHA1")
+        parameter.Add("oauth_timestamp", GetTimestamp())
+        parameter.Add("oauth_nonce", GetNonce())
+        parameter.Add("oauth_version", "1.0")
+        If Not String.IsNullOrEmpty(token) Then parameter.Add("oauth_token", token)
+        If query IsNot Nothing Then
+            For Each item As KeyValuePair(Of String, String) In query
+                parameter.Add(item.Key, item.Value)
+            Next
+        End If
+        parameter.Add("oauth_signature", CreateSignature(tokenSecret, webRequest.Method, webRequest.RequestUri, parameter))
+        Dim sb As New StringBuilder("OAuth ")
+        For Each item As KeyValuePair(Of String, String) In parameter
+            If item.Key.StartsWith("oauth_") Then
+                sb.AppendFormat("{0}=""{1}"",", item.Key, UrlEncode(item.Value))
+            End If
+        Next
+        webRequest.Headers.Add(HttpRequestHeader.Authorization, sb.ToString)
+    End Sub
+
+    Private Shared Function CreateSignature(ByVal tokenSecret As String, _
+                                            ByVal method As String, _
+                                            ByVal uri As Uri, _
+                                            ByVal parameter As SortedList(Of String, String) _
+                                        ) As String
+        Dim paramString As String = CreateQueryString(parameter)
+        Dim url As String = String.Format("{0}://{1}{2}", uri.Scheme, uri.Host, uri.AbsolutePath)
+        Dim signatureBase As String = String.Format("{0}&{1}&{2}", method, UrlEncode(url), UrlEncode(paramString))
+        Dim key As String = UrlEncode(ConsumerSecret) + "&"
+        If Not String.IsNullOrEmpty(tokenSecret) Then key += UrlEncode(tokenSecret)
+        Dim hmac As New Cryptography.HMACSHA1(Encoding.ASCII.GetBytes(key))
+        Dim hash As Byte() = hmac.ComputeHash(Encoding.ASCII.GetBytes(signatureBase))
+        Return Convert.ToBase64String(hash)
+    End Function
+
+    Private Shared Function GetTimestamp() As String
+        Return Convert.ToInt64((DateTime.UtcNow - UnixEpoch).TotalSeconds).ToString()
+    End Function
+
+    Private Shared Function GetNonce() As String
+        Return NonceRandom.Next(123400, 9999999).ToString()
+    End Function
+#End Region
+
+    Protected Shared Sub Initialize(ByVal token As String, ByVal tokenSecret As String)
+        HttpConnectionOAuth.Token = token
+        HttpConnectionOAuth.TokenSecret = tokenSecret
+    End Sub
+End Class
diff --git a/Tween/DetailsListView.vb b/Tween/DetailsListView.vb
new file mode 100644 (file)
index 0000000..ebc2d1c
--- /dev/null
@@ -0,0 +1,205 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System
+Imports System.Drawing
+Imports System.Runtime.InteropServices
+Imports System.Windows.Forms
+Imports System.Diagnostics
+
+Namespace TweenCustomControl
+
+    Public NotInheritable Class DetailsListView
+        Inherits ListView
+
+        Private changeBounds As Rectangle
+        Private multiSelected As Boolean
+        Private _handlers As New System.ComponentModel.EventHandlerList()
+
+        Custom Event Scrolled As System.EventHandler
+            AddHandler(ByVal value As System.EventHandler)
+                Me._handlers.AddHandler("Scrolled", value)
+            End AddHandler
+
+            RemoveHandler(ByVal value As System.EventHandler)
+                Me._handlers.RemoveHandler("Scrolled", value)
+            End RemoveHandler
+
+            RaiseEvent(ByVal sender As Object, ByVal e As System.EventArgs)
+                Dim value As System.Delegate = Me._handlers("Scrolled")
+                Dim handler As System.EventHandler = DirectCast(value, System.EventHandler)
+                handler.Invoke(Me, e)
+            End RaiseEvent
+        End Event
+
+        Public Sub New()
+            View = Windows.Forms.View.Details
+            FullRowSelect = True
+            HideSelection = False
+            DoubleBuffered = True
+        End Sub
+
+        <System.ComponentModel.DefaultValue(0), _
+         System.ComponentModel.RefreshProperties(System.ComponentModel.RefreshProperties.Repaint)> _
+        Public Shadows Property VirtualListSize() As Integer
+            Get
+                Return MyBase.VirtualListSize
+            End Get
+            Set(ByVal value As Integer)
+                If value = MyBase.VirtualListSize Then Exit Property
+                If MyBase.VirtualListSize > 0 And value > 0 Then
+                    Dim topIndex As Integer = 0
+                    If MyBase.VirtualListSize < value Then
+                        If Me.TopItem Is Nothing Then
+                            topIndex = 0
+                        Else
+                            topIndex = Me.TopItem.Index
+                        End If
+                        topIndex = Math.Min(topIndex, Math.Abs(value - 1))
+                        Me.TopItem = Me.Items(topIndex)
+                    Else
+                        Me.TopItem = Me.Items(0)
+                    End If
+                End If
+                MyBase.VirtualListSize = value
+            End Set
+        End Property
+
+        Public Sub ChangeItemBackColor(ByVal index As Integer, ByVal backColor As Color)
+            ChangeSubItemBackColor(index, 0, backColor)
+        End Sub
+
+        Public Sub ChangeItemForeColor(ByVal index As Integer, ByVal foreColor As Color)
+            ChangeSubItemForeColor(index, 0, foreColor)
+        End Sub
+
+        Public Sub ChangeItemFont(ByVal index As Integer, ByVal fnt As Font)
+            ChangeSubItemFont(index, 0, fnt)
+        End Sub
+
+        Public Sub ChangeItemFontAndColor(ByVal index As Integer, ByVal foreColor As Color, ByVal fnt As Font)
+            ChangeSubItemStyles(index, 0, BackColor, foreColor, fnt)
+        End Sub
+
+        Public Sub ChangeItemStyles(ByVal index As Integer, ByVal backColor As Color, ByVal foreColor As Color, ByVal fnt As Font)
+            ChangeSubItemStyles(index, 0, backColor, foreColor, fnt)
+        End Sub
+
+        Public Sub ChangeSubItemBackColor(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal backColor As Color)
+            Me.Items(itemIndex).SubItems(subitemIndex).BackColor = backColor
+            SetUpdateBounds(itemIndex, subitemIndex)
+            Me.Update()
+            Me.changeBounds = Rectangle.Empty
+        End Sub
+
+        Public Sub ChangeSubItemForeColor(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal foreColor As Color)
+            Me.Items(itemIndex).SubItems(subitemIndex).ForeColor = foreColor
+            SetUpdateBounds(itemIndex, subitemIndex)
+            Me.Update()
+            Me.changeBounds = Rectangle.Empty
+        End Sub
+
+        Public Sub ChangeSubItemFont(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal fnt As Font)
+            Me.Items(itemIndex).SubItems(subitemIndex).Font = fnt
+            SetUpdateBounds(itemIndex, subitemIndex)
+            Me.Update()
+            Me.changeBounds = Rectangle.Empty
+        End Sub
+
+        Public Sub ChangeSubItemFontAndColor(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal foreColor As Color, ByVal fnt As Font)
+            Me.Items(itemIndex).SubItems(subitemIndex).ForeColor = foreColor
+            Me.Items(itemIndex).SubItems(subitemIndex).Font = fnt
+            SetUpdateBounds(itemIndex, subitemIndex)
+            Me.Update()
+            Me.changeBounds = Rectangle.Empty
+        End Sub
+
+        Public Sub ChangeSubItemStyles(ByVal itemIndex As Integer, ByVal subitemIndex As Integer, ByVal backColor As Color, ByVal foreColor As Color, ByVal fnt As Font)
+            'SetUpdateBounds(itemIndex, subitemIndex)
+            Me.Items(itemIndex).SubItems(subitemIndex).BackColor = backColor
+            'SetUpdateBounds(itemIndex, subitemIndex)
+            Me.Items(itemIndex).SubItems(subitemIndex).ForeColor = foreColor
+            Me.Items(itemIndex).SubItems(subitemIndex).Font = fnt
+            SetUpdateBounds(itemIndex, subitemIndex)
+            Me.Update()
+            Me.changeBounds = Rectangle.Empty
+        End Sub
+
+        Private Sub SetUpdateBounds(ByVal itemIndex As Integer, ByVal subItemIndex As Integer)
+            If itemIndex > Me.Items.Count Then
+                Throw New ArgumentOutOfRangeException("itemIndex")
+            End If
+            If subItemIndex > Me.Columns.Count Then
+                Throw New ArgumentOutOfRangeException("subItemIndex")
+            End If
+            Dim item As ListViewItem = Me.Items(itemIndex)
+            If item.UseItemStyleForSubItems Then
+                Me.changeBounds = item.Bounds
+            Else
+                Me.changeBounds = Me.GetSubItemBounds(itemIndex, subItemIndex)
+            End If
+        End Sub
+
+        Private Function GetSubItemBounds(ByVal itemIndex As Integer, ByVal subitemIndex As Integer) As Rectangle
+            Dim item As ListViewItem = Me.Items(itemIndex)
+            If subitemIndex = 0 And Me.Columns.Count > 0 Then
+                Dim col0 As Rectangle = item.Bounds
+                Return New Rectangle(col0.Left, col0.Top, item.SubItems(1).Bounds.X + 1, col0.Height)
+            Else
+                Return item.SubItems(subitemIndex).Bounds
+            End If
+        End Function
+
+        <DebuggerStepThrough()> _
+        Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
+            Const WM_ERASEBKGND As Integer = &H14
+            Const WM_PAINT As Integer = &HF
+            Const WM_VSCROLL As Integer = &H115
+            Const WM_MOUSEWHEEL As Integer = &H20A
+            'Const WM_SETFOCUS As Integer = &H7
+
+            If m.Msg = WM_ERASEBKGND Then
+                If Me.changeBounds <> Rectangle.Empty Then
+                    m.Msg = 0
+                End If
+            End If
+            If m.Msg = WM_PAINT Then
+                If Me.changeBounds <> Rectangle.Empty Then
+                    'Dim bounds As Rectangle = Me.changeBounds
+                    'Me.changeBounds = Rectangle.Empty
+                    Win32Api.ValidateRect(Me.Handle, IntPtr.Zero)
+                    Me.Invalidate(Me.changeBounds)
+                    Me.changeBounds = Rectangle.Empty
+                End If
+            End If
+            If m.Msg = WM_VSCROLL OrElse m.Msg = WM_MOUSEWHEEL Then
+                RaiseEvent Scrolled(Me, New System.EventArgs)
+            End If
+            'If m.Msg = WM_SETFOCUS Then
+            '    Return
+            'End If
+            MyBase.WndProc(m)
+        End Sub
+
+    End Class
+End Namespace
diff --git a/Tween/DialogAsShieldIcon.Designer.vb b/Tween/DialogAsShieldIcon.Designer.vb
new file mode 100644 (file)
index 0000000..7fc680a
--- /dev/null
@@ -0,0 +1,90 @@
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class DialogAsShieldIcon
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(DialogAsShieldIcon))
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
+        Me.OK_Button = New System.Windows.Forms.Button
+        Me.Cancel_Button = New System.Windows.Forms.Button
+        Me.PictureBox1 = New System.Windows.Forms.PictureBox
+        Me.Label1 = New System.Windows.Forms.Label
+        Me.TableLayoutPanel1.SuspendLayout()
+        CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
+        Me.SuspendLayout()
+        '
+        'TableLayoutPanel1
+        '
+        resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1")
+        Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        '
+        'OK_Button
+        '
+        resources.ApplyResources(Me.OK_Button, "OK_Button")
+        Me.OK_Button.Name = "OK_Button"
+        '
+        'Cancel_Button
+        '
+        resources.ApplyResources(Me.Cancel_Button, "Cancel_Button")
+        Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Cancel_Button.Name = "Cancel_Button"
+        '
+        'PictureBox1
+        '
+        resources.ApplyResources(Me.PictureBox1, "PictureBox1")
+        Me.PictureBox1.Name = "PictureBox1"
+        Me.PictureBox1.TabStop = False
+        '
+        'Label1
+        '
+        resources.ApplyResources(Me.Label1, "Label1")
+        Me.Label1.Name = "Label1"
+        '
+        'DialogAsShieldIcon
+        '
+        Me.AcceptButton = Me.OK_Button
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.Cancel_Button
+        Me.Controls.Add(Me.Label1)
+        Me.Controls.Add(Me.PictureBox1)
+        Me.Controls.Add(Me.TableLayoutPanel1)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.MaximizeBox = False
+        Me.MinimizeBox = False
+        Me.Name = "DialogAsShieldIcon"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.TableLayoutPanel1.ResumeLayout(False)
+        CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
+        Me.ResumeLayout(False)
+
+    End Sub
+    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents OK_Button As System.Windows.Forms.Button
+    Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+    Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
+    Friend WithEvents Label1 As System.Windows.Forms.Label
+
+End Class
diff --git a/Tween/DialogAsShieldIcon.resx b/Tween/DialogAsShieldIcon.resx
new file mode 100644 (file)
index 0000000..ab94207
--- /dev/null
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Bottom, Right</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="OK_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="OK_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>5, 9</value>
+  </data>
+  <data name="OK_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>80, 26</value>
+  </data>
+  <data name="OK_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="OK_Button.Text" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="OK_Button.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
+    <value>ImageBeforeText</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Name" xml:space="preserve">
+    <value>OK_Button</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Cancel_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <data name="Cancel_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>95, 9</value>
+  </data>
+  <data name="Cancel_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>80, 26</value>
+  </data>
+  <data name="Cancel_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>キャンセル</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Name" xml:space="preserve">
+    <value>Cancel_Button</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>220, 103</value>
+  </data>
+  <data name="TableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>181, 44</value>
+  </data>
+  <data name="TableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Name" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="TableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="PictureBox1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>13, 13</value>
+  </data>
+  <data name="PictureBox1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>48, 48</value>
+  </data>
+  <data name="PictureBox1.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;PictureBox1.Name" xml:space="preserve">
+    <value>PictureBox1</value>
+  </data>
+  <data name="&gt;&gt;PictureBox1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;PictureBox1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;PictureBox1.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="Label1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>75, 13</value>
+  </data>
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>326, 76</value>
+  </data>
+  <data name="Label1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>Label1</value>
+  </data>
+  <data name="Label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;Label1.Name" xml:space="preserve">
+    <value>Label1</value>
+  </data>
+  <data name="&gt;&gt;Label1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;Label1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>413, 158</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterScreen</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>DialogAsShieldIcon</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>DialogAsShieldIcon</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/DialogAsShieldIcon.vb b/Tween/DialogAsShieldIcon.vb
new file mode 100644 (file)
index 0000000..9bb2cb4
--- /dev/null
@@ -0,0 +1,78 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Windows.Forms
+
+Public Class DialogAsShieldIcon
+    Private shield As New ShieldIcon
+
+    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.OK
+        Me.Hide()
+    End Sub
+
+    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Hide()
+    End Sub
+
+    Private Sub DialogAsShieldIcon_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+        OK_Button.Image = shield.Icon
+        PictureBox1.Image = System.Drawing.SystemIcons.Question.ToBitmap()
+    End Sub
+
+    Public Shadows Function Show(ByVal text As String, Optional ByVal caption As String = "DialogAsShieldIcon", _
+                                 Optional ByVal Buttons As Windows.Forms.MessageBoxButtons = MessageBoxButtons.OKCancel, _
+                                 Optional ByVal icon As Windows.Forms.MessageBoxIcon = MessageBoxIcon.Question _
+                                ) As System.Windows.Forms.DialogResult
+        Label1.Text = text
+        Me.Text = caption
+        Select Case Buttons
+            Case MessageBoxButtons.OKCancel
+                OK_Button.Text = "OK"
+                Cancel_Button.Text = "Cancel"
+            Case MessageBoxButtons.YesNo
+                OK_Button.Text = "Yes"
+                Cancel_Button.Text = "No"
+            Case Else
+                OK_Button.Text = "OK"
+                Cancel_Button.Text = "Cancel"
+        End Select
+        ' とりあえずアイコンは処理しない(互換性のためパラメータだけ指定できる)
+
+        MyBase.Show()
+        Do While Me.DialogResult = Windows.Forms.DialogResult.None
+            Application.DoEvents()
+        Loop
+        If Buttons = MessageBoxButtons.YesNo Then
+            Select Case MyBase.DialogResult
+                Case Windows.Forms.DialogResult.OK
+                    Return Windows.Forms.DialogResult.Yes
+                Case Windows.Forms.DialogResult.Cancel
+                    Return Windows.Forms.DialogResult.No
+            End Select
+        Else
+            Return MyBase.DialogResult
+        End If
+    End Function
+End Class
diff --git a/Tween/FilterDialog.Designer.vb b/Tween/FilterDialog.Designer.vb
new file mode 100644 (file)
index 0000000..a6ef3bb
--- /dev/null
@@ -0,0 +1,512 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class FilterDialog
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(FilterDialog))
+        Me.ButtonClose = New System.Windows.Forms.Button
+        Me.ListFilters = New System.Windows.Forms.ListBox
+        Me.EditFilterGroup = New System.Windows.Forms.GroupBox
+        Me.Label11 = New System.Windows.Forms.Label
+        Me.GroupExclude = New System.Windows.Forms.GroupBox
+        Me.CheckExCaseSensitive = New System.Windows.Forms.CheckBox
+        Me.RadioExAnd = New System.Windows.Forms.RadioButton
+        Me.Label1 = New System.Windows.Forms.Label
+        Me.CheckExURL = New System.Windows.Forms.CheckBox
+        Me.RadioExPLUS = New System.Windows.Forms.RadioButton
+        Me.CheckExRegex = New System.Windows.Forms.CheckBox
+        Me.Label2 = New System.Windows.Forms.Label
+        Me.Label3 = New System.Windows.Forms.Label
+        Me.Label4 = New System.Windows.Forms.Label
+        Me.ExUID = New System.Windows.Forms.TextBox
+        Me.ExMSG1 = New System.Windows.Forms.TextBox
+        Me.ExMSG2 = New System.Windows.Forms.TextBox
+        Me.GroupMatch = New System.Windows.Forms.GroupBox
+        Me.CheckCaseSensitive = New System.Windows.Forms.CheckBox
+        Me.RadioAND = New System.Windows.Forms.RadioButton
+        Me.Label8 = New System.Windows.Forms.Label
+        Me.CheckURL = New System.Windows.Forms.CheckBox
+        Me.RadioPLUS = New System.Windows.Forms.RadioButton
+        Me.CheckRegex = New System.Windows.Forms.CheckBox
+        Me.Label9 = New System.Windows.Forms.Label
+        Me.Label7 = New System.Windows.Forms.Label
+        Me.Label6 = New System.Windows.Forms.Label
+        Me.UID = New System.Windows.Forms.TextBox
+        Me.MSG1 = New System.Windows.Forms.TextBox
+        Me.MSG2 = New System.Windows.Forms.TextBox
+        Me.GroupBox1 = New System.Windows.Forms.GroupBox
+        Me.CheckMark = New System.Windows.Forms.CheckBox
+        Me.OptCopy = New System.Windows.Forms.RadioButton
+        Me.OptMove = New System.Windows.Forms.RadioButton
+        Me.ButtonCancel = New System.Windows.Forms.Button
+        Me.ButtonOK = New System.Windows.Forms.Button
+        Me.ButtonNew = New System.Windows.Forms.Button
+        Me.ButtonDelete = New System.Windows.Forms.Button
+        Me.ButtonEdit = New System.Windows.Forms.Button
+        Me.GroupBox2 = New System.Windows.Forms.GroupBox
+        Me.ListTabs = New System.Windows.Forms.ListBox
+        Me.ButtonAddTab = New System.Windows.Forms.Button
+        Me.ButtonDeleteTab = New System.Windows.Forms.Button
+        Me.ButtonRenameTab = New System.Windows.Forms.Button
+        Me.CheckManageRead = New System.Windows.Forms.CheckBox
+        Me.CheckNotifyNew = New System.Windows.Forms.CheckBox
+        Me.ComboSound = New System.Windows.Forms.ComboBox
+        Me.Label10 = New System.Windows.Forms.Label
+        Me.ButtonUp = New System.Windows.Forms.Button
+        Me.ButtonDown = New System.Windows.Forms.Button
+        Me.GroupTab = New System.Windows.Forms.GroupBox
+        Me.EditFilterGroup.SuspendLayout()
+        Me.GroupExclude.SuspendLayout()
+        Me.GroupMatch.SuspendLayout()
+        Me.GroupBox1.SuspendLayout()
+        Me.GroupBox2.SuspendLayout()
+        Me.GroupTab.SuspendLayout()
+        Me.SuspendLayout()
+        '
+        'ButtonClose
+        '
+        Me.ButtonClose.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        resources.ApplyResources(Me.ButtonClose, "ButtonClose")
+        Me.ButtonClose.Name = "ButtonClose"
+        Me.ButtonClose.UseVisualStyleBackColor = True
+        '
+        'ListFilters
+        '
+        Me.ListFilters.FormattingEnabled = True
+        resources.ApplyResources(Me.ListFilters, "ListFilters")
+        Me.ListFilters.Name = "ListFilters"
+        '
+        'EditFilterGroup
+        '
+        Me.EditFilterGroup.Controls.Add(Me.Label11)
+        Me.EditFilterGroup.Controls.Add(Me.GroupExclude)
+        Me.EditFilterGroup.Controls.Add(Me.GroupMatch)
+        Me.EditFilterGroup.Controls.Add(Me.GroupBox1)
+        Me.EditFilterGroup.Controls.Add(Me.ButtonCancel)
+        Me.EditFilterGroup.Controls.Add(Me.ButtonOK)
+        resources.ApplyResources(Me.EditFilterGroup, "EditFilterGroup")
+        Me.EditFilterGroup.Name = "EditFilterGroup"
+        Me.EditFilterGroup.TabStop = False
+        '
+        'Label11
+        '
+        resources.ApplyResources(Me.Label11, "Label11")
+        Me.Label11.Name = "Label11"
+        '
+        'GroupExclude
+        '
+        Me.GroupExclude.Controls.Add(Me.CheckExCaseSensitive)
+        Me.GroupExclude.Controls.Add(Me.RadioExAnd)
+        Me.GroupExclude.Controls.Add(Me.Label1)
+        Me.GroupExclude.Controls.Add(Me.CheckExURL)
+        Me.GroupExclude.Controls.Add(Me.RadioExPLUS)
+        Me.GroupExclude.Controls.Add(Me.CheckExRegex)
+        Me.GroupExclude.Controls.Add(Me.Label2)
+        Me.GroupExclude.Controls.Add(Me.Label3)
+        Me.GroupExclude.Controls.Add(Me.Label4)
+        Me.GroupExclude.Controls.Add(Me.ExUID)
+        Me.GroupExclude.Controls.Add(Me.ExMSG1)
+        Me.GroupExclude.Controls.Add(Me.ExMSG2)
+        resources.ApplyResources(Me.GroupExclude, "GroupExclude")
+        Me.GroupExclude.Name = "GroupExclude"
+        Me.GroupExclude.TabStop = False
+        '
+        'CheckExCaseSensitive
+        '
+        resources.ApplyResources(Me.CheckExCaseSensitive, "CheckExCaseSensitive")
+        Me.CheckExCaseSensitive.Name = "CheckExCaseSensitive"
+        Me.CheckExCaseSensitive.UseVisualStyleBackColor = True
+        '
+        'RadioExAnd
+        '
+        resources.ApplyResources(Me.RadioExAnd, "RadioExAnd")
+        Me.RadioExAnd.Checked = True
+        Me.RadioExAnd.Name = "RadioExAnd"
+        Me.RadioExAnd.TabStop = True
+        Me.RadioExAnd.UseVisualStyleBackColor = True
+        '
+        'Label1
+        '
+        resources.ApplyResources(Me.Label1, "Label1")
+        Me.Label1.Name = "Label1"
+        '
+        'CheckExURL
+        '
+        resources.ApplyResources(Me.CheckExURL, "CheckExURL")
+        Me.CheckExURL.Name = "CheckExURL"
+        Me.CheckExURL.UseVisualStyleBackColor = True
+        '
+        'RadioExPLUS
+        '
+        resources.ApplyResources(Me.RadioExPLUS, "RadioExPLUS")
+        Me.RadioExPLUS.Name = "RadioExPLUS"
+        Me.RadioExPLUS.UseVisualStyleBackColor = True
+        '
+        'CheckExRegex
+        '
+        resources.ApplyResources(Me.CheckExRegex, "CheckExRegex")
+        Me.CheckExRegex.Name = "CheckExRegex"
+        Me.CheckExRegex.UseVisualStyleBackColor = True
+        '
+        'Label2
+        '
+        resources.ApplyResources(Me.Label2, "Label2")
+        Me.Label2.Name = "Label2"
+        '
+        'Label3
+        '
+        resources.ApplyResources(Me.Label3, "Label3")
+        Me.Label3.Name = "Label3"
+        '
+        'Label4
+        '
+        resources.ApplyResources(Me.Label4, "Label4")
+        Me.Label4.Name = "Label4"
+        '
+        'ExUID
+        '
+        resources.ApplyResources(Me.ExUID, "ExUID")
+        Me.ExUID.Name = "ExUID"
+        '
+        'ExMSG1
+        '
+        resources.ApplyResources(Me.ExMSG1, "ExMSG1")
+        Me.ExMSG1.Name = "ExMSG1"
+        '
+        'ExMSG2
+        '
+        resources.ApplyResources(Me.ExMSG2, "ExMSG2")
+        Me.ExMSG2.Name = "ExMSG2"
+        '
+        'GroupMatch
+        '
+        Me.GroupMatch.Controls.Add(Me.CheckCaseSensitive)
+        Me.GroupMatch.Controls.Add(Me.RadioAND)
+        Me.GroupMatch.Controls.Add(Me.Label8)
+        Me.GroupMatch.Controls.Add(Me.CheckURL)
+        Me.GroupMatch.Controls.Add(Me.RadioPLUS)
+        Me.GroupMatch.Controls.Add(Me.CheckRegex)
+        Me.GroupMatch.Controls.Add(Me.Label9)
+        Me.GroupMatch.Controls.Add(Me.Label7)
+        Me.GroupMatch.Controls.Add(Me.Label6)
+        Me.GroupMatch.Controls.Add(Me.UID)
+        Me.GroupMatch.Controls.Add(Me.MSG1)
+        Me.GroupMatch.Controls.Add(Me.MSG2)
+        resources.ApplyResources(Me.GroupMatch, "GroupMatch")
+        Me.GroupMatch.Name = "GroupMatch"
+        Me.GroupMatch.TabStop = False
+        '
+        'CheckCaseSensitive
+        '
+        resources.ApplyResources(Me.CheckCaseSensitive, "CheckCaseSensitive")
+        Me.CheckCaseSensitive.Name = "CheckCaseSensitive"
+        Me.CheckCaseSensitive.UseVisualStyleBackColor = True
+        '
+        'RadioAND
+        '
+        resources.ApplyResources(Me.RadioAND, "RadioAND")
+        Me.RadioAND.Checked = True
+        Me.RadioAND.Name = "RadioAND"
+        Me.RadioAND.TabStop = True
+        Me.RadioAND.UseVisualStyleBackColor = True
+        '
+        'Label8
+        '
+        resources.ApplyResources(Me.Label8, "Label8")
+        Me.Label8.Name = "Label8"
+        '
+        'CheckURL
+        '
+        resources.ApplyResources(Me.CheckURL, "CheckURL")
+        Me.CheckURL.Name = "CheckURL"
+        Me.CheckURL.UseVisualStyleBackColor = True
+        '
+        'RadioPLUS
+        '
+        resources.ApplyResources(Me.RadioPLUS, "RadioPLUS")
+        Me.RadioPLUS.Name = "RadioPLUS"
+        Me.RadioPLUS.UseVisualStyleBackColor = True
+        '
+        'CheckRegex
+        '
+        resources.ApplyResources(Me.CheckRegex, "CheckRegex")
+        Me.CheckRegex.Name = "CheckRegex"
+        Me.CheckRegex.UseVisualStyleBackColor = True
+        '
+        'Label9
+        '
+        resources.ApplyResources(Me.Label9, "Label9")
+        Me.Label9.Name = "Label9"
+        '
+        'Label7
+        '
+        resources.ApplyResources(Me.Label7, "Label7")
+        Me.Label7.Name = "Label7"
+        '
+        'Label6
+        '
+        resources.ApplyResources(Me.Label6, "Label6")
+        Me.Label6.Name = "Label6"
+        '
+        'UID
+        '
+        resources.ApplyResources(Me.UID, "UID")
+        Me.UID.Name = "UID"
+        '
+        'MSG1
+        '
+        resources.ApplyResources(Me.MSG1, "MSG1")
+        Me.MSG1.Name = "MSG1"
+        '
+        'MSG2
+        '
+        resources.ApplyResources(Me.MSG2, "MSG2")
+        Me.MSG2.Name = "MSG2"
+        '
+        'GroupBox1
+        '
+        Me.GroupBox1.Controls.Add(Me.CheckMark)
+        Me.GroupBox1.Controls.Add(Me.OptCopy)
+        Me.GroupBox1.Controls.Add(Me.OptMove)
+        resources.ApplyResources(Me.GroupBox1, "GroupBox1")
+        Me.GroupBox1.Name = "GroupBox1"
+        Me.GroupBox1.TabStop = False
+        '
+        'CheckMark
+        '
+        resources.ApplyResources(Me.CheckMark, "CheckMark")
+        Me.CheckMark.Name = "CheckMark"
+        Me.CheckMark.UseVisualStyleBackColor = True
+        '
+        'OptCopy
+        '
+        resources.ApplyResources(Me.OptCopy, "OptCopy")
+        Me.OptCopy.Name = "OptCopy"
+        Me.OptCopy.TabStop = True
+        Me.OptCopy.UseVisualStyleBackColor = True
+        '
+        'OptMove
+        '
+        resources.ApplyResources(Me.OptMove, "OptMove")
+        Me.OptMove.Name = "OptMove"
+        Me.OptMove.TabStop = True
+        Me.OptMove.UseVisualStyleBackColor = True
+        '
+        'ButtonCancel
+        '
+        resources.ApplyResources(Me.ButtonCancel, "ButtonCancel")
+        Me.ButtonCancel.Name = "ButtonCancel"
+        Me.ButtonCancel.UseVisualStyleBackColor = True
+        '
+        'ButtonOK
+        '
+        resources.ApplyResources(Me.ButtonOK, "ButtonOK")
+        Me.ButtonOK.Name = "ButtonOK"
+        Me.ButtonOK.UseVisualStyleBackColor = True
+        '
+        'ButtonNew
+        '
+        resources.ApplyResources(Me.ButtonNew, "ButtonNew")
+        Me.ButtonNew.Name = "ButtonNew"
+        Me.ButtonNew.UseVisualStyleBackColor = True
+        '
+        'ButtonDelete
+        '
+        resources.ApplyResources(Me.ButtonDelete, "ButtonDelete")
+        Me.ButtonDelete.Name = "ButtonDelete"
+        Me.ButtonDelete.UseVisualStyleBackColor = True
+        '
+        'ButtonEdit
+        '
+        resources.ApplyResources(Me.ButtonEdit, "ButtonEdit")
+        Me.ButtonEdit.Name = "ButtonEdit"
+        Me.ButtonEdit.UseVisualStyleBackColor = True
+        '
+        'GroupBox2
+        '
+        Me.GroupBox2.Controls.Add(Me.ListFilters)
+        Me.GroupBox2.Controls.Add(Me.ButtonEdit)
+        Me.GroupBox2.Controls.Add(Me.ButtonDelete)
+        Me.GroupBox2.Controls.Add(Me.ButtonNew)
+        Me.GroupBox2.Controls.Add(Me.EditFilterGroup)
+        resources.ApplyResources(Me.GroupBox2, "GroupBox2")
+        Me.GroupBox2.Name = "GroupBox2"
+        Me.GroupBox2.TabStop = False
+        '
+        'ListTabs
+        '
+        Me.ListTabs.FormattingEnabled = True
+        resources.ApplyResources(Me.ListTabs, "ListTabs")
+        Me.ListTabs.Name = "ListTabs"
+        '
+        'ButtonAddTab
+        '
+        resources.ApplyResources(Me.ButtonAddTab, "ButtonAddTab")
+        Me.ButtonAddTab.Name = "ButtonAddTab"
+        Me.ButtonAddTab.UseVisualStyleBackColor = True
+        '
+        'ButtonDeleteTab
+        '
+        resources.ApplyResources(Me.ButtonDeleteTab, "ButtonDeleteTab")
+        Me.ButtonDeleteTab.Name = "ButtonDeleteTab"
+        Me.ButtonDeleteTab.UseVisualStyleBackColor = True
+        '
+        'ButtonRenameTab
+        '
+        resources.ApplyResources(Me.ButtonRenameTab, "ButtonRenameTab")
+        Me.ButtonRenameTab.Name = "ButtonRenameTab"
+        Me.ButtonRenameTab.UseVisualStyleBackColor = True
+        '
+        'CheckManageRead
+        '
+        resources.ApplyResources(Me.CheckManageRead, "CheckManageRead")
+        Me.CheckManageRead.Name = "CheckManageRead"
+        Me.CheckManageRead.UseVisualStyleBackColor = True
+        '
+        'CheckNotifyNew
+        '
+        resources.ApplyResources(Me.CheckNotifyNew, "CheckNotifyNew")
+        Me.CheckNotifyNew.Name = "CheckNotifyNew"
+        Me.CheckNotifyNew.UseVisualStyleBackColor = True
+        '
+        'ComboSound
+        '
+        Me.ComboSound.FormattingEnabled = True
+        resources.ApplyResources(Me.ComboSound, "ComboSound")
+        Me.ComboSound.Name = "ComboSound"
+        '
+        'Label10
+        '
+        resources.ApplyResources(Me.Label10, "Label10")
+        Me.Label10.Name = "Label10"
+        '
+        'ButtonUp
+        '
+        resources.ApplyResources(Me.ButtonUp, "ButtonUp")
+        Me.ButtonUp.Name = "ButtonUp"
+        Me.ButtonUp.UseVisualStyleBackColor = True
+        '
+        'ButtonDown
+        '
+        resources.ApplyResources(Me.ButtonDown, "ButtonDown")
+        Me.ButtonDown.Name = "ButtonDown"
+        Me.ButtonDown.UseVisualStyleBackColor = True
+        '
+        'GroupTab
+        '
+        Me.GroupTab.Controls.Add(Me.ListTabs)
+        Me.GroupTab.Controls.Add(Me.ButtonDown)
+        Me.GroupTab.Controls.Add(Me.ButtonAddTab)
+        Me.GroupTab.Controls.Add(Me.ButtonUp)
+        Me.GroupTab.Controls.Add(Me.ButtonDeleteTab)
+        Me.GroupTab.Controls.Add(Me.Label10)
+        Me.GroupTab.Controls.Add(Me.ButtonRenameTab)
+        Me.GroupTab.Controls.Add(Me.ComboSound)
+        Me.GroupTab.Controls.Add(Me.CheckManageRead)
+        Me.GroupTab.Controls.Add(Me.CheckNotifyNew)
+        resources.ApplyResources(Me.GroupTab, "GroupTab")
+        Me.GroupTab.Name = "GroupTab"
+        Me.GroupTab.TabStop = False
+        '
+        'FilterDialog
+        '
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.ButtonClose
+        Me.ControlBox = False
+        Me.Controls.Add(Me.GroupTab)
+        Me.Controls.Add(Me.GroupBox2)
+        Me.Controls.Add(Me.ButtonClose)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.KeyPreview = True
+        Me.MaximizeBox = False
+        Me.MinimizeBox = False
+        Me.Name = "FilterDialog"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.EditFilterGroup.ResumeLayout(False)
+        Me.GroupExclude.ResumeLayout(False)
+        Me.GroupExclude.PerformLayout()
+        Me.GroupMatch.ResumeLayout(False)
+        Me.GroupMatch.PerformLayout()
+        Me.GroupBox1.ResumeLayout(False)
+        Me.GroupBox1.PerformLayout()
+        Me.GroupBox2.ResumeLayout(False)
+        Me.GroupTab.ResumeLayout(False)
+        Me.GroupTab.PerformLayout()
+        Me.ResumeLayout(False)
+
+    End Sub
+    Friend WithEvents ButtonClose As System.Windows.Forms.Button
+    Friend WithEvents ListFilters As System.Windows.Forms.ListBox
+    Friend WithEvents EditFilterGroup As System.Windows.Forms.GroupBox
+    Friend WithEvents RadioPLUS As System.Windows.Forms.RadioButton
+    Friend WithEvents RadioAND As System.Windows.Forms.RadioButton
+    Friend WithEvents MSG2 As System.Windows.Forms.TextBox
+    Friend WithEvents Label9 As System.Windows.Forms.Label
+    Friend WithEvents MSG1 As System.Windows.Forms.TextBox
+    Friend WithEvents Label8 As System.Windows.Forms.Label
+    Friend WithEvents Label7 As System.Windows.Forms.Label
+    Friend WithEvents ButtonCancel As System.Windows.Forms.Button
+    Friend WithEvents ButtonOK As System.Windows.Forms.Button
+    Friend WithEvents UID As System.Windows.Forms.TextBox
+    Friend WithEvents Label6 As System.Windows.Forms.Label
+    Friend WithEvents ButtonNew As System.Windows.Forms.Button
+    Friend WithEvents ButtonDelete As System.Windows.Forms.Button
+    Friend WithEvents ButtonEdit As System.Windows.Forms.Button
+    Friend WithEvents CheckURL As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckRegex As System.Windows.Forms.CheckBox
+    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+    Friend WithEvents OptMove As System.Windows.Forms.RadioButton
+    Friend WithEvents OptCopy As System.Windows.Forms.RadioButton
+    Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+    Friend WithEvents ListTabs As System.Windows.Forms.ListBox
+    Friend WithEvents GroupMatch As System.Windows.Forms.GroupBox
+    Friend WithEvents GroupExclude As System.Windows.Forms.GroupBox
+    Friend WithEvents RadioExAnd As System.Windows.Forms.RadioButton
+    Friend WithEvents Label1 As System.Windows.Forms.Label
+    Friend WithEvents CheckExURL As System.Windows.Forms.CheckBox
+    Friend WithEvents RadioExPLUS As System.Windows.Forms.RadioButton
+    Friend WithEvents CheckExRegex As System.Windows.Forms.CheckBox
+    Friend WithEvents Label2 As System.Windows.Forms.Label
+    Friend WithEvents Label3 As System.Windows.Forms.Label
+    Friend WithEvents Label4 As System.Windows.Forms.Label
+    Friend WithEvents ExUID As System.Windows.Forms.TextBox
+    Friend WithEvents ExMSG1 As System.Windows.Forms.TextBox
+    Friend WithEvents ExMSG2 As System.Windows.Forms.TextBox
+    Friend WithEvents CheckMark As System.Windows.Forms.CheckBox
+    Friend WithEvents ButtonAddTab As System.Windows.Forms.Button
+    Friend WithEvents ButtonDeleteTab As System.Windows.Forms.Button
+    Friend WithEvents ButtonRenameTab As System.Windows.Forms.Button
+    Friend WithEvents CheckManageRead As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckNotifyNew As System.Windows.Forms.CheckBox
+    Friend WithEvents ComboSound As System.Windows.Forms.ComboBox
+    Friend WithEvents Label10 As System.Windows.Forms.Label
+    Friend WithEvents Label11 As System.Windows.Forms.Label
+    Friend WithEvents ButtonUp As System.Windows.Forms.Button
+    Friend WithEvents ButtonDown As System.Windows.Forms.Button
+    Friend WithEvents GroupTab As System.Windows.Forms.GroupBox
+    Friend WithEvents CheckExCaseSensitive As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckCaseSensitive As System.Windows.Forms.CheckBox
+
+End Class
diff --git a/Tween/FilterDialog.en.resx b/Tween/FilterDialog.en.resx
new file mode 100644 (file)
index 0000000..40dbbc1
--- /dev/null
@@ -0,0 +1,316 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="ButtonClose.Text" xml:space="preserve">
+    <value>&amp;Close</value>
+  </data>
+  <data name="Label11.Text" xml:space="preserve">
+    <value>If only the [ExcludingRule] is set, it becomes excluding set to the this tab. </value>
+  </data>
+  <data name="GroupExclude.Text" xml:space="preserve">
+    <value>ExcludingRule</value>
+  </data>
+  <data name="GroupMatch.Text" xml:space="preserve">
+    <value>MatchingRule</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="CheckMark.Size" type="System.Drawing.Size, System.Drawing">
+    <value>72, 16</value>
+  </data>
+  <data name="CheckMark.Text" xml:space="preserve">
+    <value>Mark this</value>
+  </data>
+  <data name="OptMark.Size" type="System.Drawing.Size, System.Drawing">
+    <value>101, 16</value>
+  </data>
+  <data name="OptMark.Text" xml:space="preserve">
+    <value>Copy the tweet</value>
+  </data>
+  <data name="OptMove.Size" type="System.Drawing.Size, System.Drawing">
+    <value>117, 16</value>
+  </data>
+  <data name="OptMove.Text" xml:space="preserve">
+    <value>Move from Recent</value>
+  </data>
+  <data name="GroupBox1.Text" xml:space="preserve">
+    <value>Additional Action (&amp;E):</value>
+  </data>
+  <data name="ButtonCancel.Text" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+  <data name="EditFilterGroup.Text" xml:space="preserve">
+    <value>Rule</value>
+  </data>
+  <data name="CheckExCaseSensitive.Location" type="System.Drawing.Point, System.Drawing">
+    <value>221, 89</value>
+  </data>
+  <data name="CheckExCaseSensitive.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 16</value>
+  </data>
+  <data name="CheckExCaseSensitive.Text" xml:space="preserve">
+    <value>CaseSens</value>
+  </data>
+  <data name="RadioExAnd.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="RadioExAnd.Text" xml:space="preserve">
+    <value>Complex</value>
+  </data>
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>66, 12</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>Tweet Body</value>
+  </data>
+  <data name="CheckExURL.Location" type="System.Drawing.Point, System.Drawing">
+    <value>124, 89</value>
+  </data>
+  <data name="CheckExURL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>91, 16</value>
+  </data>
+  <data name="CheckExURL.Text" xml:space="preserve">
+    <value>Search &amp;URLs</value>
+  </data>
+  <data name="RadioExPLUS.Size" type="System.Drawing.Size, System.Drawing">
+    <value>57, 16</value>
+  </data>
+  <data name="RadioExPLUS.Text" xml:space="preserve">
+    <value>Simple</value>
+  </data>
+  <data name="CheckExRegex.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 89</value>
+  </data>
+  <data name="CheckExRegex.Size" type="System.Drawing.Size, System.Drawing">
+    <value>110, 16</value>
+  </data>
+  <data name="CheckExRegex.Text" xml:space="preserve">
+    <value>&amp;Regular Express.</value>
+  </data>
+  <data name="Label2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>123, 12</value>
+  </data>
+  <data name="Label2.Text" xml:space="preserve">
+    <value>User ID or Tweet Body</value>
+  </data>
+  <data name="Label4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>44, 12</value>
+  </data>
+  <data name="Label4.Text" xml:space="preserve">
+    <value>User ID</value>
+  </data>
+  <data name="CheckCaseSensitive.Location" type="System.Drawing.Point, System.Drawing">
+    <value>221, 94</value>
+  </data>
+  <data name="CheckCaseSensitive.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 16</value>
+  </data>
+  <data name="CheckCaseSensitive.Text" xml:space="preserve">
+    <value>CaseSens</value>
+  </data>
+  <data name="RadioAND.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="RadioAND.Text" xml:space="preserve">
+    <value>Complex</value>
+  </data>
+  <data name="Label8.Size" type="System.Drawing.Size, System.Drawing">
+    <value>66, 12</value>
+  </data>
+  <data name="Label8.Text" xml:space="preserve">
+    <value>Tweet Body</value>
+  </data>
+  <data name="CheckURL.Location" type="System.Drawing.Point, System.Drawing">
+    <value>124, 94</value>
+  </data>
+  <data name="CheckURL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>91, 16</value>
+  </data>
+  <data name="CheckURL.Text" xml:space="preserve">
+    <value>Search &amp;URLs</value>
+  </data>
+  <data name="RadioPLUS.Size" type="System.Drawing.Size, System.Drawing">
+    <value>57, 16</value>
+  </data>
+  <data name="RadioPLUS.Text" xml:space="preserve">
+    <value>Simple</value>
+  </data>
+  <data name="CheckRegex.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 94</value>
+  </data>
+  <data name="CheckRegex.Size" type="System.Drawing.Size, System.Drawing">
+    <value>110, 16</value>
+  </data>
+  <data name="CheckRegex.Text" xml:space="preserve">
+    <value>&amp;Regular Express.</value>
+  </data>
+  <data name="Label9.Size" type="System.Drawing.Size, System.Drawing">
+    <value>123, 12</value>
+  </data>
+  <data name="Label9.Text" xml:space="preserve">
+    <value>User ID or Tweet Body</value>
+  </data>
+  <data name="Label6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>44, 12</value>
+  </data>
+  <data name="Label6.Text" xml:space="preserve">
+    <value>User ID</value>
+  </data>
+  <data name="ButtonNew.Text" xml:space="preserve">
+    <value>&amp;New</value>
+  </data>
+  <data name="ButtonDelete.Text" xml:space="preserve">
+    <value>&amp;Delete</value>
+  </data>
+  <data name="ButtonEdit.Text" xml:space="preserve">
+    <value>&amp;Edit</value>
+  </data>
+  <data name="GroupBox2.Text" xml:space="preserve">
+    <value>Distribution Rules</value>
+  </data>
+  <data name="ButtonAddTab.Text" xml:space="preserve">
+    <value>Create Tab</value>
+  </data>
+  <data name="ButtonDeleteTab.Text" xml:space="preserve">
+    <value>Remove Tab</value>
+  </data>
+  <data name="ButtonRenameTab.Text" xml:space="preserve">
+    <value>Rename Tab</value>
+  </data>
+  <data name="CheckManageRead.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 16</value>
+  </data>
+  <data name="CheckManageRead.Text" xml:space="preserve">
+    <value>Manage reading</value>
+  </data>
+  <data name="CheckNotifyNew.Text" xml:space="preserve">
+    <value>Aleart Popups</value>
+  </data>
+  <data name="Label10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>70, 12</value>
+  </data>
+  <data name="Label10.Text" xml:space="preserve">
+    <value>Notify sound</value>
+  </data>
+  <data name="GroupTab.Text" xml:space="preserve">
+    <value>Tabs</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>Filtering Rules</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/FilterDialog.resx b/Tween/FilterDialog.resx
new file mode 100644 (file)
index 0000000..fbdebb0
--- /dev/null
@@ -0,0 +1,1464 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="ButtonClose.Location" type="System.Drawing.Point, System.Drawing">
+    <value>563, 523</value>
+  </data>
+  <data name="ButtonClose.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="ButtonClose.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="ButtonClose.Text" xml:space="preserve">
+    <value>閉じる(&amp;C)</value>
+  </data>
+  <data name="&gt;&gt;ButtonClose.Name" xml:space="preserve">
+    <value>ButtonClose</value>
+  </data>
+  <data name="&gt;&gt;ButtonClose.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonClose.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;ButtonClose.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="ListFilters.ItemHeight" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="ListFilters.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 19</value>
+  </data>
+  <data name="ListFilters.Size" type="System.Drawing.Size, System.Drawing">
+    <value>487, 184</value>
+  </data>
+  <data name="ListFilters.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;ListFilters.Name" xml:space="preserve">
+    <value>ListFilters</value>
+  </data>
+  <data name="&gt;&gt;ListFilters.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ListFilters.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;ListFilters.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Label11.Location" type="System.Drawing.Point, System.Drawing">
+    <value>319, 133</value>
+  </data>
+  <data name="Label11.Size" type="System.Drawing.Size, System.Drawing">
+    <value>157, 87</value>
+  </data>
+  <data name="Label11.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="Label11.Text" xml:space="preserve">
+    <value>除外ルールのみ設定すると、タブ全体への除外設定となります。</value>
+  </data>
+  <data name="&gt;&gt;Label11.Name" xml:space="preserve">
+    <value>Label11</value>
+  </data>
+  <data name="&gt;&gt;Label11.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label11.Parent" xml:space="preserve">
+    <value>EditFilterGroup</value>
+  </data>
+  <data name="&gt;&gt;Label11.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="CheckExCaseSensitive.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="CheckExCaseSensitive.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckExCaseSensitive.Location" type="System.Drawing.Point, System.Drawing">
+    <value>196, 89</value>
+  </data>
+  <data name="CheckExCaseSensitive.Size" type="System.Drawing.Size, System.Drawing">
+    <value>102, 16</value>
+  </data>
+  <data name="CheckExCaseSensitive.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="CheckExCaseSensitive.Text" xml:space="preserve">
+    <value>大/小文字区別</value>
+  </data>
+  <data name="&gt;&gt;CheckExCaseSensitive.Name" xml:space="preserve">
+    <value>CheckExCaseSensitive</value>
+  </data>
+  <data name="&gt;&gt;CheckExCaseSensitive.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckExCaseSensitive.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;CheckExCaseSensitive.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="RadioExAnd.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="RadioExAnd.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="RadioExAnd.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 28</value>
+  </data>
+  <data name="RadioExAnd.Size" type="System.Drawing.Size, System.Drawing">
+    <value>71, 16</value>
+  </data>
+  <data name="RadioExAnd.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="RadioExAnd.Text" xml:space="preserve">
+    <value>複合条件</value>
+  </data>
+  <data name="&gt;&gt;RadioExAnd.Name" xml:space="preserve">
+    <value>RadioExAnd</value>
+  </data>
+  <data name="&gt;&gt;RadioExAnd.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioExAnd.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;RadioExAnd.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="Label1.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>187, 14</value>
+  </data>
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>53, 12</value>
+  </data>
+  <data name="Label1.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>発言内容</value>
+  </data>
+  <data name="&gt;&gt;Label1.Name" xml:space="preserve">
+    <value>Label1</value>
+  </data>
+  <data name="&gt;&gt;Label1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label1.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;Label1.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="CheckExURL.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckExURL.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckExURL.Location" type="System.Drawing.Point, System.Drawing">
+    <value>120, 89</value>
+  </data>
+  <data name="CheckExURL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>70, 16</value>
+  </data>
+  <data name="CheckExURL.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="CheckExURL.Text" xml:space="preserve">
+    <value>URL検索</value>
+  </data>
+  <data name="&gt;&gt;CheckExURL.Name" xml:space="preserve">
+    <value>CheckExURL</value>
+  </data>
+  <data name="&gt;&gt;CheckExURL.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckExURL.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;CheckExURL.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="RadioExPLUS.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="RadioExPLUS.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="RadioExPLUS.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 65</value>
+  </data>
+  <data name="RadioExPLUS.Size" type="System.Drawing.Size, System.Drawing">
+    <value>71, 16</value>
+  </data>
+  <data name="RadioExPLUS.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="RadioExPLUS.Text" xml:space="preserve">
+    <value>単一条件</value>
+  </data>
+  <data name="&gt;&gt;RadioExPLUS.Name" xml:space="preserve">
+    <value>RadioExPLUS</value>
+  </data>
+  <data name="&gt;&gt;RadioExPLUS.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioExPLUS.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;RadioExPLUS.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="CheckExRegex.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckExRegex.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckExRegex.Location" type="System.Drawing.Point, System.Drawing">
+    <value>42, 89</value>
+  </data>
+  <data name="CheckExRegex.Size" type="System.Drawing.Size, System.Drawing">
+    <value>72, 16</value>
+  </data>
+  <data name="CheckExRegex.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="CheckExRegex.Text" xml:space="preserve">
+    <value>正規表現</value>
+  </data>
+  <data name="&gt;&gt;CheckExRegex.Name" xml:space="preserve">
+    <value>CheckExRegex</value>
+  </data>
+  <data name="&gt;&gt;CheckExRegex.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckExRegex.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;CheckExRegex.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="Label2.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>87, 51</value>
+  </data>
+  <data name="Label2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 12</value>
+  </data>
+  <data name="Label2.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="Label2.Text" xml:space="preserve">
+    <value>ユーザーIDか発言内容</value>
+  </data>
+  <data name="&gt;&gt;Label2.Name" xml:space="preserve">
+    <value>Label2</value>
+  </data>
+  <data name="&gt;&gt;Label2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label2.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;Label2.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="Label3.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>156, 29</value>
+  </data>
+  <data name="Label3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>29, 12</value>
+  </data>
+  <data name="Label3.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="Label3.Text" xml:space="preserve">
+    <value>AND</value>
+  </data>
+  <data name="&gt;&gt;Label3.Name" xml:space="preserve">
+    <value>Label3</value>
+  </data>
+  <data name="&gt;&gt;Label3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label3.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;Label3.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="Label4.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label4.Location" type="System.Drawing.Point, System.Drawing">
+    <value>87, 14</value>
+  </data>
+  <data name="Label4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>56, 12</value>
+  </data>
+  <data name="Label4.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Label4.Text" xml:space="preserve">
+    <value>ユーザーID</value>
+  </data>
+  <data name="&gt;&gt;Label4.Name" xml:space="preserve">
+    <value>Label4</value>
+  </data>
+  <data name="&gt;&gt;Label4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label4.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;Label4.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="ExUID.Location" type="System.Drawing.Point, System.Drawing">
+    <value>89, 26</value>
+  </data>
+  <data name="ExUID.Size" type="System.Drawing.Size, System.Drawing">
+    <value>61, 19</value>
+  </data>
+  <data name="ExUID.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;ExUID.Name" xml:space="preserve">
+    <value>ExUID</value>
+  </data>
+  <data name="&gt;&gt;ExUID.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ExUID.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;ExUID.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="ExMSG1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>189, 26</value>
+  </data>
+  <data name="ExMSG1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>103, 19</value>
+  </data>
+  <data name="ExMSG1.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;ExMSG1.Name" xml:space="preserve">
+    <value>ExMSG1</value>
+  </data>
+  <data name="&gt;&gt;ExMSG1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ExMSG1.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;ExMSG1.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="ExMSG2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>89, 64</value>
+  </data>
+  <data name="ExMSG2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>204, 19</value>
+  </data>
+  <data name="ExMSG2.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="&gt;&gt;ExMSG2.Name" xml:space="preserve">
+    <value>ExMSG2</value>
+  </data>
+  <data name="&gt;&gt;ExMSG2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ExMSG2.Parent" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;ExMSG2.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="GroupExclude.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 140</value>
+  </data>
+  <data name="GroupExclude.Size" type="System.Drawing.Size, System.Drawing">
+    <value>304, 116</value>
+  </data>
+  <data name="GroupExclude.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="GroupExclude.Text" xml:space="preserve">
+    <value>除外ルール</value>
+  </data>
+  <data name="&gt;&gt;GroupExclude.Name" xml:space="preserve">
+    <value>GroupExclude</value>
+  </data>
+  <data name="&gt;&gt;GroupExclude.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupExclude.Parent" xml:space="preserve">
+    <value>EditFilterGroup</value>
+  </data>
+  <data name="&gt;&gt;GroupExclude.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="CheckCaseSensitive.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckCaseSensitive.Location" type="System.Drawing.Point, System.Drawing">
+    <value>196, 94</value>
+  </data>
+  <data name="CheckCaseSensitive.Size" type="System.Drawing.Size, System.Drawing">
+    <value>102, 16</value>
+  </data>
+  <data name="CheckCaseSensitive.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="CheckCaseSensitive.Text" xml:space="preserve">
+    <value>大/小文字区別</value>
+  </data>
+  <data name="&gt;&gt;CheckCaseSensitive.Name" xml:space="preserve">
+    <value>CheckCaseSensitive</value>
+  </data>
+  <data name="&gt;&gt;CheckCaseSensitive.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckCaseSensitive.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;CheckCaseSensitive.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="RadioAND.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="RadioAND.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 28</value>
+  </data>
+  <data name="RadioAND.Size" type="System.Drawing.Size, System.Drawing">
+    <value>71, 16</value>
+  </data>
+  <data name="RadioAND.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="RadioAND.Text" xml:space="preserve">
+    <value>複合条件</value>
+  </data>
+  <data name="&gt;&gt;RadioAND.Name" xml:space="preserve">
+    <value>RadioAND</value>
+  </data>
+  <data name="&gt;&gt;RadioAND.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioAND.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;RadioAND.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="Label8.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label8.Location" type="System.Drawing.Point, System.Drawing">
+    <value>187, 14</value>
+  </data>
+  <data name="Label8.Size" type="System.Drawing.Size, System.Drawing">
+    <value>53, 12</value>
+  </data>
+  <data name="Label8.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="Label8.Text" xml:space="preserve">
+    <value>発言内容</value>
+  </data>
+  <data name="&gt;&gt;Label8.Name" xml:space="preserve">
+    <value>Label8</value>
+  </data>
+  <data name="&gt;&gt;Label8.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label8.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;Label8.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="CheckURL.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckURL.Location" type="System.Drawing.Point, System.Drawing">
+    <value>120, 94</value>
+  </data>
+  <data name="CheckURL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>70, 16</value>
+  </data>
+  <data name="CheckURL.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="CheckURL.Text" xml:space="preserve">
+    <value>URL検索</value>
+  </data>
+  <data name="&gt;&gt;CheckURL.Name" xml:space="preserve">
+    <value>CheckURL</value>
+  </data>
+  <data name="&gt;&gt;CheckURL.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckURL.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;CheckURL.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="RadioPLUS.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="RadioPLUS.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 65</value>
+  </data>
+  <data name="RadioPLUS.Size" type="System.Drawing.Size, System.Drawing">
+    <value>71, 16</value>
+  </data>
+  <data name="RadioPLUS.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="RadioPLUS.Text" xml:space="preserve">
+    <value>単一条件</value>
+  </data>
+  <data name="&gt;&gt;RadioPLUS.Name" xml:space="preserve">
+    <value>RadioPLUS</value>
+  </data>
+  <data name="&gt;&gt;RadioPLUS.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioPLUS.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;RadioPLUS.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="CheckRegex.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckRegex.Location" type="System.Drawing.Point, System.Drawing">
+    <value>42, 94</value>
+  </data>
+  <data name="CheckRegex.Size" type="System.Drawing.Size, System.Drawing">
+    <value>72, 16</value>
+  </data>
+  <data name="CheckRegex.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="CheckRegex.Text" xml:space="preserve">
+    <value>正規表現</value>
+  </data>
+  <data name="&gt;&gt;CheckRegex.Name" xml:space="preserve">
+    <value>CheckRegex</value>
+  </data>
+  <data name="&gt;&gt;CheckRegex.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckRegex.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;CheckRegex.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="Label9.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label9.Location" type="System.Drawing.Point, System.Drawing">
+    <value>87, 51</value>
+  </data>
+  <data name="Label9.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 12</value>
+  </data>
+  <data name="Label9.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="Label9.Text" xml:space="preserve">
+    <value>ユーザーIDか発言内容</value>
+  </data>
+  <data name="&gt;&gt;Label9.Name" xml:space="preserve">
+    <value>Label9</value>
+  </data>
+  <data name="&gt;&gt;Label9.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label9.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;Label9.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="Label7.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label7.Location" type="System.Drawing.Point, System.Drawing">
+    <value>156, 29</value>
+  </data>
+  <data name="Label7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>29, 12</value>
+  </data>
+  <data name="Label7.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="Label7.Text" xml:space="preserve">
+    <value>AND</value>
+  </data>
+  <data name="&gt;&gt;Label7.Name" xml:space="preserve">
+    <value>Label7</value>
+  </data>
+  <data name="&gt;&gt;Label7.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label7.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;Label7.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="Label6.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label6.Location" type="System.Drawing.Point, System.Drawing">
+    <value>87, 14</value>
+  </data>
+  <data name="Label6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>56, 12</value>
+  </data>
+  <data name="Label6.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Label6.Text" xml:space="preserve">
+    <value>ユーザーID</value>
+  </data>
+  <data name="&gt;&gt;Label6.Name" xml:space="preserve">
+    <value>Label6</value>
+  </data>
+  <data name="&gt;&gt;Label6.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label6.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;Label6.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="UID.Location" type="System.Drawing.Point, System.Drawing">
+    <value>89, 26</value>
+  </data>
+  <data name="UID.Size" type="System.Drawing.Size, System.Drawing">
+    <value>61, 19</value>
+  </data>
+  <data name="UID.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;UID.Name" xml:space="preserve">
+    <value>UID</value>
+  </data>
+  <data name="&gt;&gt;UID.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UID.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;UID.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="MSG1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>189, 26</value>
+  </data>
+  <data name="MSG1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>103, 19</value>
+  </data>
+  <data name="MSG1.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;MSG1.Name" xml:space="preserve">
+    <value>MSG1</value>
+  </data>
+  <data name="&gt;&gt;MSG1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MSG1.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;MSG1.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="MSG2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>89, 64</value>
+  </data>
+  <data name="MSG2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>204, 19</value>
+  </data>
+  <data name="MSG2.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="&gt;&gt;MSG2.Name" xml:space="preserve">
+    <value>MSG2</value>
+  </data>
+  <data name="&gt;&gt;MSG2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MSG2.Parent" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;MSG2.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="GroupMatch.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 18</value>
+  </data>
+  <data name="GroupMatch.Size" type="System.Drawing.Size, System.Drawing">
+    <value>304, 116</value>
+  </data>
+  <data name="GroupMatch.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="GroupMatch.Text" xml:space="preserve">
+    <value>マッチルール</value>
+  </data>
+  <data name="&gt;&gt;GroupMatch.Name" xml:space="preserve">
+    <value>GroupMatch</value>
+  </data>
+  <data name="&gt;&gt;GroupMatch.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupMatch.Parent" xml:space="preserve">
+    <value>EditFilterGroup</value>
+  </data>
+  <data name="&gt;&gt;GroupMatch.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="CheckMark.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckMark.Location" type="System.Drawing.Point, System.Drawing">
+    <value>44, 62</value>
+  </data>
+  <data name="CheckMark.Size" type="System.Drawing.Size, System.Drawing">
+    <value>70, 16</value>
+  </data>
+  <data name="CheckMark.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="CheckMark.Text" xml:space="preserve">
+    <value>マークする</value>
+  </data>
+  <data name="&gt;&gt;CheckMark.Name" xml:space="preserve">
+    <value>CheckMark</value>
+  </data>
+  <data name="&gt;&gt;CheckMark.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckMark.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;CheckMark.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="OptCopy.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="OptCopy.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 40</value>
+  </data>
+  <data name="OptCopy.Size" type="System.Drawing.Size, System.Drawing">
+    <value>123, 16</value>
+  </data>
+  <data name="OptCopy.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="OptCopy.Text" xml:space="preserve">
+    <value>Recentからコピーする</value>
+  </data>
+  <data name="&gt;&gt;OptCopy.Name" xml:space="preserve">
+    <value>OptCopy</value>
+  </data>
+  <data name="&gt;&gt;OptCopy.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OptCopy.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;OptCopy.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="OptMove.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="OptMove.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 18</value>
+  </data>
+  <data name="OptMove.Size" type="System.Drawing.Size, System.Drawing">
+    <value>120, 16</value>
+  </data>
+  <data name="OptMove.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="OptMove.Text" xml:space="preserve">
+    <value>Recentから移動する</value>
+  </data>
+  <data name="&gt;&gt;OptMove.Name" xml:space="preserve">
+    <value>OptMove</value>
+  </data>
+  <data name="&gt;&gt;OptMove.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OptMove.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;OptMove.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="GroupBox1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>316, 18</value>
+  </data>
+  <data name="GroupBox1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>161, 98</value>
+  </data>
+  <data name="GroupBox1.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="GroupBox1.Text" xml:space="preserve">
+    <value>マッチ時の追加動作(&amp;E)</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.Name" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.Parent" xml:space="preserve">
+    <value>EditFilterGroup</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="ButtonCancel.Location" type="System.Drawing.Point, System.Drawing">
+    <value>402, 233</value>
+  </data>
+  <data name="ButtonCancel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <data name="ButtonCancel.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="ButtonCancel.Text" xml:space="preserve">
+    <value>キャンセル</value>
+  </data>
+  <data name="&gt;&gt;ButtonCancel.Name" xml:space="preserve">
+    <value>ButtonCancel</value>
+  </data>
+  <data name="&gt;&gt;ButtonCancel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonCancel.Parent" xml:space="preserve">
+    <value>EditFilterGroup</value>
+  </data>
+  <data name="&gt;&gt;ButtonCancel.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="ButtonOK.Location" type="System.Drawing.Point, System.Drawing">
+    <value>322, 233</value>
+  </data>
+  <data name="ButtonOK.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <data name="ButtonOK.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="ButtonOK.Text" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="&gt;&gt;ButtonOK.Name" xml:space="preserve">
+    <value>ButtonOK</value>
+  </data>
+  <data name="&gt;&gt;ButtonOK.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonOK.Parent" xml:space="preserve">
+    <value>EditFilterGroup</value>
+  </data>
+  <data name="&gt;&gt;ButtonOK.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="EditFilterGroup.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 238</value>
+  </data>
+  <data name="EditFilterGroup.Size" type="System.Drawing.Size, System.Drawing">
+    <value>487, 263</value>
+  </data>
+  <data name="EditFilterGroup.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="EditFilterGroup.Text" xml:space="preserve">
+    <value>ルール編集</value>
+  </data>
+  <data name="&gt;&gt;EditFilterGroup.Name" xml:space="preserve">
+    <value>EditFilterGroup</value>
+  </data>
+  <data name="&gt;&gt;EditFilterGroup.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;EditFilterGroup.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;EditFilterGroup.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="ButtonNew.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 209</value>
+  </data>
+  <data name="ButtonNew.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <data name="ButtonNew.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="ButtonNew.Text" xml:space="preserve">
+    <value>新規(&amp;N)</value>
+  </data>
+  <data name="&gt;&gt;ButtonNew.Name" xml:space="preserve">
+    <value>ButtonNew</value>
+  </data>
+  <data name="&gt;&gt;ButtonNew.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonNew.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;ButtonNew.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="ButtonDelete.Location" type="System.Drawing.Point, System.Drawing">
+    <value>421, 208</value>
+  </data>
+  <data name="ButtonDelete.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <data name="ButtonDelete.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="ButtonDelete.Text" xml:space="preserve">
+    <value>削除(&amp;D)</value>
+  </data>
+  <data name="&gt;&gt;ButtonDelete.Name" xml:space="preserve">
+    <value>ButtonDelete</value>
+  </data>
+  <data name="&gt;&gt;ButtonDelete.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonDelete.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;ButtonDelete.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="ButtonEdit.Location" type="System.Drawing.Point, System.Drawing">
+    <value>214, 209</value>
+  </data>
+  <data name="ButtonEdit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <data name="ButtonEdit.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="ButtonEdit.Text" xml:space="preserve">
+    <value>編集(&amp;E)</value>
+  </data>
+  <data name="&gt;&gt;ButtonEdit.Name" xml:space="preserve">
+    <value>ButtonEdit</value>
+  </data>
+  <data name="&gt;&gt;ButtonEdit.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonEdit.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;ButtonEdit.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="GroupBox2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>142, 9</value>
+  </data>
+  <data name="GroupBox2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>507, 508</value>
+  </data>
+  <data name="GroupBox2.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="GroupBox2.Text" xml:space="preserve">
+    <value>振り分けルール</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Name" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="ListTabs.ItemHeight" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="ListTabs.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 18</value>
+  </data>
+  <data name="ListTabs.Size" type="System.Drawing.Size, System.Drawing">
+    <value>113, 184</value>
+  </data>
+  <data name="ListTabs.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;ListTabs.Name" xml:space="preserve">
+    <value>ListTabs</value>
+  </data>
+  <data name="&gt;&gt;ListTabs.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ListTabs.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;ListTabs.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="ButtonAddTab.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 237</value>
+  </data>
+  <data name="ButtonAddTab.Size" type="System.Drawing.Size, System.Drawing">
+    <value>113, 23</value>
+  </data>
+  <data name="ButtonAddTab.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="ButtonAddTab.Text" xml:space="preserve">
+    <value>タブ作成</value>
+  </data>
+  <data name="&gt;&gt;ButtonAddTab.Name" xml:space="preserve">
+    <value>ButtonAddTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonAddTab.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonAddTab.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonAddTab.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="ButtonDeleteTab.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="ButtonDeleteTab.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 266</value>
+  </data>
+  <data name="ButtonDeleteTab.Size" type="System.Drawing.Size, System.Drawing">
+    <value>113, 23</value>
+  </data>
+  <data name="ButtonDeleteTab.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="ButtonDeleteTab.Text" xml:space="preserve">
+    <value>タブ削除</value>
+  </data>
+  <data name="&gt;&gt;ButtonDeleteTab.Name" xml:space="preserve">
+    <value>ButtonDeleteTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonDeleteTab.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonDeleteTab.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonDeleteTab.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="ButtonRenameTab.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="ButtonRenameTab.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 295</value>
+  </data>
+  <data name="ButtonRenameTab.Size" type="System.Drawing.Size, System.Drawing">
+    <value>113, 23</value>
+  </data>
+  <data name="ButtonRenameTab.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="ButtonRenameTab.Text" xml:space="preserve">
+    <value>タブ名変更</value>
+  </data>
+  <data name="&gt;&gt;ButtonRenameTab.Name" xml:space="preserve">
+    <value>ButtonRenameTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonRenameTab.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonRenameTab.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonRenameTab.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="CheckManageRead.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckManageRead.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 334</value>
+  </data>
+  <data name="CheckManageRead.Size" type="System.Drawing.Size, System.Drawing">
+    <value>72, 16</value>
+  </data>
+  <data name="CheckManageRead.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="CheckManageRead.Text" xml:space="preserve">
+    <value>未読管理</value>
+  </data>
+  <data name="&gt;&gt;CheckManageRead.Name" xml:space="preserve">
+    <value>CheckManageRead</value>
+  </data>
+  <data name="&gt;&gt;CheckManageRead.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckManageRead.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;CheckManageRead.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="CheckNotifyNew.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckNotifyNew.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckNotifyNew.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 356</value>
+  </data>
+  <data name="CheckNotifyNew.Size" type="System.Drawing.Size, System.Drawing">
+    <value>96, 16</value>
+  </data>
+  <data name="CheckNotifyNew.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="CheckNotifyNew.Text" xml:space="preserve">
+    <value>新着通知表示</value>
+  </data>
+  <data name="&gt;&gt;CheckNotifyNew.Name" xml:space="preserve">
+    <value>CheckNotifyNew</value>
+  </data>
+  <data name="&gt;&gt;CheckNotifyNew.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckNotifyNew.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;CheckNotifyNew.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="ComboSound.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 390</value>
+  </data>
+  <data name="ComboSound.Size" type="System.Drawing.Size, System.Drawing">
+    <value>113, 20</value>
+  </data>
+  <data name="ComboSound.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;ComboSound.Name" xml:space="preserve">
+    <value>ComboSound</value>
+  </data>
+  <data name="&gt;&gt;ComboSound.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ComboSound.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;ComboSound.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="Label10.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label10.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 375</value>
+  </data>
+  <data name="Label10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>66, 12</value>
+  </data>
+  <data name="Label10.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="Label10.Text" xml:space="preserve">
+    <value>新着サウンド</value>
+  </data>
+  <data name="&gt;&gt;Label10.Name" xml:space="preserve">
+    <value>Label10</value>
+  </data>
+  <data name="&gt;&gt;Label10.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label10.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;Label10.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="ButtonUp.Font" type="System.Drawing.Font, System.Drawing">
+    <value>Marlett, 9pt, style=Bold</value>
+  </data>
+  <data name="ButtonUp.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 207</value>
+  </data>
+  <data name="ButtonUp.Size" type="System.Drawing.Size, System.Drawing">
+    <value>34, 24</value>
+  </data>
+  <data name="ButtonUp.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="ButtonUp.Text" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;ButtonUp.Name" xml:space="preserve">
+    <value>ButtonUp</value>
+  </data>
+  <data name="&gt;&gt;ButtonUp.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonUp.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonUp.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="ButtonDown.Font" type="System.Drawing.Font, System.Drawing">
+    <value>Marlett, 9pt, style=Bold</value>
+  </data>
+  <data name="ButtonDown.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="ButtonDown.Location" type="System.Drawing.Point, System.Drawing">
+    <value>87, 207</value>
+  </data>
+  <data name="ButtonDown.Size" type="System.Drawing.Size, System.Drawing">
+    <value>34, 24</value>
+  </data>
+  <data name="ButtonDown.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="ButtonDown.Text" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="&gt;&gt;ButtonDown.Name" xml:space="preserve">
+    <value>ButtonDown</value>
+  </data>
+  <data name="&gt;&gt;ButtonDown.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonDown.Parent" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;ButtonDown.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="GroupTab.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 9</value>
+  </data>
+  <data name="GroupTab.Size" type="System.Drawing.Size, System.Drawing">
+    <value>127, 423</value>
+  </data>
+  <data name="GroupTab.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="GroupTab.Text" xml:space="preserve">
+    <value>タブ</value>
+  </data>
+  <data name="&gt;&gt;GroupTab.Name" xml:space="preserve">
+    <value>GroupTab</value>
+  </data>
+  <data name="&gt;&gt;GroupTab.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupTab.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;GroupTab.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>661, 553</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterParent</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>振り分けルール</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>FilterDialog</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/FilterDialog.vb b/Tween/FilterDialog.vb
new file mode 100644 (file)
index 0000000..14e1f2e
--- /dev/null
@@ -0,0 +1,714 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Public Class FilterDialog
+
+    Private _mode As EDITMODE
+    Private _directAdd As Boolean
+    Private _sts As TabInformations
+    Private _cur As String
+
+    Private Enum EDITMODE
+        AddNew
+        Edit
+        None
+    End Enum
+
+    Private Sub SetFilters(ByVal tabName As String)
+        If ListTabs.Items.Count = 0 Then Exit Sub
+
+        ListFilters.Items.Clear()
+        ListFilters.Items.AddRange(_sts.Tabs(tabName).GetFilters())
+        If ListFilters.Items.Count > 0 Then ListFilters.SelectedIndex = 0
+
+        CheckManageRead.Checked = _sts.Tabs(tabName).UnreadManage
+        CheckNotifyNew.Checked = _sts.Tabs(tabName).Notify
+
+        Dim idx As Integer = ComboSound.Items.IndexOf(_sts.Tabs(tabName).SoundFile)
+        If idx = -1 Then idx = 0
+        ComboSound.SelectedIndex = idx
+
+        If _directAdd Then Exit Sub
+
+        ListTabs.Enabled = True
+        GroupTab.Enabled = True
+        ListFilters.Enabled = True
+        'ListFilters.Focus()
+        If ListFilters.SelectedIndex <> -1 Then
+            ShowDetail()
+        End If
+        EditFilterGroup.Enabled = False
+        Select Case tabName
+            Case DEFAULTTAB.RECENT, DEFAULTTAB.DM, DEFAULTTAB.FAV
+                ButtonNew.Enabled = False
+                ButtonEdit.Enabled = False
+                ButtonDelete.Enabled = False
+            Case Else
+                ButtonNew.Enabled = True
+                ButtonEdit.Enabled = True
+                ButtonDelete.Enabled = True
+        End Select
+        ButtonRenameTab.Enabled = True
+        If TabInformations.GetInstance.IsDefaultTab(tabName) Then
+            'ButtonRenameTab.Enabled = False
+            ButtonDeleteTab.Enabled = False
+        Else
+            'ButtonRenameTab.Enabled = True
+            ButtonDeleteTab.Enabled = True
+        End If
+        ButtonClose.Enabled = True
+    End Sub
+
+    Public Sub SetCurrent(ByVal TabName As String)
+        _cur = TabName
+    End Sub
+
+    Public Sub AddNewFilter(ByVal id As String, ByVal msg As String)
+        '元フォームから直接呼ばれる
+        ButtonNew.Enabled = False
+        ButtonEdit.Enabled = False
+        ButtonDelete.Enabled = False
+        ButtonClose.Enabled = False
+        EditFilterGroup.Enabled = True
+        ListTabs.Enabled = False
+        GroupTab.Enabled = False
+        ListFilters.Enabled = False
+
+        RadioAND.Checked = True
+        RadioPLUS.Checked = False
+        UID.Text = id
+        UID.SelectAll()
+        MSG1.Text = msg
+        MSG1.SelectAll()
+        MSG2.Text = id + msg
+        MSG2.SelectAll()
+        UID.Enabled = True
+        MSG1.Enabled = True
+        MSG2.Enabled = False
+        CheckRegex.Checked = False
+        CheckURL.Checked = False
+        CheckCaseSensitive.Checked = False
+
+        RadioExAnd.Checked = True
+        RadioExPLUS.Checked = False
+        ExUID.Text = ""
+        ExUID.SelectAll()
+        ExMSG1.Text = ""
+        ExMSG1.SelectAll()
+        ExMSG2.Text = ""
+        ExMSG2.SelectAll()
+        ExUID.Enabled = True
+        ExMSG1.Enabled = True
+        ExMSG2.Enabled = False
+        CheckExRegex.Checked = False
+        CheckExURL.Checked = False
+        CheckExCaseSensitive.Checked = False
+
+        'OptNone.Checked = True
+        OptCopy.Checked = True
+        CheckMark.Checked = True
+        UID.Focus()
+        _mode = EDITMODE.AddNew
+        _directAdd = True
+    End Sub
+
+    Private Sub ButtonNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonNew.Click
+        ButtonNew.Enabled = False
+        ButtonEdit.Enabled = False
+        ButtonDelete.Enabled = False
+        ButtonClose.Enabled = False
+        EditFilterGroup.Enabled = True
+        ListTabs.Enabled = False
+        GroupTab.Enabled = False
+        ListFilters.Enabled = False
+
+        RadioAND.Checked = True
+        RadioPLUS.Checked = False
+        UID.Text = ""
+        MSG1.Text = ""
+        MSG2.Text = ""
+        UID.Enabled = True
+        MSG1.Enabled = True
+        MSG2.Enabled = False
+        CheckRegex.Checked = False
+        CheckURL.Checked = False
+        CheckCaseSensitive.Checked = False
+
+        RadioExAnd.Checked = True
+        RadioExPLUS.Checked = False
+        ExUID.Text = ""
+        ExMSG1.Text = ""
+        ExMSG2.Text = ""
+        ExUID.Enabled = True
+        ExMSG1.Enabled = True
+        ExMSG2.Enabled = False
+        CheckExRegex.Checked = False
+        CheckExURL.Checked = False
+        CheckExCaseSensitive.Checked = False
+
+        'OptNone.Checked = True
+        OptCopy.Checked = True
+        CheckMark.Checked = True
+        UID.Focus()
+        _mode = EDITMODE.AddNew
+    End Sub
+
+    Private Sub ButtonEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonEdit.Click
+        If ListFilters.SelectedIndex = -1 Then Exit Sub
+
+        ButtonNew.Enabled = False
+        ButtonEdit.Enabled = False
+        ButtonDelete.Enabled = False
+        ButtonClose.Enabled = False
+        EditFilterGroup.Enabled = True
+        ListTabs.Enabled = False
+        GroupTab.Enabled = False
+        ListFilters.Enabled = False
+
+        ShowDetail()
+        _mode = EDITMODE.Edit
+    End Sub
+
+    Private Sub ButtonDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDelete.Click
+        If ListFilters.SelectedIndex = -1 Then Exit Sub
+        Dim tmp As String = String.Format(My.Resources.ButtonDelete_ClickText1, vbCrLf, ListFilters.SelectedItem.ToString)
+
+        If MessageBox.Show(tmp, My.Resources.ButtonDelete_ClickText2, _
+            MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then Exit Sub
+
+        Dim i As Integer = ListFilters.SelectedIndex
+
+        _sts.Tabs(ListTabs.SelectedItem.ToString()).RemoveFilter(DirectCast(ListFilters.SelectedItem, FiltersClass))
+        ListFilters.Items.RemoveAt(i)
+    End Sub
+
+    Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click
+        ListTabs.Enabled = True
+        GroupTab.Enabled = True
+        ListFilters.Enabled = True
+        ListFilters.Focus()
+        If ListFilters.SelectedIndex <> -1 Then
+            ShowDetail()
+        End If
+        EditFilterGroup.Enabled = False
+        ButtonNew.Enabled = True
+        ButtonEdit.Enabled = True
+        ButtonDelete.Enabled = True
+        ButtonClose.Enabled = True
+        If _directAdd Then
+            Me.Close()
+        End If
+    End Sub
+
+    Private Sub ShowDetail()
+
+        If _directAdd Then Exit Sub
+
+        If ListFilters.SelectedIndex > -1 Then
+            Dim fc As FiltersClass = DirectCast(ListFilters.SelectedItem, FiltersClass)
+            If fc.SearchBoth Then
+                RadioAND.Checked = True
+                RadioPLUS.Checked = False
+                UID.Enabled = True
+                MSG1.Enabled = True
+                MSG2.Enabled = False
+                UID.Text = fc.NameFilter
+                UID.SelectAll()
+                MSG1.Text = ""
+                MSG2.Text = ""
+                For Each bf As String In fc.BodyFilter
+                    MSG1.Text += bf + " "
+                Next
+                MSG1.Text = MSG1.Text.Trim
+                MSG1.SelectAll()
+            Else
+                RadioPLUS.Checked = True
+                RadioAND.Checked = False
+                UID.Enabled = False
+                MSG1.Enabled = False
+                MSG2.Enabled = True
+                UID.Text = ""
+                MSG1.Text = ""
+                MSG2.Text = ""
+                For Each bf As String In fc.BodyFilter
+                    MSG2.Text += bf + " "
+                Next
+                MSG2.Text = MSG2.Text.Trim
+                MSG2.SelectAll()
+            End If
+            CheckRegex.Checked = fc.UseRegex
+            CheckURL.Checked = fc.SearchUrl
+            CheckCaseSensitive.Checked = fc.CaseSensitive
+
+            If fc.ExSearchBoth Then
+                RadioExAnd.Checked = True
+                RadioExPLUS.Checked = False
+                ExUID.Enabled = True
+                ExMSG1.Enabled = True
+                ExMSG2.Enabled = False
+                ExUID.Text = fc.ExNameFilter
+                ExUID.SelectAll()
+                ExMSG1.Text = ""
+                ExMSG2.Text = ""
+                For Each bf As String In fc.ExBodyFilter
+                    ExMSG1.Text += bf + " "
+                Next
+                ExMSG1.Text = ExMSG1.Text.Trim
+                ExMSG1.SelectAll()
+            Else
+                RadioExPLUS.Checked = True
+                RadioExAnd.Checked = False
+                ExUID.Enabled = False
+                ExMSG1.Enabled = False
+                ExMSG2.Enabled = True
+                ExUID.Text = ""
+                ExMSG1.Text = ""
+                ExMSG2.Text = ""
+                For Each bf As String In fc.ExBodyFilter
+                    ExMSG2.Text += bf + " "
+                Next
+                ExMSG2.Text = ExMSG2.Text.Trim
+                ExMSG2.SelectAll()
+            End If
+            CheckExRegex.Checked = fc.ExUseRegex
+            CheckExURL.Checked = fc.ExSearchUrl
+            CheckExCaseSensitive.Checked = fc.ExCaseSensitive
+
+            'If fc.moveFrom Then
+            '    OptMove.Checked = True
+            'ElseIf fc.SetMark Then
+            '    OptMark.Checked = True
+            'Else
+            '    OptNone.Checked = True
+            'End If
+            If fc.MoveFrom Then
+                OptMove.Checked = True
+            Else
+                OptCopy.Checked = True
+            End If
+            CheckMark.Checked = fc.SetMark
+        Else
+            RadioAND.Checked = True
+            RadioPLUS.Checked = False
+            UID.Enabled = True
+            MSG1.Enabled = True
+            MSG2.Enabled = False
+            UID.Text = ""
+            MSG1.Text = ""
+            MSG2.Text = ""
+            CheckRegex.Checked = False
+            CheckURL.Checked = False
+            CheckCaseSensitive.Checked = False
+
+            RadioExAnd.Checked = True
+            RadioExPLUS.Checked = False
+            ExUID.Enabled = True
+            ExMSG1.Enabled = True
+            ExMSG2.Enabled = False
+            ExUID.Text = ""
+            ExMSG1.Text = ""
+            ExMSG2.Text = ""
+            CheckExRegex.Checked = False
+            CheckExURL.Checked = False
+            CheckExCaseSensitive.Checked = False
+
+            OptCopy.Checked = True
+            CheckMark.Checked = True
+        End If
+    End Sub
+
+    Private Sub RadioAND_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioAND.CheckedChanged
+        Dim flg As Boolean = RadioAND.Checked
+        UID.Enabled = flg
+        MSG1.Enabled = flg
+        MSG2.Enabled = Not flg
+    End Sub
+
+    Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click
+        Dim isBlankMatch As Boolean = False
+        Dim isBlankExclude As Boolean = False
+
+        '入力チェック
+        If Not CheckMatchRule(isBlankMatch) OrElse _
+           Not CheckExcludeRule(isBlankExclude) Then
+            Exit Sub
+        End If
+        If isBlankMatch AndAlso isBlankExclude Then
+            MessageBox.Show(My.Resources.ButtonOK_ClickText1, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+            Exit Sub
+        End If
+
+        Dim i As Integer = ListFilters.SelectedIndex
+        Dim ft As FiltersClass
+
+        ft = New FiltersClass()
+
+        ft.MoveFrom = OptMove.Checked
+        ft.SetMark = CheckMark.Checked
+
+        Dim bdy As String = ""
+        If RadioAND.Checked Then
+            ft.NameFilter = UID.Text
+            ft.SearchBoth = True
+            bdy = MSG1.Text
+        Else
+            ft.NameFilter = ""
+            ft.SearchBoth = False
+            bdy = MSG2.Text
+        End If
+
+        If CheckRegex.Checked Then
+            ft.BodyFilter.Add(bdy)
+        Else
+            Dim bf() As String = bdy.Trim.Split(Chr(32))
+            For Each bfs As String In bf
+                If bfs <> "" Then ft.BodyFilter.Add(bfs.Trim)
+            Next
+        End If
+
+        ft.UseRegex = CheckRegex.Checked
+        ft.SearchUrl = CheckURL.Checked
+        ft.CaseSensitive = CheckCaseSensitive.Checked
+
+        bdy = ""
+        If RadioExAnd.Checked Then
+            ft.ExNameFilter = ExUID.Text
+            ft.ExSearchBoth = True
+            bdy = ExMSG1.Text
+        Else
+            ft.ExNameFilter = ""
+            ft.ExSearchBoth = False
+            bdy = ExMSG2.Text
+        End If
+
+        If CheckExRegex.Checked Then
+            ft.ExBodyFilter.Add(bdy)
+        Else
+            Dim bf() As String = bdy.Trim.Split(Chr(32))
+            For Each bfs As String In bf
+                If bfs <> "" Then ft.ExBodyFilter.Add(bfs.Trim)
+            Next
+        End If
+
+        ft.ExUseRegex = CheckExRegex.Checked
+        ft.ExSearchUrl = CheckExURL.Checked
+        ft.ExCaseSensitive = CheckExCaseSensitive.Checked
+
+        If _mode = EDITMODE.AddNew Then
+            If Not _sts.Tabs(ListTabs.SelectedItem.ToString()).AddFilter(ft) Then
+                MessageBox.Show(My.Resources.ButtonOK_ClickText4, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Error)
+            End If
+        Else
+            _sts.Tabs(ListTabs.SelectedItem.ToString()).EditFilter(DirectCast(ListFilters.SelectedItem, FiltersClass), ft)
+        End If
+
+        SetFilters(ListTabs.SelectedItem.ToString)
+        If _mode = EDITMODE.AddNew Then
+            ListFilters.SelectedIndex = ListFilters.Items.Count - 1
+        Else
+            ListFilters.SelectedIndex = i
+        End If
+        _mode = EDITMODE.None
+
+
+        If _directAdd Then
+            Me.Close()
+        End If
+    End Sub
+
+    Private Function CheckMatchRule(ByRef isBlank As Boolean) As Boolean
+        isBlank = False
+        If RadioAND.Checked Then
+            If Not CheckRegex.Checked Then MSG1.Text = MSG1.Text.Replace(" ", " ").Trim()
+            UID.Text = UID.Text.Trim()
+            If UID.Text = "" AndAlso MSG1.Text = "" Then
+                isBlank = True
+                Return True
+            End If
+            If CheckRegex.Checked Then
+                If UID.Text <> "" Then
+                    Try
+                        Dim rgx As New System.Text.RegularExpressions.Regex(UID.Text)
+                    Catch ex As Exception
+                        MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                        Return False
+                    End Try
+                End If
+                If MSG1.Text <> "" Then
+                    Try
+                        Dim rgx As New System.Text.RegularExpressions.Regex(MSG1.Text)
+                    Catch ex As Exception
+                        MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                        Return False
+                    End Try
+                End If
+            End If
+        Else
+            If Not CheckRegex.Checked Then MSG2.Text = MSG2.Text.Replace(" ", " ").Trim()
+            If MSG2.Text.Trim = "" Then
+                isBlank = True
+                Return True
+            End If
+            If CheckRegex.Checked AndAlso MSG2.Text <> "" Then
+                Try
+                    Dim rgx As New System.Text.RegularExpressions.Regex(MSG2.Text)
+                Catch ex As Exception
+                    MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                    Return False
+                End Try
+            End If
+        End If
+        Return True
+    End Function
+
+    Private Function CheckExcludeRule(ByRef isBlank As Boolean) As Boolean
+        isBlank = False
+        If RadioExAnd.Checked Then
+            If Not CheckExRegex.Checked Then ExMSG1.Text = ExMSG1.Text.Replace(" ", " ").Trim()
+            ExUID.Text = ExUID.Text.Trim()
+            If ExUID.Text = "" AndAlso ExMSG1.Text = "" Then
+                isBlank = True
+                Return True
+            End If
+            If CheckExRegex.Checked Then
+                If ExUID.Text <> "" Then
+                    Try
+                        Dim rgx As New System.Text.RegularExpressions.Regex(ExUID.Text)
+                    Catch ex As Exception
+                        MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                        Return False
+                    End Try
+                End If
+                If ExMSG1.Text <> "" Then
+                    Try
+                        Dim rgx As New System.Text.RegularExpressions.Regex(ExMSG1.Text)
+                    Catch ex As Exception
+                        MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                        Return False
+                    End Try
+                End If
+            End If
+        Else
+            If Not CheckExRegex.Checked Then ExMSG2.Text = ExMSG2.Text.Replace(" ", " ").Trim()
+            If ExMSG2.Text.Trim = "" Then
+                isBlank = True
+                Return True
+            End If
+            If CheckExRegex.Checked AndAlso ExMSG2.Text <> "" Then
+                Try
+                    Dim rgx As New System.Text.RegularExpressions.Regex(ExMSG2.Text)
+                Catch ex As Exception
+                    MessageBox.Show(My.Resources.ButtonOK_ClickText3 + ex.Message, My.Resources.ButtonOK_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                    Return False
+                End Try
+            End If
+        End If
+        Return True
+    End Function
+
+    Private Sub ListFilters_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListFilters.SelectedIndexChanged
+        ShowDetail()
+    End Sub
+
+    Private Sub ButtonClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonClose.Click
+        Me.Close()
+    End Sub
+
+    Private Sub FilterDialog_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
+        _directAdd = False
+    End Sub
+
+    Private Sub FilterDialog_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
+        If e.KeyCode = Keys.Enter Then
+            If EditFilterGroup.Enabled Then
+                ButtonOK_Click(Nothing, Nothing)
+            End If
+        End If
+        If e.KeyCode = Keys.Escape Then
+            If EditFilterGroup.Enabled Then
+                ButtonCancel_Click(Nothing, Nothing)
+            Else
+                ButtonClose_Click(Nothing, Nothing)
+            End If
+        End If
+    End Sub
+
+    Private Sub ListFilters_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListFilters.DoubleClick
+        If ListFilters.SelectedItem Is Nothing Then
+            Exit Sub
+        End If
+
+        If ListFilters.IndexFromPoint(ListFilters.PointToClient(Control.MousePosition)) = ListBox.NoMatches Then
+            Exit Sub
+        End If
+
+        If ListFilters.Items(ListFilters.IndexFromPoint(ListFilters.PointToClient(Control.MousePosition))) Is Nothing Then
+            Exit Sub
+        End If
+        ButtonEdit_Click(sender, e)
+    End Sub
+
+    Private Sub FilterDialog_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+        _sts = TabInformations.GetInstance()
+        ListTabs.Items.Clear()
+        For Each key As String In _sts.Tabs.Keys
+            ListTabs.Items.Add(key)
+            'If key <> DEFAULTTAB.RECENT AndAlso key <> DEFAULTTAB.DM AndAlso key <> DEFAULTTAB.FAV Then
+            '    ListTabs.Items.Add(key)
+            'End If
+        Next
+
+        ComboSound.Items.Clear()
+        ComboSound.Items.Add("")
+        Dim oDir As IO.DirectoryInfo = New IO.DirectoryInfo(My.Application.Info.DirectoryPath)
+        For Each oFile As IO.FileInfo In oDir.GetFiles("*.wav")
+            ComboSound.Items.Add(oFile.Name)
+        Next
+
+        '選択タブ変更
+        If ListTabs.Items.Count > 0 Then
+            If _cur.Length > 0 Then
+                For i As Integer = 0 To ListTabs.Items.Count - 1
+                    If _cur = ListTabs.Items(i).ToString() Then
+                        ListTabs.SelectedIndex = i
+                        Exit For
+                    End If
+                Next
+            End If
+        End If
+    End Sub
+
+    Private Sub ListTabs_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListTabs.SelectedIndexChanged
+        If ListTabs.SelectedIndex > -1 Then
+            SetFilters(ListTabs.SelectedItem.ToString)
+        Else
+            ListFilters.Items.Clear()
+        End If
+    End Sub
+
+    Private Sub ButtonAddTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAddTab.Click
+        Dim tabName As String = Nothing
+        Using inputName As New InputTabName()
+            inputName.TabName = "MyTab" + (ListTabs.Items.Count + 1).ToString
+            inputName.ShowDialog()
+            tabName = inputName.TabName
+        End Using
+        If tabName <> "" Then
+            If Not DirectCast(Me.Owner, TweenMain).AddNewTab(tabName, False) Then
+                Dim tmp As String = String.Format(My.Resources.AddTabMenuItem_ClickText1, tabName)
+                MessageBox.Show(tmp, My.Resources.AddTabMenuItem_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                Exit Sub
+            Else
+                '成功
+                _sts.AddTab(tabName, TabUsageType.UserDefined)
+                ListTabs.Items.Add(tabName)
+            End If
+        End If
+    End Sub
+
+    Private Sub ButtonDeleteTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDeleteTab.Click
+        If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then
+            Dim tb As String = ListTabs.SelectedItem.ToString
+            Dim idx As Integer = ListTabs.SelectedIndex
+            If DirectCast(Me.Owner, TweenMain).RemoveSpecifiedTab(tb) Then
+                ListTabs.Items.RemoveAt(idx)
+                idx -= 1
+                If idx < 0 Then idx = 0
+                ListTabs.SelectedIndex = idx
+            End If
+        End If
+    End Sub
+
+    Private Sub ButtonRenameTab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRenameTab.Click
+        If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then
+            Dim tb As String = ListTabs.SelectedItem.ToString
+            Dim idx As Integer = ListTabs.SelectedIndex
+            If DirectCast(Me.Owner, TweenMain).TabRename(tb) Then
+                ListTabs.Items.RemoveAt(idx)
+                ListTabs.Items.Insert(idx, tb)
+                ListTabs.SelectedIndex = idx
+            End If
+        End If
+    End Sub
+
+    Private Sub CheckManageRead_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckManageRead.CheckedChanged
+        If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then
+            DirectCast(Me.Owner, TweenMain).ChangeTabUnreadManage( _
+                ListTabs.SelectedItem.ToString, _
+                CheckManageRead.Checked)
+        End If
+    End Sub
+
+    Private Sub ButtonUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUp.Click
+        If ListTabs.SelectedIndex > 0 AndAlso ListTabs.SelectedItem.ToString <> "" Then
+            Dim selName As String = ListTabs.SelectedItem.ToString
+            Dim tgtName As String = ListTabs.Items(ListTabs.SelectedIndex - 1).ToString
+            DirectCast(Me.Owner, TweenMain).ReOrderTab( _
+                selName, _
+                tgtName, _
+                True)
+            Dim idx As Integer = ListTabs.SelectedIndex
+            ListTabs.Items.RemoveAt(idx - 1)
+            ListTabs.Items.Insert(idx, tgtName)
+        End If
+    End Sub
+
+    Private Sub ButtonDown_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonDown.Click
+        If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedIndex < ListTabs.Items.Count - 1 AndAlso ListTabs.SelectedItem.ToString <> "" Then
+            Dim selName As String = ListTabs.SelectedItem.ToString
+            Dim tgtName As String = ListTabs.Items(ListTabs.SelectedIndex + 1).ToString
+            DirectCast(Me.Owner, TweenMain).ReOrderTab( _
+                selName, _
+                tgtName, _
+                False)
+            Dim idx As Integer = ListTabs.SelectedIndex
+            ListTabs.Items.RemoveAt(idx + 1)
+            ListTabs.Items.Insert(idx, tgtName)
+        End If
+    End Sub
+
+    Private Sub CheckNotifyNew_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckNotifyNew.CheckedChanged
+        If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then
+            _sts.Tabs(ListTabs.SelectedItem.ToString).Notify = CheckNotifyNew.Checked
+        End If
+    End Sub
+
+    Private Sub ComboSound_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboSound.SelectedIndexChanged
+        If ListTabs.SelectedIndex > -1 AndAlso ListTabs.SelectedItem.ToString <> "" Then
+            Dim filename As String = ""
+            If ComboSound.SelectedIndex > -1 Then filename = ComboSound.SelectedItem.ToString
+            _sts.Tabs(ListTabs.SelectedItem.ToString).SoundFile = filename
+        End If
+    End Sub
+
+    Private Sub RadioExAnd_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioExAnd.CheckedChanged
+        Dim flg As Boolean = RadioExAnd.Checked
+        ExUID.Enabled = flg
+        ExMSG1.Enabled = flg
+        ExMSG2.Enabled = Not flg
+    End Sub
+
+    Private Sub OptMove_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OptMove.CheckedChanged
+        CheckMark.Enabled = Not OptMove.Checked
+    End Sub
+End Class
diff --git a/Tween/InputTabName.Designer.vb b/Tween/InputTabName.Designer.vb
new file mode 100644 (file)
index 0000000..5af2763
--- /dev/null
@@ -0,0 +1,89 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class InputTabName
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(InputTabName))
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
+        Me.OK_Button = New System.Windows.Forms.Button
+        Me.Cancel_Button = New System.Windows.Forms.Button
+        Me.LabelDescription = New System.Windows.Forms.Label
+        Me.TextTabName = New System.Windows.Forms.TextBox
+        Me.TableLayoutPanel1.SuspendLayout()
+        Me.SuspendLayout()
+        '
+        'TableLayoutPanel1
+        '
+        resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1")
+        Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        '
+        'OK_Button
+        '
+        resources.ApplyResources(Me.OK_Button, "OK_Button")
+        Me.OK_Button.Name = "OK_Button"
+        '
+        'Cancel_Button
+        '
+        resources.ApplyResources(Me.Cancel_Button, "Cancel_Button")
+        Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Cancel_Button.Name = "Cancel_Button"
+        '
+        'LabelDescription
+        '
+        resources.ApplyResources(Me.LabelDescription, "LabelDescription")
+        Me.LabelDescription.Name = "LabelDescription"
+        '
+        'TextTabName
+        '
+        resources.ApplyResources(Me.TextTabName, "TextTabName")
+        Me.TextTabName.Name = "TextTabName"
+        '
+        'InputTabName
+        '
+        Me.AcceptButton = Me.OK_Button
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.Cancel_Button
+        Me.Controls.Add(Me.TextTabName)
+        Me.Controls.Add(Me.LabelDescription)
+        Me.Controls.Add(Me.TableLayoutPanel1)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.MaximizeBox = False
+        Me.MinimizeBox = False
+        Me.Name = "InputTabName"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.TableLayoutPanel1.ResumeLayout(False)
+        Me.ResumeLayout(False)
+        Me.PerformLayout()
+
+    End Sub
+    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents OK_Button As System.Windows.Forms.Button
+    Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+    Friend WithEvents LabelDescription As System.Windows.Forms.Label
+    Friend WithEvents TextTabName As System.Windows.Forms.TextBox
+
+End Class
diff --git a/Tween/InputTabName.en.resx b/Tween/InputTabName.en.resx
new file mode 100644 (file)
index 0000000..aeb7220
--- /dev/null
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>115, 12</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>Input new tab's name:</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>Input Tab Name</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/InputTabName.resx b/Tween/InputTabName.resx
new file mode 100644 (file)
index 0000000..dae70ac
--- /dev/null
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Bottom, Right</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="OK_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="OK_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="OK_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="OK_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="OK_Button.Text" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Name" xml:space="preserve">
+    <value>OK_Button</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Cancel_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <data name="Cancel_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>76, 3</value>
+  </data>
+  <data name="Cancel_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="Cancel_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>キャンセル</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Name" xml:space="preserve">
+    <value>Cancel_Button</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>122, 60</value>
+  </data>
+  <data name="TableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>146, 27</value>
+  </data>
+  <data name="TableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Name" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="TableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="LabelDescription.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="LabelDescription.Location" type="System.Drawing.Point, System.Drawing">
+    <value>12, 9</value>
+  </data>
+  <data name="LabelDescription.Size" type="System.Drawing.Size, System.Drawing">
+    <value>148, 12</value>
+  </data>
+  <data name="LabelDescription.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="LabelDescription.Text" xml:space="preserve">
+    <value>タブの名前を入力してください。</value>
+  </data>
+  <data name="&gt;&gt;LabelDescription.Name" xml:space="preserve">
+    <value>LabelDescription</value>
+  </data>
+  <data name="&gt;&gt;LabelDescription.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelDescription.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;LabelDescription.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TextTabName.Location" type="System.Drawing.Point, System.Drawing">
+    <value>12, 24</value>
+  </data>
+  <data name="TextTabName.Size" type="System.Drawing.Size, System.Drawing">
+    <value>257, 19</value>
+  </data>
+  <data name="TextTabName.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;TextTabName.Name" xml:space="preserve">
+    <value>TextTabName</value>
+  </data>
+  <data name="&gt;&gt;TextTabName.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextTabName.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TextTabName.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>280, 98</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterParent</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>タブ名入力</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>InputTabName</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/InputTabName.vb b/Tween/InputTabName.vb
new file mode 100644 (file)
index 0000000..f5968eb
--- /dev/null
@@ -0,0 +1,63 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Windows.Forms
+
+Public Class InputTabName
+
+    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.OK
+        Me.Close()
+    End Sub
+
+    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+        TextTabName.Text = ""
+        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Close()
+    End Sub
+
+    Public Property TabName() As String
+        Get
+            Return Me.TextTabName.Text.Trim()
+        End Get
+        Set(ByVal value As String)
+            TextTabName.Text = value.Trim()
+        End Set
+    End Property
+
+    Public WriteOnly Property FormTitle() As String
+        Set(ByVal value As String)
+            Me.Text = value
+        End Set
+    End Property
+
+    Public WriteOnly Property FormDescription() As String
+        Set(ByVal value As String)
+            Me.LabelDescription.Text = value
+        End Set
+    End Property
+
+    Private Sub InputTabName_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+        ActiveControl = TextTabName
+    End Sub
+End Class
diff --git a/Tween/My Project/Application.Designer.vb b/Tween/My Project/Application.Designer.vb
new file mode 100644 (file)
index 0000000..536a6df
--- /dev/null
@@ -0,0 +1,38 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+'     このコードはツールによって生成されました。
+'     ランタイム バージョン:2.0.50727.3603
+'
+'     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+'     コードが再生成されるときに損失したりします。
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+    
+    'メモ: このファイルは自動生成されました。直接変更しないでください。変更したり、
+    ' ビルド エラーが発生した場合は、プロジェクト デザイナ へ移動し (プロジェクト
+    ' プロパティに移動するか、またはソリューション エクスプローラのマイ プロジェクト
+    ' ノード上でダブルクリック)、アプリケーション タブ上で変更を行います。
+    '
+    Partial Friend Class MyApplication
+        
+        <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
+        Public Sub New()
+            MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)
+            Me.IsSingleInstance = false
+            Me.EnableVisualStyles = true
+            Me.SaveMySettingsOnExit = false
+            Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses
+        End Sub
+        
+        <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
+        Protected Overrides Sub OnCreateMainForm()
+            Me.MainForm = Global.Tween.TweenMain
+        End Sub
+    End Class
+End Namespace
diff --git a/Tween/My Project/Application.myapp b/Tween/My Project/Application.myapp
new file mode 100644 (file)
index 0000000..042ee49
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <MySubMain>true</MySubMain>
+  <MainForm>TweenMain</MainForm>
+  <SingleInstance>false</SingleInstance>
+  <ShutdownMode>0</ShutdownMode>
+  <EnableVisualStyles>true</EnableVisualStyles>
+  <AuthenticationMode>0</AuthenticationMode>
+  <SaveMySettingsOnExit>false</SaveMySettingsOnExit>
+</MyApplicationData>
\ No newline at end of file
diff --git a/Tween/My Project/AssemblyInfo.vb b/Tween/My Project/AssemblyInfo.vb
new file mode 100644 (file)
index 0000000..56d76be
--- /dev/null
@@ -0,0 +1,59 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System
+Imports System.Reflection
+Imports System.Runtime.InteropServices
+
+' アセンブリに関する一般情報は以下の属性セットをとおして制御されます。 
+' アセンブリに関連付けられている情報を変更するには、
+' これらの属性値を変更してください。
+
+' アセンブリ属性の値を確認します。
+
+<Assembly: AssemblyTitle("Tween")> 
+<Assembly: AssemblyDescription("Client of Twitter. Free software(GPL3)" & vbcrlf & "<Contacts>" & vbcrlf & "Twitter:kiri_feather" & vbcrlf & "Mail:kiri_feather@users.sourceforge.jp" & vbcrlf & "<Associator developer>" & vbcrlf & "Developer:Takeshi KIRIYA(http://www.takeshik.org/)" & vbcrlf & "Developer:Moz(http://iddy.jp/profile/moz/)" & vbcrlf & "Icons:Minami(http://www.pi-kun.com/)")> 
+<Assembly: AssemblyCompany("")> 
+<Assembly: AssemblyProduct("Tween")> 
+<Assembly: AssemblyCopyright("(C)kiri_feather 2007-2009 All Rights Reserved.")> 
+<Assembly: AssemblyTrademark("")> 
+
+<Assembly: ComVisible(False)>
+
+'このプロジェクトが COM に公開される場合、次の GUID がタイプ ライブラリの ID になります。
+<Assembly: Guid("247a7ec4-c90f-48ed-90d2-a85c39bd3a78")> 
+
+' アセンブリのバージョン情報は、以下の 4 つの値で構成されています:
+'
+'      Major Version
+'      Minor Version 
+'      Build Number
+'      Revision
+'
+' すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を 
+' 既定値にすることができます:
+' <Assembly: AssemblyVersion("1.0.*")> 
+
+<Assembly: AssemblyVersion("0.7.*")> 
+<Assembly: AssemblyFileVersion("0.7.5.0")> 
+
diff --git a/Tween/My Project/Resources.Designer.vb b/Tween/My Project/Resources.Designer.vb
new file mode 100644 (file)
index 0000000..03665c6
--- /dev/null
@@ -0,0 +1,2005 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+'     このコードはツールによって生成されました。
+'     ランタイム バージョン:2.0.50727.3603
+'
+'     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+'     コードが再生成されるときに損失したりします。
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+Imports System
+
+Namespace My.Resources
+    
+    'このクラスは StronglyTypedResourceBuilder クラスが ResGen
+    'または Visual Studio のようなツールを使用して自動生成されました。
+    'メンバを追加または削除するには、.ResX ファイルを編集して、/str オプションと共に
+    'ResGen を実行し直すか、または VS プロジェクトをビルドし直します。
+    '''<summary>
+    '''  ローカライズされた文字列などを検索するための、厳密に型指定されたリソース クラスです。
+    '''</summary>
+    <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0"),  _
+     Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
+     Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(),  _
+     Global.Microsoft.VisualBasic.HideModuleNameAttribute()>  _
+    Friend Module Resources
+        
+        Private resourceMan As Global.System.Resources.ResourceManager
+        
+        Private resourceCulture As Global.System.Globalization.CultureInfo
+        
+        '''<summary>
+        '''  このクラスで使用されているキャッシュされた ResourceManager インスタンスを返します。
+        '''</summary>
+        <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _
+        Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
+            Get
+                If Object.ReferenceEquals(resourceMan, Nothing) Then
+                    Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Tween.Resources", GetType(Resources).Assembly)
+                    resourceMan = temp
+                End If
+                Return resourceMan
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  厳密に型指定されたこのリソース クラスを使用して、すべての検索リソースに対し、
+        '''  現在のスレッドの CurrentUICulture プロパティをオーバーライドします。
+        '''</summary>
+        <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _
+        Friend Property Culture() As Global.System.Globalization.CultureInfo
+            Get
+                Return resourceCulture
+            End Get
+            Set
+                resourceCulture = value
+            End Set
+        End Property
+        
+        '''<summary>
+        '''  名前 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddCustomTabsText1() As String
+            Get
+                Return ResourceManager.GetString("AddCustomTabsText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  投稿 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddCustomTabsText2() As String
+            Get
+                Return ResourceManager.GetString("AddCustomTabsText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  日時 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddCustomTabsText3() As String
+            Get
+                Return ResourceManager.GetString("AddCustomTabsText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ユーザ名 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddCustomTabsText4() As String
+            Get
+                Return ResourceManager.GetString("AddCustomTabsText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  (新規タブ) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddNewTabText1() As String
+            Get
+                Return ResourceManager.GetString("AddNewTabText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  名前 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddNewTabText2() As String
+            Get
+                Return ResourceManager.GetString("AddNewTabText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  投稿 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddNewTabText3() As String
+            Get
+                Return ResourceManager.GetString("AddNewTabText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  取得日時 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddNewTabText4() As String
+            Get
+                Return ResourceManager.GetString("AddNewTabText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  日時 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddNewTabText4_2() As String
+            Get
+                Return ResourceManager.GetString("AddNewTabText4_2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ユーザ名 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddNewTabText5() As String
+            Get
+                Return ResourceManager.GetString("AddNewTabText5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ &quot;&quot;{0}&quot;&quot; は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、追加できません。別の名前を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddTabMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("AddTabMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ追加 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property AddTabMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("AddTabMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  上限 :  に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ApiInfo1() As String
+            Get
+                Return ResourceManager.GetString("ApiInfo1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  残数 :  に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ApiInfo2() As String
+            Get
+                Return ResourceManager.GetString("ApiInfo2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  リセット日時 :  に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ApiInfo3() As String
+            Get
+                Return ResourceManager.GetString("ApiInfo3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  API情報 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ApiInfo4() As String
+            Get
+                Return ResourceManager.GetString("ApiInfo4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''   * API情報の取得に失敗 * に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ApiInfo5() As String
+            Get
+                Return ResourceManager.GetString("ApiInfo5", resourceCulture)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property At() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("At", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property AtBlink() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("AtBlink", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property AtRed() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("AtRed", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property AtSmoke() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("AtSmoke", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  選択された発言をBlack Favoritesに追加します。よろしいですか? に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property BlackFavAddToolStripMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("BlackFavAddToolStripMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  BlackFav確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property BlackFavAddToolStripMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("BlackFavAddToolStripMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  BlackFav追加中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property BlackFavAddToolStripMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("BlackFavAddToolStripMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  BlackFav追加なし に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property BlackFavAddToolStripMenuItem_ClickText4() As String
+            Get
+                Return ResourceManager.GetString("BlackFavAddToolStripMenuItem_ClickText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  実行形式ファイル(*.exe)|*.exe|すべてのファイル(*.*)|*.* に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Button3_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("Button3_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ブラウザを指定してください に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Button3_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("Button3_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  このルールを削除してもよろしいですか?{0}   『{1}』 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ButtonDelete_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("ButtonDelete_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ルール削除確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ButtonDelete_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("ButtonDelete_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ルールを指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ButtonOK_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("ButtonOK_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ルールチェック に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ButtonOK_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("ButtonOK_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  正規表現エラー: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ButtonOK_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("ButtonOK_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  既に存在するルールは追加できません に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ButtonOK_ClickText4() As String
+            Get
+                Return ResourceManager.GetString("ButtonOK_ClickText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  更新履歴
+        '''
+        '''==== Ver 0.7.2.1(Unreleased)
+        ''' * 発言詳細部のサイズを50*50(画像領域48*48)へ変更
+        '''==== Ver 0.7.2.0(2009/10/31)
+        ''' * @ID入力補助で、id確定した際、直前の文字が消えるバグ修正
+        '''==== Ver 0.7.1.0(2009/10/31)
+        ''' * リストにグリッド線を表示するオプション追加(マウスホイールで操作すると画面にゴミが残ります)
+        ''' * C-rでid追加した際、余分なスペースが入らないように修正
+        ''' * スクリーンセーバー起動中はバルーン表示を停止
+        ''' * @ID入力補助機能追加(Enter,Tabで確定、Escape,Backspaceで全削除でキャンセル、候補選択でC-Deleteでリストから削除)
+        ''' * 選択発言を基に振り分けルール作成する際、選択発言を反映したルールになっていないバグ修正
+        ''' * 短縮URL解決のタイムアウトを2秒→5秒へ。合わせて100件のキャッシュを追加(定期クリア)
+        ''' * 返信先(in_reply_to)付加の条件を変更(複数@でもin_reply_toが付くケースを増やした [残りの文字列は切り詰められました]&quot;; に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ChangeLog() As String
+            Get
+                Return ResourceManager.GetString("ChangeLog", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Tween更新確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText1() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  更新版のバージョン取得に失敗しました。しばらく待ってから再度お試しください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText10() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText10", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Tween更新結果 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText2() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  新しいバージョン {0} が公開されています。更新しますか? に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText3() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  アップデーターのダウンロードに失敗しました。しばらく待ってから再度お試しください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText4() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  最新版が公開されていますが、ダウンロードに失敗しました。しばらく待ってから再度お試しください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText5() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  新しいバージョンは見つかりません。 {0} が公開されています。強制的に更新しますか? に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText6() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText6", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  最新版をお使いです。更新の必要はありませんでした。使用中Ver: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText7() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText7", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  最新Ver: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText8() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText8", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  バージョンチェック失敗 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CheckNewVersionText9() As String
+            Get
+                Return ResourceManager.GetString("CheckNewVersionText9", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  このタブの発言をクリアしてもよろしいですか?{0}(サーバーから発言は削除しません。) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ClearTabMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("ClearTabMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブクリア確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ClearTabMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("ClearTabMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  無効な日時書式指定文字列です に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CmbDateTimeFormat_Validating() As String
+            Get
+                Return ResourceManager.GetString("CmbDateTimeFormat_Validating", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タイムアウトまでの時間には数値(0~120)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ConnectionTimeOut_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("ConnectionTimeOut_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  (アイコンが取得できていません) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ContextMenuStrip3_OpeningText1() As String
+            Get
+                Return ResourceManager.GetString("ContextMenuStrip3_OpeningText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  (発言を選択してください) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property ContextMenuStrip3_OpeningText2() As String
+            Get
+                Return ResourceManager.GetString("ContextMenuStrip3_OpeningText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  無効な日時書式指定文字列です に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property CreateDateTimeFormatSampleText1() As String
+            Get
+                Return ResourceManager.GetString("CreateDateTimeFormatSampleText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  選択されている自発言(またはDM)を削除してもよろしいですか?{0}注意 : Twitterサーバからも削除されます!{0} タブからIDを削除する場合は、「IDを移動」を使ってください。{0} タブを削除する場合は、「タブを削除」を使ってください。{0}{0}削除処理を中止するには、「キャンセル」ボタンを押してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DeleteStripMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("DeleteStripMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  削除確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DeleteStripMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("DeleteStripMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  削除失敗 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DeleteStripMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("DeleteStripMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  削除成功 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DeleteStripMenuItem_ClickText4() As String
+            Get
+                Return ResourceManager.GetString("DeleteStripMenuItem_ClickText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  更新間隔には数値(0または30~6000)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DMPeriod_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("DMPeriod_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  更新間隔には数値(0または30~6000)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DMPeriod_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("DMPeriod_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  正規表現パターンが間違っています。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DoTabSearchText1() As String
+            Get
+                Return ResourceManager.GetString("DoTabSearchText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  検索条件に一致するデータは見つかりません。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DoTabSearchText2() As String
+            Get
+                Return ResourceManager.GetString("DoTabSearchText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  検索 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property DoTabSearchText3() As String
+            Get
+                Return ResourceManager.GetString("DoTabSearchText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  選択された発言をFavoritesに追加します。よろしいですか? に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavAddToolStripMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavAddToolStripMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav追加中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavAddToolStripMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav追加なし に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavAddToolStripMenuItem_ClickText4() As String
+            Get
+                Return ResourceManager.GetString("FavAddToolStripMenuItem_ClickText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  選択された発言をFavoritesから削除します。よろしいですか? に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav削除中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav削除なし に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FavRemoveToolStripMenuItem_ClickText4() As String
+            Get
+                Return ResourceManager.GetString("FavRemoveToolStripMenuItem_ClickText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Form1_LoadText1() As String
+            Get
+                Return ResourceManager.GetString("Form1_LoadText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  idを入力して下さい。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FRMessage1() As String
+            Get
+                Return ResourceManager.GetString("FRMessage1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  失敗 :  に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FRMessage2() As String
+            Get
+                Return ResourceManager.GetString("FRMessage2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  完了! に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property FRMessage3() As String
+            Get
+                Return ResourceManager.GetString("FRMessage3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Recent更新完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText1() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  起動時読込完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText10() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText10", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  DMRcv更新完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText11() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText11", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  DMSnt更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText12() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText12", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  DMSnt更新完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText13() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText13", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  POST完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText14() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText14", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav追加( に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText15() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText15", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  BlackFav追加( に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText15_black() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText15_black", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ) 失敗: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText16() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText16", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav削除( に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText17() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText17", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ) 失敗: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText18() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText18", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav取得中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText19() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText19", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''   ポストまで読み込み完了。さらに読み込みますか? に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText2() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Fav取得完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText20() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText20", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  読み込み継続確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText3() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Reply更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText4() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Recent更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText5() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  pages に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText6() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText6", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  DMRcv更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText8() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText8", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Reply更新完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property GetTimelineWorker_RunWorkerCompletedText9() As String
+            Get
+                Return ResourceManager.GetString("GetTimelineWorker_RunWorkerCompletedText9", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  (新規タブ) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property IDRuleMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("IDRuleMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ &quot;&quot;{0}&quot;&quot; は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、追加できません。別の名前を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property IDRuleMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("IDRuleMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ追加 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property IDRuleMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("IDRuleMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Recentに残しますか?{0}  「はい」 :残す{0}  「いいえ」:残さない に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property IDRuleMenuItem_ClickText4() As String
+            Get
+                Return ResourceManager.GetString("IDRuleMenuItem_ClickText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  移動確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property IDRuleMenuItem_ClickText5() As String
+            Get
+                Return ResourceManager.GetString("IDRuleMenuItem_ClickText5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  マークをつけますか?{0}  「はい」 :つける{0}  「いいえ」:つけない に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property IDRuleMenuItem_ClickText6() As String
+            Get
+                Return ResourceManager.GetString("IDRuleMenuItem_ClickText6", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  マーク確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property IDRuleMenuItem_ClickText7() As String
+            Get
+                Return ResourceManager.GetString("IDRuleMenuItem_ClickText7", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Twitterからのお知らせはありません。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property InfoTwitterMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("InfoTwitterMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Twitterからのお知らせ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property InfoTwitterMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("InfoTwitterMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  この設定ファイルは Tween により自動生成されました。手動で変更しないでください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property LoadConfigurationText1() As String
+            Get
+                Return ResourceManager.GetString("LoadConfigurationText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  正規表現パターンが間違っています。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property MenuItemSearchNext_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("MenuItemSearchNext_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  検索条件に一致するデータは見つかりません。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property MenuItemSearchNext_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("MenuItemSearchNext_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  検索 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property MenuItemSearchNext_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("MenuItemSearchNext_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  正規表現パターンが間違っています。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property MenuItemSearchPrev_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("MenuItemSearchPrev_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  検索条件に一致するデータは見つかりません。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property MenuItemSearchPrev_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("MenuItemSearchPrev_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  検索 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property MenuItemSearchPrev_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("MenuItemSearchPrev_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property MIcon() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("MIcon", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ページ数には数値(1~20)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property NextPages_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("NextPages_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ページ数には数値(1~20)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property NextPages_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("NextPages_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  閾値には数値(1~20)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property NextThreshold_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("NextThreshold_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  閾値には数値(1~20)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property NextThreshold_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("NextThreshold_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  140文字を越えています。URL短縮、フッタ除去、末尾カットを行って投稿しますか? に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property PostLengthOverMessage1() As String
+            Get
+                Return ResourceManager.GetString("PostLengthOverMessage1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  文字数制限オーバー に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property PostLengthOverMessage2() As String
+            Get
+                Return ResourceManager.GetString("PostLengthOverMessage2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  POST完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property PostWorker_RunWorkerCompletedText4() As String
+            Get
+                Return ResourceManager.GetString("PostWorker_RunWorkerCompletedText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Recent更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property PostWorker_RunWorkerCompletedText5() As String
+            Get
+                Return ResourceManager.GetString("PostWorker_RunWorkerCompletedText5", resourceCulture)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property Refresh() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("Refresh", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property Refresh2() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("Refresh2", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property Refresh3() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("Refresh3", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property Refresh4() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("Refresh4", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  新着 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshDirectMessageText1() As String
+            Get
+                Return ResourceManager.GetString("RefreshDirectMessageText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  件 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshDirectMessageText2() As String
+            Get
+                Return ResourceManager.GetString("RefreshDirectMessageText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Recent更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshStripMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("RefreshStripMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Reply更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshStripMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("RefreshStripMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  DMRcv更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshStripMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("RefreshStripMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  新着 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshTimelineText1() As String
+            Get
+                Return ResourceManager.GetString("RefreshTimelineText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  件 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshTimelineText2() As String
+            Get
+                Return ResourceManager.GetString("RefreshTimelineText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ログ読込 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshTimelineText3() As String
+            Get
+                Return ResourceManager.GetString("RefreshTimelineText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  起動読込 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RefreshTimelineText4() As String
+            Get
+                Return ResourceManager.GetString("RefreshTimelineText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  このタブを削除してもよろしいですか?{0}(このタブの発言はRecentへ戻されます。) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RemoveSpecifiedTabText1() As String
+            Get
+                Return ResourceManager.GetString("RemoveSpecifiedTabText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブの削除確認 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property RemoveSpecifiedTabText2() As String
+            Get
+                Return ResourceManager.GetString("RemoveSpecifiedTabText2", resourceCulture)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property Reply() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("Reply", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property ReplyBlink() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("ReplyBlink", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ユーザー名とパスワードを指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Save_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("Save_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ユーザー名に『@』を含めないでください。(メールアドレス不可) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Save_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("Save_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  設定値に誤りがあります。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Save_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("Save_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  選択中タブの全発言を保存しますか?{0} 「はい」   :全発言を保存する{0} 「いいえ」  :選択している発言のみ保存する{0} 「キャンセル」:保存処理をキャンセル{0}(タブ区切りのテキストファイル形式で保存します) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SaveLogMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("SaveLogMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  保存対象選択 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SaveLogMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("SaveLogMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  TSVファイル(*.tsv)|*.tsv|すべてのファイル(*.*)|*.* に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SaveLogMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("SaveLogMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  保存先のファイルを選択してください に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SaveLogMenuItem_ClickText4() As String
+            Get
+                Return ResourceManager.GetString("SaveLogMenuItem_ClickText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  http://ja.wikipedia.org/wiki/{0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SearchItem1Url() As String
+            Get
+                Return ResourceManager.GetString("SearchItem1Url", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  http://www.google.com/search?hl=ja&amp;q={0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SearchItem2Url() As String
+            Get
+                Return ResourceManager.GetString("SearchItem2Url", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  http://pcod.no-ip.org/yats/search?query={0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SearchItem3Url() As String
+            Get
+                Return ResourceManager.GetString("SearchItem3Url", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  http://search.twitter.com/search?q={0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SearchItem4Url() As String
+            Get
+                Return ResourceManager.GetString("SearchItem4Url", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  [ユーザ・・・{0}]   に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText1() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  マークする に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText10() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText10", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  コピーする/ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText11() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText11", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''   &lt;&lt;除外&gt;&gt;  に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText12() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText12", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  大小区別/ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText13() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText13", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  [ユーザ・・・(全て)]   に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText2() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  [本文・・・ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText3() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ]   に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText4() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  複合/ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText5() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  単一/ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText6() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText6", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Regexp/ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText7() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText7", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  URL/ に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText8() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText8", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  移動する に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetFiltersText9() As String
+            Get
+                Return ResourceManager.GetString("SetFiltersText9", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  {0}件 (未読@) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetMainWindowTitleText1() As String
+            Get
+                Return ResourceManager.GetString("SetMainWindowTitleText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  {0}件 (未読) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetMainWindowTitleText2() As String
+            Get
+                Return ResourceManager.GetString("SetMainWindowTitleText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  {0} ({1})件 (未読) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetMainWindowTitleText3() As String
+            Get
+                Return ResourceManager.GetString("SetMainWindowTitleText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  {0}/{1}件 (未読/総件数) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetMainWindowTitleText4() As String
+            Get
+                Return ResourceManager.GetString("SetMainWindowTitleText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  [タブ: {0}/{1} 全体: {2}/{3} (返信: {4})] [時速: 投 {5}/ ☆ {6}/ 流 {7}] [間隔:  に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetStatusLabelText1() As String
+            Get
+                Return ResourceManager.GetString("SetStatusLabelText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  -] に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetStatusLabelText2() As String
+            Get
+                Return ResourceManager.GetString("SetStatusLabelText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ] に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property SetStatusLabelText3() As String
+            Get
+                Return ResourceManager.GetString("SetStatusLabelText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  読み込みページ数には数値(1~999)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupReadDM_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("StartupReadDM_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  読み込みページ数には数値(1~999)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupReadDM_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("StartupReadDM_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  読み込みページ数には数値(1~999)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupReadPages_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("StartupReadPages_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  読み込みページ数には数値(1~999)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupReadPages_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("StartupReadPages_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  読み込みページ数には数値(0~999)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupReadReply_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("StartupReadReply_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  読み込みページ数には数値(0~999)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupReadReply_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("StartupReadReply_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Tweenは既に起動されています。2重起動する場合は、別フォルダのTween.exeを実行してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupText1() As String
+            Get
+                Return ResourceManager.GetString("StartupText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Tween二重起動チェック に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property StartupText2() As String
+            Get
+                Return ResourceManager.GetString("StartupText2", resourceCulture)
+            End Get
+        End Property
+        
+        Friend ReadOnly Property TabIcon() As System.Drawing.Icon
+            Get
+                Dim obj As Object = ResourceManager.GetObject("TabIcon", resourceCulture)
+                Return CType(obj,System.Drawing.Icon)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  (新規タブ) に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TabMenuItem_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("TabMenuItem_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ &quot;&quot;{0}&quot;&quot; は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、追加できません。別の名前を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TabMenuItem_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("TabMenuItem_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ追加 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TabMenuItem_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("TabMenuItem_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ &quot;&quot;{0}&quot;&quot; は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、変更できません。別の名前を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Tabs_DoubleClickText1() As String
+            Get
+                Return ResourceManager.GetString("Tabs_DoubleClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  タブ名変更 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property Tabs_DoubleClickText2() As String
+            Get
+                Return ResourceManager.GetString("Tabs_DoubleClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  復活の呪文を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TextBoxOutputzKey_Validating() As String
+            Get
+                Return ResourceManager.GetString("TextBoxOutputzKey_Validating", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  取得発言数は20~200件を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TextCountApi_Validating1() As String
+            Get
+                Return ResourceManager.GetString("TextCountApi_Validating1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ポート番号には整数値を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TextProxyPort_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("TextProxyPort_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ポート番号には0~65535を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TextProxyPort_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("TextProxyPort_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  更新間隔には数値(0または30~6000)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TimelinePeriod_ValidatingText1() As String
+            Get
+                Return ResourceManager.GetString("TimelinePeriod_ValidatingText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  更新間隔には数値(0または30~6000)を指定してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TimelinePeriod_ValidatingText2() As String
+            Get
+                Return ResourceManager.GetString("TimelinePeriod_ValidatingText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  DMRcv更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TimerDM_TickText1() As String
+            Get
+                Return ResourceManager.GetString("TimerDM_TickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Recent更新中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TimerTimeline_TickText1() As String
+            Get
+                Return ResourceManager.GetString("TimerTimeline_TickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  このファイルの内容を kiri_feather@users.sourceforge.jp まで送っていただけると助かります。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TraceOutText1() As String
+            Get
+                Return ResourceManager.GetString("TraceOutText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ご面倒なら@kiri_featherまでお知らせ頂くだけでも助かります。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TraceOutText2() As String
+            Get
+                Return ResourceManager.GetString("TraceOutText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  動作環境: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TraceOutText3() As String
+            Get
+                Return ResourceManager.GetString("TraceOutText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''     オペレーティング システム: {0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TraceOutText4() As String
+            Get
+                Return ResourceManager.GetString("TraceOutText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''     共通言語ランタイム          : {0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TraceOutText5() As String
+            Get
+                Return ResourceManager.GetString("TraceOutText5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''     Tween.exeのバージョン    : {0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TraceOutText6() As String
+            Get
+                Return ResourceManager.GetString("TraceOutText6", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  {0} のバージョン情報 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TweenAboutBox_LoadText1() As String
+            Get
+                Return ResourceManager.GetString("TweenAboutBox_LoadText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  バージョン {0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property TweenAboutBox_LoadText2() As String
+            Get
+                Return ResourceManager.GetString("TweenAboutBox_LoadText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  **** エラー ログ: {0} **** に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText1() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  エラー発生 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText10() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText10", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Administrator権限: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText11() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText11", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Users権限: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText12() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText12", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  このファイルの内容を kiri_feather@users.sourceforge.jp まで送っていただけると助かります。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText2() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  ご面倒なら@kiri_featherまでお知らせ頂くだけでも助かります。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText3() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  動作環境: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText4() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''     オペレーティング システム: {0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText5() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''     共通言語ランタイム          : {0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText6() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText6", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''     Tween.exeのバージョン    : {0} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText7() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText7", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  例外 {0}: {1} に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText8() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText8", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  エラーが発生しました。ごめんなさい。ログをexeファイルのある場所に {0} として作ったので、kiri.feather@gmail.comまで送っていただけると助かります。{1}ご面倒なら@kiri_featherまでお知らせ頂くだけでも助かります。{1}「はい」ボタンをクリックするとログを開きます。ログを開かない場合は「いいえ」、このまま終了する場合は「キャンセル」ボタンをクリックしてください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UnhandledExceptionText9() As String
+            Get
+                Return ResourceManager.GetString("UnhandledExceptionText9", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Followers取得中... に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UpdateFollowersMenuItem1_ClickText1() As String
+            Get
+                Return ResourceManager.GetString("UpdateFollowersMenuItem1_ClickText1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Followers取得エラー: に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UpdateFollowersMenuItem1_ClickText2() As String
+            Get
+                Return ResourceManager.GetString("UpdateFollowersMenuItem1_ClickText2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  Followers取得完了 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property UpdateFollowersMenuItem1_ClickText3() As String
+            Get
+                Return ResourceManager.GetString("UpdateFollowersMenuItem1_ClickText3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  現在Webモードです。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property WebModeWarning1() As String
+            Get
+                Return ResourceManager.GetString("WebModeWarning1", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  * Webモードの使用はTwitterの利用規約に違反する恐れがあります。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property WebModeWarning2() As String
+            Get
+                Return ResourceManager.GetString("WebModeWarning2", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  * APIモードではタイムライン取得に回数制限があります。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property WebModeWarning3() As String
+            Get
+                Return ResourceManager.GetString("WebModeWarning3", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  APIモードに切り替える場合は「OK」を押してください。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property WebModeWarning4() As String
+            Get
+                Return ResourceManager.GetString("WebModeWarning4", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  警告 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property WebModeWarning5() As String
+            Get
+                Return ResourceManager.GetString("WebModeWarning5", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  APIモードへ切り替えました。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property WebModeWarning6() As String
+            Get
+                Return ResourceManager.GetString("WebModeWarning6", resourceCulture)
+            End Get
+        End Property
+        
+        '''<summary>
+        '''  APIモードへ戻す場合は、設定の「動作」タブにある「API使用」にチェックを入れて下さい。 に類似しているローカライズされた文字列を検索します。
+        '''</summary>
+        Friend ReadOnly Property WebModeWarning7() As String
+            Get
+                Return ResourceManager.GetString("WebModeWarning7", resourceCulture)
+            End Get
+        End Property
+    End Module
+End Namespace
diff --git a/Tween/My Project/Resources.en.resx b/Tween/My Project/Resources.en.resx
new file mode 100644 (file)
index 0000000..a55afaf
--- /dev/null
@@ -0,0 +1,720 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="AddCustomTabsText1" xml:space="preserve">
+    <value>Name</value>
+  </data>
+  <data name="AddCustomTabsText2" xml:space="preserve">
+    <value>Post</value>
+  </data>
+  <data name="AddCustomTabsText3" xml:space="preserve">
+    <value>Date</value>
+  </data>
+  <data name="AddCustomTabsText4" xml:space="preserve">
+    <value>Username</value>
+  </data>
+  <data name="AddNewTabText1" xml:space="preserve">
+    <value>(New Tab)</value>
+  </data>
+  <data name="AddNewTabText2" xml:space="preserve">
+    <value>Name</value>
+  </data>
+  <data name="AddNewTabText3" xml:space="preserve">
+    <value>Post</value>
+  </data>
+  <data name="AddNewTabText4" xml:space="preserve">
+    <value>Date</value>
+  </data>
+  <data name="AddNewTabText5" xml:space="preserve">
+    <value>Username</value>
+  </data>
+  <data name="AddTabMenuItem_ClickText1" xml:space="preserve">
+    <value>Tab ""{0}"" is already exists; please specify other name.</value>
+  </data>
+  <data name="AddTabMenuItem_ClickText2" xml:space="preserve">
+    <value>Add tab</value>
+  </data>
+  <data name="Button3_ClickText1" xml:space="preserve">
+    <value>Executable (*.exe)|*.exe|All files (*.*)|*.*</value>
+  </data>
+  <data name="Button3_ClickText2" xml:space="preserve">
+    <value>Choose the web browser</value>
+  </data>
+  <data name="ButtonDelete_ClickText1" xml:space="preserve">
+    <value>Delete this rules? {0}   『{1}』</value>
+  </data>
+  <data name="ButtonDelete_ClickText2" xml:space="preserve">
+    <value>Confirm deleting rule</value>
+  </data>
+  <data name="ButtonOK_ClickText1" xml:space="preserve">
+    <value>Choice the rule.</value>
+  </data>
+  <data name="ButtonOK_ClickText2" xml:space="preserve">
+    <value>Rule checking</value>
+  </data>
+  <data name="ButtonOK_ClickText3" xml:space="preserve">
+    <value>Invalid regular expression pattern.</value>
+  </data>
+  <data name="CheckNewVersionText1" xml:space="preserve">
+    <value>Tween Update Check</value>
+  </data>
+  <data name="CheckNewVersionText10" xml:space="preserve">
+    <value>Versioin check failed. Please try again later.</value>
+  </data>
+  <data name="CheckNewVersionText2" xml:space="preserve">
+    <value>Tween Update Check Result</value>
+  </data>
+  <data name="CheckNewVersionText3" xml:space="preserve">
+    <value>New version  {0} is available. Update?</value>
+  </data>
+  <data name="CheckNewVersionText4" xml:space="preserve">
+    <value>Downloading updater failed. Try again later.</value>
+  </data>
+  <data name="CheckNewVersionText5" xml:space="preserve">
+    <value>New version is available but download failed. Try again later.</value>
+  </data>
+  <data name="CheckNewVersionText6" xml:space="preserve">
+    <value>New version is not found. Latest version is {0}. Download it?</value>
+  </data>
+  <data name="CheckNewVersionText7" xml:space="preserve">
+    <value>Your Tween is latest; you don't need to update. Version: </value>
+  </data>
+  <data name="CheckNewVersionText8" xml:space="preserve">
+    <value>Latest version:</value>
+  </data>
+  <data name="CheckNewVersionText9" xml:space="preserve">
+    <value>Version check failed</value>
+  </data>
+  <data name="ClearTabMenuItem_ClickText1" xml:space="preserve">
+    <value>Delete all tweets in this tab {0} ? (posts aren't deleted from the server.)</value>
+  </data>
+  <data name="ClearTabMenuItem_ClickText2" xml:space="preserve">
+    <value>Confirm Clearing Tab</value>
+  </data>
+  <data name="ContextMenuStrip3_OpeningText1" xml:space="preserve">
+    <value>(Icon fetch failed)</value>
+  </data>
+  <data name="ContextMenuStrip3_OpeningText2" xml:space="preserve">
+    <value>(Choice the tweet)</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText1" xml:space="preserve">
+    <value>Delete selected tweets/messages?{0}WARNING: They are deleted from server too!{0}  To remove ID from tab, select [Move ID].{0}  To remove tab, select [Delete Tab].{0}{0}To cancel operation, select [Cancel].</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Check removing</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText3" xml:space="preserve">
+    <value>Remove failed</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText4" xml:space="preserve">
+    <value>Remove succeeded</value>
+  </data>
+  <data name="DMPeriod_ValidatingText1" xml:space="preserve">
+    <value>Fetching interval must a value in 0 or 30 to 6000.</value>
+  </data>
+  <data name="DMPeriod_ValidatingText2" xml:space="preserve">
+    <value>Fetching interval must a value in 0 or 30 to 6000.</value>
+  </data>
+  <data name="DoTabSearchText1" xml:space="preserve">
+    <value>Invalid regular expression pattern.</value>
+  </data>
+  <data name="DoTabSearchText2" xml:space="preserve">
+    <value>No matches found.</value>
+  </data>
+  <data name="DoTabSearchText3" xml:space="preserve">
+    <value>Find</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText1" xml:space="preserve">
+    <value>Mark favorite those selected tweets?</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Check favoring</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText3" xml:space="preserve">
+    <value>Favoring</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText4" xml:space="preserve">
+    <value>No fav added</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText1" xml:space="preserve">
+    <value>Unmark favorite those selected tweets?</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Check favoring</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText3" xml:space="preserve">
+    <value>Unfavoring</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText4" xml:space="preserve">
+    <value>No fav removed</value>
+  </data>
+  <data name="Form1_LoadText1" xml:space="preserve">
+    <value>Refreshing...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText1" xml:space="preserve">
+    <value>Recent refreshed</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText10" xml:space="preserve">
+    <value>Initial fetch completed</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText11" xml:space="preserve">
+    <value>DMRcv refreshed</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText12" xml:space="preserve">
+    <value>DMSnt refreshing...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText13" xml:space="preserve">
+    <value>DMSnt refreshed</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText14" xml:space="preserve">
+    <value>POST completed</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText15" xml:space="preserve">
+    <value>Mark fav(</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText16" xml:space="preserve">
+    <value>) failed:</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText17" xml:space="preserve">
+    <value>Unmark fav(</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText18" xml:space="preserve">
+    <value>) failed:</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText2" xml:space="preserve">
+    <value> tweets were read. Continue to read more?</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText3" xml:space="preserve">
+    <value>Confirm continue reading</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText4" xml:space="preserve">
+    <value>Reply refreshing...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText5" xml:space="preserve">
+    <value>Recent refreshing...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText6" xml:space="preserve">
+    <value>pages</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText8" xml:space="preserve">
+    <value>DMRcv refreshing...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText9" xml:space="preserve">
+    <value>Reply refreshed</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText1" xml:space="preserve">
+    <value>(New Tab)</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText2" xml:space="preserve">
+    <value>Tab ""{0}"" is already exists; please specify other name.</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText3" xml:space="preserve">
+    <value>Add tab</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText4" xml:space="preserve">
+    <value>Leave in Recent?</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText5" xml:space="preserve">
+    <value>Moving</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText6" xml:space="preserve">
+    <value>Make post mark?</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText7" xml:space="preserve">
+    <value>Marking</value>
+  </data>
+  <data name="InfoTwitterMenuItem_ClickText1" xml:space="preserve">
+    <value>No information from Twitter.</value>
+  </data>
+  <data name="InfoTwitterMenuItem_ClickText2" xml:space="preserve">
+    <value>Information from Twitter</value>
+  </data>
+  <data name="LoadConfigurationText1" xml:space="preserve">
+    <value>This configuration file was generated by Tween automatically. Do not modify by hand.</value>
+  </data>
+  <data name="MenuItemSearchNext_ClickText1" xml:space="preserve">
+    <value>Invalid regular expression pattern.</value>
+  </data>
+  <data name="MenuItemSearchNext_ClickText2" xml:space="preserve">
+    <value>No matches found.</value>
+  </data>
+  <data name="MenuItemSearchNext_ClickText3" xml:space="preserve">
+    <value>Find</value>
+  </data>
+  <data name="MenuItemSearchPrev_ClickText1" xml:space="preserve">
+    <value>Invalid regular expression pattern.</value>
+  </data>
+  <data name="MenuItemSearchPrev_ClickText2" xml:space="preserve">
+    <value>No matches found.</value>
+  </data>
+  <data name="MenuItemSearchPrev_ClickText3" xml:space="preserve">
+    <value>Find</value>
+  </data>
+  <data name="NextPages_ValidatingText1" xml:space="preserve">
+    <value>NextPages_ValidatingText2   Page count must be number 0 to 20.</value>
+  </data>
+  <data name="NextPages_ValidatingText2" xml:space="preserve">
+    <value>Page count must be number 0 to 20.</value>
+  </data>
+  <data name="NextThreshold_ValidatingText1" xml:space="preserve">
+    <value>Threshold must be number 1 to 20.</value>
+  </data>
+  <data name="NextThreshold_ValidatingText2" xml:space="preserve">
+    <value>Threshold must be number 1 to 20.</value>
+  </data>
+  <data name="PostWorker_RunWorkerCompletedText4" xml:space="preserve">
+    <value>POST completed</value>
+  </data>
+  <data name="PostWorker_RunWorkerCompletedText5" xml:space="preserve">
+    <value>Recent refreshing...</value>
+  </data>
+  <data name="RefreshDirectMessageText1" xml:space="preserve">
+    <value>New</value>
+  </data>
+  <data name="RefreshDirectMessageText2" xml:space="preserve">
+    <value>tweets</value>
+  </data>
+  <data name="RefreshStripMenuItem_ClickText1" xml:space="preserve">
+    <value>Recent refreshing...</value>
+  </data>
+  <data name="RefreshStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Reply refreshing...</value>
+  </data>
+  <data name="RefreshStripMenuItem_ClickText3" xml:space="preserve">
+    <value>DMRcv refreshing...</value>
+  </data>
+  <data name="RefreshTimelineText1" xml:space="preserve">
+    <value>New</value>
+  </data>
+  <data name="RefreshTimelineText2" xml:space="preserve">
+    <value>tweets</value>
+  </data>
+  <data name="RefreshTimelineText3" xml:space="preserve">
+    <value>Load log</value>
+  </data>
+  <data name="RefreshTimelineText4" xml:space="preserve">
+    <value>Initial loading</value>
+  </data>
+  <data name="RemoveSpecifiedTabText1" xml:space="preserve">
+    <value>Remove this tab?{0}(Tweets in this tab move to Recent)</value>
+  </data>
+  <data name="RemoveSpecifiedTabText2" xml:space="preserve">
+    <value>Confirm removing tab</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText1" xml:space="preserve">
+    <value>Save all selected tweets?{0}  [Yes]: Save all tweets{0}  [No]: Save all SELECTED tweets{0}  [Cancel]: Cancel to save.{0}(Save as Tab-Separated-Text)</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText2" xml:space="preserve">
+    <value>Select save target</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText3" xml:space="preserve">
+    <value>TSV files (*.tsv)|*.tsv|All files (*.*)|*.*</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText4" xml:space="preserve">
+    <value>Specify save as...</value>
+  </data>
+  <data name="Save_ClickText1" xml:space="preserve">
+    <value>Specify username and password.</value>
+  </data>
+  <data name="Save_ClickText2" xml:space="preserve">
+    <value>Invalid username (E-mail address is not allowed in username)</value>
+  </data>
+  <data name="Save_ClickText3" xml:space="preserve">
+    <value>Invalid setting value.</value>
+  </data>
+  <data name="SearchItem1Url" xml:space="preserve">
+    <value>http://en.wikipedia.org/wiki/{0}</value>
+  </data>
+  <data name="SearchItem2Url" xml:space="preserve">
+    <value>http://www.google.com/search?q={0}</value>
+  </data>
+  <data name="SearchItem3Url" xml:space="preserve">
+    <value>http://pcod.no-ip.org/yats/search?query={0}</value>
+  </data>
+  <data name="SearchItem4Url" xml:space="preserve">
+    <value>http://search.twitter.com/search?q={0}</value>
+  </data>
+  <data name="SetFiltersText1" xml:space="preserve">
+    <value>[User: {0}]  </value>
+  </data>
+  <data name="SetFiltersText10" xml:space="preserve">
+    <value>Make post mark</value>
+  </data>
+  <data name="SetFiltersText11" xml:space="preserve">
+    <value>Copy/</value>
+  </data>
+  <data name="SetFiltersText2" xml:space="preserve">
+    <value>[User: (All)] </value>
+  </data>
+  <data name="SetFiltersText3" xml:space="preserve">
+    <value>[Body: </value>
+  </data>
+  <data name="SetFiltersText4" xml:space="preserve">
+    <value>]  </value>
+  </data>
+  <data name="SetFiltersText5" xml:space="preserve">
+    <value>Complex/</value>
+  </data>
+  <data name="SetFiltersText6" xml:space="preserve">
+    <value>Simple/</value>
+  </data>
+  <data name="SetFiltersText7" xml:space="preserve">
+    <value>Regexp/</value>
+  </data>
+  <data name="SetFiltersText8" xml:space="preserve">
+    <value>URL/</value>
+  </data>
+  <data name="SetFiltersText9" xml:space="preserve">
+    <value>Move</value>
+  </data>
+  <data name="SetMainWindowTitleText1" xml:space="preserve">
+    <value>{0} (Not Read Reply)</value>
+  </data>
+  <data name="SetMainWindowTitleText2" xml:space="preserve">
+    <value>{0} (Not Read)</value>
+  </data>
+  <data name="SetMainWindowTitleText3" xml:space="preserve">
+    <value>{0} ({1}) (Reply)</value>
+  </data>
+  <data name="SetMainWindowTitleText4" xml:space="preserve">
+    <value>{0}/{1} (Not Read/All)</value>
+  </data>
+  <data name="SetStatusLabelText1" xml:space="preserve">
+    <value>[Tab: {0}/{1} All: {2}/{3} (Reply: {4})] [Spd: Pst {5}/ Fav {6}/ TL {7}] [Interval: </value>
+  </data>
+  <data name="SetStatusLabelText2" xml:space="preserve">
+    <value>-]</value>
+  </data>
+  <data name="SetStatusLabelText3" xml:space="preserve">
+    <value>]</value>
+  </data>
+  <data name="StartupReadDM_ValidatingText1" xml:space="preserve">
+    <value>Reading page number must be number 1 to 999.</value>
+  </data>
+  <data name="StartupReadDM_ValidatingText2" xml:space="preserve">
+    <value>Reading page number must be number 1 to 999.</value>
+  </data>
+  <data name="StartupReadPages_ValidatingText1" xml:space="preserve">
+    <value>Reading page number must be number 1 to 999.</value>
+  </data>
+  <data name="StartupReadPages_ValidatingText2" xml:space="preserve">
+    <value>Reading page number must be number 1 to 999.</value>
+  </data>
+  <data name="StartupReadReply_ValidatingText1" xml:space="preserve">
+    <value>Reading page number must be number 1 to 999.</value>
+  </data>
+  <data name="StartupReadReply_ValidatingText2" xml:space="preserve">
+    <value>Reading page number must be number 1 to 999.</value>
+  </data>
+  <data name="StartupText1" xml:space="preserve">
+    <value>Another Tween is running. To run plurally, execute Tween in another folder.</value>
+  </data>
+  <data name="StartupText2" xml:space="preserve">
+    <value>Tween</value>
+  </data>
+  <data name="TabMenuItem_ClickText1" xml:space="preserve">
+    <value>(New Tab)</value>
+  </data>
+  <data name="TabMenuItem_ClickText2" xml:space="preserve">
+    <value>Tab ""{0}"" is already exists; please specify other name.</value>
+  </data>
+  <data name="TabMenuItem_ClickText3" xml:space="preserve">
+    <value>Add tab</value>
+  </data>
+  <data name="TextProxyPort_ValidatingText1" xml:space="preserve">
+    <value>Port number must be integer number.</value>
+  </data>
+  <data name="TextProxyPort_ValidatingText2" xml:space="preserve">
+    <value>Port number must be number 0 to 65535.</value>
+  </data>
+  <data name="TimelinePeriod_ValidatingText1" xml:space="preserve">
+    <value>Refresh interval must be number 0 or 30 to 6000</value>
+  </data>
+  <data name="TimelinePeriod_ValidatingText2" xml:space="preserve">
+    <value>Refresh interval must be number 0 or 30 to 6000</value>
+  </data>
+  <data name="TimerDM_TickText1" xml:space="preserve">
+    <value>DMRcv refreshing...</value>
+  </data>
+  <data name="TimerTimeline_TickText1" xml:space="preserve">
+    <value>Recent refreshing...</value>
+  </data>
+  <data name="TraceOutText1" xml:space="preserve">
+    <value>Please send this file to kiri_feather@users.sourceforge.jp.</value>
+  </data>
+  <data name="TraceOutText2" xml:space="preserve">
+    <value>Please tweet to @kiri_feather in Twitter if you can.</value>
+  </data>
+  <data name="TraceOutText3" xml:space="preserve">
+    <value>Environment:</value>
+  </data>
+  <data name="TraceOutText4" xml:space="preserve">
+    <value>   Operating System: {0}</value>
+  </data>
+  <data name="TraceOutText5" xml:space="preserve">
+    <value>   Common Language Runtime          : {0}</value>
+  </data>
+  <data name="TraceOutText6" xml:space="preserve">
+    <value>   Tween.exe Version    : {0}</value>
+  </data>
+  <data name="TweenAboutBox_LoadText1" xml:space="preserve">
+    <value>About {0}</value>
+  </data>
+  <data name="TweenAboutBox_LoadText2" xml:space="preserve">
+    <value>Version {0}</value>
+  </data>
+  <data name="UnhandledExceptionText1" xml:space="preserve">
+    <value>**** Error Log: {0} ****</value>
+  </data>
+  <data name="UnhandledExceptionText10" xml:space="preserve">
+    <value>Error</value>
+  </data>
+  <data name="UnhandledExceptionText2" xml:space="preserve">
+    <value>Please send this file to kiri_feather@users.sourceforge.jp.</value>
+  </data>
+  <data name="UnhandledExceptionText3" xml:space="preserve">
+    <value>Please tweet to @kiri_feather in Twitter if you can.</value>
+  </data>
+  <data name="UnhandledExceptionText4" xml:space="preserve">
+    <value>Environment:</value>
+  </data>
+  <data name="UnhandledExceptionText5" xml:space="preserve">
+    <value>Operating System: {0}</value>
+  </data>
+  <data name="UnhandledExceptionText6" xml:space="preserve">
+    <value>Common Language Runtime          : {0}</value>
+  </data>
+  <data name="UnhandledExceptionText7" xml:space="preserve">
+    <value>Tween.exe Version    : {0}</value>
+  </data>
+  <data name="UnhandledExceptionText8" xml:space="preserve">
+    <value>Exception {0}: {1}</value>
+  </data>
+  <data name="UnhandledExceptionText9" xml:space="preserve">
+    <value>We are sorry but error was happened. A log text was created as {0} in same folder of Tween.exe. Please send this to kiri.feather@gmail.com or{1}tweet to @kiri_feather in Twitter.{1}[OK] to open log file. [Cancel] to continue.</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1_ClickText1" xml:space="preserve">
+    <value>Followers refreshing...</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1_ClickText2" xml:space="preserve">
+    <value>Followers refresh error: </value>
+  </data>
+  <data name="UpdateFollowersMenuItem1_ClickText3" xml:space="preserve">
+    <value>Followers refreshed</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText1" xml:space="preserve">
+    <value>Mark black-favorite those selected tweets?</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Check black-favoring</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText3" xml:space="preserve">
+    <value>BlackFavoring</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText4" xml:space="preserve">
+    <value>No black-fav added</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText15_black" xml:space="preserve">
+    <value>Mark black-fav(</value>
+  </data>
+  <data name="TextBoxOutputzKey_Validating" xml:space="preserve">
+    <value>Your secret key using with Outputz must be fill-in.</value>
+  </data>
+  <data name="TextCountApi_Validating1" xml:space="preserve">
+    <value>Getting number of tweet in Api-mode must be 20 to 200.</value>
+  </data>
+  <data name="AddNewTabText4_2" xml:space="preserve">
+    <value>Date</value>
+  </data>
+  <data name="Tabs_DoubleClickText1" xml:space="preserve">
+    <value>Tab ""{0}"" is already exists; please specify other name.</value>
+  </data>
+  <data name="Tabs_DoubleClickText2" xml:space="preserve">
+    <value>Rename tab</value>
+  </data>
+  <data name="UnhandledExceptionText11" xml:space="preserve">
+    <value>Administrator  authority:</value>
+  </data>
+  <data name="UnhandledExceptionText12" xml:space="preserve">
+    <value>Users  authority:</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText19" xml:space="preserve">
+    <value>Fav refreshing...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText20" xml:space="preserve">
+    <value>Fav refreshed</value>
+  </data>
+  <data name="SetFiltersText12" xml:space="preserve">
+    <value> &lt;&lt;Exclude&gt;&gt; </value>
+  </data>
+  <data name="SetFiltersText13" xml:space="preserve">
+    <value>CaseSensitive/</value>
+  </data>
+  <data name="ApiInfo1" xml:space="preserve">
+    <value>Upper bound : </value>
+  </data>
+  <data name="ApiInfo2" xml:space="preserve">
+    <value>Remain count : </value>
+  </data>
+  <data name="ApiInfo3" xml:space="preserve">
+    <value>Reset time : </value>
+  </data>
+  <data name="ApiInfo4" xml:space="preserve">
+    <value>API Information</value>
+  </data>
+  <data name="ApiInfo5" xml:space="preserve">
+    <value>* Failed to get API information. *</value>
+  </data>
+  <data name="FRMessage1" xml:space="preserve">
+    <value>Please input user ID.</value>
+  </data>
+  <data name="FRMessage2" xml:space="preserve">
+    <value>Failed : </value>
+  </data>
+  <data name="FRMessage3" xml:space="preserve">
+    <value>Done!</value>
+  </data>
+  <data name="PostLengthOverMessage1" xml:space="preserve">
+    <value>The length of tweet is over 140 characters. Do you want to cut down automatically and to do post?</value>
+  </data>
+  <data name="PostLengthOverMessage2" xml:space="preserve">
+    <value>Over the limit length of tweet</value>
+  </data>
+  <data name="WebModeWarning1" xml:space="preserve">
+    <value>The web mode (=don't use api mode) has been selected now.</value>
+  </data>
+  <data name="WebModeWarning2" xml:space="preserve">
+    <value>* The Web mode has the possibility of violating the TOS of Twitter.</value>
+  </data>
+  <data name="WebModeWarning3" xml:space="preserve">
+    <value>* API mode has the frequency limitation to get TL.</value>
+  </data>
+  <data name="WebModeWarning4" xml:space="preserve">
+    <value>Please select "OK" when switching to API mode.</value>
+  </data>
+  <data name="WebModeWarning5" xml:space="preserve">
+    <value>Warning</value>
+  </data>
+  <data name="WebModeWarning6" xml:space="preserve">
+    <value>It switched to API mode.</value>
+  </data>
+  <data name="WebModeWarning7" xml:space="preserve">
+    <value>Please put the check in "Use API" in "Operation" tab of the setting when you want to return it to API mode.</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/My Project/Resources.resx b/Tween/My Project/Resources.resx
new file mode 100644 (file)
index 0000000..b5b89f8
--- /dev/null
@@ -0,0 +1,772 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="AddCustomTabsText1" xml:space="preserve">
+    <value>名前</value>
+  </data>
+  <data name="AddCustomTabsText2" xml:space="preserve">
+    <value>投稿</value>
+  </data>
+  <data name="AddCustomTabsText3" xml:space="preserve">
+    <value>日時</value>
+  </data>
+  <data name="AddCustomTabsText4" xml:space="preserve">
+    <value>ユーザ名</value>
+  </data>
+  <data name="AddNewTabText1" xml:space="preserve">
+    <value>(新規タブ)</value>
+  </data>
+  <data name="AddNewTabText2" xml:space="preserve">
+    <value>名前</value>
+  </data>
+  <data name="AddNewTabText3" xml:space="preserve">
+    <value>投稿</value>
+  </data>
+  <data name="AddNewTabText4" xml:space="preserve">
+    <value>取得日時</value>
+  </data>
+  <data name="AddNewTabText5" xml:space="preserve">
+    <value>ユーザ名</value>
+  </data>
+  <data name="AddTabMenuItem_ClickText1" xml:space="preserve">
+    <value>タブ ""{0}"" は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、追加できません。別の名前を指定してください。</value>
+  </data>
+  <data name="AddTabMenuItem_ClickText2" xml:space="preserve">
+    <value>タブ追加</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="At" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\5b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="AtBlink" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\6b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="AtRed" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\5r.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="AtSmoke" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\5y.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="Button3_ClickText1" xml:space="preserve">
+    <value>実行形式ファイル(*.exe)|*.exe|すべてのファイル(*.*)|*.*</value>
+  </data>
+  <data name="Button3_ClickText2" xml:space="preserve">
+    <value>ブラウザを指定してください</value>
+  </data>
+  <data name="ButtonDelete_ClickText1" xml:space="preserve">
+    <value>このルールを削除してもよろしいですか?{0}   『{1}』</value>
+  </data>
+  <data name="ButtonDelete_ClickText2" xml:space="preserve">
+    <value>ルール削除確認</value>
+  </data>
+  <data name="ButtonOK_ClickText1" xml:space="preserve">
+    <value>ルールを指定してください。</value>
+  </data>
+  <data name="ButtonOK_ClickText2" xml:space="preserve">
+    <value>ルールチェック</value>
+  </data>
+  <data name="ButtonOK_ClickText3" xml:space="preserve">
+    <value>正規表現エラー:</value>
+  </data>
+  <data name="ChangeLog" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\ChangeLog.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;shift_jis</value>
+  </data>
+  <data name="CheckNewVersionText1" xml:space="preserve">
+    <value>Tween更新確認</value>
+  </data>
+  <data name="CheckNewVersionText10" xml:space="preserve">
+    <value>更新版のバージョン取得に失敗しました。しばらく待ってから再度お試しください。</value>
+  </data>
+  <data name="CheckNewVersionText2" xml:space="preserve">
+    <value>Tween更新結果</value>
+  </data>
+  <data name="CheckNewVersionText3" xml:space="preserve">
+    <value>新しいバージョン {0} が公開されています。更新しますか?</value>
+  </data>
+  <data name="CheckNewVersionText4" xml:space="preserve">
+    <value>アップデーターのダウンロードに失敗しました。しばらく待ってから再度お試しください。</value>
+  </data>
+  <data name="CheckNewVersionText5" xml:space="preserve">
+    <value>最新版が公開されていますが、ダウンロードに失敗しました。しばらく待ってから再度お試しください。</value>
+  </data>
+  <data name="CheckNewVersionText6" xml:space="preserve">
+    <value>新しいバージョンは見つかりません。 {0} が公開されています。強制的に更新しますか?</value>
+  </data>
+  <data name="CheckNewVersionText7" xml:space="preserve">
+    <value>最新版をお使いです。更新の必要はありませんでした。使用中Ver:</value>
+  </data>
+  <data name="CheckNewVersionText8" xml:space="preserve">
+    <value>最新Ver:</value>
+  </data>
+  <data name="CheckNewVersionText9" xml:space="preserve">
+    <value>バージョンチェック失敗</value>
+  </data>
+  <data name="ClearTabMenuItem_ClickText1" xml:space="preserve">
+    <value>このタブの発言をクリアしてもよろしいですか?{0}(サーバーから発言は削除しません。)</value>
+  </data>
+  <data name="ClearTabMenuItem_ClickText2" xml:space="preserve">
+    <value>タブクリア確認</value>
+  </data>
+  <data name="ContextMenuStrip3_OpeningText1" xml:space="preserve">
+    <value>(アイコンが取得できていません)</value>
+  </data>
+  <data name="ContextMenuStrip3_OpeningText2" xml:space="preserve">
+    <value>(発言を選択してください)</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText1" xml:space="preserve">
+    <value>選択されている自発言(またはDM)を削除してもよろしいですか?{0}注意 : Twitterサーバからも削除されます!{0} タブからIDを削除する場合は、「IDを移動」を使ってください。{0} タブを削除する場合は、「タブを削除」を使ってください。{0}{0}削除処理を中止するには、「キャンセル」ボタンを押してください。</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText2" xml:space="preserve">
+    <value>削除確認</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText3" xml:space="preserve">
+    <value>削除失敗</value>
+  </data>
+  <data name="DeleteStripMenuItem_ClickText4" xml:space="preserve">
+    <value>削除成功</value>
+  </data>
+  <data name="DMPeriod_ValidatingText1" xml:space="preserve">
+    <value>更新間隔には数値(0または30~6000)を指定してください。</value>
+  </data>
+  <data name="DMPeriod_ValidatingText2" xml:space="preserve">
+    <value>更新間隔には数値(0または30~6000)を指定してください。</value>
+  </data>
+  <data name="DoTabSearchText1" xml:space="preserve">
+    <value>正規表現パターンが間違っています。</value>
+  </data>
+  <data name="DoTabSearchText2" xml:space="preserve">
+    <value>検索条件に一致するデータは見つかりません。</value>
+  </data>
+  <data name="DoTabSearchText3" xml:space="preserve">
+    <value>検索</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText1" xml:space="preserve">
+    <value>選択された発言をFavoritesに追加します。よろしいですか?</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Fav確認</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText3" xml:space="preserve">
+    <value>Fav追加中...</value>
+  </data>
+  <data name="FavAddToolStripMenuItem_ClickText4" xml:space="preserve">
+    <value>Fav追加なし</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText1" xml:space="preserve">
+    <value>選択された発言をFavoritesから削除します。よろしいですか?</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Fav確認</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText3" xml:space="preserve">
+    <value>Fav削除中...</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem_ClickText4" xml:space="preserve">
+    <value>Fav削除なし</value>
+  </data>
+  <data name="Form1_LoadText1" xml:space="preserve">
+    <value>更新中...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText1" xml:space="preserve">
+    <value>Recent更新完了</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText10" xml:space="preserve">
+    <value>起動時読込完了</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText11" xml:space="preserve">
+    <value>DMRcv更新完了</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText12" xml:space="preserve">
+    <value>DMSnt更新中...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText13" xml:space="preserve">
+    <value>DMSnt更新完了</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText14" xml:space="preserve">
+    <value>POST完了</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText15" xml:space="preserve">
+    <value>Fav追加(</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText16" xml:space="preserve">
+    <value>) 失敗:</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText17" xml:space="preserve">
+    <value>Fav削除(</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText18" xml:space="preserve">
+    <value>) 失敗:</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText2" xml:space="preserve">
+    <value> ポストまで読み込み完了。さらに読み込みますか?</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText3" xml:space="preserve">
+    <value>読み込み継続確認</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText4" xml:space="preserve">
+    <value>Reply更新中...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText5" xml:space="preserve">
+    <value>Recent更新中...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText6" xml:space="preserve">
+    <value>pages</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText8" xml:space="preserve">
+    <value>DMRcv更新中...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText9" xml:space="preserve">
+    <value>Reply更新完了</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText1" xml:space="preserve">
+    <value>(新規タブ)</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText2" xml:space="preserve">
+    <value>タブ ""{0}"" は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、追加できません。別の名前を指定してください。</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText3" xml:space="preserve">
+    <value>タブ追加</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText4" xml:space="preserve">
+    <value>Recentに残しますか?{0}  「はい」 :残す{0}  「いいえ」:残さない</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText5" xml:space="preserve">
+    <value>移動確認</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText6" xml:space="preserve">
+    <value>マークをつけますか?{0}  「はい」 :つける{0}  「いいえ」:つけない</value>
+  </data>
+  <data name="IDRuleMenuItem_ClickText7" xml:space="preserve">
+    <value>マーク確認</value>
+  </data>
+  <data name="InfoTwitterMenuItem_ClickText1" xml:space="preserve">
+    <value>Twitterからのお知らせはありません。</value>
+  </data>
+  <data name="InfoTwitterMenuItem_ClickText2" xml:space="preserve">
+    <value>Twitterからのお知らせ</value>
+  </data>
+  <data name="LoadConfigurationText1" xml:space="preserve">
+    <value>この設定ファイルは Tween により自動生成されました。手動で変更しないでください。</value>
+  </data>
+  <data name="MenuItemSearchNext_ClickText1" xml:space="preserve">
+    <value>正規表現パターンが間違っています。</value>
+  </data>
+  <data name="MenuItemSearchNext_ClickText2" xml:space="preserve">
+    <value>検索条件に一致するデータは見つかりません。</value>
+  </data>
+  <data name="MenuItemSearchNext_ClickText3" xml:space="preserve">
+    <value>検索</value>
+  </data>
+  <data name="MenuItemSearchPrev_ClickText1" xml:space="preserve">
+    <value>正規表現パターンが間違っています。</value>
+  </data>
+  <data name="MenuItemSearchPrev_ClickText2" xml:space="preserve">
+    <value>検索条件に一致するデータは見つかりません。</value>
+  </data>
+  <data name="MenuItemSearchPrev_ClickText3" xml:space="preserve">
+    <value>検索</value>
+  </data>
+  <data name="MIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\4b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="NextPages_ValidatingText1" xml:space="preserve">
+    <value>ページ数には数値(1~20)を指定してください。</value>
+  </data>
+  <data name="NextPages_ValidatingText2" xml:space="preserve">
+    <value>ページ数には数値(1~20)を指定してください。</value>
+  </data>
+  <data name="NextThreshold_ValidatingText1" xml:space="preserve">
+    <value>閾値には数値(1~20)を指定してください。</value>
+  </data>
+  <data name="NextThreshold_ValidatingText2" xml:space="preserve">
+    <value>閾値には数値(1~20)を指定してください。</value>
+  </data>
+  <data name="PostWorker_RunWorkerCompletedText4" xml:space="preserve">
+    <value>POST完了</value>
+  </data>
+  <data name="PostWorker_RunWorkerCompletedText5" xml:space="preserve">
+    <value>Recent更新中...</value>
+  </data>
+  <data name="Refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\re.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="Refresh2" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\re2.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="Refresh3" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\re3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="Refresh4" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\re4.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="RefreshDirectMessageText1" xml:space="preserve">
+    <value>新着</value>
+  </data>
+  <data name="RefreshDirectMessageText2" xml:space="preserve">
+    <value>件</value>
+  </data>
+  <data name="RefreshStripMenuItem_ClickText1" xml:space="preserve">
+    <value>Recent更新中...</value>
+  </data>
+  <data name="RefreshStripMenuItem_ClickText2" xml:space="preserve">
+    <value>Reply更新中...</value>
+  </data>
+  <data name="RefreshStripMenuItem_ClickText3" xml:space="preserve">
+    <value>DMRcv更新中...</value>
+  </data>
+  <data name="RefreshTimelineText1" xml:space="preserve">
+    <value>新着</value>
+  </data>
+  <data name="RefreshTimelineText2" xml:space="preserve">
+    <value>件</value>
+  </data>
+  <data name="RefreshTimelineText3" xml:space="preserve">
+    <value>ログ読込</value>
+  </data>
+  <data name="RefreshTimelineText4" xml:space="preserve">
+    <value>起動読込</value>
+  </data>
+  <data name="RemoveSpecifiedTabText1" xml:space="preserve">
+    <value>このタブを削除してもよろしいですか?{0}(このタブの発言はRecentへ戻されます。)</value>
+  </data>
+  <data name="RemoveSpecifiedTabText2" xml:space="preserve">
+    <value>タブの削除確認</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText1" xml:space="preserve">
+    <value>選択中タブの全発言を保存しますか?{0} 「はい」   :全発言を保存する{0} 「いいえ」  :選択している発言のみ保存する{0} 「キャンセル」:保存処理をキャンセル{0}(タブ区切りのテキストファイル形式で保存します)</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText2" xml:space="preserve">
+    <value>保存対象選択</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText3" xml:space="preserve">
+    <value>TSVファイル(*.tsv)|*.tsv|すべてのファイル(*.*)|*.*</value>
+  </data>
+  <data name="SaveLogMenuItem_ClickText4" xml:space="preserve">
+    <value>保存先のファイルを選択してください</value>
+  </data>
+  <data name="Save_ClickText1" xml:space="preserve">
+    <value>ユーザー名とパスワードを指定してください。</value>
+  </data>
+  <data name="Save_ClickText2" xml:space="preserve">
+    <value>ユーザー名に『@』を含めないでください。(メールアドレス不可)</value>
+  </data>
+  <data name="Save_ClickText3" xml:space="preserve">
+    <value>設定値に誤りがあります。</value>
+  </data>
+  <data name="SearchItem1Url" xml:space="preserve">
+    <value>http://ja.wikipedia.org/wiki/{0}</value>
+  </data>
+  <data name="SearchItem2Url" xml:space="preserve">
+    <value>http://www.google.com/search?hl=ja&amp;q={0}</value>
+  </data>
+  <data name="SearchItem3Url" xml:space="preserve">
+    <value>http://pcod.no-ip.org/yats/search?query={0}</value>
+  </data>
+  <data name="SearchItem4Url" xml:space="preserve">
+    <value>http://search.twitter.com/search?q={0}</value>
+  </data>
+  <data name="SetFiltersText1" xml:space="preserve">
+    <value>[ユーザ・・・{0}]  </value>
+  </data>
+  <data name="SetFiltersText10" xml:space="preserve">
+    <value>マークする</value>
+  </data>
+  <data name="SetFiltersText11" xml:space="preserve">
+    <value>コピーする/</value>
+  </data>
+  <data name="SetFiltersText2" xml:space="preserve">
+    <value>[ユーザ・・・(全て)]  </value>
+  </data>
+  <data name="SetFiltersText3" xml:space="preserve">
+    <value>[本文・・・</value>
+  </data>
+  <data name="SetFiltersText4" xml:space="preserve">
+    <value>]  </value>
+  </data>
+  <data name="SetFiltersText5" xml:space="preserve">
+    <value>複合/</value>
+  </data>
+  <data name="SetFiltersText6" xml:space="preserve">
+    <value>単一/</value>
+  </data>
+  <data name="SetFiltersText7" xml:space="preserve">
+    <value>Regexp/</value>
+  </data>
+  <data name="SetFiltersText8" xml:space="preserve">
+    <value>URL/</value>
+  </data>
+  <data name="SetFiltersText9" xml:space="preserve">
+    <value>移動する</value>
+  </data>
+  <data name="SetMainWindowTitleText1" xml:space="preserve">
+    <value>{0}件 (未読@)</value>
+  </data>
+  <data name="SetMainWindowTitleText2" xml:space="preserve">
+    <value>{0}件 (未読)</value>
+  </data>
+  <data name="SetMainWindowTitleText3" xml:space="preserve">
+    <value>{0} ({1})件 (未読)</value>
+  </data>
+  <data name="SetMainWindowTitleText4" xml:space="preserve">
+    <value>{0}/{1}件 (未読/総件数)</value>
+  </data>
+  <data name="SetStatusLabelText1" xml:space="preserve">
+    <value>[タブ: {0}/{1} 全体: {2}/{3} (返信: {4})] [時速: 投 {5}/ ☆ {6}/ 流 {7}] [間隔: </value>
+  </data>
+  <data name="SetStatusLabelText2" xml:space="preserve">
+    <value>-]</value>
+  </data>
+  <data name="SetStatusLabelText3" xml:space="preserve">
+    <value>]</value>
+  </data>
+  <data name="StartupReadDM_ValidatingText1" xml:space="preserve">
+    <value>読み込みページ数には数値(1~999)を指定してください。</value>
+  </data>
+  <data name="StartupReadDM_ValidatingText2" xml:space="preserve">
+    <value>読み込みページ数には数値(1~999)を指定してください。</value>
+  </data>
+  <data name="StartupReadPages_ValidatingText1" xml:space="preserve">
+    <value>読み込みページ数には数値(1~999)を指定してください。</value>
+  </data>
+  <data name="StartupReadPages_ValidatingText2" xml:space="preserve">
+    <value>読み込みページ数には数値(1~999)を指定してください。</value>
+  </data>
+  <data name="StartupReadReply_ValidatingText1" xml:space="preserve">
+    <value>読み込みページ数には数値(0~999)を指定してください。</value>
+  </data>
+  <data name="StartupReadReply_ValidatingText2" xml:space="preserve">
+    <value>読み込みページ数には数値(0~999)を指定してください。</value>
+  </data>
+  <data name="StartupText1" xml:space="preserve">
+    <value>Tweenは既に起動されています。2重起動する場合は、別フォルダのTween.exeを実行してください。</value>
+  </data>
+  <data name="StartupText2" xml:space="preserve">
+    <value>Tween二重起動チェック</value>
+  </data>
+  <data name="TabIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\3b.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="TabMenuItem_ClickText1" xml:space="preserve">
+    <value>(新規タブ)</value>
+  </data>
+  <data name="TabMenuItem_ClickText2" xml:space="preserve">
+    <value>タブ ""{0}"" は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、追加できません。別の名前を指定してください。</value>
+  </data>
+  <data name="TabMenuItem_ClickText3" xml:space="preserve">
+    <value>タブ追加</value>
+  </data>
+  <data name="TextProxyPort_ValidatingText1" xml:space="preserve">
+    <value>ポート番号には整数値を指定してください。</value>
+  </data>
+  <data name="TextProxyPort_ValidatingText2" xml:space="preserve">
+    <value>ポート番号には0~65535を指定してください。</value>
+  </data>
+  <data name="TimelinePeriod_ValidatingText1" xml:space="preserve">
+    <value>更新間隔には数値(0または30~6000)を指定してください。</value>
+  </data>
+  <data name="TimelinePeriod_ValidatingText2" xml:space="preserve">
+    <value>更新間隔には数値(0または30~6000)を指定してください。</value>
+  </data>
+  <data name="TimerDM_TickText1" xml:space="preserve">
+    <value>DMRcv更新中...</value>
+  </data>
+  <data name="TimerTimeline_TickText1" xml:space="preserve">
+    <value>Recent更新中...</value>
+  </data>
+  <data name="TraceOutText1" xml:space="preserve">
+    <value>このファイルの内容を kiri_feather@users.sourceforge.jp まで送っていただけると助かります。</value>
+  </data>
+  <data name="TraceOutText2" xml:space="preserve">
+    <value>ご面倒なら@kiri_featherまでお知らせ頂くだけでも助かります。</value>
+  </data>
+  <data name="TraceOutText3" xml:space="preserve">
+    <value>動作環境:</value>
+  </data>
+  <data name="TraceOutText4" xml:space="preserve">
+    <value>   オペレーティング システム: {0}</value>
+  </data>
+  <data name="TraceOutText5" xml:space="preserve">
+    <value>   共通言語ランタイム          : {0}</value>
+  </data>
+  <data name="TraceOutText6" xml:space="preserve">
+    <value>   Tween.exeのバージョン    : {0}</value>
+  </data>
+  <data name="TweenAboutBox_LoadText1" xml:space="preserve">
+    <value>{0} のバージョン情報</value>
+  </data>
+  <data name="TweenAboutBox_LoadText2" xml:space="preserve">
+    <value>バージョン {0}</value>
+  </data>
+  <data name="UnhandledExceptionText1" xml:space="preserve">
+    <value>**** エラー ログ: {0} ****</value>
+  </data>
+  <data name="UnhandledExceptionText10" xml:space="preserve">
+    <value>エラー発生</value>
+  </data>
+  <data name="UnhandledExceptionText2" xml:space="preserve">
+    <value>このファイルの内容を kiri_feather@users.sourceforge.jp まで送っていただけると助かります。</value>
+  </data>
+  <data name="UnhandledExceptionText3" xml:space="preserve">
+    <value>ご面倒なら@kiri_featherまでお知らせ頂くだけでも助かります。</value>
+  </data>
+  <data name="UnhandledExceptionText4" xml:space="preserve">
+    <value>動作環境:</value>
+  </data>
+  <data name="UnhandledExceptionText5" xml:space="preserve">
+    <value>   オペレーティング システム: {0}</value>
+  </data>
+  <data name="UnhandledExceptionText6" xml:space="preserve">
+    <value>   共通言語ランタイム          : {0}</value>
+  </data>
+  <data name="UnhandledExceptionText7" xml:space="preserve">
+    <value>   Tween.exeのバージョン    : {0}</value>
+  </data>
+  <data name="UnhandledExceptionText8" xml:space="preserve">
+    <value>例外 {0}: {1}</value>
+  </data>
+  <data name="UnhandledExceptionText9" xml:space="preserve">
+    <value>エラーが発生しました。ごめんなさい。ログをexeファイルのある場所に {0} として作ったので、kiri.feather@gmail.comまで送っていただけると助かります。{1}ご面倒なら@kiri_featherまでお知らせ頂くだけでも助かります。{1}「はい」ボタンをクリックするとログを開きます。ログを開かない場合は「いいえ」、このまま終了する場合は「キャンセル」ボタンをクリックしてください。</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1_ClickText1" xml:space="preserve">
+    <value>Followers取得中...</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1_ClickText2" xml:space="preserve">
+    <value>Followers取得エラー:</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1_ClickText3" xml:space="preserve">
+    <value>Followers取得完了</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText1" xml:space="preserve">
+    <value>選択された発言をBlack Favoritesに追加します。よろしいですか?</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText2" xml:space="preserve">
+    <value>BlackFav確認</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText3" xml:space="preserve">
+    <value>BlackFav追加中...</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem_ClickText4" xml:space="preserve">
+    <value>BlackFav追加なし</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText15_black" xml:space="preserve">
+    <value>BlackFav追加(</value>
+  </data>
+  <data name="TextBoxOutputzKey_Validating" xml:space="preserve">
+    <value>復活の呪文を指定してください。</value>
+  </data>
+  <data name="CmbDateTimeFormat_Validating" xml:space="preserve">
+    <value>無効な日時書式指定文字列です</value>
+  </data>
+  <data name="CreateDateTimeFormatSampleText1" xml:space="preserve">
+    <value>無効な日時書式指定文字列です</value>
+  </data>
+  <data name="ConnectionTimeOut_ValidatingText1" xml:space="preserve">
+    <value>タイムアウトまでの時間には数値(0~120)を指定してください。</value>
+  </data>
+  <data name="TextCountApi_Validating1" xml:space="preserve">
+    <value>取得発言数は20~200件を指定してください。</value>
+  </data>
+  <data name="UnhandledExceptionText11" xml:space="preserve">
+    <value>Administrator権限:</value>
+  </data>
+  <data name="UnhandledExceptionText12" xml:space="preserve">
+    <value>Users権限:</value>
+  </data>
+  <data name="AddNewTabText4_2" xml:space="preserve">
+    <value>日時</value>
+  </data>
+  <data name="Tabs_DoubleClickText1" xml:space="preserve">
+    <value>タブ ""{0}"" は既に存在するか、使えない文字( \ : / ? * &lt; &gt; | )を含んでいるため、変更できません。別の名前を指定してください。</value>
+  </data>
+  <data name="Tabs_DoubleClickText2" xml:space="preserve">
+    <value>タブ名変更</value>
+  </data>
+  <data name="ButtonOK_ClickText4" xml:space="preserve">
+    <value>既に存在するルールは追加できません</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText19" xml:space="preserve">
+    <value>Fav取得中...</value>
+  </data>
+  <data name="GetTimelineWorker_RunWorkerCompletedText20" xml:space="preserve">
+    <value>Fav取得完了</value>
+  </data>
+  <data name="Reply" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\5g.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="ReplyBlink" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\6g.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="SetFiltersText12" xml:space="preserve">
+    <value> &lt;&lt;除外&gt;&gt; </value>
+  </data>
+  <data name="SetFiltersText13" xml:space="preserve">
+    <value>大小区別/</value>
+  </data>
+  <data name="ApiInfo1" xml:space="preserve">
+    <value>上限 : </value>
+  </data>
+  <data name="ApiInfo2" xml:space="preserve">
+    <value>残数 : </value>
+  </data>
+  <data name="ApiInfo3" xml:space="preserve">
+    <value>リセット日時 : </value>
+  </data>
+  <data name="ApiInfo4" xml:space="preserve">
+    <value>API情報</value>
+  </data>
+  <data name="ApiInfo5" xml:space="preserve">
+    <value> * API情報の取得に失敗 *</value>
+  </data>
+  <data name="FRMessage1" xml:space="preserve">
+    <value>idを入力して下さい。</value>
+  </data>
+  <data name="FRMessage2" xml:space="preserve">
+    <value>失敗 : </value>
+  </data>
+  <data name="FRMessage3" xml:space="preserve">
+    <value>完了!</value>
+  </data>
+  <data name="PostLengthOverMessage1" xml:space="preserve">
+    <value>140文字を越えています。URL短縮、フッタ除去、末尾カットを行って投稿しますか?</value>
+  </data>
+  <data name="PostLengthOverMessage2" xml:space="preserve">
+    <value>文字数制限オーバー</value>
+  </data>
+  <data name="WebModeWarning1" xml:space="preserve">
+    <value>現在Webモードです。</value>
+  </data>
+  <data name="WebModeWarning2" xml:space="preserve">
+    <value>* Webモードの使用はTwitterの利用規約に違反する恐れがあります。</value>
+  </data>
+  <data name="WebModeWarning3" xml:space="preserve">
+    <value>* APIモードではタイムライン取得に回数制限があります。</value>
+  </data>
+  <data name="WebModeWarning4" xml:space="preserve">
+    <value>APIモードに切り替える場合は「OK」を押してください。</value>
+  </data>
+  <data name="WebModeWarning5" xml:space="preserve">
+    <value>警告</value>
+  </data>
+  <data name="WebModeWarning6" xml:space="preserve">
+    <value>APIモードへ切り替えました。</value>
+  </data>
+  <data name="WebModeWarning7" xml:space="preserve">
+    <value>APIモードへ戻す場合は、設定の「動作」タブにある「API使用」にチェックを入れて下さい。</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/My Project/Settings.Designer.vb b/Tween/My Project/Settings.Designer.vb
new file mode 100644 (file)
index 0000000..6894ebf
--- /dev/null
@@ -0,0 +1,73 @@
+'------------------------------------------------------------------------------
+' <auto-generated>
+'     このコードはツールによって生成されました。
+'     ランタイム バージョン:2.0.50727.3603
+'
+'     このファイルへの変更は、以下の状況下で不正な動作の原因になったり、
+'     コードが再生成されるときに損失したりします。
+' </auto-generated>
+'------------------------------------------------------------------------------
+
+Option Strict On
+Option Explicit On
+
+
+Namespace My
+    
+    <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(),  _
+     Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0"),  _
+     Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)>  _
+    Partial Friend NotInheritable Class MySettings
+        Inherits Global.System.Configuration.ApplicationSettingsBase
+        
+        Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings),MySettings)
+        
+#Region "My.Settings 自動保存機能"
+#If _MyType = "WindowsForms" Then
+    Private Shared addedHandler As Boolean
+
+    Private Shared addedHandlerLockObject As New Object
+
+    <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
+    Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
+        If My.Application.SaveMySettingsOnExit Then
+            My.Settings.Save()
+        End If
+    End Sub
+#End If
+#End Region
+        
+        Public Shared ReadOnly Property [Default]() As MySettings
+            Get
+                
+#If _MyType = "WindowsForms" Then
+               If Not addedHandler Then
+                    SyncLock addedHandlerLockObject
+                        If Not addedHandler Then
+                            AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings
+                            addedHandler = True
+                        End If
+                    End SyncLock
+                End If
+#End If
+                Return defaultInstance
+            End Get
+        End Property
+    End Class
+End Namespace
+
+Namespace My
+    
+    <Global.Microsoft.VisualBasic.HideModuleNameAttribute(),  _
+     Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),  _
+     Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()>  _
+    Friend Module MySettingsProperty
+        
+        <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")>  _
+        Friend ReadOnly Property Settings() As Global.Tween.My.MySettings
+            Get
+                Return Global.Tween.My.MySettings.Default
+            End Get
+        End Property
+    End Module
+End Namespace
diff --git a/Tween/My Project/Settings.settings b/Tween/My Project/Settings.settings
new file mode 100644 (file)
index 0000000..f7f176a
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
+  <Profiles />
+  <Settings />
+</SettingsFile>
\ No newline at end of file
diff --git a/Tween/MyCommon.vb b/Tween/MyCommon.vb
new file mode 100644 (file)
index 0000000..0ac187e
--- /dev/null
@@ -0,0 +1,532 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Text
+Imports System.Globalization
+Imports System.Security.Principal
+Imports System.Reflection
+Imports System.Web
+
+Public Module MyCommon
+    Private ReadOnly LockObj As New Object
+    Public _endingFlag As Boolean        '終了フラグ
+
+    Public Enum IconSizes
+        IconNone = 0
+        Icon16 = 1
+        Icon24 = 2
+        Icon48 = 3
+        Icon48_2 = 4
+    End Enum
+
+    Public Enum NameBalloonEnum
+        None
+        UserID
+        NickName
+    End Enum
+
+    Public Enum DispTitleEnum
+        None
+        Ver
+        Post
+        UnreadRepCount
+        UnreadAllCount
+        UnreadAllRepCount
+        UnreadCountAllCount
+    End Enum
+
+    Public Enum LogUnitEnum
+        Minute
+        Hour
+        Day
+    End Enum
+
+    Public Enum ProxyType
+        None
+        IE
+        Specified
+    End Enum
+
+    Public Enum UrlConverter
+        TinyUrl
+        Isgd
+        Twurl
+        Unu
+        Bitly
+        Jmp
+    End Enum
+
+    Public Enum OutputzUrlmode
+        twittercom
+        twittercomWithUsername
+    End Enum
+
+    Public Enum HITRESULT
+        None
+        Copy
+        CopyAndMark
+        Move
+        Exclude
+    End Enum
+
+    Public Enum HttpTimeOut
+        MinValue = 10
+        MaxValue = 120
+        DefaultValue = 20
+    End Enum
+
+    'Backgroundworkerへ処理種別を通知するための引数用Enum
+    Public Enum WORKERTYPE
+        Timeline                'タイムライン取得
+        Reply                   '返信取得
+        DirectMessegeRcv        '受信DM取得
+        DirectMessegeSnt        '送信DM取得
+        PostMessage             '発言POST
+        FavAdd                  'Fav追加
+        FavRemove               'Fav削除
+        BlackFavAdd             'BlackFav追加 (Added by shuyoko <http://twitter.com/shuyoko>)
+        Follower                'Followerリスト取得
+        OpenUri                 'Uri開く
+        Favorites               'Fav取得
+    End Enum
+
+    Public Structure DEFAULTTAB
+        Const RECENT As String = "Recent"
+        Const REPLY As String = "Reply"
+        Const DM As String = "Direct"
+        Const FAV As String = "Favorites"
+
+        Private dummy As String
+
+        Private Shadows Function ReferenceEquals() As Object
+            Return New Object
+        End Function
+        Private Shadows Function Equals() As Object
+            Return New Object
+        End Function
+    End Structure
+
+    Public Const Block As Object = Nothing
+    Public TraceFlag As Boolean = False
+
+#If DEBUG Then
+    Public DebugBuild As Boolean = True
+#Else
+    Public DebugBuild As Boolean = False
+#End If
+
+    Public Structure ApiInfo
+        Dim MaxCount As Integer
+        Dim RemainCount As Integer
+        Dim ResetTime As DateTime
+        Dim ResetTimeInSeconds As Integer
+    End Structure
+
+    Public Enum ACCOUNT_STATE
+        Valid
+        Invalid
+        Validating
+    End Enum
+
+    Public Enum REPLY_ICONSTATE
+        None
+        StaticIcon
+        BlinkIcon
+    End Enum
+
+    Public Sub TraceOut(ByVal Message As String)
+        TraceOut(TraceFlag, Message)
+    End Sub
+
+    Public Sub TraceOut(ByVal OutputFlag As Boolean, ByVal Message As String)
+        SyncLock LockObj
+            If Not OutputFlag Then Exit Sub
+            Dim now As DateTime = DateTime.Now
+            Dim fileName As String = String.Format("TweenTrace-{0:0000}{1:00}{2:00}-{3:00}{4:00}{5:00}.log", now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second)
+
+            Using writer As IO.StreamWriter = New IO.StreamWriter(fileName)
+                writer.WriteLine("**** TraceOut: {0} ****", DateTime.Now.ToString())
+                writer.WriteLine(My.Resources.TraceOutText1)
+                writer.WriteLine(My.Resources.TraceOutText2)
+                writer.WriteLine()
+                writer.WriteLine(My.Resources.TraceOutText3)
+                writer.WriteLine(My.Resources.TraceOutText4, Environment.OSVersion.VersionString)
+                writer.WriteLine(My.Resources.TraceOutText5, Environment.Version.ToString())
+                writer.WriteLine(My.Resources.TraceOutText6, fileVersion)
+                writer.WriteLine(Message)
+                writer.WriteLine()
+            End Using
+        End SyncLock
+    End Sub
+
+    ' エラー内容をバッファに書き出し
+    ' 注意:最終的にファイル出力されるエラーログに記録されるため次の情報は書き出さない
+    ' 文頭メッセージ、権限、動作環境
+    ' Dataプロパティにある終了許可フラグのパースもここで行う
+
+    Public Function ExceptionOut(ByVal ex As Exception, ByVal buffer As String, _
+                                 Optional ByRef IsTerminatePermission As Boolean = True) As String
+        Dim buf As New StringBuilder
+
+        buf.AppendFormat(My.Resources.UnhandledExceptionText8, ex.GetType().FullName, ex.Message)
+        buf.AppendLine()
+        If ex.Data IsNot Nothing Then
+            Dim needHeader As Boolean = True
+            For Each dt As DictionaryEntry In ex.Data
+                If needHeader Then
+                    buf.AppendLine()
+                    buf.AppendLine("-------Extra Information-------")
+                    needHeader = False
+                End If
+                buf.AppendFormat("{0}  :  {1}", dt.Key, dt.Value)
+                buf.AppendLine()
+                If dt.Key.Equals("IsTerminatePermission") Then
+                    IsTerminatePermission = CBool(dt.Value)
+                End If
+            Next
+            If Not needHeader Then
+                buf.AppendLine("-----End Extra Information-----")
+            End If
+        End If
+        buf.AppendLine(ex.StackTrace)
+        buf.AppendLine()
+
+        'InnerExceptionが存在する場合書き出す
+        Dim _ex As Exception = ex.InnerException
+        Dim nesting As Integer = 0
+        While _ex IsNot Nothing
+            buf.AppendFormat("-----InnerException[{0}]-----" + vbCrLf, nesting)
+            buf.AppendLine()
+            buf.AppendFormat(My.Resources.UnhandledExceptionText8, _ex.GetType().FullName, _ex.Message)
+            buf.AppendLine()
+            If _ex.Data IsNot Nothing Then
+                Dim needHeader As Boolean = True
+
+                For Each dt As DictionaryEntry In _ex.Data
+                    If needHeader Then
+                        buf.AppendLine()
+                        buf.AppendLine("-------Extra Information-------")
+                        needHeader = False
+                    End If
+                    buf.AppendFormat("{0}  :  {1}", dt.Key, dt.Value)
+                    If dt.Key.Equals("IsTerminatePermission") Then
+                        IsTerminatePermission = CBool(dt.Value)
+                    End If
+                Next
+                If Not needHeader Then
+                    buf.AppendLine("-----End Extra Information-----")
+                End If
+            End If
+            buf.AppendLine(_ex.StackTrace)
+            buf.AppendLine()
+            nesting += 1
+            _ex = _ex.InnerException
+        End While
+        buffer = buf.ToString()
+        Return buffer
+    End Function
+
+    Public Function ExceptionOut(ByVal ex As Exception) As Boolean
+        SyncLock LockObj
+            Dim IsTerminatePermission As Boolean = True
+            Dim now As DateTime = DateTime.Now
+            Dim fileName As String = String.Format("Tween-{0:0000}{1:00}{2:00}-{3:00}{4:00}{5:00}.log", now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second)
+
+            Using writer As IO.StreamWriter = New IO.StreamWriter(fileName)
+                Dim ident As WindowsIdentity = WindowsIdentity.GetCurrent()
+                Dim princ As New WindowsPrincipal(ident)
+
+                writer.WriteLine(My.Resources.UnhandledExceptionText1, DateTime.Now.ToString())
+                writer.WriteLine(My.Resources.UnhandledExceptionText2)
+                writer.WriteLine(My.Resources.UnhandledExceptionText3)
+                ' 権限書き出し
+                writer.WriteLine(My.Resources.UnhandledExceptionText11 + princ.IsInRole(WindowsBuiltInRole.Administrator).ToString)
+                writer.WriteLine(My.Resources.UnhandledExceptionText12 + princ.IsInRole(WindowsBuiltInRole.User).ToString)
+                writer.WriteLine()
+                ' OSVersion,AppVersion書き出し
+                writer.WriteLine(My.Resources.UnhandledExceptionText4)
+                writer.WriteLine(My.Resources.UnhandledExceptionText5, Environment.OSVersion.VersionString)
+                writer.WriteLine(My.Resources.UnhandledExceptionText6, Environment.Version.ToString())
+                writer.WriteLine(My.Resources.UnhandledExceptionText7, fileVersion)
+
+                Dim buffer As String = Nothing
+                writer.Write(ExceptionOut(ex, buffer, IsTerminatePermission))
+                writer.Flush()
+            End Using
+
+            Select Case MessageBox.Show(String.Format(My.Resources.UnhandledExceptionText9, fileName, Environment.NewLine), _
+                               My.Resources.UnhandledExceptionText10, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Error)
+                Case DialogResult.Yes
+                    Diagnostics.Process.Start(fileName)
+                    Return False
+                Case DialogResult.No
+                    Return False
+                Case DialogResult.Cancel
+                    Return IsTerminatePermission
+            End Select
+        End SyncLock
+    End Function
+
+    ''' <summary>
+    ''' URLに含まれているマルチバイト文字列を%xx形式でエンコードします。
+    ''' <newpara>
+    ''' マルチバイト文字のコードはUTF-8またはUnicodeで自動的に判断します。
+    ''' </newpara>
+    ''' </summary>
+    ''' <param name = input>エンコード対象のURL</param>
+    ''' <returns>マルチバイト文字の部分をUTF-8/%xx形式でエンコードした文字列を返します。</returns>
+
+    Public Function urlEncodeMultibyteChar(ByVal _input As String) As String
+        Dim uri As Uri = Nothing
+        Dim sb As StringBuilder = New StringBuilder(256)
+        Dim result As String = ""
+        Dim c As Char = "d"c
+        For Each c In _input
+            If Convert.ToInt32(c) > 127 Then Exit For
+        Next
+        If Convert.ToInt32(c) <= 127 Then Return _input
+
+        Dim input As String = HttpUtility.UrlDecode(_input)
+retry:
+        For Each c In input
+            If Convert.ToInt32(c) > 255 Then
+                ' Unicodeの場合(1charが複数のバイトで構成されている)
+                ' UriクラスをNewして再構成し、入力をPathAndQueryのみとしてやり直す
+                If uri Is Nothing Then
+                    uri = New Uri(input)
+                    input = uri.PathAndQuery
+                    sb.Length = 0
+                    GoTo retry
+                End If
+            ElseIf Convert.ToInt32(c) > 127 Then
+                ' UTF-8の場合
+                ' UriクラスをNewして再構成し、入力をinputからAuthority部分を除去してやり直す
+                If uri Is Nothing Then
+                    uri = New Uri(input)
+                    input = input.Remove(0, uri.GetLeftPart(UriPartial.Authority).Length)
+                    sb.Length = 0
+                    GoTo retry
+                Else
+                    sb.Append("%" + Convert.ToInt16(c).ToString("X2").ToUpper())
+                End If
+            Else
+                sb.Append(c)
+            End If
+        Next
+
+        If uri Is Nothing Then
+            result = sb.ToString()
+        Else
+            result = uri.GetLeftPart(UriPartial.Authority) + sb.ToString()
+        End If
+
+        Return result
+    End Function
+
+    ''' <summary>
+    ''' URLのドメイン名をPunycode展開します。
+    ''' <para>
+    ''' ドメイン名がIDNでない場合はそのまま返します。
+    ''' ドメインラベルの区切り文字はFULLSTOP(.、U002E)に置き換えられます。
+    ''' </para>
+    ''' </summary>
+    ''' <param name="input">展開対象のURL</param>
+    ''' <returns>IDNが含まれていた場合はPunycodeに展開したURLをを返します。Punycode展開時にエラーが発生した場合はNothingを返します。</returns>
+
+    Public Function IDNDecode(ByVal input As String) As String
+        Dim result As String = ""
+        Dim IDNConverter As New IdnMapping
+
+        If Not input.Contains("://") Then Return Nothing
+
+        ' ドメイン名をPunycode展開
+        Dim Domain As String
+        Dim AsciiDomain As String
+
+        Try
+            Domain = input.Split("/"c)(2)
+            AsciiDomain = IDNConverter.GetAscii(Domain)
+        Catch ex As Exception
+            Return Nothing
+        End Try
+
+        Return input.Replace("://" + Domain, "://" + AsciiDomain)
+    End Function
+
+    Public Sub MoveArrayItem(ByVal values() As Integer, ByVal idx_fr As Integer, ByVal idx_to As Integer)
+        Dim moved_value As Integer = values(idx_fr)
+        Dim num_moved As Integer = Math.Abs(idx_fr - idx_to)
+
+        If idx_to < idx_fr Then
+            Array.Copy(values, idx_to, values, _
+                idx_to + 1, num_moved)
+        Else
+            Array.Copy(values, idx_fr + 1, values, _
+                idx_fr, num_moved)
+        End If
+
+        values(idx_to) = moved_value
+    End Sub
+
+    Public Function EncryptString(ByVal str As String) As String
+        If String.IsNullOrEmpty(str) Then Return ""
+
+        '文字列をバイト型配列にする
+        Dim bytesIn As Byte() = System.Text.Encoding.UTF8.GetBytes(str)
+
+        'DESCryptoServiceProviderオブジェクトの作成
+        Dim des As New System.Security.Cryptography.DESCryptoServiceProvider
+
+        '共有キーと初期化ベクタを決定
+        'パスワードをバイト配列にする
+        Dim bytesKey As Byte() = System.Text.Encoding.UTF8.GetBytes("_tween_encrypt_key_")
+        '共有キーと初期化ベクタを設定
+        des.Key = ResizeBytesArray(bytesKey, des.Key.Length)
+        des.IV = ResizeBytesArray(bytesKey, des.IV.Length)
+
+        '暗号化されたデータを書き出すためのMemoryStream
+        Using msOut As New System.IO.MemoryStream
+            'DES暗号化オブジェクトの作成
+            Using desdecrypt As System.Security.Cryptography.ICryptoTransform = _
+                des.CreateEncryptor()
+
+                '書き込むためのCryptoStreamの作成
+                Using cryptStream As New System.Security.Cryptography.CryptoStream( _
+                    msOut, desdecrypt, _
+                    System.Security.Cryptography.CryptoStreamMode.Write)
+                    '書き込む
+                    cryptStream.Write(bytesIn, 0, bytesIn.Length)
+                    cryptStream.FlushFinalBlock()
+                    '暗号化されたデータを取得
+                    Dim bytesOut As Byte() = msOut.ToArray()
+
+                    '閉じる
+                    cryptStream.Close()
+                    msOut.Close()
+
+                    'Base64で文字列に変更して結果を返す
+                    Return System.Convert.ToBase64String(bytesOut)
+                End Using
+            End Using
+        End Using
+    End Function
+
+    Public Function DecryptString(ByVal str As String) As String
+        If String.IsNullOrEmpty(str) Then Return ""
+
+        'DESCryptoServiceProviderオブジェクトの作成
+        Dim des As New System.Security.Cryptography.DESCryptoServiceProvider
+
+        '共有キーと初期化ベクタを決定
+        'パスワードをバイト配列にする
+        Dim bytesKey As Byte() = System.Text.Encoding.UTF8.GetBytes("_tween_encrypt_key_")
+        '共有キーと初期化ベクタを設定
+        des.Key = ResizeBytesArray(bytesKey, des.Key.Length)
+        des.IV = ResizeBytesArray(bytesKey, des.IV.Length)
+
+        'Base64で文字列をバイト配列に戻す
+        Dim bytesIn As Byte() = System.Convert.FromBase64String(str)
+        '暗号化されたデータを読み込むためのMemoryStream
+        Using msIn As New System.IO.MemoryStream(bytesIn)
+            'DES復号化オブジェクトの作成
+            Using desdecrypt As System.Security.Cryptography.ICryptoTransform = _
+                des.CreateDecryptor()
+                '読み込むためのCryptoStreamの作成
+                Using cryptStreem As New System.Security.Cryptography.CryptoStream( _
+                    msIn, desdecrypt, _
+                    System.Security.Cryptography.CryptoStreamMode.Read)
+
+                    '復号化されたデータを取得するためのStreamReader
+                    Using srOut As New System.IO.StreamReader( _
+                        cryptStreem, System.Text.Encoding.UTF8)
+                        '復号化されたデータを取得する
+                        Dim result As String = srOut.ReadToEnd()
+
+                        '閉じる
+                        srOut.Close()
+                        cryptStreem.Close()
+                        msIn.Close()
+
+                        Return result
+                    End Using
+                End Using
+            End Using
+        End Using
+    End Function
+
+    Public Function ResizeBytesArray(ByVal bytes() As Byte, _
+                                ByVal newSize As Integer) As Byte()
+        Dim newBytes(newSize - 1) As Byte
+        If bytes.Length <= newSize Then
+            Dim i As Integer
+            For i = 0 To bytes.Length - 1
+                newBytes(i) = bytes(i)
+            Next i
+        Else
+            Dim pos As Integer = 0
+            Dim i As Integer
+            For i = 0 To bytes.Length - 1
+                newBytes(pos) = newBytes(pos) Xor bytes(i)
+                pos += 1
+                If pos >= newBytes.Length Then
+                    pos = 0
+                End If
+            Next i
+        End If
+        Return newBytes
+    End Function
+
+    Public Function IsNT6() As Boolean
+        'NT6 kernelかどうか検査
+        Return Environment.OSVersion.Platform = PlatformID.Win32NT AndAlso Environment.OSVersion.Version.Major = 6
+    End Function
+
+    Public Function ReplaceInvalidFilename(ByVal name As String) As String
+        name = name.Replace("\", "[en]")
+        name = name.Replace(":", "[c]")
+        name = name.Replace("/", "[bs]")
+        name = name.Replace("?", "[q]")
+        name = name.Replace("*", "[a]")
+        name = name.Replace("<", "[lt]")
+        name = name.Replace(">", "[gt]")
+        name = name.Replace("|", "[p]")
+        name = name.Replace(ChrW(&H201D), "[wdq]")
+        name = name.Replace("""", "[dq]")
+
+        Return name
+    End Function
+
+    Public Enum TabUsageType
+        Undefined
+        Home
+        Mentions
+        DirectMessage
+        Favorites
+        UserDefined
+        LocalQuery
+        Profile
+        PublicSearch
+    End Enum
+
+    Public fileVersion As String
+End Module
diff --git a/Tween/MySocket.vb b/Tween/MySocket.vb
new file mode 100644 (file)
index 0000000..c3bd713
--- /dev/null
@@ -0,0 +1,388 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.IO
+Imports System.Net
+Imports System.Text
+Imports System.IO.Compression
+
+Public NotInheritable Class MySocket
+    Private _enc As Encoding
+    Private _cre As String
+    Private _proxy As System.Net.WebProxy
+    Private _proxyType As ProxyType
+    Private Shared cCon As New System.Net.CookieContainer()
+    Private Shared ReadOnly cConLock As New Object
+    Private _defaultTimeOut As Integer = HttpTimeOut.DefaultValue * 1000
+    Private _remainCountApi As Integer
+
+    Public Enum REQ_TYPE
+        ReqGET
+        ReqGETBinary
+        ReqPOST
+        ReqPOSTEncode
+        'ReqPOSTEncodeProtoVer1
+        'ReqPOSTEncodeProtoVer2
+        'ReqPOSTEncodeProtoVer3
+        ReqGETForwardTo
+        ReqGETFile
+        ReqGETFileUp
+        ReqGETFileRes
+        ReqGETFileDll
+        'ReqGetNoCache
+        ReqPOSTAPI
+        ReqGetAPI
+        ReqGetApp
+    End Enum
+
+    Public Sub New(ByVal EncodeType As String, _
+            ByVal Username As String, _
+            ByVal Password As String, _
+            ByVal ProxyType As ProxyType, _
+            ByVal ProxyAddress As String, _
+            ByVal ProxyPort As Integer, _
+            ByVal ProxyUser As String, _
+            ByVal ProxyPassword As String, _
+            ByVal TimeOut As Integer)
+        _enc = Encoding.GetEncoding(EncodeType)
+        ServicePointManager.Expect100Continue = False
+        If Username <> "" Then
+            _cre = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(Username + ":" + Password))
+        End If
+        Select Case ProxyType
+            Case ProxyType.None
+                _proxy = Nothing
+            Case ProxyType.Specified
+                _proxy = New WebProxy("http://" + ProxyAddress + ":" + ProxyPort.ToString)
+                If Not String.IsNullOrEmpty(ProxyUser) OrElse Not String.IsNullOrEmpty(ProxyPassword) Then
+                    _proxy.Credentials = New NetworkCredential(ProxyUser, ProxyPassword)
+                End If
+                'IE設定(システム設定)はデフォルト値なので処理しない
+        End Select
+        _proxyType = ProxyType
+        DefaultTimeOut = TimeOut
+        _remainCountApi = -1
+    End Sub
+
+    Public Function GetWebResponse(ByVal url As String, _
+            ByRef resStatus As String, _
+            Optional ByVal reqType As REQ_TYPE = REQ_TYPE.ReqGET, _
+            Optional ByVal data As String = "", _
+            Optional ByVal referer As String = "", _
+            Optional ByVal timeOut As Integer = 20 * 1000, _
+            Optional ByVal userAgent As String = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9) Gecko/2008051206 Firefox/3.0") As Object
+        Dim webReq As HttpWebRequest
+        Dim cpolicy As System.Net.Cache.HttpRequestCachePolicy = New Cache.HttpRequestCachePolicy(Cache.HttpRequestCacheLevel.NoCacheNoStore)
+
+        Try
+            webReq = _
+                CType(WebRequest.Create(url), HttpWebRequest)
+
+            If DefaultTimeOut = timeOut Then
+                webReq.Timeout = DefaultTimeOut
+            Else
+                webReq.Timeout = timeOut
+            End If
+
+            If reqType <> REQ_TYPE.ReqPOSTAPI AndAlso reqType <> REQ_TYPE.ReqGetAPI Then
+                webReq.CookieContainer = cCon
+                webReq.AutomaticDecompression = DecompressionMethods.Deflate Or DecompressionMethods.GZip
+            End If
+            webReq.KeepAlive = True
+            webReq.AllowAutoRedirect = False
+            webReq.UserAgent = userAgent
+            'If reqType = REQ_TYPE.ReqGetNoCache Then
+            '    webReq.CachePolicy = cpolicy
+            'End If
+            If _proxyType <> ProxyType.IE Then
+                webReq.Proxy = _proxy
+            End If
+
+            If referer <> "" Then webReq.Referer = referer
+            'POST系
+            If reqType = REQ_TYPE.ReqPOST OrElse _
+               reqType = REQ_TYPE.ReqPOSTEncode OrElse _
+               reqType = REQ_TYPE.ReqPOSTAPI Then
+                'reqType = REQ_TYPE.ReqPOSTEncodeProtoVer1 OrElse _
+                'reqType = REQ_TYPE.ReqPOSTEncodeProtoVer2 OrElse _
+                'reqType = REQ_TYPE.ReqPOSTEncodeProtoVer3 OrElse _
+                webReq.Method = "POST"
+
+                If DefaultTimeOut = timeOut Then
+                    webReq.Timeout = DefaultTimeOut
+                Else
+                    webReq.Timeout = timeOut
+                End If
+
+                Dim dataB As Byte() = Encoding.ASCII.GetBytes(data)
+                webReq.ContentLength = dataB.Length
+                Select Case reqType
+                    Case REQ_TYPE.ReqPOST
+                        webReq.ContentType = "application/x-www-form-urlencoded"
+                    Case REQ_TYPE.ReqPOSTEncode
+                        '                        webReq.ContentType = "application/x-www-form-urlencoded; charset=" + _enc.WebName
+                        webReq.ContentType = "application/x-www-form-urlencoded"
+                        webReq.Accept = "text/xml,application/xml,application/xhtml+xml,text/html,text/plain,image/png,*/*"
+                        'Case REQ_TYPE.ReqPOSTEncodeProtoVer1
+                        '    webReq.ContentType = "application/x-www-form-urlencoded; charset=" + _enc.WebName
+                        '    webReq.Accept = "text/javascript, text/html, application/xml, text/xml, */*"
+                        '    webReq.Headers.Add("x-prototype-version", "1.6.0.1")
+                        '    webReq.Headers.Add("x-requested-with", "XMLHttpRequest")
+                        '    webReq.Headers.Add("Accept-Language", "ja,en-us;q=0.7,en;q=0.3")
+                        '    webReq.Headers.Add("Accept-Charset", "Shift_JIS,utf-8;q=0.7,*;q=0.7")
+                        'Case REQ_TYPE.ReqPOSTEncodeProtoVer2
+                        '    webReq.ContentType = "application/x-www-form-urlencoded; charset=" + _enc.WebName
+                        '    webReq.Accept = "text/javascript, text/html, application/xml, text/xml, */*"
+                        '    webReq.Headers.Add("x-prototype-version", "1.6.0.1")
+                        '    webReq.Headers.Add("x-requested-with", "XMLHttpRequest")
+                        '    webReq.Headers.Add("Accept-Language", "ja,en-us;q=0.7,en;q=0.3")
+                        '    webReq.Headers.Add("Accept-Charset", "Shift_JIS,utf-8;q=0.7,*;q=0.7")
+                        'Case REQ_TYPE.ReqPOSTEncodeProtoVer3
+                        '    webReq.ContentType = "application/x-www-form-urlencoded; charset=" + _enc.WebName
+                        '    webReq.Accept = "application/json, text/javascript, */*"
+                        '    webReq.Headers.Add("x-prototype-version", "1.6.0.1")
+                        '    webReq.Headers.Add("x-requested-with", "XMLHttpRequest")
+                        '    webReq.Headers.Add("Accept-Language", "ja,en-us;q=0.7,en;q=0.3")
+                        '    webReq.Headers.Add("Accept-Charset", "Shift_JIS,utf-8;q=0.7,*;q=0.7")
+                    Case REQ_TYPE.ReqPOSTAPI
+                        webReq.ContentType = "application/x-www-form-urlencoded"
+                        webReq.Accept = "text/html, */*"
+                        'webReq.Headers.Add("X-Twitter-Client", "Tween")
+                        'webReq.Headers.Add("X-Twitter-Client-Version", _version)
+                        'webReq.Headers.Add("X-Twitter-Client-URL", "http://www.asahi-net.or.jp/~ne5h-ykmz/tween.xml")
+                        webReq.Headers.Add(HttpRequestHeader.Authorization, _cre)
+                End Select
+                Dim st As Stream = webReq.GetRequestStream()
+                st.Write(dataB, 0, dataB.Length)
+                st.Close()
+                'ElseIf reqType = REQ_TYPE.ReqGET Or reqType = REQ_TYPE.ReqGetNoCache Then
+            ElseIf reqType = REQ_TYPE.ReqGET Then
+                webReq.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
+                webReq.Headers.Add("Accept-Language", "ja,en-us;q=0.7,en;q=0.3")
+                webReq.Headers.Add("Accept-Charset", "Shift_JIS,utf-8;q=0.7,*;q=0.7")
+            ElseIf reqType = REQ_TYPE.ReqGetApp Then
+                webReq.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*"
+                webReq.Headers.Add("Accept-Language", "ja,en-us;q=0.7,en;q=0.3")
+                webReq.Headers.Add("Accept-Charset", "Shift_JIS,utf-8;q=0.7,*;q=0.7")
+            ElseIf reqType = REQ_TYPE.ReqGetAPI Then
+                webReq.ContentType = "application/x-www-form-urlencoded"
+                webReq.Accept = "text/html, */*"
+                'webReq.Headers.Add("X-Twitter-Client", "Tween")
+                'webReq.Headers.Add("X-Twitter-Client-Version", _version)
+                'webReq.Headers.Add("X-Twitter-Client-URL", "http://www.asahi-net.or.jp/~ne5h-ykmz/tween.xml")
+                webReq.Headers.Add(HttpRequestHeader.Authorization, _cre)
+            End If
+
+            Using webRes As HttpWebResponse = CType(webReq.GetResponse(), HttpWebResponse)
+                If reqType <> REQ_TYPE.ReqPOSTAPI AndAlso reqType <> REQ_TYPE.ReqGetAPI Then
+                    SyncLock cConLock
+                        For Each ck As Cookie In webRes.Cookies
+                            If ck.Domain.StartsWith(".") Then
+                                ck.Domain = ck.Domain.Substring(1, ck.Domain.Length - 1)
+                                cCon.Add(ck)
+                            End If
+                        Next
+                    End SyncLock
+                End If
+
+                If webRes.StatusCode = HttpStatusCode.Found Then
+                    resStatus = webRes.StatusCode.ToString() + " " + webRes.Headers.Item(HttpResponseHeader.Location)
+                Else
+                    resStatus = webRes.StatusCode.ToString() + " " + webRes.ResponseUri.AbsoluteUri
+                End If
+
+
+                Using strm As Stream = webRes.GetResponseStream()
+                    Select Case reqType
+                        'Case REQ_TYPE.ReqGET, REQ_TYPE.ReqPOST, REQ_TYPE.ReqPOSTEncode, REQ_TYPE.ReqPOSTEncodeProtoVer1, REQ_TYPE.ReqPOSTEncodeProtoVer2, REQ_TYPE.ReqPOSTEncodeProtoVer3, REQ_TYPE.ReqGetNoCache, REQ_TYPE.ReqPOSTAPI, REQ_TYPE.ReqGetAPI, REQ_TYPE.ReqGetApp
+                        Case REQ_TYPE.ReqGET, REQ_TYPE.ReqPOST, REQ_TYPE.ReqPOSTEncode, REQ_TYPE.ReqPOSTAPI, REQ_TYPE.ReqGetAPI, REQ_TYPE.ReqGetApp
+                            Dim rtStr As String
+                            Using sr As New StreamReader(strm, _enc)
+                                rtStr = sr.ReadToEnd()
+                            End Using
+                            If reqType = REQ_TYPE.ReqGetAPI Then
+#If DEBUG Then
+                                Diagnostics.Debug.WriteLine(webRes.Headers.Item("X-RateLimit-Limit"))
+                                Diagnostics.Debug.WriteLine(webRes.Headers.Item("X-RateLimit-Remaining"))
+                                Diagnostics.Debug.WriteLine(webRes.Headers.Item("X-RateLimit-Reset"))
+#End If
+                                If webRes.Headers.Item("X-RateLimit-Remaining") IsNot Nothing Then
+                                    If Not Integer.TryParse(webRes.Headers.Item("X-RateLimit-Remaining"), _remainCountApi) Then _remainCountApi = -1
+                                End If
+                            End If
+                            Return rtStr
+                        Case REQ_TYPE.ReqGETBinary
+                            Return New System.Drawing.Bitmap(strm)
+                            'Dim readData(1023) As Byte
+                            'Dim readSize As Integer = 0
+                            'Dim img As Image
+                            'Dim mem As New MemoryStream
+                            'While True
+                            '    readSize = strm.Read(readData, 0, readData.Length)
+                            '    If readSize = 0 Then
+                            '        Exit While
+                            '    End If
+                            '    mem.Write(readData, 0, readSize)
+                            'End While
+                            'img = Image.FromStream(mem, True)
+                            'Select Case img.RawFormat.Guid
+                            '    Case Imaging.ImageFormat.Icon.Guid
+                            '        img.Dispose()   '一旦破棄
+                            '        mem.Seek(0, SeekOrigin.Begin)   '頭だし
+                            '        Using icn As Icon = New Icon(mem)
+                            '            If icn Is Nothing Then Return Nothing
+                            '            img = icn.ToBitmap()
+                            '        End Using
+                            '        mem.Close()
+                            '    Case Imaging.ImageFormat.Gif.Guid
+                            '        Dim fd As New Imaging.FrameDimension(img.FrameDimensionsList(0))
+                            '        Dim page As Integer = img.GetFrameCount(fd)
+                            '        If page > 1 Then
+                            '            Dim eflg As Boolean = False
+                            '            '全フレームが読み込み可能か確認
+                            '            For i As Integer = 0 To page - 1
+                            '                Try
+                            '                    img.SelectActiveFrame(fd, i)
+                            '                Catch ex As Exception
+                            '                    eflg = True
+                            '                    Exit For
+                            '                End Try
+                            '            Next
+                            '            If eflg Then
+                            '                'エラーが起きたらbitmapに変換
+                            '                Dim bmp As New Bitmap(48, 48)
+                            '                Using g As Graphics = Graphics.FromImage(bmp)
+                            '                    g.InterpolationMode = Drawing2D.InterpolationMode.High
+                            '                    g.DrawImage(img, 0, 0, 48, 48)
+                            '                End Using
+                            '                mem.Close()
+                            '                img.Dispose()
+                            '                img = bmp
+                            '            End If
+                            '            'エラーが起きなければ、memorystreamは閉じない(animated gif)
+                            '        Else
+                            '            mem.Close()
+                            '        End If
+                            '    Case Else
+                            '        mem.Close()
+                            'End Select
+                            'Return img
+                        Case REQ_TYPE.ReqGETFile
+                            StreamToFile(strm, Path.Combine(Application.StartupPath(), "TweenNew.exe"), webRes.ContentEncoding)
+                        Case REQ_TYPE.ReqGETFileUp
+                            StreamToFile(strm, Path.Combine(Application.StartupPath(), "TweenUp.exe"), webRes.ContentEncoding)
+                        Case REQ_TYPE.ReqGETFileRes
+                            If Directory.Exists(Path.Combine(Application.StartupPath(), "en")) = False Then
+                                Directory.CreateDirectory(Path.Combine(Application.StartupPath(), "en"))
+                            End If
+                            StreamToFile(strm, Path.Combine(Application.StartupPath(), "en\Tween.resourcesNew.dll"), webRes.ContentEncoding)
+                        Case REQ_TYPE.ReqGETFileDll
+                            StreamToFile(strm, Path.Combine(Application.StartupPath(), "TweenNew.XmlSerializers.dll"), webRes.ContentEncoding)
+                        Case REQ_TYPE.ReqGETForwardTo
+                            Dim rtStr As String = ""
+                            If webRes.StatusCode = HttpStatusCode.MovedPermanently OrElse _
+                               webRes.StatusCode = HttpStatusCode.Found OrElse _
+                               webRes.StatusCode = HttpStatusCode.SeeOther OrElse _
+                               webRes.StatusCode = HttpStatusCode.TemporaryRedirect Then
+                                rtStr = webRes.Headers.GetValues("Location")(0)
+                                Return rtStr
+                            End If
+                    End Select
+                End Using
+            End Using
+        Catch ex As System.Net.WebException
+            If ex.Status = WebExceptionStatus.ProtocolError Then
+                Dim eres As HttpWebResponse = CType(ex.Response, HttpWebResponse)
+                resStatus = "Err: " + eres.StatusCode.ToString() + " " + eres.ResponseUri.AbsoluteUri
+                If reqType = REQ_TYPE.ReqGETBinary Then
+                    Return Nothing
+                Else
+                    Return ""
+                End If
+            Else
+                resStatus = "Err: ProtocolError(" + ex.Message + ") " + url
+                If reqType = REQ_TYPE.ReqGETBinary Then
+                    Return Nothing
+                Else
+                    Return ""
+                End If
+            End If
+        Catch ex As Exception
+            resStatus = "Err: " + ex.Message + " " + url
+            If reqType = REQ_TYPE.ReqGETBinary Then
+                Return Nothing
+            Else
+                Return ""
+            End If
+        End Try
+
+        Return ""
+    End Function
+
+    Private Shared Sub StreamToFile(ByVal InStream As Stream, ByVal Path As String, ByVal Encoding As String)
+        Dim strm As Stream
+        Const BUFFERSIZE As Integer = 512 * 1024
+        If Encoding.Equals("gzip") OrElse Encoding.Equals("deflate") Then
+            strm = InStream
+        Else
+            strm = New GZipStream(InStream, CompressionMode.Decompress)
+        End If
+        Using strm
+            Using fs As New FileStream(Path, FileMode.Create, FileAccess.Write)
+                Dim b As Integer
+                Dim buffer(BUFFERSIZE) As Byte
+                While True
+                    b = strm.Read(buffer, 0, BUFFERSIZE)
+                    If b = 0 Then Exit While
+                    fs.Write(buffer, 0, b)
+                End While
+            End Using
+        End Using
+    End Sub
+
+    Public Shared Sub ResetCookie()
+        SyncLock cConLock
+            cCon = New System.Net.CookieContainer()
+        End SyncLock
+    End Sub
+
+    Public Property DefaultTimeOut() As Integer
+        Get
+            Return _defaultTimeOut
+        End Get
+        Set(ByVal value As Integer)
+            If value < HttpTimeOut.MinValue OrElse value > HttpTimeOut.MaxValue Then
+                ' 範囲外ならデフォルト値設定
+                _defaultTimeOut = HttpTimeOut.DefaultValue * 1000
+            Else
+                _defaultTimeOut = value * 1000
+            End If
+        End Set
+    End Property
+
+    Public ReadOnly Property RemainCountApi() As Integer
+        Get
+            Return _remainCountApi
+        End Get
+    End Property
+End Class
diff --git a/Tween/OpenURL.Designer.vb b/Tween/OpenURL.Designer.vb
new file mode 100644 (file)
index 0000000..65a29ec
--- /dev/null
@@ -0,0 +1,91 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class OpenURL
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(OpenURL))
+        Me.TableLayoutPanel2 = New System.Windows.Forms.TableLayoutPanel
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
+        Me.OK_Button = New System.Windows.Forms.Button
+        Me.Cancel_Button = New System.Windows.Forms.Button
+        Me.UrlList = New System.Windows.Forms.ListBox
+        Me.TableLayoutPanel2.SuspendLayout()
+        Me.TableLayoutPanel1.SuspendLayout()
+        Me.SuspendLayout()
+        '
+        'TableLayoutPanel2
+        '
+        resources.ApplyResources(Me.TableLayoutPanel2, "TableLayoutPanel2")
+        Me.TableLayoutPanel2.Controls.Add(Me.TableLayoutPanel1, 0, 1)
+        Me.TableLayoutPanel2.Controls.Add(Me.UrlList, 0, 0)
+        Me.TableLayoutPanel2.Name = "TableLayoutPanel2"
+        '
+        'TableLayoutPanel1
+        '
+        resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1")
+        Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        '
+        'OK_Button
+        '
+        resources.ApplyResources(Me.OK_Button, "OK_Button")
+        Me.OK_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.OK_Button.Name = "OK_Button"
+        '
+        'Cancel_Button
+        '
+        resources.ApplyResources(Me.Cancel_Button, "Cancel_Button")
+        Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Cancel_Button.Name = "Cancel_Button"
+        '
+        'UrlList
+        '
+        resources.ApplyResources(Me.UrlList, "UrlList")
+        Me.UrlList.FormattingEnabled = True
+        Me.UrlList.Name = "UrlList"
+        '
+        'OpenURL
+        '
+        Me.AcceptButton = Me.OK_Button
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.Cancel_Button
+        Me.ControlBox = False
+        Me.Controls.Add(Me.TableLayoutPanel2)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.Name = "OpenURL"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.TableLayoutPanel2.ResumeLayout(False)
+        Me.TableLayoutPanel1.ResumeLayout(False)
+        Me.ResumeLayout(False)
+
+    End Sub
+    Friend WithEvents TableLayoutPanel2 As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents OK_Button As System.Windows.Forms.Button
+    Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+    Friend WithEvents UrlList As System.Windows.Forms.ListBox
+
+End Class
diff --git a/Tween/OpenURL.en.resx b/Tween/OpenURL.en.resx
new file mode 100644 (file)
index 0000000..57d2bdf
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/OpenURL.resx b/Tween/OpenURL.resx
new file mode 100644 (file)
index 0000000..864f87c
--- /dev/null
@@ -0,0 +1,294 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel2.ColumnCount" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Bottom, Right</value>
+  </data>
+  <data name="TableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="OK_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="OK_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="OK_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="OK_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="OK_Button.Text" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Name" xml:space="preserve">
+    <value>OK_Button</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Cancel_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <data name="Cancel_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>76, 3</value>
+  </data>
+  <data name="Cancel_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="Cancel_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>キャンセル</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Name" xml:space="preserve">
+    <value>Cancel_Button</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>275, 164</value>
+  </data>
+  <data name="TableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>146, 27</value>
+  </data>
+  <data name="TableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Name" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Parent" xml:space="preserve">
+    <value>TableLayoutPanel2</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="TableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="UrlList.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="UrlList.ItemHeight" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="UrlList.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="UrlList.Size" type="System.Drawing.Size, System.Drawing">
+    <value>418, 148</value>
+  </data>
+  <data name="UrlList.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;UrlList.Name" xml:space="preserve">
+    <value>UrlList</value>
+  </data>
+  <data name="&gt;&gt;UrlList.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UrlList.Parent" xml:space="preserve">
+    <value>TableLayoutPanel2</value>
+  </data>
+  <data name="&gt;&gt;UrlList.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="TableLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="TableLayoutPanel2.RowCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="TableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>424, 194</value>
+  </data>
+  <data name="TableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel2.Name" xml:space="preserve">
+    <value>TableLayoutPanel2</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel2.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel2.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="TableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="TableLayoutPanel1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="UrlList" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="Percent,100,Absolute,40" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>424, 194</value>
+  </data>
+  <data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
+    <value>150, 200</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterParent</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>OpenURL</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>OpenURL</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/OpenURL.vb b/Tween/OpenURL.vb
new file mode 100644 (file)
index 0000000..00f3953
--- /dev/null
@@ -0,0 +1,85 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Windows.Forms
+Imports System.Text
+
+Public Class OpenURL
+
+    Private _selUrl As String
+
+    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+        If UrlList.SelectedItems.Count = 0 Then
+            Me.DialogResult = Windows.Forms.DialogResult.Cancel
+        Else
+            _selUrl = UrlList.SelectedItem.ToString
+            Me.DialogResult = System.Windows.Forms.DialogResult.OK
+        End If
+        Me.Close()
+    End Sub
+
+    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Close()
+    End Sub
+
+    Public Sub ClearUrl()
+        UrlList.Items.Clear()
+    End Sub
+
+    Public Sub AddUrl(ByVal strUrl As String)
+        UrlList.Items.Add(strUrl)
+    End Sub
+
+    Public ReadOnly Property SelectedUrl() As String
+        Get
+            If UrlList.SelectedItems.Count = 1 Then
+                Return _selUrl
+            Else
+                Return ""
+            End If
+        End Get
+    End Property
+
+    Private Sub OpenURL_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+        UrlList.Focus()
+        If UrlList.Items.Count > 0 Then
+            UrlList.SelectedIndex = 0
+        End If
+    End Sub
+
+    Private Sub UrlList_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UrlList.DoubleClick
+        If UrlList.SelectedItem Is Nothing Then
+            Exit Sub
+        End If
+
+        If UrlList.IndexFromPoint(UrlList.PointToClient(Control.MousePosition)) = ListBox.NoMatches Then
+            Exit Sub
+        End If
+
+        If UrlList.Items(UrlList.IndexFromPoint(UrlList.PointToClient(Control.MousePosition))) Is Nothing Then
+            Exit Sub
+        End If
+        OK_Button_Click(sender, e)
+    End Sub
+End Class
diff --git a/Tween/Outputz.vb b/Tween/Outputz.vb
new file mode 100644 (file)
index 0000000..b249a1a
--- /dev/null
@@ -0,0 +1,86 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Web
+
+Public Module Outputz
+    Private myOuturl As String
+    Private myOuturlEncoded As String
+    Private myApikey As String
+    Private myApikeyEncoded As String
+
+    Private state As Boolean
+
+
+    'Public Sub New(ByVal _key As String, ByVal _url As String, ByVal _state As Boolean)
+    '    url = _url
+    '    key = _key
+    '    Enabled = _state
+    'End Sub
+
+    Public Property url() As String
+        Get
+            Return myOuturl
+        End Get
+        Set(ByVal value As String)
+            myOuturl = value
+            myOuturlEncoded = HttpUtility.UrlEncode(value)
+        End Set
+    End Property
+
+    Public Property key() As String
+        Get
+            Return myApikey
+        End Get
+        Set(ByVal value As String)
+            myApikey = value
+            myApikeyEncoded = HttpUtility.UrlEncode(value)
+        End Set
+    End Property
+
+    Public Property Enabled() As Boolean
+        Get
+            Return state
+        End Get
+        Set(ByVal value As Boolean)
+            state = value
+        End Set
+    End Property
+
+    Public Function Post(ByVal obj As MySocket, ByVal length As Integer) As String
+
+        If state = False Then Return ""
+
+        Dim resStatus As String = ""
+        Dim output As String = "http://outputz.com/api/post"
+        Dim data As String = String.Format("key={0}&uri={1}&size={2}", myApikeyEncoded, myOuturlEncoded, length)
+
+        obj.GetWebResponse(output, resStatus, MySocket.REQ_TYPE.ReqPOST, data, userAgent:="Tween/" + fileVersion)
+
+        If resStatus.StartsWith("OK") Then
+            Return ""
+        Else
+            Return resStatus
+        End If
+    End Function
+End Module
diff --git a/Tween/Resources/1o.ico b/Tween/Resources/1o.ico
new file mode 100644 (file)
index 0000000..fd33871
Binary files /dev/null and b/Tween/Resources/1o.ico differ
diff --git a/Tween/Resources/2b.ico b/Tween/Resources/2b.ico
new file mode 100644 (file)
index 0000000..3e12078
Binary files /dev/null and b/Tween/Resources/2b.ico differ
diff --git a/Tween/Resources/3b.ico b/Tween/Resources/3b.ico
new file mode 100644 (file)
index 0000000..436337f
Binary files /dev/null and b/Tween/Resources/3b.ico differ
diff --git a/Tween/Resources/4b.ico b/Tween/Resources/4b.ico
new file mode 100644 (file)
index 0000000..5164b35
Binary files /dev/null and b/Tween/Resources/4b.ico differ
diff --git a/Tween/Resources/4r.ico b/Tween/Resources/4r.ico
new file mode 100644 (file)
index 0000000..9bef357
Binary files /dev/null and b/Tween/Resources/4r.ico differ
diff --git a/Tween/Resources/4y.ico b/Tween/Resources/4y.ico
new file mode 100644 (file)
index 0000000..7041925
Binary files /dev/null and b/Tween/Resources/4y.ico differ
diff --git a/Tween/Resources/5b.ico b/Tween/Resources/5b.ico
new file mode 100644 (file)
index 0000000..859f968
Binary files /dev/null and b/Tween/Resources/5b.ico differ
diff --git a/Tween/Resources/5g.ico b/Tween/Resources/5g.ico
new file mode 100644 (file)
index 0000000..5164b35
Binary files /dev/null and b/Tween/Resources/5g.ico differ
diff --git a/Tween/Resources/5o.ico b/Tween/Resources/5o.ico
new file mode 100644 (file)
index 0000000..0058089
Binary files /dev/null and b/Tween/Resources/5o.ico differ
diff --git a/Tween/Resources/5r.ico b/Tween/Resources/5r.ico
new file mode 100644 (file)
index 0000000..21f8c1b
Binary files /dev/null and b/Tween/Resources/5r.ico differ
diff --git a/Tween/Resources/5y.ico b/Tween/Resources/5y.ico
new file mode 100644 (file)
index 0000000..145d876
Binary files /dev/null and b/Tween/Resources/5y.ico differ
diff --git a/Tween/Resources/6b.ico b/Tween/Resources/6b.ico
new file mode 100644 (file)
index 0000000..418c26a
Binary files /dev/null and b/Tween/Resources/6b.ico differ
diff --git a/Tween/Resources/6g.ico b/Tween/Resources/6g.ico
new file mode 100644 (file)
index 0000000..859f968
Binary files /dev/null and b/Tween/Resources/6g.ico differ
diff --git a/Tween/Resources/6o.ico b/Tween/Resources/6o.ico
new file mode 100644 (file)
index 0000000..a917ce1
Binary files /dev/null and b/Tween/Resources/6o.ico differ
diff --git a/Tween/Resources/ChangeLog.txt b/Tween/Resources/ChangeLog.txt
new file mode 100644 (file)
index 0000000..979d76b
--- /dev/null
@@ -0,0 +1,280 @@
+更新履歴
+
+==== Ver 0.7.5.0(2009/11/11)
+ * 設定画面のソート順ロック、最前面表示を「動作」タブから「表示」タブへ移動
+ * 設定に@ID入力補助の使用切り替え設定を追加
+ * @返信補助操作の際に例外が発生するバグ修正
+ * RT時にURL/@Lists名が省略(...)されている場合は展開するように修正
+ * リスト部と発言詳細部の背景色を変更可能に。合わせてデフォルトへ戻すボタン追加
+ * APIモードで、@id/リスト名の形式でもリンクするよう対応
+==== Ver 0.7.4.0(2009/11/2)
+ * 右クリックからのID振り分けメニューで、マーク有無の確認がなくなっていたバグ修正
+ * 最前面表示にしていた場合、@ID入力補助画面が裏へ回ってしまうバグ修正
+==== Ver 0.7.3.0(2009/11/2)
+ * 発言詳細部のサイズを50*50(画像領域48*48)へ変更し、描画モードを変更
+ * 振り分けルールの追加動作でマークをつけない設定にしても、マークをつける設定に戻ってしまうバグ修正
+ * 除外ルール単体指定時すると、全件ヒットしなくなるバグ修正
+==== Ver 0.7.2.0(2009/10/31)
+ * @ID入力補助で、id確定した際、直前の文字が消えるバグ修正
+==== Ver 0.7.1.0(2009/10/31)
+ * リストにグリッド線を表示するオプション追加(マウスホイールで操作すると画面にゴミが残ります)
+ * C-rでid追加した際、余分なスペースが入らないように修正
+ * スクリーンセーバー起動中はバルーン表示を停止
+ * @ID入力補助機能追加(Enter,Tabで確定、Escape,Backspaceで全削除でキャンセル、候補選択でC-Deleteでリストから削除)
+ * 選択発言を基に振り分けルール作成する際、選択発言を反映したルールになっていないバグ修正
+ * 短縮URL解決のタイムアウトを2秒→5秒へ。合わせて100件のキャッシュを追加(定期クリア)
+ * 返信先(in_reply_to)付加の条件を変更(複数@でもin_reply_toが付くケースを増やした)
+ * 返信先のある発言に矢印マーク付加
+ * HTTP/HTTPSが切り替えられるよう設定に追加
+ * 振り分けルールに除外ルールの設定を追加
+ * 振り分けルールマッチ時の追加動作で「マークする」を復活
+ * RT時にURLを展開しないように変更
+ * 投稿が140文字を越える場合に、末尾切り落としても良いか確認&切り落とし処理追加
+ * 投稿欄複数行の場合、フッタ除外投稿をCtrl-Shift-Enterで出来るように変更(投稿キー設定(Ctrl-Enter)関係なし)
+ * 同一パスのTweenを二重起動した場合、先に起動している物をアクティブにする。ただし、アイコン化されている場合は、トレイの一番左にあるものがアクティブになる。
+ * 画面表示領域外に画面があった場合に、第一画面に戻す機能追加
+ * bit.lyのアカウントを設定可能に
+==== Ver 0.7.0.0(2009/10/2)
+ * 新着時未読クリアを実装
+ * リストのページスクロールショートカット追加(PageUp/Down相当):f/b
+ * カラム幅が保存されない問題を修正
+ * Webモードでプロテクト設定の人の判別が出来なくなってしまったWeb変更への追従
+ * Webモードで発言日時が取れるようになったので対応
+ * bit.lyとj.mpを明示的に分離
+ * 動作モードのデフォルト値をWebモードからAPIモードへ変更
+ * フィルターヒット時の動作選択肢を2つに減らしました。ヒットしたものには必ずヒットマーク「♪」が付きます。
+ * follower情報の取得APIのページング方式を新しい方式(カーソル方式)に変更しました。(API変更対応)
+==== Ver 0.6.9.0(2009/9/13)
+ * 発言詳細の右クリックメニューにfollow/remove/friendshipコマンド追加。その他機能の同コマンドで選択中発言のidを設定するように変更。
+ * タブ見出し右クリックでタブ名変更時に、右クリックしたタブではなく選択中のタブを対象にしていたバグ修正
+ * 設定保存を随時行うように変更。(一部設定は発言取得時に行われる。)終了時の設定保存を取りやめ。
+==== Ver 0.6.8.0(2009/9/8)
+ * ブラウザ指定でコマンドライン引数指定が処理できないバグ修正
+ * 短縮の際、bit.lyを強制的にj.mpに書き換え。展開にも対応
+ * Webモードでfollowers取得APIを発行する際のページングをフォロワー数に依存しないよう変更
+ * 設定ファイルが壊れる問題を切り分けるため、ログファイル出力項目を追加
+ * 終了時処理を見直し
+ * APIモードで、home_timelineに対応
+ * followersのキャッシュ読み書き高速化。ファイル名がSettingFollower.xmlになります
+ * 原文へのリンク継続文字は抽出が難しいため付加されません
+==== Ver 0.6.7.0(2009/9/2)
+ * リスト部で『<』と『>』が化けていたバグ修正
+==== Ver 0.6.6.0(2009/9/2)
+ * Webモードで、文中の@idの認識ができない問題を修正
+ * WebモードでDMの件数が正しく取れず、受信後すぐに取得していなかった問題を修正(Webモードのみの機能)
+***Ver 0.6.5.0(2009/9/2)
+-htmlの変更に追従(Webモード)
+-設定に発言詳細欄の等幅適用オプションを追加(AA用)。等幅だとフォント指定が反映されない場合があります。デフォルトオフ。
+-フォント指定ダイアログ表示時の例外対応
+-発言取得時の例外対応
+-設定画面閉じたときの例外対応(暫定)
+-列幅変更関連の例外対応
+-タブメニュー表示時の例外対応
+-発言中URIをブラウザで開く際の例外対応
+-Webモード時に140文字オーバーした際、発言詳細の継続文字を除去する処理を廃止
+***Ver 0.6.4.0(2009/8/31)
+-設定画面表示が失敗する問題を修正
+-ブラウザパス指定で、ブラウザへの引数を指定できるように。ブラウザパスはダブルクォーテーションで括ること。その後に引数を指定。
+-発言詳細部のhtmlをpタグからpreタグへ再変更。AA崩れるため。フォント種別が反映されない不具合が発生する可能性あり。
+-認証エラー時でも設定画面を自動で開かず、アカウント確認する旨のステータス表記のみに変更。設定確認するか、10回通信要求があるまでは通信しないように変更。
+-ステータス削除APIのパスが間違っていたバグ修正。8/31時点で本家不具合のためTween上から削除できません。
+-終了時設定保存タイミング微調整
+-起動しておくと取得できなくなる問題に対応
+-元発言をRetweetするコマンドを追加(Alt-R)。これまでのRT動作はAlt-Shift-Rに変更
+***Ver 0.6.3.0(2009/8/1)
+-フッターの@idを評価して複数リプライ扱いにしていた問題を修正
+-ウィンドウタイトル書き換え時に例外が発生する問題に対応
+-設定書き込み後に検証&リトライ処理追加
+***Ver 0.6.2.0(2009/7/24)
+-24/48サイズアイコン表示で、発言が折り返し表示されない不具合修正
+***Ver 0.6.1.0(2009/7/24)
+-Webモードで、パスワードに特定の文字が含まれている場合にログインできないバグ修正
+-短縮URLを展開する際、EUC-JPの全角文字を含んでいると正しく展開できない問題に対応
+-follow/removeコマンドを追加
+-発言詳細の表示を以前の形式に戻し。フォント指定が反映されない不具合などに対応。
+-48サイズ2カラムアイコンで、ユーザ名などを強調表示
+-振り分けルール編集時に移動元タブに未読アイコンが残るバグ修正
+-DMの個別ステータスページを開けないように修正(本家に存在しない?)
+-フォロー状態を取得・表示するコマンドを追加
+-ログインエラーで設定画面表示する際、モーダル設定できない場合の例外対応
+-旧設定ファイルからの変換処理削除
+-未読replyを示すタスクトレイアイコン差し替え&Reply.ico/ReplyBlink.icoで置き換えできるように変更
+-起動時Fav取得をオプション化
+-自発言を既読にする設定追加
+-フォロー数、フォロワー数、発言数、location、bioを表示するメニュー追加(投稿時に更新されます)
+-正しくソートされないバグ修正
+-フィルター編集後の関連発言移動で例外が発生するバグ修正
+-ログインエラー時に一部メッセージが表示できないバグ修正
+***Ver 0.6.0.0(2009/7/10)
+-短縮URLの解決をした際、URLが正しく開けなくなる問題に対応
+-タブ並び順が保存されないバグ修正
+-タブアイコン表示しない設定でタブの追加・削除時に例外が発生する場合があるバグ修正
+-タブメニューを頻繁に表示した際例外が発生するバグの再修正
+-Replyタブに未読がある時のタスクトレイアイコンの変化を選択できるようにオプション追加
+-Reply先を開くショートカットで、Tweenで保持している発言の場合はメッセージボックスで表示するように変更
+-アイコン取得先a0.twimg.comがhttpsに対応していないため、httpで取得へ変更
+-全角スペースの半角変換を設定ファイルに保存するよう変更
+-follower取得中も取得した発言をリストに反映するように変更
+***Ver 0.5.9.0(2009/7/8)
+-Replyタブに未読がある場合に、タスクトレイアイコンを明滅
+-旧バージョンの設定ファイル(TweenConf.xml)からの設定変換に失敗して起動できない問題に対応
+***Ver 0.5.8.0(2009/7/8)
+-タブ設定が保存されないバグ修正
+***Ver 0.5.7.0(2009/7/8)
+-Iconsフォルダがある場合に起動できないバグ修正
+***Ver 0.5.6.0(2009/7/8)
+-新規導入後の初回起動時に設定が保存されないバグ修正
+-タブ見出しを立て続けに右クリックすると例外が発生するバグ修正
+-起動時にFav取得。Favタブを開いている状態で更新すると手動更新。
+-数字のみのハッシュタグを認識しないように修正
+-C-eでハッシュタグのリンクが開けない問題を修正
+-発言詳細で連続する半角スペースが1つになってしまう問題に対応
+-過剰なログイン処理を試みないよう修正
+-タブ見出しにアイコンを表示しないオプション追加(アイコン非表示時は文字色赤)
+***Ver 0.5.5.0(2009/7/3)
+-起動と同時に設定ファイルを保存して、設定が飛ぶ問題に対応
+***Ver 0.5.4.0(2009/7/3)
+-タブ名に禁止文字が使われている以前のバージョンからアップデートする際に変換する処理を追加
+-パスワード暗号化で例外が発生するバグ対応
+-ReTweetの際に改行が<BR>で混入するバグの再修正
+***Ver 0.5.3.0(2009/7/3)
+-タブ名禁止文字に ” " を追加
+-古いタブ設定ファイルが残るバグ修正
+-タブ設定が保存されないバグ修正
+-APIモード時に短縮URLが解決されないバグ修正
+-ReTweetでHTMLデコードするように変更
+-ReTweet時の発言域カーソル位置を先頭にするよう変更
+-ReTweet時にHTMLタグが混入するバグ修正
+-qurl.comのURL展開対応
+-APIモード時のハッシュタグへのリンク作成機能追加
+***Ver 0.5.2.0(2009/7/2)
+-バージョンアップ時にタブ名に禁止文字( \ : / ? * < > | )が含まれていた場合は置き換えを行う
+-タブ追加・名前変更時に、禁止文字( \ : / ? * < > | )が含まれていた場合、再入力を促す
+***Ver 0.5.1.0(2009/7/2)
+-Webモードのサインインができなくなっていた仕様変更対応
+-一部URLの取り扱いの変更
+-ReTweetの際に<br>タグが紛れ込んでしまうバグを再修正
+-一つの書き込みに圧縮されたURLが複数含まれている場合に最初のURLだけしか展開できないバグを修正
+-圧縮されたURLにクエリ(?以降)またはフラグメント(#以降)が付加されていた場合に、展開結果においてそれらが切り捨てられるバグ修正
+-書き込む文字列の全角スペースを半角スペースに置き換える処理で半角スペース2個に置き換えるように変更
+-タブ名変更時にタブ選択ダイアログのリストに古いタブ名が残るバグ修正
+-短縮URL解決処理を高速化
+-設定ファイル形式変更
+-起動時バージョンアップ時の終了方式変更
+-Webモード時は、ステータス欄のAPI残数を表示しないよう変更
+-詳細表示のユーザー名が欠ける事があったのを修正
+-エンコード済みSHIFT-JIS文字列がURLに含まれる場合に正しく処理できないことがあったのを修正
+-短縮URLの展開を1段階のみに変更
+-返信先の強調表示を追加(デフォルトピンク)
+***Ver 0.5.0.0(2009/6/15)
+-発言詳細の選択文字列クリップボードコピーの不具合修正
+-発言右クリックからのID振り分けルール作成で、発言が選択されていない場合は即処理中断するように変更
+-タブ名変更で、振り分けルール作成時のタブ名リストに変更前タブ名が残るバグを修正
+-ステータス欄のリンク先URL表示で&がアンダーバーに誤認されるバグ修正
+-発言内の不正なURLを開こうとすると、発言詳細にエラーページが出てしまう問題に対処。不正なURLは開かれず無視されます。仕様です。
+***Ver 0.4.9.0(2009/6/8)
+-URL自動短縮が動作していなかったバグを修正
+-振り分けルール追加の際にすでに同じルールが存在していた場合にダイアログを出すようにした
+***Ver 0.4.8.0(2009/6/7)
+-bctiny.com,pic.gd,airme.usのURL展開に対応
+-詳細表示領域にフォーカスがある場合にRキーによる更新が効かなかったバグを修正
+-改行を含む書き込みをReTweetする際に<br>タグが入り込んでしまうバグを修正
+-DM詳細表示の際に送信DMか受信DMかを明示するようにした(DirectMessage From/Toが名前の前に表示されます)
+-片思い色分け表示が無効な場合に送受信DMの色分けまで無効になっていたバグ修正
+-発言詳細での「選択文字列で検索」内の検索エンジン並び順を変更
+-発言詳細での「選択文字列で検索」でGoogle検索した際にGoogle日本版で検索するよう変更(hl=ja)
+-POSTmode切り替えに「全角スペースを半角スペースに置き換える」を追加。初期状態でこの機能は有効です。
+-in_reply_to_status_id付与の際にリンク化されない@IDまでカウントしていたバグ修正
+-発言詳細の選択文字列クリップボードコピーの方式変更
+***Ver 0.4.7.0(2009/5/15)
+-Outputzに送信する設定で復活の呪文に問題があるときに投稿が必ずPOST規制判定されていたバグを修正
+-短縮URLの展開結果がマルチバイト文字を含む場合に正常に展開できないことがあるバグを修正
+-all @ replies廃止の仕様変更に伴い複数Replyの先頭にドットを付加するように修正
+-URL圧縮の際にIDNを考慮していなかったのを修正(マルチバイト文字を使用したURLはu.nuでは圧縮できません。u.nu側の不具合で仕様です)
+-u.nuでURL短縮変換を行った際に改行が入り込んでしまっていたのを修正
+-ヘルプ→API情報 で取得系APIの使用状況を表示できるようにした
+***Ver 0.4.6.0(2009/5/8)
+-ListView右クリックあるいは操作メニューを開くとクラッシュすることがあるバグを修正
+-ustre.amのURL展開対応
+-bit.lyでのURL圧縮に対応
+-URL変換サービス自動選択の優先使用の初期設定をbit.lyに変更(バージョンアップの方は変更されません)
+-URL短縮に失敗した場合のエラーメッセージが表示されていなかったバグ修正
+-Twitter Webのサインイン応答変更対応
+***Ver 0.4.5.0(2009/5/7)
+-ff.imのURL展開が正常に行われていなかったバグ修正
+-Fav発言タブの名前を変更(Favourites→Favorites)お手数ですが旧名称のタブは削除をお願いします。
+-設定の「STOTコピーとReTweet Protect発言を含めない」が有効になっているときにReTweetメニューを無効にするようにした
+-DMをReTweetできてしまっていたのを修正
+-タブメニューに「タブ名の変更」を追加
+-u.nuのURL圧縮に対応
+-URL短縮サービス自動選択で優先使用する短縮サービスを指定できるようにした
+-URL短縮サービス自動選択で短縮失敗した場合、2回目は最初に使用したもの以外からランダム選択するようにした
+-Sourceが取得できなくなっていた問題に対処(Web変更対応)
+-in_reply_to_status_idが取得できなくなっていた問題に対処(Web変更対応)
+***Ver 0.4.4.0(2009/5/1)
+-APIモードで起動した場合は警告を出し、Web取得モードへ切り替えることができるように
+-APIモードで起動した場合に警告しない設定を追加
+-digg.com,u.nuのURL展開に対応
+-tweetburner(twurl.nl)のURL圧縮に対応
+-Web取得でhomeの発言がreply扱いになる問題に対応(Web変更対応)
+-一部英語リソースが使われずに表示される問題を修正(API警告は後々対応)
+***Ver 0.4.3.0(2009/4/26)
+-Reply(Mentions)取得間隔の設定を分離
+-投稿時取得の設定を追加
+-Reply同時取得の設定が効いていなかった問題を修正(常に同時取得していました)
+-詳細表示領域でのJavaScript/ActiveXの動作を念のために禁止
+-取得した記事に詳細表示で使用しないタグが混入していた場合は除去するように変更
+-設定画面でユーザー名の部分にメールアドレスや@IDを入力してしまった場合のチェックが実際には素通りだったのを修正
+-設定保存に失敗した場合はリトライするように
+-初回起動時に空の設定ファイルを作成しないように
+-twitthis.com,blip.fm,tumblr.com,www.qurl.comのURL展開に対応
+-タブ名変更で重複名を指定すると例外になるバグ修正
+-例外処理を一部変更し、終了できないことがある問題に対応
+-ウインドウがアクティブでないときに入力欄の色を元に戻すように
+-起動時にFav厳密チェックの設定が反映されない問題を修正
+-ReTweetの書式を変更。振り分けルールを作成されている方は見直しをお願いします。
+-詳細表示部分で文字列を選択していないときは関連のメニューを無効にするようにした
+-終了処理中にマウスカーソルをBusyに変更するようにした
+-新形式の設定ファイル移行後に言語切り替えが動作していなかったのを修正
+***Ver 0.4.2.0(2009/4/9)
+-取得間隔最大値を600秒から6000秒へ変更
+-画面最小化orアイコン化時のみ新着通知を表示するオプション追加
+-Web取得モードでFollowers取得とFav厳密チェックが動作しなくなっていたのを修正(API変更対応)
+-API取得モードでPOSTメソッドを指定できないように(API変更対応)
+-API残数を常に表示するように(起動直後に表示されないのは仕様です)
+-バージョンアップ処理を0.3.8.0以前相当へ戻し(次回バージョンアップから反映)
+-Web取得モードで一部クライアントから投稿された書き込みを正しくReTweetできなかったのを修正
+-未読ジャンプ不具合対策を若干強化
+-Fav削除でエラーを起こすことがあったのを修正
+-終了時のタイマー停止処理を強化
+***Ver 0.4.1.0(2009/4/7)
+-API使用時のreply判定漏れするバグ修正
+-API使用時のHTMLデコードしないバグ修正
+-設定が保存できない問題に対応
+-バージョンアップ確認ダイアログのVista対応(管理者権限昇格を明示するアイコンをボタンに付加)
+-設定画面で、API使用有無切り替えによる他項目の表示状態変更が正しく行われない問題を修正
+-API制限時のステータスメッセージ変更(BadRequest(400)の場合に表示)
+-follower取得失敗時のステータスメッセージ変更
+-最短取得間隔を30秒に変更(Web取得での自動調整では最短15秒のままです)
+-設定画面で取得間隔を伸ばしても反映されないバグ修正
+-APIでGETメソッド使用時、ステータス欄にAPI残り回数を表示
+-TwitterSearchへのクエリ修正
+-API使用切り替え時に、follower情報を自動取得するよう変更(問題あればご指摘ください)
+-API使用時に不正なXMLが帰ってきた場合に例外メッセージが表示される問題を修正
+-発言投稿失敗時はリトライするよう変更
+-ReTweetの際にTwitterが表示を省略したURLでもそのまま使用していたのを修正
+-発言削除で例外発生する問題を修正
+-タスクバーが下以外にある場合、起動時表示位置がずれる問題を修正
+***Ver 0.4.0.0(2009/4/4)
+-発言削除時のフォーカス位置調整
+-スクレイピング時に、新WebUiの場合に、1ページ目を取得しない問題を修正
+-API使用時に@idへのリンク付与がずれている問題を修正
+-API使用時に不正なXMLを取得した場合の暫定対処
+-タブ切替のショートカット追加。a/sもしくはC-n/C-pで前後のタブに切り替えます。C-nでのタブ振り分けルール作成のショートカットを置き換えました。
+-英語版設定画面の項目名が日本語版と不一致だったものを修正。英語対応していなかった項目の英語対応
+-API取得に対応。設定画面から切替てください。(注意:デフォルトでAPI使用しません)
+-複数返信でも先頭にドットを付加しないように変更
+-自動バージョンアップ時に特権昇格を要求するよう変更。メニューにシールドアイコン付加
+-タブの並び順が保存されないバグ修正
+
+これより前の更新履歴はまとめサイトを参照してください。
diff --git a/Tween/Resources/re.ico b/Tween/Resources/re.ico
new file mode 100644 (file)
index 0000000..2b94af7
Binary files /dev/null and b/Tween/Resources/re.ico differ
diff --git a/Tween/Resources/re2.ico b/Tween/Resources/re2.ico
new file mode 100644 (file)
index 0000000..b435214
Binary files /dev/null and b/Tween/Resources/re2.ico differ
diff --git a/Tween/Resources/re3.ico b/Tween/Resources/re3.ico
new file mode 100644 (file)
index 0000000..61160a4
Binary files /dev/null and b/Tween/Resources/re3.ico differ
diff --git a/Tween/Resources/re4.ico b/Tween/Resources/re4.ico
new file mode 100644 (file)
index 0000000..4ef4452
Binary files /dev/null and b/Tween/Resources/re4.ico differ
diff --git a/Tween/SearchWord.Designer.vb b/Tween/SearchWord.Designer.vb
new file mode 100644 (file)
index 0000000..349fb41
--- /dev/null
@@ -0,0 +1,107 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class SearchWord
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(SearchWord))
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
+        Me.OK_Button = New System.Windows.Forms.Button
+        Me.Cancel_Button = New System.Windows.Forms.Button
+        Me.SWordText = New System.Windows.Forms.TextBox
+        Me.Label1 = New System.Windows.Forms.Label
+        Me.CheckSearchCaseSensitive = New System.Windows.Forms.CheckBox
+        Me.CheckSearchRegex = New System.Windows.Forms.CheckBox
+        Me.TableLayoutPanel1.SuspendLayout()
+        Me.SuspendLayout()
+        '
+        'TableLayoutPanel1
+        '
+        resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1")
+        Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        '
+        'OK_Button
+        '
+        resources.ApplyResources(Me.OK_Button, "OK_Button")
+        Me.OK_Button.Name = "OK_Button"
+        '
+        'Cancel_Button
+        '
+        resources.ApplyResources(Me.Cancel_Button, "Cancel_Button")
+        Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Cancel_Button.Name = "Cancel_Button"
+        '
+        'SWordText
+        '
+        resources.ApplyResources(Me.SWordText, "SWordText")
+        Me.SWordText.Name = "SWordText"
+        '
+        'Label1
+        '
+        resources.ApplyResources(Me.Label1, "Label1")
+        Me.Label1.Name = "Label1"
+        '
+        'CheckSearchCaseSensitive
+        '
+        resources.ApplyResources(Me.CheckSearchCaseSensitive, "CheckSearchCaseSensitive")
+        Me.CheckSearchCaseSensitive.Name = "CheckSearchCaseSensitive"
+        Me.CheckSearchCaseSensitive.UseVisualStyleBackColor = True
+        '
+        'CheckSearchRegex
+        '
+        resources.ApplyResources(Me.CheckSearchRegex, "CheckSearchRegex")
+        Me.CheckSearchRegex.Name = "CheckSearchRegex"
+        Me.CheckSearchRegex.UseVisualStyleBackColor = True
+        '
+        'SearchWord
+        '
+        Me.AcceptButton = Me.OK_Button
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.Cancel_Button
+        Me.Controls.Add(Me.CheckSearchRegex)
+        Me.Controls.Add(Me.CheckSearchCaseSensitive)
+        Me.Controls.Add(Me.Label1)
+        Me.Controls.Add(Me.SWordText)
+        Me.Controls.Add(Me.TableLayoutPanel1)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.MaximizeBox = False
+        Me.MinimizeBox = False
+        Me.Name = "SearchWord"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.TableLayoutPanel1.ResumeLayout(False)
+        Me.ResumeLayout(False)
+        Me.PerformLayout()
+
+    End Sub
+    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents OK_Button As System.Windows.Forms.Button
+    Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+    Friend WithEvents SWordText As System.Windows.Forms.TextBox
+    Friend WithEvents Label1 As System.Windows.Forms.Label
+    Friend WithEvents CheckSearchCaseSensitive As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckSearchRegex As System.Windows.Forms.CheckBox
+
+End Class
diff --git a/Tween/SearchWord.en.resx b/Tween/SearchWord.en.resx
new file mode 100644 (file)
index 0000000..79d6ce5
--- /dev/null
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="OK_Button.Text" xml:space="preserve">
+    <value>&amp;Find</value>
+  </data>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>Close</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>78, 12</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>Fi&amp;nding String:</value>
+  </data>
+  <data name="CheckSearchCaseSensitive.Size" type="System.Drawing.Size, System.Drawing">
+    <value>101, 16</value>
+  </data>
+  <data name="CheckSearchCaseSensitive.Text" xml:space="preserve">
+    <value>Case Sensitive</value>
+  </data>
+  <data name="CheckSearchRegex.Size" type="System.Drawing.Size, System.Drawing">
+    <value>153, 16</value>
+  </data>
+  <data name="CheckSearchRegex.Text" xml:space="preserve">
+    <value>Use Regular Expressions</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>Search</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/SearchWord.resx b/Tween/SearchWord.resx
new file mode 100644 (file)
index 0000000..e565531
--- /dev/null
@@ -0,0 +1,333 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Bottom, Right</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="OK_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="OK_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="OK_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="OK_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="OK_Button.Text" xml:space="preserve">
+    <value>検索(&amp;F)</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Name" xml:space="preserve">
+    <value>OK_Button</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Cancel_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <data name="Cancel_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>76, 3</value>
+  </data>
+  <data name="Cancel_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="Cancel_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>閉じる</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Name" xml:space="preserve">
+    <value>Cancel_Button</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>277, 38</value>
+  </data>
+  <data name="TableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>146, 27</value>
+  </data>
+  <data name="TableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Name" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="TableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="SWordText.Location" type="System.Drawing.Point, System.Drawing">
+    <value>118, 6</value>
+  </data>
+  <data name="SWordText.Size" type="System.Drawing.Size, System.Drawing">
+    <value>302, 19</value>
+  </data>
+  <data name="SWordText.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;SWordText.Name" xml:space="preserve">
+    <value>SWordText</value>
+  </data>
+  <data name="&gt;&gt;SWordText.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SWordText.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;SWordText.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="Label1.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>12, 9</value>
+  </data>
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>100, 12</value>
+  </data>
+  <data name="Label1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>検索する文字列(&amp;N)</value>
+  </data>
+  <data name="&gt;&gt;Label1.Name" xml:space="preserve">
+    <value>Label1</value>
+  </data>
+  <data name="&gt;&gt;Label1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;Label1.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="CheckSearchCaseSensitive.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckSearchCaseSensitive.Location" type="System.Drawing.Point, System.Drawing">
+    <value>118, 31</value>
+  </data>
+  <data name="CheckSearchCaseSensitive.Size" type="System.Drawing.Size, System.Drawing">
+    <value>117, 16</value>
+  </data>
+  <data name="CheckSearchCaseSensitive.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="CheckSearchCaseSensitive.Text" xml:space="preserve">
+    <value>英大小文字を区別</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchCaseSensitive.Name" xml:space="preserve">
+    <value>CheckSearchCaseSensitive</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchCaseSensitive.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchCaseSensitive.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchCaseSensitive.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="CheckSearchRegex.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckSearchRegex.Location" type="System.Drawing.Point, System.Drawing">
+    <value>118, 53</value>
+  </data>
+  <data name="CheckSearchRegex.Size" type="System.Drawing.Size, System.Drawing">
+    <value>72, 16</value>
+  </data>
+  <data name="CheckSearchRegex.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="CheckSearchRegex.Text" xml:space="preserve">
+    <value>正規表現</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchRegex.Name" xml:space="preserve">
+    <value>CheckSearchRegex</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchRegex.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchRegex.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;CheckSearchRegex.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>435, 76</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterParent</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>検索</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>SearchWord</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/SearchWord.vb b/Tween/SearchWord.vb
new file mode 100644 (file)
index 0000000..59aac80
--- /dev/null
@@ -0,0 +1,69 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Windows.Forms
+
+Public Class SearchWord
+
+    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.OK
+        Me.Close()
+    End Sub
+
+    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Close()
+    End Sub
+
+    Public Property SWord() As String
+        Get
+            Return SWordText.Text
+        End Get
+        Set(ByVal value As String)
+            SWordText.Text = value
+        End Set
+    End Property
+
+    Public Property CheckCaseSensitive() As Boolean
+        Get
+            Return CheckSearchCaseSensitive.Checked
+        End Get
+        Set(ByVal value As Boolean)
+            CheckSearchCaseSensitive.Checked = value
+        End Set
+    End Property
+
+    Public Property CheckRegex() As Boolean
+        Get
+            Return CheckSearchRegex.Checked
+        End Get
+        Set(ByVal value As Boolean)
+            CheckSearchRegex.Checked = value
+        End Set
+    End Property
+
+    Private Sub SearchWord_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+        SWordText.SelectAll()
+        SWordText.Focus()
+    End Sub
+End Class
diff --git a/Tween/Setting.Designer.vb b/Tween/Setting.Designer.vb
new file mode 100644 (file)
index 0000000..c62793c
--- /dev/null
@@ -0,0 +1,1781 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class Setting
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Setting))
+        Me.Label1 = New System.Windows.Forms.Label
+        Me.Label2 = New System.Windows.Forms.Label
+        Me.Username = New System.Windows.Forms.TextBox
+        Me.Password = New System.Windows.Forms.TextBox
+        Me.Save = New System.Windows.Forms.Button
+        Me.Cancel = New System.Windows.Forms.Button
+        Me.Label3 = New System.Windows.Forms.Label
+        Me.TimelinePeriod = New System.Windows.Forms.TextBox
+        Me.Label4 = New System.Windows.Forms.Label
+        Me.NextThreshold = New System.Windows.Forms.TextBox
+        Me.DMPeriod = New System.Windows.Forms.TextBox
+        Me.Label5 = New System.Windows.Forms.Label
+        Me.NextPages = New System.Windows.Forms.TextBox
+        Me.Label6 = New System.Windows.Forms.Label
+        Me.ReadLogDays = New System.Windows.Forms.TextBox
+        Me.Label7 = New System.Windows.Forms.Label
+        Me.StartupReadPages = New System.Windows.Forms.TextBox
+        Me.Label8 = New System.Windows.Forms.Label
+        Me.Label9 = New System.Windows.Forms.Label
+        Me.StartupReaded = New System.Windows.Forms.CheckBox
+        Me.ReadLogUnit = New System.Windows.Forms.ComboBox
+        Me.Label11 = New System.Windows.Forms.Label
+        Me.Label12 = New System.Windows.Forms.Label
+        Me.StatusText = New System.Windows.Forms.TextBox
+        Me.PlaySnd = New System.Windows.Forms.CheckBox
+        Me.Label14 = New System.Windows.Forms.Label
+        Me.Label15 = New System.Windows.Forms.Label
+        Me.OneWayLv = New System.Windows.Forms.CheckBox
+        Me.Label16 = New System.Windows.Forms.Label
+        Me.GroupBox1 = New System.Windows.Forms.GroupBox
+        Me.ButtonBackToDefaultFontColor = New System.Windows.Forms.Button
+        Me.btnDetailLink = New System.Windows.Forms.Button
+        Me.lblDetailLink = New System.Windows.Forms.Label
+        Me.Label18 = New System.Windows.Forms.Label
+        Me.btnInputFont = New System.Windows.Forms.Button
+        Me.lblInputFont = New System.Windows.Forms.Label
+        Me.Label65 = New System.Windows.Forms.Label
+        Me.btnInputBackcolor = New System.Windows.Forms.Button
+        Me.lblInputBackcolor = New System.Windows.Forms.Label
+        Me.Label52 = New System.Windows.Forms.Label
+        Me.btnUnread = New System.Windows.Forms.Button
+        Me.lblUnread = New System.Windows.Forms.Label
+        Me.Label20 = New System.Windows.Forms.Label
+        Me.btnAtTo = New System.Windows.Forms.Button
+        Me.lblAtTo = New System.Windows.Forms.Label
+        Me.Label49 = New System.Windows.Forms.Label
+        Me.btnDetailBack = New System.Windows.Forms.Button
+        Me.lblDetailBackcolor = New System.Windows.Forms.Label
+        Me.Label37 = New System.Windows.Forms.Label
+        Me.btnListBack = New System.Windows.Forms.Button
+        Me.lblListBackcolor = New System.Windows.Forms.Label
+        Me.Label19 = New System.Windows.Forms.Label
+        Me.btnAtFromTarget = New System.Windows.Forms.Button
+        Me.lblAtFromTarget = New System.Windows.Forms.Label
+        Me.Label28 = New System.Windows.Forms.Label
+        Me.btnAtTarget = New System.Windows.Forms.Button
+        Me.lblAtTarget = New System.Windows.Forms.Label
+        Me.Label30 = New System.Windows.Forms.Label
+        Me.btnTarget = New System.Windows.Forms.Button
+        Me.lblTarget = New System.Windows.Forms.Label
+        Me.Label32 = New System.Windows.Forms.Label
+        Me.btnAtSelf = New System.Windows.Forms.Button
+        Me.lblAtSelf = New System.Windows.Forms.Label
+        Me.Label34 = New System.Windows.Forms.Label
+        Me.btnSelf = New System.Windows.Forms.Button
+        Me.lblSelf = New System.Windows.Forms.Label
+        Me.Label36 = New System.Windows.Forms.Label
+        Me.btnDetail = New System.Windows.Forms.Button
+        Me.lblDetail = New System.Windows.Forms.Label
+        Me.Label26 = New System.Windows.Forms.Label
+        Me.btnOWL = New System.Windows.Forms.Button
+        Me.lblOWL = New System.Windows.Forms.Label
+        Me.Label24 = New System.Windows.Forms.Label
+        Me.btnFav = New System.Windows.Forms.Button
+        Me.lblFav = New System.Windows.Forms.Label
+        Me.Label22 = New System.Windows.Forms.Label
+        Me.btnListFont = New System.Windows.Forms.Button
+        Me.lblListFont = New System.Windows.Forms.Label
+        Me.Label61 = New System.Windows.Forms.Label
+        Me.FontDialog1 = New System.Windows.Forms.FontDialog
+        Me.ColorDialog1 = New System.Windows.Forms.ColorDialog
+        Me.cmbNameBalloon = New System.Windows.Forms.ComboBox
+        Me.Label10 = New System.Windows.Forms.Label
+        Me.CheckUseRecommendStatus = New System.Windows.Forms.CheckBox
+        Me.CmbDateTimeFormat = New System.Windows.Forms.ComboBox
+        Me.Label23 = New System.Windows.Forms.Label
+        Me.CheckBox3 = New System.Windows.Forms.CheckBox
+        Me.Label25 = New System.Windows.Forms.Label
+        Me.CheckPostCtrlEnter = New System.Windows.Forms.CheckBox
+        Me.Label27 = New System.Windows.Forms.Label
+        Me.Label31 = New System.Windows.Forms.Label
+        Me.Label33 = New System.Windows.Forms.Label
+        Me.Label35 = New System.Windows.Forms.Label
+        Me.StartupReadReply = New System.Windows.Forms.TextBox
+        Me.StartupReadDM = New System.Windows.Forms.TextBox
+        Me.TextBox3 = New System.Windows.Forms.TextBox
+        Me.IconSize = New System.Windows.Forms.ComboBox
+        Me.Label38 = New System.Windows.Forms.Label
+        Me.UReadMng = New System.Windows.Forms.CheckBox
+        Me.Label39 = New System.Windows.Forms.Label
+        Me.CheckReadOldPosts = New System.Windows.Forms.CheckBox
+        Me.Label40 = New System.Windows.Forms.Label
+        Me.CheckCloseToExit = New System.Windows.Forms.CheckBox
+        Me.Label41 = New System.Windows.Forms.Label
+        Me.CheckMinimizeToTray = New System.Windows.Forms.CheckBox
+        Me.BrowserPathText = New System.Windows.Forms.TextBox
+        Me.Label44 = New System.Windows.Forms.Label
+        Me.CheckboxReply = New System.Windows.Forms.CheckBox
+        Me.CheckDispUsername = New System.Windows.Forms.CheckBox
+        Me.Label46 = New System.Windows.Forms.Label
+        Me.Label45 = New System.Windows.Forms.Label
+        Me.ComboDispTitle = New System.Windows.Forms.ComboBox
+        Me.Label47 = New System.Windows.Forms.Label
+        Me.TabControl1 = New System.Windows.Forms.TabControl
+        Me.TabPage1 = New System.Windows.Forms.TabPage
+        Me.Label70 = New System.Windows.Forms.Label
+        Me.CheckStartupAPImodeNoWarning = New System.Windows.Forms.CheckBox
+        Me.Label69 = New System.Windows.Forms.Label
+        Me.ReplyPeriod = New System.Windows.Forms.TextBox
+        Me.CheckPostAndGet = New System.Windows.Forms.CheckBox
+        Me.Label67 = New System.Windows.Forms.Label
+        Me.TextCountApi = New System.Windows.Forms.TextBox
+        Me.Label66 = New System.Windows.Forms.Label
+        Me.CheckPostMethod = New System.Windows.Forms.CheckBox
+        Me.Label43 = New System.Windows.Forms.Label
+        Me.CheckUseApi = New System.Windows.Forms.CheckBox
+        Me.Label54 = New System.Windows.Forms.Label
+        Me.CheckStartupFollowers = New System.Windows.Forms.CheckBox
+        Me.Label53 = New System.Windows.Forms.Label
+        Me.CheckStartupKey = New System.Windows.Forms.CheckBox
+        Me.Label51 = New System.Windows.Forms.Label
+        Me.CheckStartupVersion = New System.Windows.Forms.CheckBox
+        Me.CheckPeriodAdjust = New System.Windows.Forms.CheckBox
+        Me.TabPage2 = New System.Windows.Forms.TabPage
+        Me.Label79 = New System.Windows.Forms.Label
+        Me.CheckAtIdSupple = New System.Windows.Forms.CheckBox
+        Me.TextBitlyPw = New System.Windows.Forms.TextBox
+        Me.Label77 = New System.Windows.Forms.Label
+        Me.TextBitlyId = New System.Windows.Forms.TextBox
+        Me.Label76 = New System.Windows.Forms.Label
+        Me.Label74 = New System.Windows.Forms.Label
+        Me.chkGetFav = New System.Windows.Forms.CheckBox
+        Me.ComboBoxAutoShortUrlFirst = New System.Windows.Forms.ComboBox
+        Me.Label71 = New System.Windows.Forms.Label
+        Me.CheckProtectNotInclude = New System.Windows.Forms.CheckBox
+        Me.Label42 = New System.Windows.Forms.Label
+        Me.CheckAutoConvertUrl = New System.Windows.Forms.CheckBox
+        Me.Label29 = New System.Windows.Forms.Label
+        Me.Label57 = New System.Windows.Forms.Label
+        Me.Label56 = New System.Windows.Forms.Label
+        Me.CheckFavRestrict = New System.Windows.Forms.CheckBox
+        Me.CheckTinyURL = New System.Windows.Forms.CheckBox
+        Me.Label50 = New System.Windows.Forms.Label
+        Me.Button3 = New System.Windows.Forms.Button
+        Me.TabPage3 = New System.Windows.Forms.TabPage
+        Me.CheckAlwaysTop = New System.Windows.Forms.CheckBox
+        Me.Label58 = New System.Windows.Forms.Label
+        Me.Label21 = New System.Windows.Forms.Label
+        Me.CheckSortOrderLock = New System.Windows.Forms.CheckBox
+        Me.Label78 = New System.Windows.Forms.Label
+        Me.CheckShowGrid = New System.Windows.Forms.CheckBox
+        Me.Label75 = New System.Windows.Forms.Label
+        Me.CheckMonospace = New System.Windows.Forms.CheckBox
+        Me.Label73 = New System.Windows.Forms.Label
+        Me.chkReadOwnPost = New System.Windows.Forms.CheckBox
+        Me.ReplyIconStateCombo = New System.Windows.Forms.ComboBox
+        Me.Label72 = New System.Windows.Forms.Label
+        Me.Label48 = New System.Windows.Forms.Label
+        Me.chkTabIconDisp = New System.Windows.Forms.CheckBox
+        Me.Label68 = New System.Windows.Forms.Label
+        Me.CheckBalloonLimit = New System.Windows.Forms.CheckBox
+        Me.LabelDateTimeFormatApplied = New System.Windows.Forms.Label
+        Me.Label62 = New System.Windows.Forms.Label
+        Me.Label17 = New System.Windows.Forms.Label
+        Me.chkUnreadStyle = New System.Windows.Forms.CheckBox
+        Me.TabPage4 = New System.Windows.Forms.TabPage
+        Me.TabPage5 = New System.Windows.Forms.TabPage
+        Me.CheckUseSsl = New System.Windows.Forms.CheckBox
+        Me.Label64 = New System.Windows.Forms.Label
+        Me.ConnectionTimeOut = New System.Windows.Forms.TextBox
+        Me.Label63 = New System.Windows.Forms.Label
+        Me.GroupBox2 = New System.Windows.Forms.GroupBox
+        Me.Label55 = New System.Windows.Forms.Label
+        Me.TextProxyPassword = New System.Windows.Forms.TextBox
+        Me.LabelProxyPassword = New System.Windows.Forms.Label
+        Me.TextProxyUser = New System.Windows.Forms.TextBox
+        Me.LabelProxyUser = New System.Windows.Forms.Label
+        Me.TextProxyPort = New System.Windows.Forms.TextBox
+        Me.LabelProxyPort = New System.Windows.Forms.Label
+        Me.TextProxyAddress = New System.Windows.Forms.TextBox
+        Me.LabelProxyAddress = New System.Windows.Forms.Label
+        Me.RadioProxySpecified = New System.Windows.Forms.RadioButton
+        Me.RadioProxyIE = New System.Windows.Forms.RadioButton
+        Me.RadioProxyNone = New System.Windows.Forms.RadioButton
+        Me.TabPage6 = New System.Windows.Forms.TabPage
+        Me.Label60 = New System.Windows.Forms.Label
+        Me.ComboBoxOutputzUrlmode = New System.Windows.Forms.ComboBox
+        Me.Label59 = New System.Windows.Forms.Label
+        Me.TextBoxOutputzKey = New System.Windows.Forms.TextBox
+        Me.CheckOutputz = New System.Windows.Forms.CheckBox
+        Me.GroupBox1.SuspendLayout()
+        Me.TabControl1.SuspendLayout()
+        Me.TabPage1.SuspendLayout()
+        Me.TabPage2.SuspendLayout()
+        Me.TabPage3.SuspendLayout()
+        Me.TabPage4.SuspendLayout()
+        Me.TabPage5.SuspendLayout()
+        Me.GroupBox2.SuspendLayout()
+        Me.TabPage6.SuspendLayout()
+        Me.SuspendLayout()
+        '
+        'Label1
+        '
+        resources.ApplyResources(Me.Label1, "Label1")
+        Me.Label1.Name = "Label1"
+        '
+        'Label2
+        '
+        resources.ApplyResources(Me.Label2, "Label2")
+        Me.Label2.Name = "Label2"
+        '
+        'Username
+        '
+        resources.ApplyResources(Me.Username, "Username")
+        Me.Username.Name = "Username"
+        '
+        'Password
+        '
+        resources.ApplyResources(Me.Password, "Password")
+        Me.Password.Name = "Password"
+        Me.Password.UseSystemPasswordChar = True
+        '
+        'Save
+        '
+        Me.Save.DialogResult = System.Windows.Forms.DialogResult.OK
+        resources.ApplyResources(Me.Save, "Save")
+        Me.Save.Name = "Save"
+        Me.Save.UseVisualStyleBackColor = True
+        '
+        'Cancel
+        '
+        Me.Cancel.CausesValidation = False
+        Me.Cancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        resources.ApplyResources(Me.Cancel, "Cancel")
+        Me.Cancel.Name = "Cancel"
+        Me.Cancel.UseVisualStyleBackColor = True
+        '
+        'Label3
+        '
+        resources.ApplyResources(Me.Label3, "Label3")
+        Me.Label3.Name = "Label3"
+        '
+        'TimelinePeriod
+        '
+        resources.ApplyResources(Me.TimelinePeriod, "TimelinePeriod")
+        Me.TimelinePeriod.Name = "TimelinePeriod"
+        '
+        'Label4
+        '
+        resources.ApplyResources(Me.Label4, "Label4")
+        Me.Label4.Name = "Label4"
+        '
+        'NextThreshold
+        '
+        resources.ApplyResources(Me.NextThreshold, "NextThreshold")
+        Me.NextThreshold.Name = "NextThreshold"
+        '
+        'DMPeriod
+        '
+        resources.ApplyResources(Me.DMPeriod, "DMPeriod")
+        Me.DMPeriod.Name = "DMPeriod"
+        '
+        'Label5
+        '
+        resources.ApplyResources(Me.Label5, "Label5")
+        Me.Label5.Name = "Label5"
+        '
+        'NextPages
+        '
+        resources.ApplyResources(Me.NextPages, "NextPages")
+        Me.NextPages.Name = "NextPages"
+        '
+        'Label6
+        '
+        resources.ApplyResources(Me.Label6, "Label6")
+        Me.Label6.Name = "Label6"
+        '
+        'ReadLogDays
+        '
+        resources.ApplyResources(Me.ReadLogDays, "ReadLogDays")
+        Me.ReadLogDays.Name = "ReadLogDays"
+        '
+        'Label7
+        '
+        resources.ApplyResources(Me.Label7, "Label7")
+        Me.Label7.Name = "Label7"
+        '
+        'StartupReadPages
+        '
+        resources.ApplyResources(Me.StartupReadPages, "StartupReadPages")
+        Me.StartupReadPages.Name = "StartupReadPages"
+        '
+        'Label8
+        '
+        resources.ApplyResources(Me.Label8, "Label8")
+        Me.Label8.Name = "Label8"
+        '
+        'Label9
+        '
+        resources.ApplyResources(Me.Label9, "Label9")
+        Me.Label9.Name = "Label9"
+        '
+        'StartupReaded
+        '
+        resources.ApplyResources(Me.StartupReaded, "StartupReaded")
+        Me.StartupReaded.Name = "StartupReaded"
+        Me.StartupReaded.UseVisualStyleBackColor = True
+        '
+        'ReadLogUnit
+        '
+        resources.ApplyResources(Me.ReadLogUnit, "ReadLogUnit")
+        Me.ReadLogUnit.FormattingEnabled = True
+        Me.ReadLogUnit.Items.AddRange(New Object() {resources.GetString("ReadLogUnit.Items"), resources.GetString("ReadLogUnit.Items1"), resources.GetString("ReadLogUnit.Items2")})
+        Me.ReadLogUnit.Name = "ReadLogUnit"
+        '
+        'Label11
+        '
+        resources.ApplyResources(Me.Label11, "Label11")
+        Me.Label11.Name = "Label11"
+        '
+        'Label12
+        '
+        resources.ApplyResources(Me.Label12, "Label12")
+        Me.Label12.Name = "Label12"
+        '
+        'StatusText
+        '
+        resources.ApplyResources(Me.StatusText, "StatusText")
+        Me.StatusText.Name = "StatusText"
+        '
+        'PlaySnd
+        '
+        resources.ApplyResources(Me.PlaySnd, "PlaySnd")
+        Me.PlaySnd.Name = "PlaySnd"
+        Me.PlaySnd.UseVisualStyleBackColor = True
+        '
+        'Label14
+        '
+        resources.ApplyResources(Me.Label14, "Label14")
+        Me.Label14.Name = "Label14"
+        '
+        'Label15
+        '
+        Me.Label15.BackColor = System.Drawing.SystemColors.ActiveCaption
+        Me.Label15.ForeColor = System.Drawing.SystemColors.ActiveCaptionText
+        resources.ApplyResources(Me.Label15, "Label15")
+        Me.Label15.Name = "Label15"
+        '
+        'OneWayLv
+        '
+        resources.ApplyResources(Me.OneWayLv, "OneWayLv")
+        Me.OneWayLv.Name = "OneWayLv"
+        Me.OneWayLv.UseVisualStyleBackColor = True
+        '
+        'Label16
+        '
+        resources.ApplyResources(Me.Label16, "Label16")
+        Me.Label16.Name = "Label16"
+        '
+        'GroupBox1
+        '
+        Me.GroupBox1.Controls.Add(Me.ButtonBackToDefaultFontColor)
+        Me.GroupBox1.Controls.Add(Me.btnDetailLink)
+        Me.GroupBox1.Controls.Add(Me.lblDetailLink)
+        Me.GroupBox1.Controls.Add(Me.Label18)
+        Me.GroupBox1.Controls.Add(Me.btnInputFont)
+        Me.GroupBox1.Controls.Add(Me.lblInputFont)
+        Me.GroupBox1.Controls.Add(Me.Label65)
+        Me.GroupBox1.Controls.Add(Me.btnInputBackcolor)
+        Me.GroupBox1.Controls.Add(Me.lblInputBackcolor)
+        Me.GroupBox1.Controls.Add(Me.Label52)
+        Me.GroupBox1.Controls.Add(Me.btnUnread)
+        Me.GroupBox1.Controls.Add(Me.lblUnread)
+        Me.GroupBox1.Controls.Add(Me.Label20)
+        Me.GroupBox1.Controls.Add(Me.btnAtTo)
+        Me.GroupBox1.Controls.Add(Me.lblAtTo)
+        Me.GroupBox1.Controls.Add(Me.Label49)
+        Me.GroupBox1.Controls.Add(Me.btnDetailBack)
+        Me.GroupBox1.Controls.Add(Me.lblDetailBackcolor)
+        Me.GroupBox1.Controls.Add(Me.Label37)
+        Me.GroupBox1.Controls.Add(Me.btnListBack)
+        Me.GroupBox1.Controls.Add(Me.lblListBackcolor)
+        Me.GroupBox1.Controls.Add(Me.Label19)
+        Me.GroupBox1.Controls.Add(Me.btnAtFromTarget)
+        Me.GroupBox1.Controls.Add(Me.lblAtFromTarget)
+        Me.GroupBox1.Controls.Add(Me.Label28)
+        Me.GroupBox1.Controls.Add(Me.btnAtTarget)
+        Me.GroupBox1.Controls.Add(Me.lblAtTarget)
+        Me.GroupBox1.Controls.Add(Me.Label30)
+        Me.GroupBox1.Controls.Add(Me.btnTarget)
+        Me.GroupBox1.Controls.Add(Me.lblTarget)
+        Me.GroupBox1.Controls.Add(Me.Label32)
+        Me.GroupBox1.Controls.Add(Me.btnAtSelf)
+        Me.GroupBox1.Controls.Add(Me.lblAtSelf)
+        Me.GroupBox1.Controls.Add(Me.Label34)
+        Me.GroupBox1.Controls.Add(Me.btnSelf)
+        Me.GroupBox1.Controls.Add(Me.lblSelf)
+        Me.GroupBox1.Controls.Add(Me.Label36)
+        Me.GroupBox1.Controls.Add(Me.btnDetail)
+        Me.GroupBox1.Controls.Add(Me.lblDetail)
+        Me.GroupBox1.Controls.Add(Me.Label26)
+        Me.GroupBox1.Controls.Add(Me.btnOWL)
+        Me.GroupBox1.Controls.Add(Me.lblOWL)
+        Me.GroupBox1.Controls.Add(Me.Label24)
+        Me.GroupBox1.Controls.Add(Me.btnFav)
+        Me.GroupBox1.Controls.Add(Me.lblFav)
+        Me.GroupBox1.Controls.Add(Me.Label22)
+        Me.GroupBox1.Controls.Add(Me.btnListFont)
+        Me.GroupBox1.Controls.Add(Me.lblListFont)
+        Me.GroupBox1.Controls.Add(Me.Label61)
+        resources.ApplyResources(Me.GroupBox1, "GroupBox1")
+        Me.GroupBox1.Name = "GroupBox1"
+        Me.GroupBox1.TabStop = False
+        '
+        'ButtonBackToDefaultFontColor
+        '
+        resources.ApplyResources(Me.ButtonBackToDefaultFontColor, "ButtonBackToDefaultFontColor")
+        Me.ButtonBackToDefaultFontColor.Name = "ButtonBackToDefaultFontColor"
+        Me.ButtonBackToDefaultFontColor.UseVisualStyleBackColor = True
+        '
+        'btnDetailLink
+        '
+        resources.ApplyResources(Me.btnDetailLink, "btnDetailLink")
+        Me.btnDetailLink.Name = "btnDetailLink"
+        Me.btnDetailLink.UseVisualStyleBackColor = True
+        '
+        'lblDetailLink
+        '
+        Me.lblDetailLink.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblDetailLink, "lblDetailLink")
+        Me.lblDetailLink.Name = "lblDetailLink"
+        '
+        'Label18
+        '
+        resources.ApplyResources(Me.Label18, "Label18")
+        Me.Label18.Name = "Label18"
+        '
+        'btnInputFont
+        '
+        resources.ApplyResources(Me.btnInputFont, "btnInputFont")
+        Me.btnInputFont.Name = "btnInputFont"
+        Me.btnInputFont.UseVisualStyleBackColor = True
+        '
+        'lblInputFont
+        '
+        Me.lblInputFont.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblInputFont, "lblInputFont")
+        Me.lblInputFont.Name = "lblInputFont"
+        '
+        'Label65
+        '
+        resources.ApplyResources(Me.Label65, "Label65")
+        Me.Label65.Name = "Label65"
+        '
+        'btnInputBackcolor
+        '
+        resources.ApplyResources(Me.btnInputBackcolor, "btnInputBackcolor")
+        Me.btnInputBackcolor.Name = "btnInputBackcolor"
+        Me.btnInputBackcolor.UseVisualStyleBackColor = True
+        '
+        'lblInputBackcolor
+        '
+        Me.lblInputBackcolor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblInputBackcolor, "lblInputBackcolor")
+        Me.lblInputBackcolor.Name = "lblInputBackcolor"
+        '
+        'Label52
+        '
+        resources.ApplyResources(Me.Label52, "Label52")
+        Me.Label52.Name = "Label52"
+        '
+        'btnUnread
+        '
+        resources.ApplyResources(Me.btnUnread, "btnUnread")
+        Me.btnUnread.Name = "btnUnread"
+        Me.btnUnread.UseVisualStyleBackColor = True
+        '
+        'lblUnread
+        '
+        Me.lblUnread.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblUnread, "lblUnread")
+        Me.lblUnread.Name = "lblUnread"
+        '
+        'Label20
+        '
+        resources.ApplyResources(Me.Label20, "Label20")
+        Me.Label20.Name = "Label20"
+        '
+        'btnAtTo
+        '
+        resources.ApplyResources(Me.btnAtTo, "btnAtTo")
+        Me.btnAtTo.Name = "btnAtTo"
+        Me.btnAtTo.UseVisualStyleBackColor = True
+        '
+        'lblAtTo
+        '
+        Me.lblAtTo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblAtTo, "lblAtTo")
+        Me.lblAtTo.Name = "lblAtTo"
+        '
+        'Label49
+        '
+        resources.ApplyResources(Me.Label49, "Label49")
+        Me.Label49.Name = "Label49"
+        '
+        'btnDetailBack
+        '
+        resources.ApplyResources(Me.btnDetailBack, "btnDetailBack")
+        Me.btnDetailBack.Name = "btnDetailBack"
+        Me.btnDetailBack.UseVisualStyleBackColor = True
+        '
+        'lblDetailBackcolor
+        '
+        Me.lblDetailBackcolor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblDetailBackcolor, "lblDetailBackcolor")
+        Me.lblDetailBackcolor.Name = "lblDetailBackcolor"
+        '
+        'Label37
+        '
+        resources.ApplyResources(Me.Label37, "Label37")
+        Me.Label37.Name = "Label37"
+        '
+        'btnListBack
+        '
+        resources.ApplyResources(Me.btnListBack, "btnListBack")
+        Me.btnListBack.Name = "btnListBack"
+        Me.btnListBack.UseVisualStyleBackColor = True
+        '
+        'lblListBackcolor
+        '
+        Me.lblListBackcolor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblListBackcolor, "lblListBackcolor")
+        Me.lblListBackcolor.Name = "lblListBackcolor"
+        '
+        'Label19
+        '
+        resources.ApplyResources(Me.Label19, "Label19")
+        Me.Label19.Name = "Label19"
+        '
+        'btnAtFromTarget
+        '
+        resources.ApplyResources(Me.btnAtFromTarget, "btnAtFromTarget")
+        Me.btnAtFromTarget.Name = "btnAtFromTarget"
+        Me.btnAtFromTarget.UseVisualStyleBackColor = True
+        '
+        'lblAtFromTarget
+        '
+        Me.lblAtFromTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblAtFromTarget, "lblAtFromTarget")
+        Me.lblAtFromTarget.Name = "lblAtFromTarget"
+        '
+        'Label28
+        '
+        resources.ApplyResources(Me.Label28, "Label28")
+        Me.Label28.Name = "Label28"
+        '
+        'btnAtTarget
+        '
+        resources.ApplyResources(Me.btnAtTarget, "btnAtTarget")
+        Me.btnAtTarget.Name = "btnAtTarget"
+        Me.btnAtTarget.UseVisualStyleBackColor = True
+        '
+        'lblAtTarget
+        '
+        Me.lblAtTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblAtTarget, "lblAtTarget")
+        Me.lblAtTarget.Name = "lblAtTarget"
+        '
+        'Label30
+        '
+        resources.ApplyResources(Me.Label30, "Label30")
+        Me.Label30.Name = "Label30"
+        '
+        'btnTarget
+        '
+        resources.ApplyResources(Me.btnTarget, "btnTarget")
+        Me.btnTarget.Name = "btnTarget"
+        Me.btnTarget.UseVisualStyleBackColor = True
+        '
+        'lblTarget
+        '
+        Me.lblTarget.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblTarget, "lblTarget")
+        Me.lblTarget.Name = "lblTarget"
+        '
+        'Label32
+        '
+        resources.ApplyResources(Me.Label32, "Label32")
+        Me.Label32.Name = "Label32"
+        '
+        'btnAtSelf
+        '
+        resources.ApplyResources(Me.btnAtSelf, "btnAtSelf")
+        Me.btnAtSelf.Name = "btnAtSelf"
+        Me.btnAtSelf.UseVisualStyleBackColor = True
+        '
+        'lblAtSelf
+        '
+        Me.lblAtSelf.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblAtSelf, "lblAtSelf")
+        Me.lblAtSelf.Name = "lblAtSelf"
+        '
+        'Label34
+        '
+        resources.ApplyResources(Me.Label34, "Label34")
+        Me.Label34.Name = "Label34"
+        '
+        'btnSelf
+        '
+        resources.ApplyResources(Me.btnSelf, "btnSelf")
+        Me.btnSelf.Name = "btnSelf"
+        Me.btnSelf.UseVisualStyleBackColor = True
+        '
+        'lblSelf
+        '
+        Me.lblSelf.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblSelf, "lblSelf")
+        Me.lblSelf.Name = "lblSelf"
+        '
+        'Label36
+        '
+        resources.ApplyResources(Me.Label36, "Label36")
+        Me.Label36.Name = "Label36"
+        '
+        'btnDetail
+        '
+        resources.ApplyResources(Me.btnDetail, "btnDetail")
+        Me.btnDetail.Name = "btnDetail"
+        Me.btnDetail.UseVisualStyleBackColor = True
+        '
+        'lblDetail
+        '
+        Me.lblDetail.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblDetail, "lblDetail")
+        Me.lblDetail.Name = "lblDetail"
+        '
+        'Label26
+        '
+        resources.ApplyResources(Me.Label26, "Label26")
+        Me.Label26.Name = "Label26"
+        '
+        'btnOWL
+        '
+        resources.ApplyResources(Me.btnOWL, "btnOWL")
+        Me.btnOWL.Name = "btnOWL"
+        Me.btnOWL.UseVisualStyleBackColor = True
+        '
+        'lblOWL
+        '
+        Me.lblOWL.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblOWL, "lblOWL")
+        Me.lblOWL.Name = "lblOWL"
+        '
+        'Label24
+        '
+        resources.ApplyResources(Me.Label24, "Label24")
+        Me.Label24.Name = "Label24"
+        '
+        'btnFav
+        '
+        resources.ApplyResources(Me.btnFav, "btnFav")
+        Me.btnFav.Name = "btnFav"
+        Me.btnFav.UseVisualStyleBackColor = True
+        '
+        'lblFav
+        '
+        Me.lblFav.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblFav, "lblFav")
+        Me.lblFav.Name = "lblFav"
+        '
+        'Label22
+        '
+        resources.ApplyResources(Me.Label22, "Label22")
+        Me.Label22.Name = "Label22"
+        '
+        'btnListFont
+        '
+        resources.ApplyResources(Me.btnListFont, "btnListFont")
+        Me.btnListFont.Name = "btnListFont"
+        Me.btnListFont.UseVisualStyleBackColor = True
+        '
+        'lblListFont
+        '
+        Me.lblListFont.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.lblListFont, "lblListFont")
+        Me.lblListFont.Name = "lblListFont"
+        '
+        'Label61
+        '
+        resources.ApplyResources(Me.Label61, "Label61")
+        Me.Label61.Name = "Label61"
+        '
+        'cmbNameBalloon
+        '
+        Me.cmbNameBalloon.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+        Me.cmbNameBalloon.FormattingEnabled = True
+        Me.cmbNameBalloon.Items.AddRange(New Object() {resources.GetString("cmbNameBalloon.Items"), resources.GetString("cmbNameBalloon.Items1"), resources.GetString("cmbNameBalloon.Items2")})
+        resources.ApplyResources(Me.cmbNameBalloon, "cmbNameBalloon")
+        Me.cmbNameBalloon.Name = "cmbNameBalloon"
+        '
+        'Label10
+        '
+        resources.ApplyResources(Me.Label10, "Label10")
+        Me.Label10.Name = "Label10"
+        '
+        'CheckUseRecommendStatus
+        '
+        resources.ApplyResources(Me.CheckUseRecommendStatus, "CheckUseRecommendStatus")
+        Me.CheckUseRecommendStatus.Name = "CheckUseRecommendStatus"
+        Me.CheckUseRecommendStatus.UseVisualStyleBackColor = True
+        '
+        'CmbDateTimeFormat
+        '
+        resources.ApplyResources(Me.CmbDateTimeFormat, "CmbDateTimeFormat")
+        Me.CmbDateTimeFormat.Items.AddRange(New Object() {resources.GetString("CmbDateTimeFormat.Items"), resources.GetString("CmbDateTimeFormat.Items1"), resources.GetString("CmbDateTimeFormat.Items2"), resources.GetString("CmbDateTimeFormat.Items3"), resources.GetString("CmbDateTimeFormat.Items4"), resources.GetString("CmbDateTimeFormat.Items5"), resources.GetString("CmbDateTimeFormat.Items6"), resources.GetString("CmbDateTimeFormat.Items7"), resources.GetString("CmbDateTimeFormat.Items8"), resources.GetString("CmbDateTimeFormat.Items9"), resources.GetString("CmbDateTimeFormat.Items10")})
+        Me.CmbDateTimeFormat.Name = "CmbDateTimeFormat"
+        '
+        'Label23
+        '
+        resources.ApplyResources(Me.Label23, "Label23")
+        Me.Label23.Name = "Label23"
+        '
+        'CheckBox3
+        '
+        resources.ApplyResources(Me.CheckBox3, "CheckBox3")
+        Me.CheckBox3.Name = "CheckBox3"
+        Me.CheckBox3.UseVisualStyleBackColor = True
+        '
+        'Label25
+        '
+        resources.ApplyResources(Me.Label25, "Label25")
+        Me.Label25.Name = "Label25"
+        '
+        'CheckPostCtrlEnter
+        '
+        resources.ApplyResources(Me.CheckPostCtrlEnter, "CheckPostCtrlEnter")
+        Me.CheckPostCtrlEnter.Name = "CheckPostCtrlEnter"
+        Me.CheckPostCtrlEnter.UseVisualStyleBackColor = True
+        '
+        'Label27
+        '
+        resources.ApplyResources(Me.Label27, "Label27")
+        Me.Label27.Name = "Label27"
+        '
+        'Label31
+        '
+        resources.ApplyResources(Me.Label31, "Label31")
+        Me.Label31.Name = "Label31"
+        '
+        'Label33
+        '
+        resources.ApplyResources(Me.Label33, "Label33")
+        Me.Label33.Name = "Label33"
+        '
+        'Label35
+        '
+        resources.ApplyResources(Me.Label35, "Label35")
+        Me.Label35.Name = "Label35"
+        '
+        'StartupReadReply
+        '
+        resources.ApplyResources(Me.StartupReadReply, "StartupReadReply")
+        Me.StartupReadReply.Name = "StartupReadReply"
+        '
+        'StartupReadDM
+        '
+        resources.ApplyResources(Me.StartupReadDM, "StartupReadDM")
+        Me.StartupReadDM.Name = "StartupReadDM"
+        '
+        'TextBox3
+        '
+        resources.ApplyResources(Me.TextBox3, "TextBox3")
+        Me.TextBox3.Name = "TextBox3"
+        '
+        'IconSize
+        '
+        Me.IconSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+        Me.IconSize.FormattingEnabled = True
+        Me.IconSize.Items.AddRange(New Object() {resources.GetString("IconSize.Items"), resources.GetString("IconSize.Items1"), resources.GetString("IconSize.Items2"), resources.GetString("IconSize.Items3"), resources.GetString("IconSize.Items4")})
+        resources.ApplyResources(Me.IconSize, "IconSize")
+        Me.IconSize.Name = "IconSize"
+        '
+        'Label38
+        '
+        resources.ApplyResources(Me.Label38, "Label38")
+        Me.Label38.Name = "Label38"
+        '
+        'UReadMng
+        '
+        resources.ApplyResources(Me.UReadMng, "UReadMng")
+        Me.UReadMng.Name = "UReadMng"
+        Me.UReadMng.UseVisualStyleBackColor = True
+        '
+        'Label39
+        '
+        resources.ApplyResources(Me.Label39, "Label39")
+        Me.Label39.Name = "Label39"
+        '
+        'CheckReadOldPosts
+        '
+        resources.ApplyResources(Me.CheckReadOldPosts, "CheckReadOldPosts")
+        Me.CheckReadOldPosts.Name = "CheckReadOldPosts"
+        Me.CheckReadOldPosts.UseVisualStyleBackColor = True
+        '
+        'Label40
+        '
+        resources.ApplyResources(Me.Label40, "Label40")
+        Me.Label40.Name = "Label40"
+        '
+        'CheckCloseToExit
+        '
+        resources.ApplyResources(Me.CheckCloseToExit, "CheckCloseToExit")
+        Me.CheckCloseToExit.Name = "CheckCloseToExit"
+        Me.CheckCloseToExit.UseVisualStyleBackColor = True
+        '
+        'Label41
+        '
+        resources.ApplyResources(Me.Label41, "Label41")
+        Me.Label41.Name = "Label41"
+        '
+        'CheckMinimizeToTray
+        '
+        resources.ApplyResources(Me.CheckMinimizeToTray, "CheckMinimizeToTray")
+        Me.CheckMinimizeToTray.Name = "CheckMinimizeToTray"
+        Me.CheckMinimizeToTray.UseVisualStyleBackColor = True
+        '
+        'BrowserPathText
+        '
+        resources.ApplyResources(Me.BrowserPathText, "BrowserPathText")
+        Me.BrowserPathText.Name = "BrowserPathText"
+        '
+        'Label44
+        '
+        resources.ApplyResources(Me.Label44, "Label44")
+        Me.Label44.Name = "Label44"
+        '
+        'CheckboxReply
+        '
+        resources.ApplyResources(Me.CheckboxReply, "CheckboxReply")
+        Me.CheckboxReply.Name = "CheckboxReply"
+        Me.CheckboxReply.UseVisualStyleBackColor = True
+        '
+        'CheckDispUsername
+        '
+        resources.ApplyResources(Me.CheckDispUsername, "CheckDispUsername")
+        Me.CheckDispUsername.Name = "CheckDispUsername"
+        Me.CheckDispUsername.UseVisualStyleBackColor = True
+        '
+        'Label46
+        '
+        resources.ApplyResources(Me.Label46, "Label46")
+        Me.Label46.Name = "Label46"
+        '
+        'Label45
+        '
+        resources.ApplyResources(Me.Label45, "Label45")
+        Me.Label45.Name = "Label45"
+        '
+        'ComboDispTitle
+        '
+        Me.ComboDispTitle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+        Me.ComboDispTitle.FormattingEnabled = True
+        Me.ComboDispTitle.Items.AddRange(New Object() {resources.GetString("ComboDispTitle.Items"), resources.GetString("ComboDispTitle.Items1"), resources.GetString("ComboDispTitle.Items2"), resources.GetString("ComboDispTitle.Items3"), resources.GetString("ComboDispTitle.Items4"), resources.GetString("ComboDispTitle.Items5"), resources.GetString("ComboDispTitle.Items6")})
+        resources.ApplyResources(Me.ComboDispTitle, "ComboDispTitle")
+        Me.ComboDispTitle.Name = "ComboDispTitle"
+        '
+        'Label47
+        '
+        resources.ApplyResources(Me.Label47, "Label47")
+        Me.Label47.BackColor = System.Drawing.SystemColors.ActiveCaption
+        Me.Label47.ForeColor = System.Drawing.SystemColors.ActiveCaptionText
+        Me.Label47.Name = "Label47"
+        '
+        'TabControl1
+        '
+        Me.TabControl1.Controls.Add(Me.TabPage1)
+        Me.TabControl1.Controls.Add(Me.TabPage2)
+        Me.TabControl1.Controls.Add(Me.TabPage3)
+        Me.TabControl1.Controls.Add(Me.TabPage4)
+        Me.TabControl1.Controls.Add(Me.TabPage5)
+        Me.TabControl1.Controls.Add(Me.TabPage6)
+        resources.ApplyResources(Me.TabControl1, "TabControl1")
+        Me.TabControl1.Name = "TabControl1"
+        Me.TabControl1.SelectedIndex = 0
+        '
+        'TabPage1
+        '
+        Me.TabPage1.Controls.Add(Me.Label70)
+        Me.TabPage1.Controls.Add(Me.CheckStartupAPImodeNoWarning)
+        Me.TabPage1.Controls.Add(Me.Label69)
+        Me.TabPage1.Controls.Add(Me.ReplyPeriod)
+        Me.TabPage1.Controls.Add(Me.CheckPostAndGet)
+        Me.TabPage1.Controls.Add(Me.Label67)
+        Me.TabPage1.Controls.Add(Me.TextCountApi)
+        Me.TabPage1.Controls.Add(Me.Label66)
+        Me.TabPage1.Controls.Add(Me.CheckPostMethod)
+        Me.TabPage1.Controls.Add(Me.Label43)
+        Me.TabPage1.Controls.Add(Me.CheckUseApi)
+        Me.TabPage1.Controls.Add(Me.Label54)
+        Me.TabPage1.Controls.Add(Me.CheckStartupFollowers)
+        Me.TabPage1.Controls.Add(Me.Label53)
+        Me.TabPage1.Controls.Add(Me.CheckStartupKey)
+        Me.TabPage1.Controls.Add(Me.Label51)
+        Me.TabPage1.Controls.Add(Me.CheckStartupVersion)
+        Me.TabPage1.Controls.Add(Me.CheckPeriodAdjust)
+        Me.TabPage1.Controls.Add(Me.Label1)
+        Me.TabPage1.Controls.Add(Me.Label2)
+        Me.TabPage1.Controls.Add(Me.Username)
+        Me.TabPage1.Controls.Add(Me.Password)
+        Me.TabPage1.Controls.Add(Me.Label3)
+        Me.TabPage1.Controls.Add(Me.TimelinePeriod)
+        Me.TabPage1.Controls.Add(Me.CheckboxReply)
+        Me.TabPage1.Controls.Add(Me.Label4)
+        Me.TabPage1.Controls.Add(Me.NextThreshold)
+        Me.TabPage1.Controls.Add(Me.Label5)
+        Me.TabPage1.Controls.Add(Me.DMPeriod)
+        Me.TabPage1.Controls.Add(Me.Label6)
+        Me.TabPage1.Controls.Add(Me.NextPages)
+        Me.TabPage1.Controls.Add(Me.Label7)
+        Me.TabPage1.Controls.Add(Me.ReadLogDays)
+        Me.TabPage1.Controls.Add(Me.Label8)
+        Me.TabPage1.Controls.Add(Me.StartupReadPages)
+        Me.TabPage1.Controls.Add(Me.Label9)
+        Me.TabPage1.Controls.Add(Me.StartupReaded)
+        Me.TabPage1.Controls.Add(Me.ReadLogUnit)
+        Me.TabPage1.Controls.Add(Me.Label31)
+        Me.TabPage1.Controls.Add(Me.Label33)
+        Me.TabPage1.Controls.Add(Me.Label35)
+        Me.TabPage1.Controls.Add(Me.StartupReadReply)
+        Me.TabPage1.Controls.Add(Me.StartupReadDM)
+        resources.ApplyResources(Me.TabPage1, "TabPage1")
+        Me.TabPage1.Name = "TabPage1"
+        Me.TabPage1.UseVisualStyleBackColor = True
+        '
+        'Label70
+        '
+        resources.ApplyResources(Me.Label70, "Label70")
+        Me.Label70.Name = "Label70"
+        '
+        'CheckStartupAPImodeNoWarning
+        '
+        resources.ApplyResources(Me.CheckStartupAPImodeNoWarning, "CheckStartupAPImodeNoWarning")
+        Me.CheckStartupAPImodeNoWarning.Name = "CheckStartupAPImodeNoWarning"
+        Me.CheckStartupAPImodeNoWarning.UseVisualStyleBackColor = True
+        '
+        'Label69
+        '
+        resources.ApplyResources(Me.Label69, "Label69")
+        Me.Label69.Name = "Label69"
+        '
+        'ReplyPeriod
+        '
+        resources.ApplyResources(Me.ReplyPeriod, "ReplyPeriod")
+        Me.ReplyPeriod.Name = "ReplyPeriod"
+        '
+        'CheckPostAndGet
+        '
+        resources.ApplyResources(Me.CheckPostAndGet, "CheckPostAndGet")
+        Me.CheckPostAndGet.Name = "CheckPostAndGet"
+        Me.CheckPostAndGet.UseVisualStyleBackColor = True
+        '
+        'Label67
+        '
+        resources.ApplyResources(Me.Label67, "Label67")
+        Me.Label67.Name = "Label67"
+        '
+        'TextCountApi
+        '
+        resources.ApplyResources(Me.TextCountApi, "TextCountApi")
+        Me.TextCountApi.Name = "TextCountApi"
+        '
+        'Label66
+        '
+        resources.ApplyResources(Me.Label66, "Label66")
+        Me.Label66.Name = "Label66"
+        '
+        'CheckPostMethod
+        '
+        resources.ApplyResources(Me.CheckPostMethod, "CheckPostMethod")
+        Me.CheckPostMethod.Name = "CheckPostMethod"
+        Me.CheckPostMethod.UseVisualStyleBackColor = True
+        '
+        'Label43
+        '
+        resources.ApplyResources(Me.Label43, "Label43")
+        Me.Label43.Name = "Label43"
+        '
+        'CheckUseApi
+        '
+        resources.ApplyResources(Me.CheckUseApi, "CheckUseApi")
+        Me.CheckUseApi.Name = "CheckUseApi"
+        Me.CheckUseApi.UseVisualStyleBackColor = True
+        '
+        'Label54
+        '
+        resources.ApplyResources(Me.Label54, "Label54")
+        Me.Label54.Name = "Label54"
+        '
+        'CheckStartupFollowers
+        '
+        resources.ApplyResources(Me.CheckStartupFollowers, "CheckStartupFollowers")
+        Me.CheckStartupFollowers.Name = "CheckStartupFollowers"
+        Me.CheckStartupFollowers.UseVisualStyleBackColor = True
+        '
+        'Label53
+        '
+        resources.ApplyResources(Me.Label53, "Label53")
+        Me.Label53.Name = "Label53"
+        '
+        'CheckStartupKey
+        '
+        resources.ApplyResources(Me.CheckStartupKey, "CheckStartupKey")
+        Me.CheckStartupKey.Name = "CheckStartupKey"
+        Me.CheckStartupKey.UseVisualStyleBackColor = True
+        '
+        'Label51
+        '
+        resources.ApplyResources(Me.Label51, "Label51")
+        Me.Label51.Name = "Label51"
+        '
+        'CheckStartupVersion
+        '
+        resources.ApplyResources(Me.CheckStartupVersion, "CheckStartupVersion")
+        Me.CheckStartupVersion.Name = "CheckStartupVersion"
+        Me.CheckStartupVersion.UseVisualStyleBackColor = True
+        '
+        'CheckPeriodAdjust
+        '
+        resources.ApplyResources(Me.CheckPeriodAdjust, "CheckPeriodAdjust")
+        Me.CheckPeriodAdjust.Name = "CheckPeriodAdjust"
+        Me.CheckPeriodAdjust.UseVisualStyleBackColor = True
+        '
+        'TabPage2
+        '
+        Me.TabPage2.Controls.Add(Me.Label79)
+        Me.TabPage2.Controls.Add(Me.CheckAtIdSupple)
+        Me.TabPage2.Controls.Add(Me.TextBitlyPw)
+        Me.TabPage2.Controls.Add(Me.Label77)
+        Me.TabPage2.Controls.Add(Me.TextBitlyId)
+        Me.TabPage2.Controls.Add(Me.Label76)
+        Me.TabPage2.Controls.Add(Me.Label74)
+        Me.TabPage2.Controls.Add(Me.chkGetFav)
+        Me.TabPage2.Controls.Add(Me.ComboBoxAutoShortUrlFirst)
+        Me.TabPage2.Controls.Add(Me.Label71)
+        Me.TabPage2.Controls.Add(Me.CheckProtectNotInclude)
+        Me.TabPage2.Controls.Add(Me.Label42)
+        Me.TabPage2.Controls.Add(Me.CheckAutoConvertUrl)
+        Me.TabPage2.Controls.Add(Me.Label29)
+        Me.TabPage2.Controls.Add(Me.Label57)
+        Me.TabPage2.Controls.Add(Me.Label56)
+        Me.TabPage2.Controls.Add(Me.CheckFavRestrict)
+        Me.TabPage2.Controls.Add(Me.CheckTinyURL)
+        Me.TabPage2.Controls.Add(Me.Label50)
+        Me.TabPage2.Controls.Add(Me.Button3)
+        Me.TabPage2.Controls.Add(Me.PlaySnd)
+        Me.TabPage2.Controls.Add(Me.Label14)
+        Me.TabPage2.Controls.Add(Me.Label15)
+        Me.TabPage2.Controls.Add(Me.Label38)
+        Me.TabPage2.Controls.Add(Me.BrowserPathText)
+        Me.TabPage2.Controls.Add(Me.UReadMng)
+        Me.TabPage2.Controls.Add(Me.Label44)
+        Me.TabPage2.Controls.Add(Me.CheckCloseToExit)
+        Me.TabPage2.Controls.Add(Me.Label40)
+        Me.TabPage2.Controls.Add(Me.CheckMinimizeToTray)
+        Me.TabPage2.Controls.Add(Me.Label41)
+        Me.TabPage2.Controls.Add(Me.Label27)
+        Me.TabPage2.Controls.Add(Me.Label39)
+        Me.TabPage2.Controls.Add(Me.CheckPostCtrlEnter)
+        Me.TabPage2.Controls.Add(Me.CheckReadOldPosts)
+        Me.TabPage2.Controls.Add(Me.Label12)
+        Me.TabPage2.Controls.Add(Me.StatusText)
+        Me.TabPage2.Controls.Add(Me.CheckUseRecommendStatus)
+        resources.ApplyResources(Me.TabPage2, "TabPage2")
+        Me.TabPage2.Name = "TabPage2"
+        Me.TabPage2.UseVisualStyleBackColor = True
+        '
+        'Label79
+        '
+        resources.ApplyResources(Me.Label79, "Label79")
+        Me.Label79.Name = "Label79"
+        '
+        'CheckAtIdSupple
+        '
+        resources.ApplyResources(Me.CheckAtIdSupple, "CheckAtIdSupple")
+        Me.CheckAtIdSupple.Name = "CheckAtIdSupple"
+        Me.CheckAtIdSupple.UseVisualStyleBackColor = True
+        '
+        'TextBitlyPw
+        '
+        resources.ApplyResources(Me.TextBitlyPw, "TextBitlyPw")
+        Me.TextBitlyPw.Name = "TextBitlyPw"
+        Me.TextBitlyPw.UseSystemPasswordChar = True
+        '
+        'Label77
+        '
+        resources.ApplyResources(Me.Label77, "Label77")
+        Me.Label77.Name = "Label77"
+        '
+        'TextBitlyId
+        '
+        resources.ApplyResources(Me.TextBitlyId, "TextBitlyId")
+        Me.TextBitlyId.Name = "TextBitlyId"
+        '
+        'Label76
+        '
+        resources.ApplyResources(Me.Label76, "Label76")
+        Me.Label76.Name = "Label76"
+        '
+        'Label74
+        '
+        resources.ApplyResources(Me.Label74, "Label74")
+        Me.Label74.Name = "Label74"
+        '
+        'chkGetFav
+        '
+        resources.ApplyResources(Me.chkGetFav, "chkGetFav")
+        Me.chkGetFav.Name = "chkGetFav"
+        Me.chkGetFav.UseVisualStyleBackColor = True
+        '
+        'ComboBoxAutoShortUrlFirst
+        '
+        Me.ComboBoxAutoShortUrlFirst.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+        Me.ComboBoxAutoShortUrlFirst.FormattingEnabled = True
+        Me.ComboBoxAutoShortUrlFirst.Items.AddRange(New Object() {resources.GetString("ComboBoxAutoShortUrlFirst.Items"), resources.GetString("ComboBoxAutoShortUrlFirst.Items1"), resources.GetString("ComboBoxAutoShortUrlFirst.Items2"), resources.GetString("ComboBoxAutoShortUrlFirst.Items3"), resources.GetString("ComboBoxAutoShortUrlFirst.Items4"), resources.GetString("ComboBoxAutoShortUrlFirst.Items5")})
+        resources.ApplyResources(Me.ComboBoxAutoShortUrlFirst, "ComboBoxAutoShortUrlFirst")
+        Me.ComboBoxAutoShortUrlFirst.Name = "ComboBoxAutoShortUrlFirst"
+        '
+        'Label71
+        '
+        resources.ApplyResources(Me.Label71, "Label71")
+        Me.Label71.Name = "Label71"
+        '
+        'CheckProtectNotInclude
+        '
+        resources.ApplyResources(Me.CheckProtectNotInclude, "CheckProtectNotInclude")
+        Me.CheckProtectNotInclude.Name = "CheckProtectNotInclude"
+        Me.CheckProtectNotInclude.UseVisualStyleBackColor = True
+        '
+        'Label42
+        '
+        resources.ApplyResources(Me.Label42, "Label42")
+        Me.Label42.Name = "Label42"
+        '
+        'CheckAutoConvertUrl
+        '
+        resources.ApplyResources(Me.CheckAutoConvertUrl, "CheckAutoConvertUrl")
+        Me.CheckAutoConvertUrl.Name = "CheckAutoConvertUrl"
+        Me.CheckAutoConvertUrl.UseVisualStyleBackColor = True
+        '
+        'Label29
+        '
+        resources.ApplyResources(Me.Label29, "Label29")
+        Me.Label29.Name = "Label29"
+        '
+        'Label57
+        '
+        resources.ApplyResources(Me.Label57, "Label57")
+        Me.Label57.BackColor = System.Drawing.SystemColors.ActiveCaption
+        Me.Label57.ForeColor = System.Drawing.SystemColors.ActiveCaptionText
+        Me.Label57.Name = "Label57"
+        '
+        'Label56
+        '
+        resources.ApplyResources(Me.Label56, "Label56")
+        Me.Label56.Name = "Label56"
+        '
+        'CheckFavRestrict
+        '
+        resources.ApplyResources(Me.CheckFavRestrict, "CheckFavRestrict")
+        Me.CheckFavRestrict.Name = "CheckFavRestrict"
+        Me.CheckFavRestrict.UseVisualStyleBackColor = True
+        '
+        'CheckTinyURL
+        '
+        resources.ApplyResources(Me.CheckTinyURL, "CheckTinyURL")
+        Me.CheckTinyURL.Name = "CheckTinyURL"
+        Me.CheckTinyURL.UseVisualStyleBackColor = True
+        '
+        'Label50
+        '
+        resources.ApplyResources(Me.Label50, "Label50")
+        Me.Label50.Name = "Label50"
+        '
+        'Button3
+        '
+        resources.ApplyResources(Me.Button3, "Button3")
+        Me.Button3.Name = "Button3"
+        Me.Button3.UseVisualStyleBackColor = True
+        '
+        'TabPage3
+        '
+        Me.TabPage3.Controls.Add(Me.CheckAlwaysTop)
+        Me.TabPage3.Controls.Add(Me.Label58)
+        Me.TabPage3.Controls.Add(Me.Label21)
+        Me.TabPage3.Controls.Add(Me.CheckSortOrderLock)
+        Me.TabPage3.Controls.Add(Me.Label78)
+        Me.TabPage3.Controls.Add(Me.CheckShowGrid)
+        Me.TabPage3.Controls.Add(Me.Label75)
+        Me.TabPage3.Controls.Add(Me.CheckMonospace)
+        Me.TabPage3.Controls.Add(Me.Label73)
+        Me.TabPage3.Controls.Add(Me.chkReadOwnPost)
+        Me.TabPage3.Controls.Add(Me.ReplyIconStateCombo)
+        Me.TabPage3.Controls.Add(Me.Label72)
+        Me.TabPage3.Controls.Add(Me.Label48)
+        Me.TabPage3.Controls.Add(Me.chkTabIconDisp)
+        Me.TabPage3.Controls.Add(Me.Label68)
+        Me.TabPage3.Controls.Add(Me.CheckBalloonLimit)
+        Me.TabPage3.Controls.Add(Me.LabelDateTimeFormatApplied)
+        Me.TabPage3.Controls.Add(Me.Label62)
+        Me.TabPage3.Controls.Add(Me.Label17)
+        Me.TabPage3.Controls.Add(Me.chkUnreadStyle)
+        Me.TabPage3.Controls.Add(Me.Label10)
+        Me.TabPage3.Controls.Add(Me.ComboDispTitle)
+        Me.TabPage3.Controls.Add(Me.Label47)
+        Me.TabPage3.Controls.Add(Me.CmbDateTimeFormat)
+        Me.TabPage3.Controls.Add(Me.Label45)
+        Me.TabPage3.Controls.Add(Me.Label23)
+        Me.TabPage3.Controls.Add(Me.cmbNameBalloon)
+        Me.TabPage3.Controls.Add(Me.Label46)
+        Me.TabPage3.Controls.Add(Me.CheckDispUsername)
+        Me.TabPage3.Controls.Add(Me.Label11)
+        Me.TabPage3.Controls.Add(Me.Label16)
+        Me.TabPage3.Controls.Add(Me.OneWayLv)
+        Me.TabPage3.Controls.Add(Me.Label25)
+        Me.TabPage3.Controls.Add(Me.IconSize)
+        Me.TabPage3.Controls.Add(Me.CheckBox3)
+        Me.TabPage3.Controls.Add(Me.TextBox3)
+        resources.ApplyResources(Me.TabPage3, "TabPage3")
+        Me.TabPage3.Name = "TabPage3"
+        Me.TabPage3.UseVisualStyleBackColor = True
+        '
+        'CheckAlwaysTop
+        '
+        resources.ApplyResources(Me.CheckAlwaysTop, "CheckAlwaysTop")
+        Me.CheckAlwaysTop.Name = "CheckAlwaysTop"
+        Me.CheckAlwaysTop.UseVisualStyleBackColor = True
+        '
+        'Label58
+        '
+        resources.ApplyResources(Me.Label58, "Label58")
+        Me.Label58.Name = "Label58"
+        '
+        'Label21
+        '
+        resources.ApplyResources(Me.Label21, "Label21")
+        Me.Label21.Name = "Label21"
+        '
+        'CheckSortOrderLock
+        '
+        resources.ApplyResources(Me.CheckSortOrderLock, "CheckSortOrderLock")
+        Me.CheckSortOrderLock.Name = "CheckSortOrderLock"
+        Me.CheckSortOrderLock.UseVisualStyleBackColor = True
+        '
+        'Label78
+        '
+        resources.ApplyResources(Me.Label78, "Label78")
+        Me.Label78.Name = "Label78"
+        '
+        'CheckShowGrid
+        '
+        resources.ApplyResources(Me.CheckShowGrid, "CheckShowGrid")
+        Me.CheckShowGrid.Name = "CheckShowGrid"
+        Me.CheckShowGrid.UseVisualStyleBackColor = True
+        '
+        'Label75
+        '
+        resources.ApplyResources(Me.Label75, "Label75")
+        Me.Label75.Name = "Label75"
+        '
+        'CheckMonospace
+        '
+        resources.ApplyResources(Me.CheckMonospace, "CheckMonospace")
+        Me.CheckMonospace.Name = "CheckMonospace"
+        Me.CheckMonospace.UseVisualStyleBackColor = True
+        '
+        'Label73
+        '
+        resources.ApplyResources(Me.Label73, "Label73")
+        Me.Label73.Name = "Label73"
+        '
+        'chkReadOwnPost
+        '
+        resources.ApplyResources(Me.chkReadOwnPost, "chkReadOwnPost")
+        Me.chkReadOwnPost.Name = "chkReadOwnPost"
+        Me.chkReadOwnPost.UseVisualStyleBackColor = True
+        '
+        'ReplyIconStateCombo
+        '
+        Me.ReplyIconStateCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+        Me.ReplyIconStateCombo.FormattingEnabled = True
+        Me.ReplyIconStateCombo.Items.AddRange(New Object() {resources.GetString("ReplyIconStateCombo.Items"), resources.GetString("ReplyIconStateCombo.Items1"), resources.GetString("ReplyIconStateCombo.Items2")})
+        resources.ApplyResources(Me.ReplyIconStateCombo, "ReplyIconStateCombo")
+        Me.ReplyIconStateCombo.Name = "ReplyIconStateCombo"
+        '
+        'Label72
+        '
+        resources.ApplyResources(Me.Label72, "Label72")
+        Me.Label72.Name = "Label72"
+        '
+        'Label48
+        '
+        resources.ApplyResources(Me.Label48, "Label48")
+        Me.Label48.Name = "Label48"
+        '
+        'chkTabIconDisp
+        '
+        resources.ApplyResources(Me.chkTabIconDisp, "chkTabIconDisp")
+        Me.chkTabIconDisp.Name = "chkTabIconDisp"
+        Me.chkTabIconDisp.UseVisualStyleBackColor = True
+        '
+        'Label68
+        '
+        resources.ApplyResources(Me.Label68, "Label68")
+        Me.Label68.Name = "Label68"
+        '
+        'CheckBalloonLimit
+        '
+        resources.ApplyResources(Me.CheckBalloonLimit, "CheckBalloonLimit")
+        Me.CheckBalloonLimit.Name = "CheckBalloonLimit"
+        Me.CheckBalloonLimit.UseVisualStyleBackColor = True
+        '
+        'LabelDateTimeFormatApplied
+        '
+        resources.ApplyResources(Me.LabelDateTimeFormatApplied, "LabelDateTimeFormatApplied")
+        Me.LabelDateTimeFormatApplied.Name = "LabelDateTimeFormatApplied"
+        '
+        'Label62
+        '
+        resources.ApplyResources(Me.Label62, "Label62")
+        Me.Label62.Name = "Label62"
+        '
+        'Label17
+        '
+        resources.ApplyResources(Me.Label17, "Label17")
+        Me.Label17.Name = "Label17"
+        '
+        'chkUnreadStyle
+        '
+        resources.ApplyResources(Me.chkUnreadStyle, "chkUnreadStyle")
+        Me.chkUnreadStyle.Name = "chkUnreadStyle"
+        Me.chkUnreadStyle.UseVisualStyleBackColor = True
+        '
+        'TabPage4
+        '
+        Me.TabPage4.Controls.Add(Me.GroupBox1)
+        resources.ApplyResources(Me.TabPage4, "TabPage4")
+        Me.TabPage4.Name = "TabPage4"
+        Me.TabPage4.UseVisualStyleBackColor = True
+        '
+        'TabPage5
+        '
+        Me.TabPage5.Controls.Add(Me.CheckUseSsl)
+        Me.TabPage5.Controls.Add(Me.Label64)
+        Me.TabPage5.Controls.Add(Me.ConnectionTimeOut)
+        Me.TabPage5.Controls.Add(Me.Label63)
+        Me.TabPage5.Controls.Add(Me.GroupBox2)
+        resources.ApplyResources(Me.TabPage5, "TabPage5")
+        Me.TabPage5.Name = "TabPage5"
+        Me.TabPage5.UseVisualStyleBackColor = True
+        '
+        'CheckUseSsl
+        '
+        resources.ApplyResources(Me.CheckUseSsl, "CheckUseSsl")
+        Me.CheckUseSsl.Name = "CheckUseSsl"
+        Me.CheckUseSsl.UseVisualStyleBackColor = True
+        '
+        'Label64
+        '
+        resources.ApplyResources(Me.Label64, "Label64")
+        Me.Label64.BackColor = System.Drawing.SystemColors.ActiveCaption
+        Me.Label64.ForeColor = System.Drawing.SystemColors.ActiveCaptionText
+        Me.Label64.Name = "Label64"
+        '
+        'ConnectionTimeOut
+        '
+        resources.ApplyResources(Me.ConnectionTimeOut, "ConnectionTimeOut")
+        Me.ConnectionTimeOut.Name = "ConnectionTimeOut"
+        '
+        'Label63
+        '
+        resources.ApplyResources(Me.Label63, "Label63")
+        Me.Label63.Name = "Label63"
+        '
+        'GroupBox2
+        '
+        Me.GroupBox2.Controls.Add(Me.Label55)
+        Me.GroupBox2.Controls.Add(Me.TextProxyPassword)
+        Me.GroupBox2.Controls.Add(Me.LabelProxyPassword)
+        Me.GroupBox2.Controls.Add(Me.TextProxyUser)
+        Me.GroupBox2.Controls.Add(Me.LabelProxyUser)
+        Me.GroupBox2.Controls.Add(Me.TextProxyPort)
+        Me.GroupBox2.Controls.Add(Me.LabelProxyPort)
+        Me.GroupBox2.Controls.Add(Me.TextProxyAddress)
+        Me.GroupBox2.Controls.Add(Me.LabelProxyAddress)
+        Me.GroupBox2.Controls.Add(Me.RadioProxySpecified)
+        Me.GroupBox2.Controls.Add(Me.RadioProxyIE)
+        Me.GroupBox2.Controls.Add(Me.RadioProxyNone)
+        resources.ApplyResources(Me.GroupBox2, "GroupBox2")
+        Me.GroupBox2.Name = "GroupBox2"
+        Me.GroupBox2.TabStop = False
+        '
+        'Label55
+        '
+        resources.ApplyResources(Me.Label55, "Label55")
+        Me.Label55.BackColor = System.Drawing.SystemColors.ActiveCaption
+        Me.Label55.ForeColor = System.Drawing.SystemColors.ActiveCaptionText
+        Me.Label55.Name = "Label55"
+        '
+        'TextProxyPassword
+        '
+        resources.ApplyResources(Me.TextProxyPassword, "TextProxyPassword")
+        Me.TextProxyPassword.Name = "TextProxyPassword"
+        Me.TextProxyPassword.UseSystemPasswordChar = True
+        '
+        'LabelProxyPassword
+        '
+        resources.ApplyResources(Me.LabelProxyPassword, "LabelProxyPassword")
+        Me.LabelProxyPassword.Name = "LabelProxyPassword"
+        '
+        'TextProxyUser
+        '
+        resources.ApplyResources(Me.TextProxyUser, "TextProxyUser")
+        Me.TextProxyUser.Name = "TextProxyUser"
+        '
+        'LabelProxyUser
+        '
+        resources.ApplyResources(Me.LabelProxyUser, "LabelProxyUser")
+        Me.LabelProxyUser.Name = "LabelProxyUser"
+        '
+        'TextProxyPort
+        '
+        resources.ApplyResources(Me.TextProxyPort, "TextProxyPort")
+        Me.TextProxyPort.Name = "TextProxyPort"
+        '
+        'LabelProxyPort
+        '
+        resources.ApplyResources(Me.LabelProxyPort, "LabelProxyPort")
+        Me.LabelProxyPort.Name = "LabelProxyPort"
+        '
+        'TextProxyAddress
+        '
+        resources.ApplyResources(Me.TextProxyAddress, "TextProxyAddress")
+        Me.TextProxyAddress.Name = "TextProxyAddress"
+        '
+        'LabelProxyAddress
+        '
+        resources.ApplyResources(Me.LabelProxyAddress, "LabelProxyAddress")
+        Me.LabelProxyAddress.Name = "LabelProxyAddress"
+        '
+        'RadioProxySpecified
+        '
+        resources.ApplyResources(Me.RadioProxySpecified, "RadioProxySpecified")
+        Me.RadioProxySpecified.Name = "RadioProxySpecified"
+        Me.RadioProxySpecified.UseVisualStyleBackColor = True
+        '
+        'RadioProxyIE
+        '
+        resources.ApplyResources(Me.RadioProxyIE, "RadioProxyIE")
+        Me.RadioProxyIE.Checked = True
+        Me.RadioProxyIE.Name = "RadioProxyIE"
+        Me.RadioProxyIE.TabStop = True
+        Me.RadioProxyIE.UseVisualStyleBackColor = True
+        '
+        'RadioProxyNone
+        '
+        resources.ApplyResources(Me.RadioProxyNone, "RadioProxyNone")
+        Me.RadioProxyNone.Name = "RadioProxyNone"
+        Me.RadioProxyNone.UseVisualStyleBackColor = True
+        '
+        'TabPage6
+        '
+        Me.TabPage6.Controls.Add(Me.Label60)
+        Me.TabPage6.Controls.Add(Me.ComboBoxOutputzUrlmode)
+        Me.TabPage6.Controls.Add(Me.Label59)
+        Me.TabPage6.Controls.Add(Me.TextBoxOutputzKey)
+        Me.TabPage6.Controls.Add(Me.CheckOutputz)
+        resources.ApplyResources(Me.TabPage6, "TabPage6")
+        Me.TabPage6.Name = "TabPage6"
+        Me.TabPage6.UseVisualStyleBackColor = True
+        '
+        'Label60
+        '
+        resources.ApplyResources(Me.Label60, "Label60")
+        Me.Label60.Name = "Label60"
+        '
+        'ComboBoxOutputzUrlmode
+        '
+        Me.ComboBoxOutputzUrlmode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+        Me.ComboBoxOutputzUrlmode.FormattingEnabled = True
+        Me.ComboBoxOutputzUrlmode.Items.AddRange(New Object() {resources.GetString("ComboBoxOutputzUrlmode.Items"), resources.GetString("ComboBoxOutputzUrlmode.Items1")})
+        resources.ApplyResources(Me.ComboBoxOutputzUrlmode, "ComboBoxOutputzUrlmode")
+        Me.ComboBoxOutputzUrlmode.Name = "ComboBoxOutputzUrlmode"
+        '
+        'Label59
+        '
+        resources.ApplyResources(Me.Label59, "Label59")
+        Me.Label59.Name = "Label59"
+        '
+        'TextBoxOutputzKey
+        '
+        resources.ApplyResources(Me.TextBoxOutputzKey, "TextBoxOutputzKey")
+        Me.TextBoxOutputzKey.Name = "TextBoxOutputzKey"
+        Me.TextBoxOutputzKey.UseSystemPasswordChar = True
+        '
+        'CheckOutputz
+        '
+        resources.ApplyResources(Me.CheckOutputz, "CheckOutputz")
+        Me.CheckOutputz.Name = "CheckOutputz"
+        Me.CheckOutputz.UseVisualStyleBackColor = True
+        '
+        'Setting
+        '
+        Me.AcceptButton = Me.Save
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.Cancel
+        Me.Controls.Add(Me.TabControl1)
+        Me.Controls.Add(Me.Cancel)
+        Me.Controls.Add(Me.Save)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.MaximizeBox = False
+        Me.MinimizeBox = False
+        Me.Name = "Setting"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.GroupBox1.ResumeLayout(False)
+        Me.GroupBox1.PerformLayout()
+        Me.TabControl1.ResumeLayout(False)
+        Me.TabPage1.ResumeLayout(False)
+        Me.TabPage1.PerformLayout()
+        Me.TabPage2.ResumeLayout(False)
+        Me.TabPage2.PerformLayout()
+        Me.TabPage3.ResumeLayout(False)
+        Me.TabPage3.PerformLayout()
+        Me.TabPage4.ResumeLayout(False)
+        Me.TabPage5.ResumeLayout(False)
+        Me.TabPage5.PerformLayout()
+        Me.GroupBox2.ResumeLayout(False)
+        Me.GroupBox2.PerformLayout()
+        Me.TabPage6.ResumeLayout(False)
+        Me.TabPage6.PerformLayout()
+        Me.ResumeLayout(False)
+
+    End Sub
+    Friend WithEvents Label1 As System.Windows.Forms.Label
+    Friend WithEvents Label2 As System.Windows.Forms.Label
+    Friend WithEvents Username As System.Windows.Forms.TextBox
+    Friend WithEvents Password As System.Windows.Forms.TextBox
+    Friend WithEvents Save As System.Windows.Forms.Button
+    Friend WithEvents Cancel As System.Windows.Forms.Button
+    Friend WithEvents Label3 As System.Windows.Forms.Label
+    Friend WithEvents TimelinePeriod As System.Windows.Forms.TextBox
+    Friend WithEvents Label4 As System.Windows.Forms.Label
+    Friend WithEvents NextThreshold As System.Windows.Forms.TextBox
+    Friend WithEvents DMPeriod As System.Windows.Forms.TextBox
+    Friend WithEvents Label5 As System.Windows.Forms.Label
+    Friend WithEvents NextPages As System.Windows.Forms.TextBox
+    Friend WithEvents Label6 As System.Windows.Forms.Label
+    Friend WithEvents ReadLogDays As System.Windows.Forms.TextBox
+    Friend WithEvents Label7 As System.Windows.Forms.Label
+    Friend WithEvents StartupReadPages As System.Windows.Forms.TextBox
+    Friend WithEvents Label8 As System.Windows.Forms.Label
+    Friend WithEvents Label9 As System.Windows.Forms.Label
+    Friend WithEvents StartupReaded As System.Windows.Forms.CheckBox
+    Friend WithEvents ReadLogUnit As System.Windows.Forms.ComboBox
+    Friend WithEvents Label11 As System.Windows.Forms.Label
+    Friend WithEvents Label12 As System.Windows.Forms.Label
+    Friend WithEvents StatusText As System.Windows.Forms.TextBox
+    Friend WithEvents PlaySnd As System.Windows.Forms.CheckBox
+    Friend WithEvents Label14 As System.Windows.Forms.Label
+    Friend WithEvents Label15 As System.Windows.Forms.Label
+    Friend WithEvents OneWayLv As System.Windows.Forms.CheckBox
+    Friend WithEvents Label16 As System.Windows.Forms.Label
+    Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox
+    Friend WithEvents btnDetail As System.Windows.Forms.Button
+    Friend WithEvents lblDetail As System.Windows.Forms.Label
+    Friend WithEvents Label26 As System.Windows.Forms.Label
+    Friend WithEvents btnOWL As System.Windows.Forms.Button
+    Friend WithEvents lblOWL As System.Windows.Forms.Label
+    Friend WithEvents Label24 As System.Windows.Forms.Label
+    Friend WithEvents btnFav As System.Windows.Forms.Button
+    Friend WithEvents lblFav As System.Windows.Forms.Label
+    Friend WithEvents Label22 As System.Windows.Forms.Label
+    Friend WithEvents FontDialog1 As System.Windows.Forms.FontDialog
+    Friend WithEvents ColorDialog1 As System.Windows.Forms.ColorDialog
+    Friend WithEvents btnAtFromTarget As System.Windows.Forms.Button
+    Friend WithEvents lblAtFromTarget As System.Windows.Forms.Label
+    Friend WithEvents Label28 As System.Windows.Forms.Label
+    Friend WithEvents btnAtTarget As System.Windows.Forms.Button
+    Friend WithEvents lblAtTarget As System.Windows.Forms.Label
+    Friend WithEvents Label30 As System.Windows.Forms.Label
+    Friend WithEvents btnTarget As System.Windows.Forms.Button
+    Friend WithEvents lblTarget As System.Windows.Forms.Label
+    Friend WithEvents Label32 As System.Windows.Forms.Label
+    Friend WithEvents btnAtSelf As System.Windows.Forms.Button
+    Friend WithEvents lblAtSelf As System.Windows.Forms.Label
+    Friend WithEvents Label34 As System.Windows.Forms.Label
+    Friend WithEvents btnSelf As System.Windows.Forms.Button
+    Friend WithEvents lblSelf As System.Windows.Forms.Label
+    Friend WithEvents Label36 As System.Windows.Forms.Label
+    Friend WithEvents cmbNameBalloon As System.Windows.Forms.ComboBox
+    Friend WithEvents Label10 As System.Windows.Forms.Label
+    Friend WithEvents btnListBack As System.Windows.Forms.Button
+    Friend WithEvents lblListBackcolor As System.Windows.Forms.Label
+    Friend WithEvents Label19 As System.Windows.Forms.Label
+    Friend WithEvents CheckUseRecommendStatus As System.Windows.Forms.CheckBox
+    Friend WithEvents CmbDateTimeFormat As System.Windows.Forms.ComboBox
+    Friend WithEvents Label23 As System.Windows.Forms.Label
+    Friend WithEvents CheckBox3 As System.Windows.Forms.CheckBox
+    Friend WithEvents Label25 As System.Windows.Forms.Label
+    Friend WithEvents CheckPostCtrlEnter As System.Windows.Forms.CheckBox
+    Friend WithEvents Label27 As System.Windows.Forms.Label
+    Friend WithEvents Label31 As System.Windows.Forms.Label
+    Friend WithEvents Label33 As System.Windows.Forms.Label
+    Friend WithEvents Label35 As System.Windows.Forms.Label
+    Friend WithEvents StartupReadReply As System.Windows.Forms.TextBox
+    Friend WithEvents StartupReadDM As System.Windows.Forms.TextBox
+    Friend WithEvents TextBox3 As System.Windows.Forms.TextBox
+    Friend WithEvents IconSize As System.Windows.Forms.ComboBox
+    Friend WithEvents btnDetailBack As System.Windows.Forms.Button
+    Friend WithEvents lblDetailBackcolor As System.Windows.Forms.Label
+    Friend WithEvents Label37 As System.Windows.Forms.Label
+    Friend WithEvents Label38 As System.Windows.Forms.Label
+    Friend WithEvents UReadMng As System.Windows.Forms.CheckBox
+    Friend WithEvents Label39 As System.Windows.Forms.Label
+    Friend WithEvents CheckReadOldPosts As System.Windows.Forms.CheckBox
+    Friend WithEvents Label40 As System.Windows.Forms.Label
+    Friend WithEvents CheckCloseToExit As System.Windows.Forms.CheckBox
+    Friend WithEvents Label41 As System.Windows.Forms.Label
+    Friend WithEvents CheckMinimizeToTray As System.Windows.Forms.CheckBox
+    Friend WithEvents BrowserPathText As System.Windows.Forms.TextBox
+    Friend WithEvents Label44 As System.Windows.Forms.Label
+    Friend WithEvents CheckboxReply As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckDispUsername As System.Windows.Forms.CheckBox
+    Friend WithEvents Label46 As System.Windows.Forms.Label
+    Friend WithEvents Label45 As System.Windows.Forms.Label
+    Friend WithEvents ComboDispTitle As System.Windows.Forms.ComboBox
+    Friend WithEvents Label47 As System.Windows.Forms.Label
+    Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
+    Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
+    Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
+    Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
+    Friend WithEvents TabPage4 As System.Windows.Forms.TabPage
+    Friend WithEvents Button3 As System.Windows.Forms.Button
+    Friend WithEvents btnAtTo As System.Windows.Forms.Button
+    Friend WithEvents lblAtTo As System.Windows.Forms.Label
+    Friend WithEvents Label49 As System.Windows.Forms.Label
+    Friend WithEvents CheckTinyURL As System.Windows.Forms.CheckBox
+    Friend WithEvents Label50 As System.Windows.Forms.Label
+    Friend WithEvents TabPage5 As System.Windows.Forms.TabPage
+    Friend WithEvents GroupBox2 As System.Windows.Forms.GroupBox
+    Friend WithEvents RadioProxySpecified As System.Windows.Forms.RadioButton
+    Friend WithEvents RadioProxyIE As System.Windows.Forms.RadioButton
+    Friend WithEvents RadioProxyNone As System.Windows.Forms.RadioButton
+    Friend WithEvents TextProxyPort As System.Windows.Forms.TextBox
+    Friend WithEvents LabelProxyPort As System.Windows.Forms.Label
+    Friend WithEvents TextProxyAddress As System.Windows.Forms.TextBox
+    Friend WithEvents LabelProxyAddress As System.Windows.Forms.Label
+    Friend WithEvents TextProxyPassword As System.Windows.Forms.TextBox
+    Friend WithEvents LabelProxyPassword As System.Windows.Forms.Label
+    Friend WithEvents TextProxyUser As System.Windows.Forms.TextBox
+    Friend WithEvents LabelProxyUser As System.Windows.Forms.Label
+    Friend WithEvents Label55 As System.Windows.Forms.Label
+    Friend WithEvents CheckPeriodAdjust As System.Windows.Forms.CheckBox
+    Friend WithEvents Label53 As System.Windows.Forms.Label
+    Friend WithEvents CheckStartupKey As System.Windows.Forms.CheckBox
+    Friend WithEvents Label51 As System.Windows.Forms.Label
+    Friend WithEvents CheckStartupVersion As System.Windows.Forms.CheckBox
+    Friend WithEvents Label54 As System.Windows.Forms.Label
+    Friend WithEvents CheckStartupFollowers As System.Windows.Forms.CheckBox
+    Friend WithEvents Label56 As System.Windows.Forms.Label
+    Friend WithEvents CheckFavRestrict As System.Windows.Forms.CheckBox
+    Friend WithEvents Label57 As System.Windows.Forms.Label
+    Friend WithEvents CheckAutoConvertUrl As System.Windows.Forms.CheckBox
+    Friend WithEvents Label29 As System.Windows.Forms.Label
+    Friend WithEvents TabPage6 As System.Windows.Forms.TabPage
+    Friend WithEvents Label59 As System.Windows.Forms.Label
+    Friend WithEvents TextBoxOutputzKey As System.Windows.Forms.TextBox
+    Friend WithEvents CheckOutputz As System.Windows.Forms.CheckBox
+    Friend WithEvents Label60 As System.Windows.Forms.Label
+    Friend WithEvents ComboBoxOutputzUrlmode As System.Windows.Forms.ComboBox
+    Friend WithEvents btnListFont As System.Windows.Forms.Button
+    Friend WithEvents lblListFont As System.Windows.Forms.Label
+    Friend WithEvents Label61 As System.Windows.Forms.Label
+    Friend WithEvents btnUnread As System.Windows.Forms.Button
+    Friend WithEvents lblUnread As System.Windows.Forms.Label
+    Friend WithEvents Label20 As System.Windows.Forms.Label
+    Friend WithEvents Label17 As System.Windows.Forms.Label
+    Friend WithEvents chkUnreadStyle As System.Windows.Forms.CheckBox
+    Friend WithEvents LabelDateTimeFormatApplied As System.Windows.Forms.Label
+    Friend WithEvents Label62 As System.Windows.Forms.Label
+    Friend WithEvents Label63 As System.Windows.Forms.Label
+    Friend WithEvents Label64 As System.Windows.Forms.Label
+    Friend WithEvents ConnectionTimeOut As System.Windows.Forms.TextBox
+    Friend WithEvents CheckProtectNotInclude As System.Windows.Forms.CheckBox
+    Friend WithEvents Label42 As System.Windows.Forms.Label
+    Friend WithEvents btnInputBackcolor As System.Windows.Forms.Button
+    Friend WithEvents lblInputBackcolor As System.Windows.Forms.Label
+    Friend WithEvents Label52 As System.Windows.Forms.Label
+    Friend WithEvents btnInputFont As System.Windows.Forms.Button
+    Friend WithEvents lblInputFont As System.Windows.Forms.Label
+    Friend WithEvents Label65 As System.Windows.Forms.Label
+    Friend WithEvents Label66 As System.Windows.Forms.Label
+    Friend WithEvents CheckPostMethod As System.Windows.Forms.CheckBox
+    Friend WithEvents Label43 As System.Windows.Forms.Label
+    Friend WithEvents CheckUseApi As System.Windows.Forms.CheckBox
+    Friend WithEvents Label67 As System.Windows.Forms.Label
+    Friend WithEvents TextCountApi As System.Windows.Forms.TextBox
+    Friend WithEvents Label68 As System.Windows.Forms.Label
+    Friend WithEvents CheckBalloonLimit As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckPostAndGet As System.Windows.Forms.CheckBox
+    Friend WithEvents Label69 As System.Windows.Forms.Label
+    Friend WithEvents ReplyPeriod As System.Windows.Forms.TextBox
+    Friend WithEvents Label70 As System.Windows.Forms.Label
+    Friend WithEvents CheckStartupAPImodeNoWarning As System.Windows.Forms.CheckBox
+    Friend WithEvents ComboBoxAutoShortUrlFirst As System.Windows.Forms.ComboBox
+    Friend WithEvents Label71 As System.Windows.Forms.Label
+    Friend WithEvents Label48 As System.Windows.Forms.Label
+    Friend WithEvents chkTabIconDisp As System.Windows.Forms.CheckBox
+    Friend WithEvents ReplyIconStateCombo As System.Windows.Forms.ComboBox
+    Friend WithEvents Label72 As System.Windows.Forms.Label
+    Friend WithEvents Label73 As System.Windows.Forms.Label
+    Friend WithEvents chkReadOwnPost As System.Windows.Forms.CheckBox
+    Friend WithEvents Label74 As System.Windows.Forms.Label
+    Friend WithEvents chkGetFav As System.Windows.Forms.CheckBox
+    Friend WithEvents Label75 As System.Windows.Forms.Label
+    Friend WithEvents CheckMonospace As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckUseSsl As System.Windows.Forms.CheckBox
+    Friend WithEvents Label76 As System.Windows.Forms.Label
+    Friend WithEvents TextBitlyPw As System.Windows.Forms.TextBox
+    Friend WithEvents Label77 As System.Windows.Forms.Label
+    Friend WithEvents TextBitlyId As System.Windows.Forms.TextBox
+    Friend WithEvents Label78 As System.Windows.Forms.Label
+    Friend WithEvents CheckShowGrid As System.Windows.Forms.CheckBox
+    Friend WithEvents Label21 As System.Windows.Forms.Label
+    Friend WithEvents CheckSortOrderLock As System.Windows.Forms.CheckBox
+    Friend WithEvents Label79 As System.Windows.Forms.Label
+    Friend WithEvents CheckAtIdSupple As System.Windows.Forms.CheckBox
+    Friend WithEvents CheckAlwaysTop As System.Windows.Forms.CheckBox
+    Friend WithEvents Label58 As System.Windows.Forms.Label
+    Friend WithEvents btnDetailLink As System.Windows.Forms.Button
+    Friend WithEvents lblDetailLink As System.Windows.Forms.Label
+    Friend WithEvents Label18 As System.Windows.Forms.Label
+    Friend WithEvents ButtonBackToDefaultFontColor As System.Windows.Forms.Button
+End Class
diff --git a/Tween/Setting.en.resx b/Tween/Setting.en.resx
new file mode 100644 (file)
index 0000000..559bee8
--- /dev/null
@@ -0,0 +1,933 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>56, 12</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>Username</value>
+  </data>
+  <data name="Label2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>54, 12</value>
+  </data>
+  <data name="Label2.Text" xml:space="preserve">
+    <value>Password</value>
+  </data>
+  <data name="Cancel.Text" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+  <data name="Label3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>170, 12</value>
+  </data>
+  <data name="Label3.Text" xml:space="preserve">
+    <value>Timeline Fetching Interval (sec.)</value>
+  </data>
+  <data name="Label4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>153, 12</value>
+  </data>
+  <data name="Label4.Text" xml:space="preserve">
+    <value>Threshold of Fetching (1-20)</value>
+  </data>
+  <data name="Label5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>144, 12</value>
+  </data>
+  <data name="Label5.Text" xml:space="preserve">
+    <value>DM Fetching Interval (sec.)</value>
+  </data>
+  <data name="Label6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>128, 12</value>
+  </data>
+  <data name="Label6.Text" xml:space="preserve">
+    <value>Fetching Pages at Once</value>
+  </data>
+  <data name="Label7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>122, 12</value>
+  </data>
+  <data name="Label7.Text" xml:space="preserve">
+    <value>Loading Logs Previous:</value>
+  </data>
+  <data name="Label8.Size" type="System.Drawing.Size, System.Drawing">
+    <value>142, 12</value>
+  </data>
+  <data name="Label8.Text" xml:space="preserve">
+    <value>First-time Fetching Pages:</value>
+  </data>
+  <data name="Label9.Size" type="System.Drawing.Size, System.Drawing">
+    <value>135, 12</value>
+  </data>
+  <data name="Label9.Text" xml:space="preserve">
+    <value>First-time Reading Posts</value>
+  </data>
+  <data name="StartupReaded.Size" type="System.Drawing.Size, System.Drawing">
+    <value>81, 16</value>
+  </data>
+  <data name="StartupReaded.Text" xml:space="preserve">
+    <value>Make Read</value>
+  </data>
+  <data name="Label11.Size" type="System.Drawing.Size, System.Drawing">
+    <value>162, 12</value>
+  </data>
+  <data name="Label11.Text" xml:space="preserve">
+    <value>Icon size in List (16 in default)</value>
+  </data>
+  <data name="Label12.Size" type="System.Drawing.Size, System.Drawing">
+    <value>38, 12</value>
+  </data>
+  <data name="Label12.Text" xml:space="preserve">
+    <value>Footer</value>
+  </data>
+  <data name="PlaySnd.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="PlaySnd.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label14.Size" type="System.Drawing.Size, System.Drawing">
+    <value>42, 12</value>
+  </data>
+  <data name="Label14.Text" xml:space="preserve">
+    <value>Sounds</value>
+  </data>
+  <data name="Label15.Text" xml:space="preserve">
+    <value>Sounds will play when you enable this option and set sound file for each tabs.</value>
+  </data>
+  <data name="OneWayLv.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="OneWayLv.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label16.Size" type="System.Drawing.Size, System.Drawing">
+    <value>145, 12</value>
+  </data>
+  <data name="Label16.Text" xml:space="preserve">
+    <value>Colorize One-way following</value>
+  </data>
+  <data name="Button1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>129, 418</value>
+  </data>
+  <data name="Button1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>129, 22</value>
+  </data>
+  <data name="Button1.Text" xml:space="preserve">
+    <value>Back to the default</value>
+  </data>
+  <data name="btnDetailLink.Text" xml:space="preserve">
+    <value>Fore...</value>
+  </data>
+  <data name="Label18.Size" type="System.Drawing.Size, System.Drawing">
+    <value>119, 12</value>
+  </data>
+  <data name="Label18.Text" xml:space="preserve">
+    <value>Details of Tweet(Link)</value>
+  </data>
+  <data name="btnInputFont.Text" xml:space="preserve">
+    <value>Font...</value>
+  </data>
+  <data name="Label65.Size" type="System.Drawing.Size, System.Drawing">
+    <value>97, 12</value>
+  </data>
+  <data name="Label65.Text" xml:space="preserve">
+    <value>Font of input field</value>
+  </data>
+  <data name="btnInputBackcolor.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label52.Size" type="System.Drawing.Size, System.Drawing">
+    <value>169, 12</value>
+  </data>
+  <data name="Label52.Text" xml:space="preserve">
+    <value>Backcolor of focused input field</value>
+  </data>
+  <data name="btnUnread.Text" xml:space="preserve">
+    <value>Font&amp;&amp;Fore...</value>
+  </data>
+  <data name="Label20.Size" type="System.Drawing.Size, System.Drawing">
+    <value>76, 12</value>
+  </data>
+  <data name="Label20.Text" xml:space="preserve">
+    <value>Unread Tweet</value>
+  </data>
+  <data name="btnAtTo.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label49.Size" type="System.Drawing.Size, System.Drawing">
+    <value>78, 12</value>
+  </data>
+  <data name="Label49.Text" xml:space="preserve">
+    <value>Replied Tweet</value>
+  </data>
+  <data name="btnDetailBack.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label37.Size" type="System.Drawing.Size, System.Drawing">
+    <value>110, 12</value>
+  </data>
+  <data name="Label37.Text" xml:space="preserve">
+    <value>Backcolor of Details</value>
+  </data>
+  <data name="btnListBack.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label19.Size" type="System.Drawing.Size, System.Drawing">
+    <value>90, 12</value>
+  </data>
+  <data name="Label19.Text" xml:space="preserve">
+    <value>Backcolor of list</value>
+  </data>
+  <data name="btnAtFromTarget.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label28.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 12</value>
+  </data>
+  <data name="Label28.Text" xml:space="preserve">
+    <value>Replied User's Tweet</value>
+  </data>
+  <data name="btnAtTarget.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label30.Size" type="System.Drawing.Size, System.Drawing">
+    <value>137, 12</value>
+  </data>
+  <data name="Label30.Text" xml:space="preserve">
+    <value>Replies for Selected User</value>
+  </data>
+  <data name="btnTarget.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label32.Size" type="System.Drawing.Size, System.Drawing">
+    <value>120, 12</value>
+  </data>
+  <data name="Label32.Text" xml:space="preserve">
+    <value>Selected User's Tweet</value>
+  </data>
+  <data name="btnAtSelf.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label34.Size" type="System.Drawing.Size, System.Drawing">
+    <value>84, 12</value>
+  </data>
+  <data name="Label34.Text" xml:space="preserve">
+    <value>Replies for You</value>
+  </data>
+  <data name="btnSelf.Text" xml:space="preserve">
+    <value>Back...</value>
+  </data>
+  <data name="Label36.Size" type="System.Drawing.Size, System.Drawing">
+    <value>89, 12</value>
+  </data>
+  <data name="Label36.Text" xml:space="preserve">
+    <value>Your Own Tweet</value>
+  </data>
+  <data name="btnDetail.Text" xml:space="preserve">
+    <value>Font&amp;&amp;Fore...</value>
+  </data>
+  <data name="Label26.Size" type="System.Drawing.Size, System.Drawing">
+    <value>90, 12</value>
+  </data>
+  <data name="Label26.Text" xml:space="preserve">
+    <value>Details of Tweet</value>
+  </data>
+  <data name="btnOWL.Text" xml:space="preserve">
+    <value>Fore...</value>
+  </data>
+  <data name="Label24.Size" type="System.Drawing.Size, System.Drawing">
+    <value>100, 12</value>
+  </data>
+  <data name="Label24.Text" xml:space="preserve">
+    <value>One-way following</value>
+  </data>
+  <data name="btnFav.Text" xml:space="preserve">
+    <value>Fore...</value>
+  </data>
+  <data name="Label22.Size" type="System.Drawing.Size, System.Drawing">
+    <value>53, 12</value>
+  </data>
+  <data name="Label22.Text" xml:space="preserve">
+    <value>Favorited</value>
+  </data>
+  <data name="btnListFont.Text" xml:space="preserve">
+    <value>Font&amp;&amp;Fore...</value>
+  </data>
+  <data name="Label61.Size" type="System.Drawing.Size, System.Drawing">
+    <value>94, 12</value>
+  </data>
+  <data name="Label61.Text" xml:space="preserve">
+    <value>Font of tweet list</value>
+  </data>
+  <data name="GroupBox1.Text" xml:space="preserve">
+    <value>Font &amp;&amp; Color</value>
+  </data>
+  <data name="cmbNameBalloon.Items" xml:space="preserve">
+    <value>None</value>
+  </data>
+  <data name="cmbNameBalloon.Items1" xml:space="preserve">
+    <value>User ID</value>
+  </data>
+  <data name="cmbNameBalloon.Items2" xml:space="preserve">
+    <value>Nickname</value>
+  </data>
+  <data name="Label10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>103, 12</value>
+  </data>
+  <data name="Label10.Text" xml:space="preserve">
+    <value>Username in popup</value>
+  </data>
+  <data name="CheckUseRecommendStatus.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 16</value>
+  </data>
+  <data name="CheckUseRecommendStatus.Text" xml:space="preserve">
+    <value>Use Recommended [TWNvNNN]</value>
+  </data>
+  <data name="Label23.Size" type="System.Drawing.Size, System.Drawing">
+    <value>105, 12</value>
+  </data>
+  <data name="Label23.Text" xml:space="preserve">
+    <value>Date Format in List</value>
+  </data>
+  <data name="CheckBox3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckBox3.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label25.Size" type="System.Drawing.Size, System.Drawing">
+    <value>139, 12</value>
+  </data>
+  <data name="Label25.Text" xml:space="preserve">
+    <value>Show Icon in Details Pane</value>
+  </data>
+  <data name="CheckPostCtrlEnter.Size" type="System.Drawing.Size, System.Drawing">
+    <value>152, 16</value>
+  </data>
+  <data name="CheckPostCtrlEnter.Text" xml:space="preserve">
+    <value>Enable (instead of Enter)</value>
+  </data>
+  <data name="Label27.Size" type="System.Drawing.Size, System.Drawing">
+    <value>117, 12</value>
+  </data>
+  <data name="Label27.Text" xml:space="preserve">
+    <value>Tweet with Ctrl-Enter</value>
+  </data>
+  <data name="IconSize.Items" xml:space="preserve">
+    <value>None</value>
+  </data>
+  <data name="Label38.Size" type="System.Drawing.Size, System.Drawing">
+    <value>89, 12</value>
+  </data>
+  <data name="Label38.Text" xml:space="preserve">
+    <value>Manage Reading</value>
+  </data>
+  <data name="UReadMng.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="UReadMng.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label39.Size" type="System.Drawing.Size, System.Drawing">
+    <value>136, 12</value>
+  </data>
+  <data name="Label39.Text" xml:space="preserve">
+    <value>Make Read when updated</value>
+  </data>
+  <data name="Label40.Size" type="System.Drawing.Size, System.Drawing">
+    <value>136, 12</value>
+  </data>
+  <data name="Label40.Text" xml:space="preserve">
+    <value>Exit when Closed Window</value>
+  </data>
+  <data name="CheckCloseToExit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckCloseToExit.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label41.Size" type="System.Drawing.Size, System.Drawing">
+    <value>118, 12</value>
+  </data>
+  <data name="Label41.Text" xml:space="preserve">
+    <value>Iconize when Minimize</value>
+  </data>
+  <data name="CheckMinimizeToTray.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckMinimizeToTray.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label44.Size" type="System.Drawing.Size, System.Drawing">
+    <value>88, 12</value>
+  </data>
+  <data name="Label44.Text" xml:space="preserve">
+    <value>Path to Browser</value>
+  </data>
+  <data name="CheckboxReply.Size" type="System.Drawing.Size, System.Drawing">
+    <value>95, 16</value>
+  </data>
+  <data name="CheckboxReply.Text" xml:space="preserve">
+    <value>Fetch Replies</value>
+  </data>
+  <data name="CheckDispUsername.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckDispUsername.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label46.Size" type="System.Drawing.Size, System.Drawing">
+    <value>141, 12</value>
+  </data>
+  <data name="Label46.Text" xml:space="preserve">
+    <value>Show Username in Popups</value>
+  </data>
+  <data name="Label45.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 12</value>
+  </data>
+  <data name="Label45.Text" xml:space="preserve">
+    <value>Title format</value>
+  </data>
+  <data name="ComboDispTitle.Items" xml:space="preserve">
+    <value>None</value>
+  </data>
+  <data name="ComboDispTitle.Items1" xml:space="preserve">
+    <value>Program Version</value>
+  </data>
+  <data name="ComboDispTitle.Items2" xml:space="preserve">
+    <value>Latest your post</value>
+  </data>
+  <data name="ComboDispTitle.Items3" xml:space="preserve">
+    <value>unread @reply items</value>
+  </data>
+  <data name="ComboDispTitle.Items4" xml:space="preserve">
+    <value>unread items</value>
+  </data>
+  <data name="ComboDispTitle.Items5" xml:space="preserve">
+    <value>unread items(unread @reply items)</value>
+  </data>
+  <data name="ComboDispTitle.Items6" xml:space="preserve">
+    <value>unread items/all items</value>
+  </data>
+  <data name="Label47.Size" type="System.Drawing.Size, System.Drawing">
+    <value>115, 12</value>
+  </data>
+  <data name="Label47.Text" xml:space="preserve">
+    <value>Apply after restarting</value>
+  </data>
+  <data name="TabPage1.Text" xml:space="preserve">
+    <value>Basic</value>
+  </data>
+  <data name="TabPage2.Text" xml:space="preserve">
+    <value>Behavior</value>
+  </data>
+  <data name="TabPage3.Text" xml:space="preserve">
+    <value>View</value>
+  </data>
+  <data name="TabPage4.Text" xml:space="preserve">
+    <value>Fonts &amp; Colors</value>
+  </data>
+  <data name="TabPage5.Text" xml:space="preserve">
+    <value>Connection</value>
+  </data>
+  <data name="Label70.Size" type="System.Drawing.Size, System.Drawing">
+    <value>176, 12</value>
+  </data>
+  <data name="Label70.Text" xml:space="preserve">
+    <value>Show warning if API isn't enabled</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.Size" type="System.Drawing.Size, System.Drawing">
+    <value>80, 16</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.Text" xml:space="preserve">
+    <value>Don't show</value>
+  </data>
+  <data name="Label69.Size" type="System.Drawing.Size, System.Drawing">
+    <value>156, 12</value>
+  </data>
+  <data name="Label69.Text" xml:space="preserve">
+    <value>Reply Fetching Interval (sec.)</value>
+  </data>
+  <data name="CheckPostAndGet.Size" type="System.Drawing.Size, System.Drawing">
+    <value>88, 16</value>
+  </data>
+  <data name="CheckPostAndGet.Text" xml:space="preserve">
+    <value>Post &amp;&amp; fetch</value>
+  </data>
+  <data name="Label67.Size" type="System.Drawing.Size, System.Drawing">
+    <value>201, 12</value>
+  </data>
+  <data name="Label67.Text" xml:space="preserve">
+    <value>Getting number of tweets in API mode</value>
+  </data>
+  <data name="Label66.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 12</value>
+  </data>
+  <data name="Label66.Text" xml:space="preserve">
+    <value>POST method</value>
+  </data>
+  <data name="CheckPostMethod.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckPostMethod.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label43.Size" type="System.Drawing.Size, System.Drawing">
+    <value>59, 12</value>
+  </data>
+  <data name="Label43.Text" xml:space="preserve">
+    <value>TwitterAPI</value>
+  </data>
+  <data name="CheckUseApi.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckUseApi.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label54.Size" type="System.Drawing.Size, System.Drawing">
+    <value>131, 12</value>
+  </data>
+  <data name="Label54.Text" xml:space="preserve">
+    <value>Get User List in Starting</value>
+  </data>
+  <data name="CheckStartupFollowers.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckStartupFollowers.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label53.Size" type="System.Drawing.Size, System.Drawing">
+    <value>169, 12</value>
+  </data>
+  <data name="Label53.Text" xml:space="preserve">
+    <value>Update Parsing Keys in Starting</value>
+  </data>
+  <data name="CheckStartupKey.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckStartupKey.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label51.Size" type="System.Drawing.Size, System.Drawing">
+    <value>158, 12</value>
+  </data>
+  <data name="Label51.Text" xml:space="preserve">
+    <value>Check for Updates in Starting</value>
+  </data>
+  <data name="CheckStartupVersion.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckStartupVersion.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="CheckPeriodAdjust.Size" type="System.Drawing.Size, System.Drawing">
+    <value>150, 16</value>
+  </data>
+  <data name="CheckPeriodAdjust.Text" xml:space="preserve">
+    <value>Enable Auto-Adjustment</value>
+  </data>
+  <data name="Label79.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 426</value>
+  </data>
+  <data name="Label79.Size" type="System.Drawing.Size, System.Drawing">
+    <value>139, 12</value>
+  </data>
+  <data name="Label79.Text" xml:space="preserve">
+    <value>Use Input @ID supplement</value>
+  </data>
+  <data name="Label74.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 404</value>
+  </data>
+  <data name="Label74.Size" type="System.Drawing.Size, System.Drawing">
+    <value>106, 12</value>
+  </data>
+  <data name="Label74.Text" xml:space="preserve">
+    <value>Get favs in Starting</value>
+  </data>
+  <data name="chkGetFav.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 403</value>
+  </data>
+  <data name="chkGetFav.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="chkGetFav.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label71.Size" type="System.Drawing.Size, System.Drawing">
+    <value>149, 12</value>
+  </data>
+  <data name="Label71.Text" xml:space="preserve">
+    <value>Primary URLshorten service</value>
+  </data>
+  <data name="CheckProtectNotInclude.Size" type="System.Drawing.Size, System.Drawing">
+    <value>160, 16</value>
+  </data>
+  <data name="CheckProtectNotInclude.Text" xml:space="preserve">
+    <value>Execlude protected tweets</value>
+  </data>
+  <data name="Label42.Size" type="System.Drawing.Size, System.Drawing">
+    <value>144, 12</value>
+  </data>
+  <data name="Label42.Text" xml:space="preserve">
+    <value>Clipboard copy or ReTweet</value>
+  </data>
+  <data name="CheckAutoConvertUrl.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckAutoConvertUrl.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label29.Size" type="System.Drawing.Size, System.Drawing">
+    <value>103, 12</value>
+  </data>
+  <data name="Label29.Text" xml:space="preserve">
+    <value>Auto shorten URLs</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="Label57.AutoSize" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="Label57.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label57.Size" type="System.Drawing.Size, System.Drawing">
+    <value>382, 28</value>
+  </data>
+  <data name="Label57.Text" xml:space="preserve">
+    <value>Refetch tweets and verify whether marked favorites. This option causes traffic incleasement.</value>
+  </data>
+  <data name="Label56.Size" type="System.Drawing.Size, System.Drawing">
+    <value>138, 12</value>
+  </data>
+  <data name="Label56.Text" xml:space="preserve">
+    <value>Marking Favorites Strictly</value>
+  </data>
+  <data name="CheckFavRestrict.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckFavRestrict.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="CheckTinyURL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckTinyURL.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label50.Size" type="System.Drawing.Size, System.Drawing">
+    <value>136, 12</value>
+  </data>
+  <data name="Label50.Text" xml:space="preserve">
+    <value>Resolve Shortening URLs</value>
+  </data>
+  <data name="Button3.Text" xml:space="preserve">
+    <value>Open...</value>
+  </data>
+  <data name="CheckAlwaysTop.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckAlwaysTop.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label58.Size" type="System.Drawing.Size, System.Drawing">
+    <value>81, 12</value>
+  </data>
+  <data name="Label58.Text" xml:space="preserve">
+    <value>Always on Top</value>
+  </data>
+  <data name="Label21.Size" type="System.Drawing.Size, System.Drawing">
+    <value>101, 12</value>
+  </data>
+  <data name="Label21.Text" xml:space="preserve">
+    <value>Lock Sorting Order</value>
+  </data>
+  <data name="CheckSortOrderLock.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="CheckSortOrderLock.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label78.Size" type="System.Drawing.Size, System.Drawing">
+    <value>57, 12</value>
+  </data>
+  <data name="Label78.Text" xml:space="preserve">
+    <value>Show Grid</value>
+  </data>
+  <data name="CheckShowGrid.Size" type="System.Drawing.Size, System.Drawing">
+    <value>51, 16</value>
+  </data>
+  <data name="CheckShowGrid.Text" xml:space="preserve">
+    <value>Show</value>
+  </data>
+  <data name="Label75.Size" type="System.Drawing.Size, System.Drawing">
+    <value>150, 12</value>
+  </data>
+  <data name="Label75.Text" xml:space="preserve">
+    <value>Font in Detail Pane(for AA)</value>
+  </data>
+  <data name="CheckMonospace.Size" type="System.Drawing.Size, System.Drawing">
+    <value>81, 16</value>
+  </data>
+  <data name="CheckMonospace.Text" xml:space="preserve">
+    <value>Monospace</value>
+  </data>
+  <data name="Label73.Size" type="System.Drawing.Size, System.Drawing">
+    <value>81, 12</value>
+  </data>
+  <data name="Label73.Text" xml:space="preserve">
+    <value>Read own post</value>
+  </data>
+  <data name="chkReadOwnPost.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="chkReadOwnPost.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="Label72.Size" type="System.Drawing.Size, System.Drawing">
+    <value>167, 12</value>
+  </data>
+  <data name="Label72.Text" xml:space="preserve">
+    <value>Tasktray icon with unread reply</value>
+  </data>
+  <data name="Label48.Size" type="System.Drawing.Size, System.Drawing">
+    <value>90, 12</value>
+  </data>
+  <data name="Label48.Text" xml:space="preserve">
+    <value>Show icon in tab</value>
+  </data>
+  <data name="chkTabIconDisp.Size" type="System.Drawing.Size, System.Drawing">
+    <value>51, 16</value>
+  </data>
+  <data name="chkTabIconDisp.Text" xml:space="preserve">
+    <value>Show</value>
+  </data>
+  <data name="Label68.Size" type="System.Drawing.Size, System.Drawing">
+    <value>148, 12</value>
+  </data>
+  <data name="Label68.Text" xml:space="preserve">
+    <value>Limit the condition of popup</value>
+  </data>
+  <data name="CheckBalloonLimit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>193, 16</value>
+  </data>
+  <data name="CheckBalloonLimit.Text" xml:space="preserve">
+    <value>only at the minimization and icon</value>
+  </data>
+  <data name="Label17.Size" type="System.Drawing.Size, System.Drawing">
+    <value>162, 12</value>
+  </data>
+  <data name="Label17.Text" xml:space="preserve">
+    <value>Unread styles(Font&amp;&amp;Forecolor)</value>
+  </data>
+  <data name="chkUnreadStyle.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 16</value>
+  </data>
+  <data name="chkUnreadStyle.Text" xml:space="preserve">
+    <value>Enable</value>
+  </data>
+  <data name="CheckUseSsl.Size" type="System.Drawing.Size, System.Drawing">
+    <value>130, 16</value>
+  </data>
+  <data name="CheckUseSsl.Text" xml:space="preserve">
+    <value>Use HTTPS Protocol</value>
+  </data>
+  <data name="Label64.Size" type="System.Drawing.Size, System.Drawing">
+    <value>371, 12</value>
+  </data>
+  <data name="Label64.Text" xml:space="preserve">
+    <value>※Adjust Connection timeout if the error of timeout happens frequently.</value>
+  </data>
+  <data name="Label63.Size" type="System.Drawing.Size, System.Drawing">
+    <value>130, 12</value>
+  </data>
+  <data name="Label63.Text" xml:space="preserve">
+    <value>Connection timeout(sec)</value>
+  </data>
+  <data name="GroupBox2.Text" xml:space="preserve">
+    <value>Proxy Server</value>
+  </data>
+  <data name="Label55.Size" type="System.Drawing.Size, System.Drawing">
+    <value>320, 12</value>
+  </data>
+  <data name="Label55.Text" xml:space="preserve">
+    <value>Keep credential empty if the proxy server don't need to log in</value>
+  </data>
+  <data name="LabelProxyPassword.Size" type="System.Drawing.Size, System.Drawing">
+    <value>54, 12</value>
+  </data>
+  <data name="LabelProxyPassword.Text" xml:space="preserve">
+    <value>Pass&amp;word</value>
+  </data>
+  <data name="LabelProxyUser.Size" type="System.Drawing.Size, System.Drawing">
+    <value>56, 12</value>
+  </data>
+  <data name="LabelProxyUser.Text" xml:space="preserve">
+    <value>&amp;Username</value>
+  </data>
+  <data name="LabelProxyPort.Size" type="System.Drawing.Size, System.Drawing">
+    <value>26, 12</value>
+  </data>
+  <data name="LabelProxyPort.Text" xml:space="preserve">
+    <value>&amp;Port</value>
+  </data>
+  <data name="LabelProxyAddress.Size" type="System.Drawing.Size, System.Drawing">
+    <value>62, 12</value>
+  </data>
+  <data name="LabelProxyAddress.Text" xml:space="preserve">
+    <value>Pro&amp;xy Host</value>
+  </data>
+  <data name="RadioProxySpecified.Size" type="System.Drawing.Size, System.Drawing">
+    <value>80, 16</value>
+  </data>
+  <data name="RadioProxySpecified.Text" xml:space="preserve">
+    <value>Use Below:</value>
+  </data>
+  <data name="RadioProxyIE.Size" type="System.Drawing.Size, System.Drawing">
+    <value>200, 16</value>
+  </data>
+  <data name="RadioProxyIE.Text" xml:space="preserve">
+    <value>Refer Settings of Internet Explorer</value>
+  </data>
+  <data name="RadioProxyNone.Size" type="System.Drawing.Size, System.Drawing">
+    <value>73, 16</value>
+  </data>
+  <data name="RadioProxyNone.Text" xml:space="preserve">
+    <value>Don't Use</value>
+  </data>
+  <data name="Label60.Size" type="System.Drawing.Size, System.Drawing">
+    <value>107, 12</value>
+  </data>
+  <data name="Label60.Text" xml:space="preserve">
+    <value>URI of your Outputz</value>
+  </data>
+  <data name="Label59.Size" type="System.Drawing.Size, System.Drawing">
+    <value>86, 12</value>
+  </data>
+  <data name="Label59.Text" xml:space="preserve">
+    <value>Your secret key</value>
+  </data>
+  <data name="CheckOutputz.Size" type="System.Drawing.Size, System.Drawing">
+    <value>87, 16</value>
+  </data>
+  <data name="CheckOutputz.Text" xml:space="preserve">
+    <value>Use Outputz</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>Settings</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/Setting.resx b/Tween/Setting.resx
new file mode 100644 (file)
index 0000000..9315223
--- /dev/null
@@ -0,0 +1,6573 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="Label1.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="Label1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 9</value>
+  </data>
+  <data name="Label1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>57, 12</value>
+  </data>
+  <data name="Label1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="Label1.Text" xml:space="preserve">
+    <value>ユーザー名</value>
+  </data>
+  <data name="&gt;&gt;Label1.Name" xml:space="preserve">
+    <value>Label1</value>
+  </data>
+  <data name="&gt;&gt;Label1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label1.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label1.ZOrder" xml:space="preserve">
+    <value>18</value>
+  </data>
+  <data name="Label2.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 30</value>
+  </data>
+  <data name="Label2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>52, 12</value>
+  </data>
+  <data name="Label2.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="Label2.Text" xml:space="preserve">
+    <value>パスワード</value>
+  </data>
+  <data name="&gt;&gt;Label2.Name" xml:space="preserve">
+    <value>Label2</value>
+  </data>
+  <data name="&gt;&gt;Label2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label2.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label2.ZOrder" xml:space="preserve">
+    <value>19</value>
+  </data>
+  <data name="Username.Location" type="System.Drawing.Point, System.Drawing">
+    <value>105, 6</value>
+  </data>
+  <data name="Username.Size" type="System.Drawing.Size, System.Drawing">
+    <value>186, 19</value>
+  </data>
+  <data name="Username.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;Username.Name" xml:space="preserve">
+    <value>Username</value>
+  </data>
+  <data name="&gt;&gt;Username.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Username.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Username.ZOrder" xml:space="preserve">
+    <value>20</value>
+  </data>
+  <data name="Password.Location" type="System.Drawing.Point, System.Drawing">
+    <value>105, 27</value>
+  </data>
+  <data name="Password.Size" type="System.Drawing.Size, System.Drawing">
+    <value>186, 19</value>
+  </data>
+  <data name="Password.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;Password.Name" xml:space="preserve">
+    <value>Password</value>
+  </data>
+  <data name="&gt;&gt;Password.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Password.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Password.ZOrder" xml:space="preserve">
+    <value>21</value>
+  </data>
+  <data name="Save.Location" type="System.Drawing.Point, System.Drawing">
+    <value>259, 501</value>
+  </data>
+  <data name="Save.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <data name="Save.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Save.Text" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="&gt;&gt;Save.Name" xml:space="preserve">
+    <value>Save</value>
+  </data>
+  <data name="&gt;&gt;Save.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Save.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;Save.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="Cancel.Location" type="System.Drawing.Point, System.Drawing">
+    <value>340, 501</value>
+  </data>
+  <data name="Cancel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 23</value>
+  </data>
+  <data name="Cancel.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="Cancel.Text" xml:space="preserve">
+    <value>キャンセル</value>
+  </data>
+  <data name="&gt;&gt;Cancel.Name" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+  <data name="&gt;&gt;Cancel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Cancel.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;Cancel.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="Label3.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 55</value>
+  </data>
+  <data name="Label3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>130, 12</value>
+  </data>
+  <data name="Label3.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="Label3.Text" xml:space="preserve">
+    <value>タイムライン更新間隔(秒)</value>
+  </data>
+  <data name="&gt;&gt;Label3.Name" xml:space="preserve">
+    <value>Label3</value>
+  </data>
+  <data name="&gt;&gt;Label3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label3.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label3.ZOrder" xml:space="preserve">
+    <value>22</value>
+  </data>
+  <data name="TimelinePeriod.Location" type="System.Drawing.Point, System.Drawing">
+    <value>247, 52</value>
+  </data>
+  <data name="TimelinePeriod.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 19</value>
+  </data>
+  <data name="TimelinePeriod.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;TimelinePeriod.Name" xml:space="preserve">
+    <value>TimelinePeriod</value>
+  </data>
+  <data name="&gt;&gt;TimelinePeriod.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TimelinePeriod.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;TimelinePeriod.ZOrder" xml:space="preserve">
+    <value>23</value>
+  </data>
+  <data name="Label4.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label4.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 150</value>
+  </data>
+  <data name="Label4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>139, 12</value>
+  </data>
+  <data name="Label4.TabIndex" type="System.Int32, mscorlib">
+    <value>13</value>
+  </data>
+  <data name="Label4.Text" xml:space="preserve">
+    <value>次頁取得件数閾値(1~20)</value>
+  </data>
+  <data name="&gt;&gt;Label4.Name" xml:space="preserve">
+    <value>Label4</value>
+  </data>
+  <data name="&gt;&gt;Label4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label4.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label4.ZOrder" xml:space="preserve">
+    <value>25</value>
+  </data>
+  <data name="NextThreshold.Location" type="System.Drawing.Point, System.Drawing">
+    <value>247, 147</value>
+  </data>
+  <data name="NextThreshold.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 19</value>
+  </data>
+  <data name="NextThreshold.TabIndex" type="System.Int32, mscorlib">
+    <value>14</value>
+  </data>
+  <data name="&gt;&gt;NextThreshold.Name" xml:space="preserve">
+    <value>NextThreshold</value>
+  </data>
+  <data name="&gt;&gt;NextThreshold.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;NextThreshold.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;NextThreshold.ZOrder" xml:space="preserve">
+    <value>26</value>
+  </data>
+  <data name="DMPeriod.Location" type="System.Drawing.Point, System.Drawing">
+    <value>247, 122</value>
+  </data>
+  <data name="DMPeriod.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 19</value>
+  </data>
+  <data name="DMPeriod.TabIndex" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="&gt;&gt;DMPeriod.Name" xml:space="preserve">
+    <value>DMPeriod</value>
+  </data>
+  <data name="&gt;&gt;DMPeriod.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;DMPeriod.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;DMPeriod.ZOrder" xml:space="preserve">
+    <value>28</value>
+  </data>
+  <data name="Label5.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label5.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 125</value>
+  </data>
+  <data name="Label5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>94, 12</value>
+  </data>
+  <data name="Label5.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="Label5.Text" xml:space="preserve">
+    <value>DM更新間隔(秒)</value>
+  </data>
+  <data name="&gt;&gt;Label5.Name" xml:space="preserve">
+    <value>Label5</value>
+  </data>
+  <data name="&gt;&gt;Label5.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label5.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label5.ZOrder" xml:space="preserve">
+    <value>27</value>
+  </data>
+  <data name="NextPages.Location" type="System.Drawing.Point, System.Drawing">
+    <value>247, 172</value>
+  </data>
+  <data name="NextPages.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 19</value>
+  </data>
+  <data name="NextPages.TabIndex" type="System.Int32, mscorlib">
+    <value>16</value>
+  </data>
+  <data name="&gt;&gt;NextPages.Name" xml:space="preserve">
+    <value>NextPages</value>
+  </data>
+  <data name="&gt;&gt;NextPages.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;NextPages.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;NextPages.ZOrder" xml:space="preserve">
+    <value>30</value>
+  </data>
+  <data name="Label6.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label6.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 175</value>
+  </data>
+  <data name="Label6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>144, 12</value>
+  </data>
+  <data name="Label6.TabIndex" type="System.Int32, mscorlib">
+    <value>15</value>
+  </data>
+  <data name="Label6.Text" xml:space="preserve">
+    <value>閾値オーバー時の取得ページ</value>
+  </data>
+  <data name="&gt;&gt;Label6.Name" xml:space="preserve">
+    <value>Label6</value>
+  </data>
+  <data name="&gt;&gt;Label6.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label6.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label6.ZOrder" xml:space="preserve">
+    <value>29</value>
+  </data>
+  <data name="ReadLogDays.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="ReadLogDays.Location" type="System.Drawing.Point, System.Drawing">
+    <value>247, 197</value>
+  </data>
+  <data name="ReadLogDays.Size" type="System.Drawing.Size, System.Drawing">
+    <value>51, 19</value>
+  </data>
+  <data name="ReadLogDays.TabIndex" type="System.Int32, mscorlib">
+    <value>18</value>
+  </data>
+  <data name="ReadLogDays.Visible" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="&gt;&gt;ReadLogDays.Name" xml:space="preserve">
+    <value>ReadLogDays</value>
+  </data>
+  <data name="&gt;&gt;ReadLogDays.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReadLogDays.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;ReadLogDays.ZOrder" xml:space="preserve">
+    <value>32</value>
+  </data>
+  <data name="Label7.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label7.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="Label7.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 200</value>
+  </data>
+  <data name="Label7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>163, 12</value>
+  </data>
+  <data name="Label7.TabIndex" type="System.Int32, mscorlib">
+    <value>17</value>
+  </data>
+  <data name="Label7.Text" xml:space="preserve">
+    <value>ログ読み込み 起動時刻から過去</value>
+  </data>
+  <data name="Label7.Visible" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="&gt;&gt;Label7.Name" xml:space="preserve">
+    <value>Label7</value>
+  </data>
+  <data name="&gt;&gt;Label7.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label7.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label7.ZOrder" xml:space="preserve">
+    <value>31</value>
+  </data>
+  <data name="StartupReadPages.Location" type="System.Drawing.Point, System.Drawing">
+    <value>98, 245</value>
+  </data>
+  <data name="StartupReadPages.Size" type="System.Drawing.Size, System.Drawing">
+    <value>34, 19</value>
+  </data>
+  <data name="StartupReadPages.TabIndex" type="System.Int32, mscorlib">
+    <value>22</value>
+  </data>
+  <data name="&gt;&gt;StartupReadPages.Name" xml:space="preserve">
+    <value>StartupReadPages</value>
+  </data>
+  <data name="&gt;&gt;StartupReadPages.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StartupReadPages.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;StartupReadPages.ZOrder" xml:space="preserve">
+    <value>34</value>
+  </data>
+  <data name="Label8.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label8.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 225</value>
+  </data>
+  <data name="Label8.Size" type="System.Drawing.Size, System.Drawing">
+    <value>129, 12</value>
+  </data>
+  <data name="Label8.TabIndex" type="System.Int32, mscorlib">
+    <value>20</value>
+  </data>
+  <data name="Label8.Text" xml:space="preserve">
+    <value>起動時読み込みページ数</value>
+  </data>
+  <data name="&gt;&gt;Label8.Name" xml:space="preserve">
+    <value>Label8</value>
+  </data>
+  <data name="&gt;&gt;Label8.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label8.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label8.ZOrder" xml:space="preserve">
+    <value>33</value>
+  </data>
+  <data name="Label9.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label9.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 271</value>
+  </data>
+  <data name="Label9.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 12</value>
+  </data>
+  <data name="Label9.TabIndex" type="System.Int32, mscorlib">
+    <value>27</value>
+  </data>
+  <data name="Label9.Text" xml:space="preserve">
+    <value>起動時読み込みポスト</value>
+  </data>
+  <data name="&gt;&gt;Label9.Name" xml:space="preserve">
+    <value>Label9</value>
+  </data>
+  <data name="&gt;&gt;Label9.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label9.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label9.ZOrder" xml:space="preserve">
+    <value>35</value>
+  </data>
+  <data name="StartupReaded.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="StartupReaded.Location" type="System.Drawing.Point, System.Drawing">
+    <value>248, 270</value>
+  </data>
+  <data name="StartupReaded.Size" type="System.Drawing.Size, System.Drawing">
+    <value>76, 16</value>
+  </data>
+  <data name="StartupReaded.TabIndex" type="System.Int32, mscorlib">
+    <value>28</value>
+  </data>
+  <data name="StartupReaded.Text" xml:space="preserve">
+    <value>既読にする</value>
+  </data>
+  <data name="&gt;&gt;StartupReaded.Name" xml:space="preserve">
+    <value>StartupReaded</value>
+  </data>
+  <data name="&gt;&gt;StartupReaded.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StartupReaded.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;StartupReaded.ZOrder" xml:space="preserve">
+    <value>36</value>
+  </data>
+  <data name="ReadLogUnit.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="ReadLogUnit.Items" xml:space="preserve">
+    <value>分間</value>
+  </data>
+  <data name="ReadLogUnit.Items1" xml:space="preserve">
+    <value>時間</value>
+  </data>
+  <data name="ReadLogUnit.Items2" xml:space="preserve">
+    <value>日間</value>
+  </data>
+  <data name="ReadLogUnit.Location" type="System.Drawing.Point, System.Drawing">
+    <value>299, 197</value>
+  </data>
+  <data name="ReadLogUnit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>61, 20</value>
+  </data>
+  <data name="ReadLogUnit.TabIndex" type="System.Int32, mscorlib">
+    <value>19</value>
+  </data>
+  <data name="ReadLogUnit.Visible" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="&gt;&gt;ReadLogUnit.Name" xml:space="preserve">
+    <value>ReadLogUnit</value>
+  </data>
+  <data name="&gt;&gt;ReadLogUnit.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReadLogUnit.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;ReadLogUnit.ZOrder" xml:space="preserve">
+    <value>37</value>
+  </data>
+  <data name="Label11.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label11.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 171</value>
+  </data>
+  <data name="Label11.Size" type="System.Drawing.Size, System.Drawing">
+    <value>163, 12</value>
+  </data>
+  <data name="Label11.TabIndex" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="Label11.Text" xml:space="preserve">
+    <value>リストのアイコンサイズ(初期値16)</value>
+  </data>
+  <data name="&gt;&gt;Label11.Name" xml:space="preserve">
+    <value>Label11</value>
+  </data>
+  <data name="&gt;&gt;Label11.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label11.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label11.ZOrder" xml:space="preserve">
+    <value>29</value>
+  </data>
+  <data name="Label12.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label12.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 306</value>
+  </data>
+  <data name="Label12.Size" type="System.Drawing.Size, System.Drawing">
+    <value>119, 12</value>
+  </data>
+  <data name="Label12.TabIndex" type="System.Int32, mscorlib">
+    <value>30</value>
+  </data>
+  <data name="Label12.Text" xml:space="preserve">
+    <value>ステータス(文末に付加)</value>
+  </data>
+  <data name="&gt;&gt;Label12.Name" xml:space="preserve">
+    <value>Label12</value>
+  </data>
+  <data name="&gt;&gt;Label12.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label12.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label12.ZOrder" xml:space="preserve">
+    <value>35</value>
+  </data>
+  <data name="StatusText.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 328</value>
+  </data>
+  <data name="StatusText.Size" type="System.Drawing.Size, System.Drawing">
+    <value>100, 19</value>
+  </data>
+  <data name="StatusText.TabIndex" type="System.Int32, mscorlib">
+    <value>32</value>
+  </data>
+  <data name="&gt;&gt;StatusText.Name" xml:space="preserve">
+    <value>StatusText</value>
+  </data>
+  <data name="&gt;&gt;StatusText.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StatusText.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;StatusText.ZOrder" xml:space="preserve">
+    <value>36</value>
+  </data>
+  <data name="PlaySnd.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="PlaySnd.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 6</value>
+  </data>
+  <data name="PlaySnd.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="PlaySnd.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="PlaySnd.Text" xml:space="preserve">
+    <value>再生する</value>
+  </data>
+  <data name="&gt;&gt;PlaySnd.Name" xml:space="preserve">
+    <value>PlaySnd</value>
+  </data>
+  <data name="&gt;&gt;PlaySnd.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;PlaySnd.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;PlaySnd.ZOrder" xml:space="preserve">
+    <value>20</value>
+  </data>
+  <data name="Label14.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label14.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 7</value>
+  </data>
+  <data name="Label14.Size" type="System.Drawing.Size, System.Drawing">
+    <value>66, 12</value>
+  </data>
+  <data name="Label14.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="Label14.Text" xml:space="preserve">
+    <value>サウンド再生</value>
+  </data>
+  <data name="&gt;&gt;Label14.Name" xml:space="preserve">
+    <value>Label14</value>
+  </data>
+  <data name="&gt;&gt;Label14.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label14.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label14.ZOrder" xml:space="preserve">
+    <value>21</value>
+  </data>
+  <data name="Label15.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 25</value>
+  </data>
+  <data name="Label15.Size" type="System.Drawing.Size, System.Drawing">
+    <value>276, 30</value>
+  </data>
+  <data name="Label15.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="Label15.Text" xml:space="preserve">
+    <value>タブのサウンドを設定した上で、「再生する」を選ぶとサウンドが再生されます。</value>
+  </data>
+  <data name="&gt;&gt;Label15.Name" xml:space="preserve">
+    <value>Label15</value>
+  </data>
+  <data name="&gt;&gt;Label15.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label15.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label15.ZOrder" xml:space="preserve">
+    <value>22</value>
+  </data>
+  <data name="OneWayLv.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="OneWayLv.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 268</value>
+  </data>
+  <data name="OneWayLv.Size" type="System.Drawing.Size, System.Drawing">
+    <value>43, 16</value>
+  </data>
+  <data name="OneWayLv.TabIndex" type="System.Int32, mscorlib">
+    <value>21</value>
+  </data>
+  <data name="OneWayLv.Text" xml:space="preserve">
+    <value>する</value>
+  </data>
+  <data name="&gt;&gt;OneWayLv.Name" xml:space="preserve">
+    <value>OneWayLv</value>
+  </data>
+  <data name="&gt;&gt;OneWayLv.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OneWayLv.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;OneWayLv.ZOrder" xml:space="preserve">
+    <value>31</value>
+  </data>
+  <data name="Label16.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label16.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 269</value>
+  </data>
+  <data name="Label16.Size" type="System.Drawing.Size, System.Drawing">
+    <value>97, 12</value>
+  </data>
+  <data name="Label16.TabIndex" type="System.Int32, mscorlib">
+    <value>20</value>
+  </data>
+  <data name="Label16.Text" xml:space="preserve">
+    <value>片思い色分け表示</value>
+  </data>
+  <data name="&gt;&gt;Label16.Name" xml:space="preserve">
+    <value>Label16</value>
+  </data>
+  <data name="&gt;&gt;Label16.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label16.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label16.ZOrder" xml:space="preserve">
+    <value>30</value>
+  </data>
+  <data name="ButtonBackToDefaultFontColor.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="ButtonBackToDefaultFontColor.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="ButtonBackToDefaultFontColor.Location" type="System.Drawing.Point, System.Drawing">
+    <value>148, 418</value>
+  </data>
+  <data name="ButtonBackToDefaultFontColor.Size" type="System.Drawing.Size, System.Drawing">
+    <value>90, 22</value>
+  </data>
+  <data name="ButtonBackToDefaultFontColor.TabIndex" type="System.Int32, mscorlib">
+    <value>48</value>
+  </data>
+  <data name="ButtonBackToDefaultFontColor.Text" xml:space="preserve">
+    <value>デフォルトに戻す</value>
+  </data>
+  <data name="&gt;&gt;ButtonBackToDefaultFontColor.Name" xml:space="preserve">
+    <value>ButtonBackToDefaultFontColor</value>
+  </data>
+  <data name="&gt;&gt;ButtonBackToDefaultFontColor.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonBackToDefaultFontColor.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;ButtonBackToDefaultFontColor.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="btnDetailLink.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnDetailLink.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="btnDetailLink.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 143</value>
+  </data>
+  <data name="btnDetailLink.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnDetailLink.TabIndex" type="System.Int32, mscorlib">
+    <value>17</value>
+  </data>
+  <data name="btnDetailLink.Text" xml:space="preserve">
+    <value>文字色</value>
+  </data>
+  <data name="&gt;&gt;btnDetailLink.Name" xml:space="preserve">
+    <value>btnDetailLink</value>
+  </data>
+  <data name="&gt;&gt;btnDetailLink.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnDetailLink.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnDetailLink.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="lblDetailLink.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="lblDetailLink.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 145</value>
+  </data>
+  <data name="lblDetailLink.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblDetailLink.TabIndex" type="System.Int32, mscorlib">
+    <value>16</value>
+  </data>
+  <data name="lblDetailLink.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblDetailLink.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblDetailLink.Name" xml:space="preserve">
+    <value>lblDetailLink</value>
+  </data>
+  <data name="&gt;&gt;lblDetailLink.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblDetailLink.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblDetailLink.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="Label18.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label18.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label18.Location" type="System.Drawing.Point, System.Drawing">
+    <value>8, 148</value>
+  </data>
+  <data name="Label18.Size" type="System.Drawing.Size, System.Drawing">
+    <value>77, 12</value>
+  </data>
+  <data name="Label18.TabIndex" type="System.Int32, mscorlib">
+    <value>15</value>
+  </data>
+  <data name="Label18.Text" xml:space="preserve">
+    <value>発言詳細リンク</value>
+  </data>
+  <data name="&gt;&gt;Label18.Name" xml:space="preserve">
+    <value>Label18</value>
+  </data>
+  <data name="&gt;&gt;Label18.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label18.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label18.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="btnInputFont.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnInputFont.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="btnInputFont.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 393</value>
+  </data>
+  <data name="btnInputFont.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnInputFont.TabIndex" type="System.Int32, mscorlib">
+    <value>47</value>
+  </data>
+  <data name="btnInputFont.Text" xml:space="preserve">
+    <value>フォント&amp;&amp;色</value>
+  </data>
+  <data name="&gt;&gt;btnInputFont.Name" xml:space="preserve">
+    <value>btnInputFont</value>
+  </data>
+  <data name="&gt;&gt;btnInputFont.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnInputFont.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnInputFont.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="lblInputFont.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="lblInputFont.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 395</value>
+  </data>
+  <data name="lblInputFont.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblInputFont.TabIndex" type="System.Int32, mscorlib">
+    <value>46</value>
+  </data>
+  <data name="lblInputFont.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblInputFont.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblInputFont.Name" xml:space="preserve">
+    <value>lblInputFont</value>
+  </data>
+  <data name="&gt;&gt;lblInputFont.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblInputFont.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblInputFont.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="Label65.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label65.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label65.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 398</value>
+  </data>
+  <data name="Label65.Size" type="System.Drawing.Size, System.Drawing">
+    <value>74, 12</value>
+  </data>
+  <data name="Label65.TabIndex" type="System.Int32, mscorlib">
+    <value>45</value>
+  </data>
+  <data name="Label65.Text" xml:space="preserve">
+    <value>入力欄フォント</value>
+  </data>
+  <data name="&gt;&gt;Label65.Name" xml:space="preserve">
+    <value>Label65</value>
+  </data>
+  <data name="&gt;&gt;Label65.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label65.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label65.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="btnInputBackcolor.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnInputBackcolor.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="btnInputBackcolor.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 368</value>
+  </data>
+  <data name="btnInputBackcolor.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnInputBackcolor.TabIndex" type="System.Int32, mscorlib">
+    <value>44</value>
+  </data>
+  <data name="btnInputBackcolor.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnInputBackcolor.Name" xml:space="preserve">
+    <value>btnInputBackcolor</value>
+  </data>
+  <data name="&gt;&gt;btnInputBackcolor.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnInputBackcolor.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnInputBackcolor.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="lblInputBackcolor.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="lblInputBackcolor.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 370</value>
+  </data>
+  <data name="lblInputBackcolor.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblInputBackcolor.TabIndex" type="System.Int32, mscorlib">
+    <value>43</value>
+  </data>
+  <data name="lblInputBackcolor.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblInputBackcolor.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblInputBackcolor.Name" xml:space="preserve">
+    <value>lblInputBackcolor</value>
+  </data>
+  <data name="&gt;&gt;lblInputBackcolor.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblInputBackcolor.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblInputBackcolor.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="Label52.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label52.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label52.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 373</value>
+  </data>
+  <data name="Label52.Size" type="System.Drawing.Size, System.Drawing">
+    <value>131, 12</value>
+  </data>
+  <data name="Label52.TabIndex" type="System.Int32, mscorlib">
+    <value>42</value>
+  </data>
+  <data name="Label52.Text" xml:space="preserve">
+    <value>入力欄アクティブ時背景色</value>
+  </data>
+  <data name="&gt;&gt;Label52.Name" xml:space="preserve">
+    <value>Label52</value>
+  </data>
+  <data name="&gt;&gt;Label52.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label52.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label52.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="btnUnread.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnUnread.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="btnUnread.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 43</value>
+  </data>
+  <data name="btnUnread.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnUnread.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="btnUnread.Text" xml:space="preserve">
+    <value>フォント&amp;&amp;色</value>
+  </data>
+  <data name="&gt;&gt;btnUnread.Name" xml:space="preserve">
+    <value>btnUnread</value>
+  </data>
+  <data name="&gt;&gt;btnUnread.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnUnread.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnUnread.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="lblUnread.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="lblUnread.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 45</value>
+  </data>
+  <data name="lblUnread.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblUnread.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="lblUnread.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblUnread.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblUnread.Name" xml:space="preserve">
+    <value>lblUnread</value>
+  </data>
+  <data name="&gt;&gt;lblUnread.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblUnread.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblUnread.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="Label20.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label20.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label20.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 48</value>
+  </data>
+  <data name="Label20.Size" type="System.Drawing.Size, System.Drawing">
+    <value>62, 12</value>
+  </data>
+  <data name="Label20.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="Label20.Text" xml:space="preserve">
+    <value>未読フォント</value>
+  </data>
+  <data name="&gt;&gt;Label20.Name" xml:space="preserve">
+    <value>Label20</value>
+  </data>
+  <data name="&gt;&gt;Label20.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label20.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label20.ZOrder" xml:space="preserve">
+    <value>12</value>
+  </data>
+  <data name="btnAtTo.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnAtTo.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="btnAtTo.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 318</value>
+  </data>
+  <data name="btnAtTo.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnAtTo.TabIndex" type="System.Int32, mscorlib">
+    <value>38</value>
+  </data>
+  <data name="btnAtTo.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnAtTo.Name" xml:space="preserve">
+    <value>btnAtTo</value>
+  </data>
+  <data name="&gt;&gt;btnAtTo.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnAtTo.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnAtTo.ZOrder" xml:space="preserve">
+    <value>13</value>
+  </data>
+  <data name="lblAtTo.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 320</value>
+  </data>
+  <data name="lblAtTo.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblAtTo.TabIndex" type="System.Int32, mscorlib">
+    <value>37</value>
+  </data>
+  <data name="lblAtTo.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblAtTo.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblAtTo.Name" xml:space="preserve">
+    <value>lblAtTo</value>
+  </data>
+  <data name="&gt;&gt;lblAtTo.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblAtTo.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblAtTo.ZOrder" xml:space="preserve">
+    <value>14</value>
+  </data>
+  <data name="Label49.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label49.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 323</value>
+  </data>
+  <data name="Label49.Size" type="System.Drawing.Size, System.Drawing">
+    <value>102, 12</value>
+  </data>
+  <data name="Label49.TabIndex" type="System.Int32, mscorlib">
+    <value>36</value>
+  </data>
+  <data name="Label49.Text" xml:space="preserve">
+    <value>その発言の@先発言</value>
+  </data>
+  <data name="&gt;&gt;Label49.Name" xml:space="preserve">
+    <value>Label49</value>
+  </data>
+  <data name="&gt;&gt;Label49.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label49.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label49.ZOrder" xml:space="preserve">
+    <value>15</value>
+  </data>
+  <data name="btnDetailBack.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnDetailBack.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 168</value>
+  </data>
+  <data name="btnDetailBack.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnDetailBack.TabIndex" type="System.Int32, mscorlib">
+    <value>20</value>
+  </data>
+  <data name="btnDetailBack.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnDetailBack.Name" xml:space="preserve">
+    <value>btnDetailBack</value>
+  </data>
+  <data name="&gt;&gt;btnDetailBack.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnDetailBack.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnDetailBack.ZOrder" xml:space="preserve">
+    <value>16</value>
+  </data>
+  <data name="lblDetailBackcolor.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 170</value>
+  </data>
+  <data name="lblDetailBackcolor.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblDetailBackcolor.TabIndex" type="System.Int32, mscorlib">
+    <value>19</value>
+  </data>
+  <data name="lblDetailBackcolor.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblDetailBackcolor.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblDetailBackcolor.Name" xml:space="preserve">
+    <value>lblDetailBackcolor</value>
+  </data>
+  <data name="&gt;&gt;lblDetailBackcolor.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblDetailBackcolor.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblDetailBackcolor.ZOrder" xml:space="preserve">
+    <value>17</value>
+  </data>
+  <data name="Label37.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label37.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 173</value>
+  </data>
+  <data name="Label37.Size" type="System.Drawing.Size, System.Drawing">
+    <value>89, 12</value>
+  </data>
+  <data name="Label37.TabIndex" type="System.Int32, mscorlib">
+    <value>18</value>
+  </data>
+  <data name="Label37.Text" xml:space="preserve">
+    <value>発言詳細背景色</value>
+  </data>
+  <data name="&gt;&gt;Label37.Name" xml:space="preserve">
+    <value>Label37</value>
+  </data>
+  <data name="&gt;&gt;Label37.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label37.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label37.ZOrder" xml:space="preserve">
+    <value>18</value>
+  </data>
+  <data name="btnListBack.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnListBack.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 343</value>
+  </data>
+  <data name="btnListBack.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnListBack.TabIndex" type="System.Int32, mscorlib">
+    <value>41</value>
+  </data>
+  <data name="btnListBack.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnListBack.Name" xml:space="preserve">
+    <value>btnListBack</value>
+  </data>
+  <data name="&gt;&gt;btnListBack.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnListBack.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnListBack.ZOrder" xml:space="preserve">
+    <value>19</value>
+  </data>
+  <data name="lblListBackcolor.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 345</value>
+  </data>
+  <data name="lblListBackcolor.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblListBackcolor.TabIndex" type="System.Int32, mscorlib">
+    <value>40</value>
+  </data>
+  <data name="lblListBackcolor.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblListBackcolor.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblListBackcolor.Name" xml:space="preserve">
+    <value>lblListBackcolor</value>
+  </data>
+  <data name="&gt;&gt;lblListBackcolor.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblListBackcolor.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblListBackcolor.ZOrder" xml:space="preserve">
+    <value>20</value>
+  </data>
+  <data name="Label19.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label19.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 348</value>
+  </data>
+  <data name="Label19.Size" type="System.Drawing.Size, System.Drawing">
+    <value>53, 12</value>
+  </data>
+  <data name="Label19.TabIndex" type="System.Int32, mscorlib">
+    <value>39</value>
+  </data>
+  <data name="Label19.Text" xml:space="preserve">
+    <value>一般発言</value>
+  </data>
+  <data name="&gt;&gt;Label19.Name" xml:space="preserve">
+    <value>Label19</value>
+  </data>
+  <data name="&gt;&gt;Label19.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label19.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label19.ZOrder" xml:space="preserve">
+    <value>21</value>
+  </data>
+  <data name="btnAtFromTarget.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnAtFromTarget.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 293</value>
+  </data>
+  <data name="btnAtFromTarget.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnAtFromTarget.TabIndex" type="System.Int32, mscorlib">
+    <value>35</value>
+  </data>
+  <data name="btnAtFromTarget.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnAtFromTarget.Name" xml:space="preserve">
+    <value>btnAtFromTarget</value>
+  </data>
+  <data name="&gt;&gt;btnAtFromTarget.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnAtFromTarget.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnAtFromTarget.ZOrder" xml:space="preserve">
+    <value>22</value>
+  </data>
+  <data name="lblAtFromTarget.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 295</value>
+  </data>
+  <data name="lblAtFromTarget.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblAtFromTarget.TabIndex" type="System.Int32, mscorlib">
+    <value>34</value>
+  </data>
+  <data name="lblAtFromTarget.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblAtFromTarget.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblAtFromTarget.Name" xml:space="preserve">
+    <value>lblAtFromTarget</value>
+  </data>
+  <data name="&gt;&gt;lblAtFromTarget.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblAtFromTarget.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblAtFromTarget.ZOrder" xml:space="preserve">
+    <value>23</value>
+  </data>
+  <data name="Label28.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label28.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 298</value>
+  </data>
+  <data name="Label28.Size" type="System.Drawing.Size, System.Drawing">
+    <value>134, 12</value>
+  </data>
+  <data name="Label28.TabIndex" type="System.Int32, mscorlib">
+    <value>33</value>
+  </data>
+  <data name="Label28.Text" xml:space="preserve">
+    <value>その発言の@先の人の発言</value>
+  </data>
+  <data name="&gt;&gt;Label28.Name" xml:space="preserve">
+    <value>Label28</value>
+  </data>
+  <data name="&gt;&gt;Label28.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label28.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label28.ZOrder" xml:space="preserve">
+    <value>24</value>
+  </data>
+  <data name="btnAtTarget.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnAtTarget.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 268</value>
+  </data>
+  <data name="btnAtTarget.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnAtTarget.TabIndex" type="System.Int32, mscorlib">
+    <value>32</value>
+  </data>
+  <data name="btnAtTarget.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnAtTarget.Name" xml:space="preserve">
+    <value>btnAtTarget</value>
+  </data>
+  <data name="&gt;&gt;btnAtTarget.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnAtTarget.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnAtTarget.ZOrder" xml:space="preserve">
+    <value>25</value>
+  </data>
+  <data name="lblAtTarget.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 270</value>
+  </data>
+  <data name="lblAtTarget.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblAtTarget.TabIndex" type="System.Int32, mscorlib">
+    <value>31</value>
+  </data>
+  <data name="lblAtTarget.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblAtTarget.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblAtTarget.Name" xml:space="preserve">
+    <value>lblAtTarget</value>
+  </data>
+  <data name="&gt;&gt;lblAtTarget.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblAtTarget.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblAtTarget.ZOrder" xml:space="preserve">
+    <value>26</value>
+  </data>
+  <data name="Label30.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label30.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 273</value>
+  </data>
+  <data name="Label30.Size" type="System.Drawing.Size, System.Drawing">
+    <value>88, 12</value>
+  </data>
+  <data name="Label30.TabIndex" type="System.Int32, mscorlib">
+    <value>30</value>
+  </data>
+  <data name="Label30.Text" xml:space="preserve">
+    <value>その人への@返信</value>
+  </data>
+  <data name="&gt;&gt;Label30.Name" xml:space="preserve">
+    <value>Label30</value>
+  </data>
+  <data name="&gt;&gt;Label30.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label30.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label30.ZOrder" xml:space="preserve">
+    <value>27</value>
+  </data>
+  <data name="btnTarget.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnTarget.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 243</value>
+  </data>
+  <data name="btnTarget.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnTarget.TabIndex" type="System.Int32, mscorlib">
+    <value>29</value>
+  </data>
+  <data name="btnTarget.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnTarget.Name" xml:space="preserve">
+    <value>btnTarget</value>
+  </data>
+  <data name="&gt;&gt;btnTarget.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnTarget.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnTarget.ZOrder" xml:space="preserve">
+    <value>28</value>
+  </data>
+  <data name="lblTarget.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 245</value>
+  </data>
+  <data name="lblTarget.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblTarget.TabIndex" type="System.Int32, mscorlib">
+    <value>28</value>
+  </data>
+  <data name="lblTarget.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblTarget.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblTarget.Name" xml:space="preserve">
+    <value>lblTarget</value>
+  </data>
+  <data name="&gt;&gt;lblTarget.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblTarget.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblTarget.ZOrder" xml:space="preserve">
+    <value>29</value>
+  </data>
+  <data name="Label32.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label32.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 248</value>
+  </data>
+  <data name="Label32.Size" type="System.Drawing.Size, System.Drawing">
+    <value>70, 12</value>
+  </data>
+  <data name="Label32.TabIndex" type="System.Int32, mscorlib">
+    <value>27</value>
+  </data>
+  <data name="Label32.Text" xml:space="preserve">
+    <value>その人の発言</value>
+  </data>
+  <data name="&gt;&gt;Label32.Name" xml:space="preserve">
+    <value>Label32</value>
+  </data>
+  <data name="&gt;&gt;Label32.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label32.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label32.ZOrder" xml:space="preserve">
+    <value>30</value>
+  </data>
+  <data name="btnAtSelf.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnAtSelf.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 218</value>
+  </data>
+  <data name="btnAtSelf.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnAtSelf.TabIndex" type="System.Int32, mscorlib">
+    <value>26</value>
+  </data>
+  <data name="btnAtSelf.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnAtSelf.Name" xml:space="preserve">
+    <value>btnAtSelf</value>
+  </data>
+  <data name="&gt;&gt;btnAtSelf.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnAtSelf.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnAtSelf.ZOrder" xml:space="preserve">
+    <value>31</value>
+  </data>
+  <data name="lblAtSelf.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 220</value>
+  </data>
+  <data name="lblAtSelf.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblAtSelf.TabIndex" type="System.Int32, mscorlib">
+    <value>25</value>
+  </data>
+  <data name="lblAtSelf.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblAtSelf.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblAtSelf.Name" xml:space="preserve">
+    <value>lblAtSelf</value>
+  </data>
+  <data name="&gt;&gt;lblAtSelf.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblAtSelf.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblAtSelf.ZOrder" xml:space="preserve">
+    <value>32</value>
+  </data>
+  <data name="Label34.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label34.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 223</value>
+  </data>
+  <data name="Label34.Size" type="System.Drawing.Size, System.Drawing">
+    <value>81, 12</value>
+  </data>
+  <data name="Label34.TabIndex" type="System.Int32, mscorlib">
+    <value>24</value>
+  </data>
+  <data name="Label34.Text" xml:space="preserve">
+    <value>自分への@返信</value>
+  </data>
+  <data name="&gt;&gt;Label34.Name" xml:space="preserve">
+    <value>Label34</value>
+  </data>
+  <data name="&gt;&gt;Label34.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label34.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label34.ZOrder" xml:space="preserve">
+    <value>33</value>
+  </data>
+  <data name="btnSelf.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnSelf.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 193</value>
+  </data>
+  <data name="btnSelf.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnSelf.TabIndex" type="System.Int32, mscorlib">
+    <value>23</value>
+  </data>
+  <data name="btnSelf.Text" xml:space="preserve">
+    <value>背景色</value>
+  </data>
+  <data name="&gt;&gt;btnSelf.Name" xml:space="preserve">
+    <value>btnSelf</value>
+  </data>
+  <data name="&gt;&gt;btnSelf.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnSelf.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnSelf.ZOrder" xml:space="preserve">
+    <value>34</value>
+  </data>
+  <data name="lblSelf.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 195</value>
+  </data>
+  <data name="lblSelf.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblSelf.TabIndex" type="System.Int32, mscorlib">
+    <value>22</value>
+  </data>
+  <data name="lblSelf.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblSelf.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblSelf.Name" xml:space="preserve">
+    <value>lblSelf</value>
+  </data>
+  <data name="&gt;&gt;lblSelf.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblSelf.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblSelf.ZOrder" xml:space="preserve">
+    <value>35</value>
+  </data>
+  <data name="Label36.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label36.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 198</value>
+  </data>
+  <data name="Label36.Size" type="System.Drawing.Size, System.Drawing">
+    <value>63, 12</value>
+  </data>
+  <data name="Label36.TabIndex" type="System.Int32, mscorlib">
+    <value>21</value>
+  </data>
+  <data name="Label36.Text" xml:space="preserve">
+    <value>自分の発言</value>
+  </data>
+  <data name="&gt;&gt;Label36.Name" xml:space="preserve">
+    <value>Label36</value>
+  </data>
+  <data name="&gt;&gt;Label36.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label36.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label36.ZOrder" xml:space="preserve">
+    <value>36</value>
+  </data>
+  <data name="btnDetail.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnDetail.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 118</value>
+  </data>
+  <data name="btnDetail.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnDetail.TabIndex" type="System.Int32, mscorlib">
+    <value>14</value>
+  </data>
+  <data name="btnDetail.Text" xml:space="preserve">
+    <value>フォント&amp;&amp;色</value>
+  </data>
+  <data name="&gt;&gt;btnDetail.Name" xml:space="preserve">
+    <value>btnDetail</value>
+  </data>
+  <data name="&gt;&gt;btnDetail.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnDetail.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnDetail.ZOrder" xml:space="preserve">
+    <value>37</value>
+  </data>
+  <data name="lblDetail.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 120</value>
+  </data>
+  <data name="lblDetail.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblDetail.TabIndex" type="System.Int32, mscorlib">
+    <value>13</value>
+  </data>
+  <data name="lblDetail.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblDetail.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblDetail.Name" xml:space="preserve">
+    <value>lblDetail</value>
+  </data>
+  <data name="&gt;&gt;lblDetail.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblDetail.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblDetail.ZOrder" xml:space="preserve">
+    <value>38</value>
+  </data>
+  <data name="Label26.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label26.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 123</value>
+  </data>
+  <data name="Label26.Size" type="System.Drawing.Size, System.Drawing">
+    <value>77, 12</value>
+  </data>
+  <data name="Label26.TabIndex" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="Label26.Text" xml:space="preserve">
+    <value>発言詳細文字</value>
+  </data>
+  <data name="&gt;&gt;Label26.Name" xml:space="preserve">
+    <value>Label26</value>
+  </data>
+  <data name="&gt;&gt;Label26.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label26.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label26.ZOrder" xml:space="preserve">
+    <value>39</value>
+  </data>
+  <data name="btnOWL.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnOWL.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 93</value>
+  </data>
+  <data name="btnOWL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnOWL.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="btnOWL.Text" xml:space="preserve">
+    <value>文字色</value>
+  </data>
+  <data name="&gt;&gt;btnOWL.Name" xml:space="preserve">
+    <value>btnOWL</value>
+  </data>
+  <data name="&gt;&gt;btnOWL.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnOWL.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnOWL.ZOrder" xml:space="preserve">
+    <value>40</value>
+  </data>
+  <data name="lblOWL.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 95</value>
+  </data>
+  <data name="lblOWL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblOWL.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="lblOWL.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblOWL.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblOWL.Name" xml:space="preserve">
+    <value>lblOWL</value>
+  </data>
+  <data name="&gt;&gt;lblOWL.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblOWL.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblOWL.ZOrder" xml:space="preserve">
+    <value>41</value>
+  </data>
+  <data name="Label24.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label24.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 98</value>
+  </data>
+  <data name="Label24.Size" type="System.Drawing.Size, System.Drawing">
+    <value>63, 12</value>
+  </data>
+  <data name="Label24.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="Label24.Text" xml:space="preserve">
+    <value>片思い発言</value>
+  </data>
+  <data name="&gt;&gt;Label24.Name" xml:space="preserve">
+    <value>Label24</value>
+  </data>
+  <data name="&gt;&gt;Label24.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label24.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label24.ZOrder" xml:space="preserve">
+    <value>42</value>
+  </data>
+  <data name="btnFav.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnFav.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 68</value>
+  </data>
+  <data name="btnFav.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnFav.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="btnFav.Text" xml:space="preserve">
+    <value>文字色</value>
+  </data>
+  <data name="&gt;&gt;btnFav.Name" xml:space="preserve">
+    <value>btnFav</value>
+  </data>
+  <data name="&gt;&gt;btnFav.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnFav.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnFav.ZOrder" xml:space="preserve">
+    <value>43</value>
+  </data>
+  <data name="lblFav.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 70</value>
+  </data>
+  <data name="lblFav.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblFav.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="lblFav.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblFav.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblFav.Name" xml:space="preserve">
+    <value>lblFav</value>
+  </data>
+  <data name="&gt;&gt;lblFav.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblFav.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblFav.ZOrder" xml:space="preserve">
+    <value>44</value>
+  </data>
+  <data name="Label22.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label22.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 73</value>
+  </data>
+  <data name="Label22.Size" type="System.Drawing.Size, System.Drawing">
+    <value>48, 12</value>
+  </data>
+  <data name="Label22.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="Label22.Text" xml:space="preserve">
+    <value>Fav発言</value>
+  </data>
+  <data name="&gt;&gt;Label22.Name" xml:space="preserve">
+    <value>Label22</value>
+  </data>
+  <data name="&gt;&gt;Label22.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label22.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label22.ZOrder" xml:space="preserve">
+    <value>45</value>
+  </data>
+  <data name="btnListFont.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="btnListFont.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="btnListFont.Location" type="System.Drawing.Point, System.Drawing">
+    <value>306, 18</value>
+  </data>
+  <data name="btnListFont.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 22</value>
+  </data>
+  <data name="btnListFont.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="btnListFont.Text" xml:space="preserve">
+    <value>フォント&amp;&amp;色</value>
+  </data>
+  <data name="&gt;&gt;btnListFont.Name" xml:space="preserve">
+    <value>btnListFont</value>
+  </data>
+  <data name="&gt;&gt;btnListFont.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;btnListFont.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;btnListFont.ZOrder" xml:space="preserve">
+    <value>46</value>
+  </data>
+  <data name="lblListFont.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="lblListFont.Location" type="System.Drawing.Point, System.Drawing">
+    <value>185, 20</value>
+  </data>
+  <data name="lblListFont.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 19</value>
+  </data>
+  <data name="lblListFont.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="lblListFont.Text" xml:space="preserve">
+    <value>This is sample.</value>
+  </data>
+  <data name="lblListFont.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;lblListFont.Name" xml:space="preserve">
+    <value>lblListFont</value>
+  </data>
+  <data name="&gt;&gt;lblListFont.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblListFont.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;lblListFont.ZOrder" xml:space="preserve">
+    <value>47</value>
+  </data>
+  <data name="Label61.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label61.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label61.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 23</value>
+  </data>
+  <data name="Label61.Size" type="System.Drawing.Size, System.Drawing">
+    <value>62, 12</value>
+  </data>
+  <data name="Label61.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="Label61.Text" xml:space="preserve">
+    <value>リストフォント</value>
+  </data>
+  <data name="&gt;&gt;Label61.Name" xml:space="preserve">
+    <value>Label61</value>
+  </data>
+  <data name="&gt;&gt;Label61.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label61.Parent" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;Label61.ZOrder" xml:space="preserve">
+    <value>48</value>
+  </data>
+  <data name="GroupBox1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 6</value>
+  </data>
+  <data name="GroupBox1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>387, 446</value>
+  </data>
+  <data name="GroupBox1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="GroupBox1.Text" xml:space="preserve">
+    <value>フォント&色設定</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.Name" xml:space="preserve">
+    <value>GroupBox1</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.Parent" xml:space="preserve">
+    <value>TabPage4</value>
+  </data>
+  <data name="&gt;&gt;GroupBox1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="FontDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="ColorDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>135, 17</value>
+  </metadata>
+  <data name="cmbNameBalloon.Items" xml:space="preserve">
+    <value>なし</value>
+  </data>
+  <data name="cmbNameBalloon.Items1" xml:space="preserve">
+    <value>ユーザーID</value>
+  </data>
+  <data name="cmbNameBalloon.Items2" xml:space="preserve">
+    <value>ニックネーム</value>
+  </data>
+  <data name="cmbNameBalloon.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 6</value>
+  </data>
+  <data name="cmbNameBalloon.Size" type="System.Drawing.Size, System.Drawing">
+    <value>100, 20</value>
+  </data>
+  <data name="cmbNameBalloon.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;cmbNameBalloon.Name" xml:space="preserve">
+    <value>cmbNameBalloon</value>
+  </data>
+  <data name="&gt;&gt;cmbNameBalloon.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;cmbNameBalloon.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;cmbNameBalloon.ZOrder" xml:space="preserve">
+    <value>26</value>
+  </data>
+  <data name="Label10.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label10.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 9</value>
+  </data>
+  <data name="Label10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>130, 12</value>
+  </data>
+  <data name="Label10.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="Label10.Text" xml:space="preserve">
+    <value>新着バルーンのユーザー名</value>
+  </data>
+  <data name="&gt;&gt;Label10.Name" xml:space="preserve">
+    <value>Label10</value>
+  </data>
+  <data name="&gt;&gt;Label10.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label10.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label10.ZOrder" xml:space="preserve">
+    <value>20</value>
+  </data>
+  <data name="CheckUseRecommendStatus.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckUseRecommendStatus.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 306</value>
+  </data>
+  <data name="CheckUseRecommendStatus.Size" type="System.Drawing.Size, System.Drawing">
+    <value>207, 16</value>
+  </data>
+  <data name="CheckUseRecommendStatus.TabIndex" type="System.Int32, mscorlib">
+    <value>31</value>
+  </data>
+  <data name="CheckUseRecommendStatus.Text" xml:space="preserve">
+    <value>推奨ステータスを使用する[TWNv○○]</value>
+  </data>
+  <data name="&gt;&gt;CheckUseRecommendStatus.Name" xml:space="preserve">
+    <value>CheckUseRecommendStatus</value>
+  </data>
+  <data name="&gt;&gt;CheckUseRecommendStatus.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckUseRecommendStatus.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckUseRecommendStatus.ZOrder" xml:space="preserve">
+    <value>37</value>
+  </data>
+  <data name="CmbDateTimeFormat.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Bottom, Left, Right</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items" xml:space="preserve">
+    <value>yyyy/MM/dd H:mm:ss</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items1" xml:space="preserve">
+    <value>yy/M/d H:mm:ss</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items2" xml:space="preserve">
+    <value>H:mm:ss yy/M/d</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items3" xml:space="preserve">
+    <value>M/d H:mm:ss</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items4" xml:space="preserve">
+    <value>M/d H:mm</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items5" xml:space="preserve">
+    <value>H:mm:ss M/d</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items6" xml:space="preserve">
+    <value>H:mm:ss</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items7" xml:space="preserve">
+    <value>H:mm</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items8" xml:space="preserve">
+    <value>tt h:mm</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items9" xml:space="preserve">
+    <value>M/d tt h:mm:ss</value>
+  </data>
+  <data name="CmbDateTimeFormat.Items10" xml:space="preserve">
+    <value>M/d tt h:mm</value>
+  </data>
+  <data name="CmbDateTimeFormat.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 121</value>
+  </data>
+  <data name="CmbDateTimeFormat.Size" type="System.Drawing.Size, System.Drawing">
+    <value>170, 20</value>
+  </data>
+  <data name="CmbDateTimeFormat.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;CmbDateTimeFormat.Name" xml:space="preserve">
+    <value>CmbDateTimeFormat</value>
+  </data>
+  <data name="&gt;&gt;CmbDateTimeFormat.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CmbDateTimeFormat.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CmbDateTimeFormat.ZOrder" xml:space="preserve">
+    <value>23</value>
+  </data>
+  <data name="Label23.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label23.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 124</value>
+  </data>
+  <data name="Label23.Size" type="System.Drawing.Size, System.Drawing">
+    <value>113, 12</value>
+  </data>
+  <data name="Label23.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="Label23.Text" xml:space="preserve">
+    <value>リストの日時フォーマット</value>
+  </data>
+  <data name="&gt;&gt;Label23.Name" xml:space="preserve">
+    <value>Label23</value>
+  </data>
+  <data name="&gt;&gt;Label23.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label23.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label23.ZOrder" xml:space="preserve">
+    <value>25</value>
+  </data>
+  <data name="CheckBox3.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckBox3.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="CheckBox3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 224</value>
+  </data>
+  <data name="CheckBox3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckBox3.TabIndex" type="System.Int32, mscorlib">
+    <value>17</value>
+  </data>
+  <data name="CheckBox3.Text" xml:space="preserve">
+    <value>表示する</value>
+  </data>
+  <data name="&gt;&gt;CheckBox3.Name" xml:space="preserve">
+    <value>CheckBox3</value>
+  </data>
+  <data name="&gt;&gt;CheckBox3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckBox3.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckBox3.ZOrder" xml:space="preserve">
+    <value>34</value>
+  </data>
+  <data name="Label25.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label25.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="Label25.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 225</value>
+  </data>
+  <data name="Label25.Size" type="System.Drawing.Size, System.Drawing">
+    <value>134, 12</value>
+  </data>
+  <data name="Label25.TabIndex" type="System.Int32, mscorlib">
+    <value>16</value>
+  </data>
+  <data name="Label25.Text" xml:space="preserve">
+    <value>発言詳細部のアイコン表示</value>
+  </data>
+  <data name="&gt;&gt;Label25.Name" xml:space="preserve">
+    <value>Label25</value>
+  </data>
+  <data name="&gt;&gt;Label25.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label25.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label25.ZOrder" xml:space="preserve">
+    <value>32</value>
+  </data>
+  <data name="CheckPostCtrlEnter.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckPostCtrlEnter.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 190</value>
+  </data>
+  <data name="CheckPostCtrlEnter.Size" type="System.Drawing.Size, System.Drawing">
+    <value>104, 16</value>
+  </data>
+  <data name="CheckPostCtrlEnter.TabIndex" type="System.Int32, mscorlib">
+    <value>18</value>
+  </data>
+  <data name="CheckPostCtrlEnter.Text" xml:space="preserve">
+    <value>Ctrl+Enterにする</value>
+  </data>
+  <data name="&gt;&gt;CheckPostCtrlEnter.Name" xml:space="preserve">
+    <value>CheckPostCtrlEnter</value>
+  </data>
+  <data name="&gt;&gt;CheckPostCtrlEnter.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckPostCtrlEnter.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckPostCtrlEnter.ZOrder" xml:space="preserve">
+    <value>33</value>
+  </data>
+  <data name="Label27.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label27.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 191</value>
+  </data>
+  <data name="Label27.Size" type="System.Drawing.Size, System.Drawing">
+    <value>137, 12</value>
+  </data>
+  <data name="Label27.TabIndex" type="System.Int32, mscorlib">
+    <value>17</value>
+  </data>
+  <data name="Label27.Text" xml:space="preserve">
+    <value>POSTキー(デフォルトEnter)</value>
+  </data>
+  <data name="&gt;&gt;Label27.Name" xml:space="preserve">
+    <value>Label27</value>
+  </data>
+  <data name="&gt;&gt;Label27.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label27.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label27.ZOrder" xml:space="preserve">
+    <value>31</value>
+  </data>
+  <data name="Label31.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label31.Location" type="System.Drawing.Point, System.Drawing">
+    <value>43, 248</value>
+  </data>
+  <data name="Label31.Size" type="System.Drawing.Size, System.Drawing">
+    <value>41, 12</value>
+  </data>
+  <data name="Label31.TabIndex" type="System.Int32, mscorlib">
+    <value>21</value>
+  </data>
+  <data name="Label31.Text" xml:space="preserve">
+    <value>Recent</value>
+  </data>
+  <data name="&gt;&gt;Label31.Name" xml:space="preserve">
+    <value>Label31</value>
+  </data>
+  <data name="&gt;&gt;Label31.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label31.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label31.ZOrder" xml:space="preserve">
+    <value>38</value>
+  </data>
+  <data name="Label33.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label33.Location" type="System.Drawing.Point, System.Drawing">
+    <value>146, 248</value>
+  </data>
+  <data name="Label33.Size" type="System.Drawing.Size, System.Drawing">
+    <value>34, 12</value>
+  </data>
+  <data name="Label33.TabIndex" type="System.Int32, mscorlib">
+    <value>23</value>
+  </data>
+  <data name="Label33.Text" xml:space="preserve">
+    <value>Reply</value>
+  </data>
+  <data name="&gt;&gt;Label33.Name" xml:space="preserve">
+    <value>Label33</value>
+  </data>
+  <data name="&gt;&gt;Label33.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label33.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label33.ZOrder" xml:space="preserve">
+    <value>39</value>
+  </data>
+  <data name="Label35.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label35.Location" type="System.Drawing.Point, System.Drawing">
+    <value>242, 248</value>
+  </data>
+  <data name="Label35.Size" type="System.Drawing.Size, System.Drawing">
+    <value>22, 12</value>
+  </data>
+  <data name="Label35.TabIndex" type="System.Int32, mscorlib">
+    <value>25</value>
+  </data>
+  <data name="Label35.Text" xml:space="preserve">
+    <value>DM</value>
+  </data>
+  <data name="&gt;&gt;Label35.Name" xml:space="preserve">
+    <value>Label35</value>
+  </data>
+  <data name="&gt;&gt;Label35.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label35.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label35.ZOrder" xml:space="preserve">
+    <value>40</value>
+  </data>
+  <data name="StartupReadReply.Location" type="System.Drawing.Point, System.Drawing">
+    <value>194, 245</value>
+  </data>
+  <data name="StartupReadReply.Size" type="System.Drawing.Size, System.Drawing">
+    <value>34, 19</value>
+  </data>
+  <data name="StartupReadReply.TabIndex" type="System.Int32, mscorlib">
+    <value>24</value>
+  </data>
+  <data name="&gt;&gt;StartupReadReply.Name" xml:space="preserve">
+    <value>StartupReadReply</value>
+  </data>
+  <data name="&gt;&gt;StartupReadReply.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StartupReadReply.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;StartupReadReply.ZOrder" xml:space="preserve">
+    <value>41</value>
+  </data>
+  <data name="StartupReadDM.Location" type="System.Drawing.Point, System.Drawing">
+    <value>278, 245</value>
+  </data>
+  <data name="StartupReadDM.Size" type="System.Drawing.Size, System.Drawing">
+    <value>34, 19</value>
+  </data>
+  <data name="StartupReadDM.TabIndex" type="System.Int32, mscorlib">
+    <value>26</value>
+  </data>
+  <data name="&gt;&gt;StartupReadDM.Name" xml:space="preserve">
+    <value>StartupReadDM</value>
+  </data>
+  <data name="&gt;&gt;StartupReadDM.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StartupReadDM.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;StartupReadDM.ZOrder" xml:space="preserve">
+    <value>42</value>
+  </data>
+  <data name="TextBox3.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="TextBox3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 169</value>
+  </data>
+  <data name="TextBox3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>34, 19</value>
+  </data>
+  <data name="TextBox3.TabIndex" type="System.Int32, mscorlib">
+    <value>13</value>
+  </data>
+  <data name="&gt;&gt;TextBox3.Name" xml:space="preserve">
+    <value>TextBox3</value>
+  </data>
+  <data name="&gt;&gt;TextBox3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBox3.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;TextBox3.ZOrder" xml:space="preserve">
+    <value>35</value>
+  </data>
+  <data name="IconSize.Items" xml:space="preserve">
+    <value>none</value>
+  </data>
+  <data name="IconSize.Items1" xml:space="preserve">
+    <value>16*16</value>
+  </data>
+  <data name="IconSize.Items2" xml:space="preserve">
+    <value>24*24</value>
+  </data>
+  <data name="IconSize.Items3" xml:space="preserve">
+    <value>48*48</value>
+  </data>
+  <data name="IconSize.Items4" xml:space="preserve">
+    <value>48*48(2Column)</value>
+  </data>
+  <data name="IconSize.Location" type="System.Drawing.Point, System.Drawing">
+    <value>233, 168</value>
+  </data>
+  <data name="IconSize.Size" type="System.Drawing.Size, System.Drawing">
+    <value>134, 20</value>
+  </data>
+  <data name="IconSize.TabIndex" type="System.Int32, mscorlib">
+    <value>14</value>
+  </data>
+  <data name="&gt;&gt;IconSize.Name" xml:space="preserve">
+    <value>IconSize</value>
+  </data>
+  <data name="&gt;&gt;IconSize.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;IconSize.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;IconSize.ZOrder" xml:space="preserve">
+    <value>33</value>
+  </data>
+  <data name="Label38.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label38.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 59</value>
+  </data>
+  <data name="Label38.Size" type="System.Drawing.Size, System.Drawing">
+    <value>53, 12</value>
+  </data>
+  <data name="Label38.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="Label38.Text" xml:space="preserve">
+    <value>未読管理</value>
+  </data>
+  <data name="&gt;&gt;Label38.Name" xml:space="preserve">
+    <value>Label38</value>
+  </data>
+  <data name="&gt;&gt;Label38.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label38.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label38.ZOrder" xml:space="preserve">
+    <value>23</value>
+  </data>
+  <data name="UReadMng.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="UReadMng.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 58</value>
+  </data>
+  <data name="UReadMng.Size" type="System.Drawing.Size, System.Drawing">
+    <value>43, 16</value>
+  </data>
+  <data name="UReadMng.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="UReadMng.Text" xml:space="preserve">
+    <value>する</value>
+  </data>
+  <data name="&gt;&gt;UReadMng.Name" xml:space="preserve">
+    <value>UReadMng</value>
+  </data>
+  <data name="&gt;&gt;UReadMng.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UReadMng.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;UReadMng.ZOrder" xml:space="preserve">
+    <value>25</value>
+  </data>
+  <data name="Label39.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label39.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 81</value>
+  </data>
+  <data name="Label39.Size" type="System.Drawing.Size, System.Drawing">
+    <value>89, 12</value>
+  </data>
+  <data name="Label39.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="Label39.Text" xml:space="preserve">
+    <value>新着時未読クリア</value>
+  </data>
+  <data name="&gt;&gt;Label39.Name" xml:space="preserve">
+    <value>Label39</value>
+  </data>
+  <data name="&gt;&gt;Label39.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label39.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label39.ZOrder" xml:space="preserve">
+    <value>32</value>
+  </data>
+  <data name="CheckReadOldPosts.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckReadOldPosts.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 80</value>
+  </data>
+  <data name="CheckReadOldPosts.Size" type="System.Drawing.Size, System.Drawing">
+    <value>43, 16</value>
+  </data>
+  <data name="CheckReadOldPosts.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="CheckReadOldPosts.Text" xml:space="preserve">
+    <value>する</value>
+  </data>
+  <data name="&gt;&gt;CheckReadOldPosts.Name" xml:space="preserve">
+    <value>CheckReadOldPosts</value>
+  </data>
+  <data name="&gt;&gt;CheckReadOldPosts.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckReadOldPosts.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckReadOldPosts.ZOrder" xml:space="preserve">
+    <value>34</value>
+  </data>
+  <data name="Label40.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label40.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 103</value>
+  </data>
+  <data name="Label40.Size" type="System.Drawing.Size, System.Drawing">
+    <value>100, 12</value>
+  </data>
+  <data name="Label40.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="Label40.Text" xml:space="preserve">
+    <value>×ボタンを押したとき</value>
+  </data>
+  <data name="&gt;&gt;Label40.Name" xml:space="preserve">
+    <value>Label40</value>
+  </data>
+  <data name="&gt;&gt;Label40.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label40.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label40.ZOrder" xml:space="preserve">
+    <value>28</value>
+  </data>
+  <data name="CheckCloseToExit.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckCloseToExit.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 102</value>
+  </data>
+  <data name="CheckCloseToExit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckCloseToExit.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="CheckCloseToExit.Text" xml:space="preserve">
+    <value>終了する</value>
+  </data>
+  <data name="&gt;&gt;CheckCloseToExit.Name" xml:space="preserve">
+    <value>CheckCloseToExit</value>
+  </data>
+  <data name="&gt;&gt;CheckCloseToExit.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckCloseToExit.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckCloseToExit.ZOrder" xml:space="preserve">
+    <value>27</value>
+  </data>
+  <data name="Label41.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label41.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 125</value>
+  </data>
+  <data name="Label41.Size" type="System.Drawing.Size, System.Drawing">
+    <value>76, 12</value>
+  </data>
+  <data name="Label41.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="Label41.Text" xml:space="preserve">
+    <value>最小化したとき</value>
+  </data>
+  <data name="&gt;&gt;Label41.Name" xml:space="preserve">
+    <value>Label41</value>
+  </data>
+  <data name="&gt;&gt;Label41.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label41.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label41.ZOrder" xml:space="preserve">
+    <value>30</value>
+  </data>
+  <data name="CheckMinimizeToTray.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckMinimizeToTray.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 124</value>
+  </data>
+  <data name="CheckMinimizeToTray.Size" type="System.Drawing.Size, System.Drawing">
+    <value>90, 16</value>
+  </data>
+  <data name="CheckMinimizeToTray.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="CheckMinimizeToTray.Text" xml:space="preserve">
+    <value>アイコン化する</value>
+  </data>
+  <data name="&gt;&gt;CheckMinimizeToTray.Name" xml:space="preserve">
+    <value>CheckMinimizeToTray</value>
+  </data>
+  <data name="&gt;&gt;CheckMinimizeToTray.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckMinimizeToTray.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckMinimizeToTray.ZOrder" xml:space="preserve">
+    <value>29</value>
+  </data>
+  <data name="BrowserPathText.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 279</value>
+  </data>
+  <data name="BrowserPathText.Size" type="System.Drawing.Size, System.Drawing">
+    <value>112, 19</value>
+  </data>
+  <data name="BrowserPathText.TabIndex" type="System.Int32, mscorlib">
+    <value>28</value>
+  </data>
+  <data name="&gt;&gt;BrowserPathText.Name" xml:space="preserve">
+    <value>BrowserPathText</value>
+  </data>
+  <data name="&gt;&gt;BrowserPathText.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;BrowserPathText.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;BrowserPathText.ZOrder" xml:space="preserve">
+    <value>24</value>
+  </data>
+  <data name="Label44.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label44.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 282</value>
+  </data>
+  <data name="Label44.Size" type="System.Drawing.Size, System.Drawing">
+    <value>60, 12</value>
+  </data>
+  <data name="Label44.TabIndex" type="System.Int32, mscorlib">
+    <value>27</value>
+  </data>
+  <data name="Label44.Text" xml:space="preserve">
+    <value>ブラウザパス</value>
+  </data>
+  <data name="&gt;&gt;Label44.Name" xml:space="preserve">
+    <value>Label44</value>
+  </data>
+  <data name="&gt;&gt;Label44.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label44.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label44.ZOrder" xml:space="preserve">
+    <value>26</value>
+  </data>
+  <data name="CheckboxReply.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckboxReply.Location" type="System.Drawing.Point, System.Drawing">
+    <value>127, 75</value>
+  </data>
+  <data name="CheckboxReply.Size" type="System.Drawing.Size, System.Drawing">
+    <value>101, 16</value>
+  </data>
+  <data name="CheckboxReply.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="CheckboxReply.Text" xml:space="preserve">
+    <value>Reply同時取得</value>
+  </data>
+  <data name="&gt;&gt;CheckboxReply.Name" xml:space="preserve">
+    <value>CheckboxReply</value>
+  </data>
+  <data name="&gt;&gt;CheckboxReply.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckboxReply.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckboxReply.ZOrder" xml:space="preserve">
+    <value>24</value>
+  </data>
+  <data name="CheckDispUsername.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckDispUsername.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 32</value>
+  </data>
+  <data name="CheckDispUsername.Size" type="System.Drawing.Size, System.Drawing">
+    <value>109, 16</value>
+  </data>
+  <data name="CheckDispUsername.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="CheckDispUsername.Text" xml:space="preserve">
+    <value>ユーザー名を表示</value>
+  </data>
+  <data name="&gt;&gt;CheckDispUsername.Name" xml:space="preserve">
+    <value>CheckDispUsername</value>
+  </data>
+  <data name="&gt;&gt;CheckDispUsername.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckDispUsername.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckDispUsername.ZOrder" xml:space="preserve">
+    <value>28</value>
+  </data>
+  <data name="Label46.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label46.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 33</value>
+  </data>
+  <data name="Label46.Size" type="System.Drawing.Size, System.Drawing">
+    <value>122, 12</value>
+  </data>
+  <data name="Label46.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="Label46.Text" xml:space="preserve">
+    <value>タイトルバーとツールチップ</value>
+  </data>
+  <data name="&gt;&gt;Label46.Name" xml:space="preserve">
+    <value>Label46</value>
+  </data>
+  <data name="&gt;&gt;Label46.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label46.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label46.ZOrder" xml:space="preserve">
+    <value>27</value>
+  </data>
+  <data name="Label45.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label45.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 98</value>
+  </data>
+  <data name="Label45.Size" type="System.Drawing.Size, System.Drawing">
+    <value>60, 12</value>
+  </data>
+  <data name="Label45.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="Label45.Text" xml:space="preserve">
+    <value>タイトルバー</value>
+  </data>
+  <data name="&gt;&gt;Label45.Name" xml:space="preserve">
+    <value>Label45</value>
+  </data>
+  <data name="&gt;&gt;Label45.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label45.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label45.ZOrder" xml:space="preserve">
+    <value>24</value>
+  </data>
+  <data name="ComboDispTitle.Items" xml:space="preserve">
+    <value>(なし)</value>
+  </data>
+  <data name="ComboDispTitle.Items1" xml:space="preserve">
+    <value>バージョン</value>
+  </data>
+  <data name="ComboDispTitle.Items2" xml:space="preserve">
+    <value>最終発言</value>
+  </data>
+  <data name="ComboDispTitle.Items3" xml:space="preserve">
+    <value>@未読数</value>
+  </data>
+  <data name="ComboDispTitle.Items4" xml:space="preserve">
+    <value>未読数</value>
+  </data>
+  <data name="ComboDispTitle.Items5" xml:space="preserve">
+    <value>未読数(@未読数)</value>
+  </data>
+  <data name="ComboDispTitle.Items6" xml:space="preserve">
+    <value>全未読/全発言数</value>
+  </data>
+  <data name="ComboDispTitle.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 95</value>
+  </data>
+  <data name="ComboDispTitle.Size" type="System.Drawing.Size, System.Drawing">
+    <value>170, 20</value>
+  </data>
+  <data name="ComboDispTitle.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="&gt;&gt;ComboDispTitle.Name" xml:space="preserve">
+    <value>ComboDispTitle</value>
+  </data>
+  <data name="&gt;&gt;ComboDispTitle.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ComboDispTitle.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;ComboDispTitle.ZOrder" xml:space="preserve">
+    <value>21</value>
+  </data>
+  <data name="Label47.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label47.Location" type="System.Drawing.Point, System.Drawing">
+    <value>195, 191</value>
+  </data>
+  <data name="Label47.Size" type="System.Drawing.Size, System.Drawing">
+    <value>131, 12</value>
+  </data>
+  <data name="Label47.TabIndex" type="System.Int32, mscorlib">
+    <value>15</value>
+  </data>
+  <data name="Label47.Text" xml:space="preserve">
+    <value>再起動後有効になります。</value>
+  </data>
+  <data name="&gt;&gt;Label47.Name" xml:space="preserve">
+    <value>Label47</value>
+  </data>
+  <data name="&gt;&gt;Label47.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label47.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label47.ZOrder" xml:space="preserve">
+    <value>22</value>
+  </data>
+  <data name="&gt;&gt;Label70.Name" xml:space="preserve">
+    <value>Label70</value>
+  </data>
+  <data name="&gt;&gt;Label70.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label70.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label70.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.Name" xml:space="preserve">
+    <value>CheckStartupAPImodeNoWarning</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;Label69.Name" xml:space="preserve">
+    <value>Label69</value>
+  </data>
+  <data name="&gt;&gt;Label69.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label69.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label69.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.Name" xml:space="preserve">
+    <value>ReplyPeriod</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.Name" xml:space="preserve">
+    <value>CheckPostAndGet</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;Label67.Name" xml:space="preserve">
+    <value>Label67</value>
+  </data>
+  <data name="&gt;&gt;Label67.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label67.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label67.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.Name" xml:space="preserve">
+    <value>TextCountApi</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="&gt;&gt;Label66.Name" xml:space="preserve">
+    <value>Label66</value>
+  </data>
+  <data name="&gt;&gt;Label66.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label66.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label66.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.Name" xml:space="preserve">
+    <value>CheckPostMethod</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="&gt;&gt;Label43.Name" xml:space="preserve">
+    <value>Label43</value>
+  </data>
+  <data name="&gt;&gt;Label43.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label43.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label43.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.Name" xml:space="preserve">
+    <value>CheckUseApi</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="&gt;&gt;Label54.Name" xml:space="preserve">
+    <value>Label54</value>
+  </data>
+  <data name="&gt;&gt;Label54.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label54.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label54.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.Name" xml:space="preserve">
+    <value>CheckStartupFollowers</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.ZOrder" xml:space="preserve">
+    <value>12</value>
+  </data>
+  <data name="&gt;&gt;Label53.Name" xml:space="preserve">
+    <value>Label53</value>
+  </data>
+  <data name="&gt;&gt;Label53.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label53.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label53.ZOrder" xml:space="preserve">
+    <value>13</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.Name" xml:space="preserve">
+    <value>CheckStartupKey</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.ZOrder" xml:space="preserve">
+    <value>14</value>
+  </data>
+  <data name="&gt;&gt;Label51.Name" xml:space="preserve">
+    <value>Label51</value>
+  </data>
+  <data name="&gt;&gt;Label51.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label51.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label51.ZOrder" xml:space="preserve">
+    <value>15</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.Name" xml:space="preserve">
+    <value>CheckStartupVersion</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.ZOrder" xml:space="preserve">
+    <value>16</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.Name" xml:space="preserve">
+    <value>CheckPeriodAdjust</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.ZOrder" xml:space="preserve">
+    <value>17</value>
+  </data>
+  <data name="TabPage1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 21</value>
+  </data>
+  <data name="TabPage1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TabPage1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>399, 458</value>
+  </data>
+  <data name="TabPage1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="TabPage1.Text" xml:space="preserve">
+    <value>基本</value>
+  </data>
+  <data name="&gt;&gt;TabPage1.Name" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;TabPage1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabPage1.Parent" xml:space="preserve">
+    <value>TabControl1</value>
+  </data>
+  <data name="&gt;&gt;TabPage1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;Label79.Name" xml:space="preserve">
+    <value>Label79</value>
+  </data>
+  <data name="&gt;&gt;Label79.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label79.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label79.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.Name" xml:space="preserve">
+    <value>CheckAtIdSupple</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.Name" xml:space="preserve">
+    <value>TextBitlyPw</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;Label77.Name" xml:space="preserve">
+    <value>Label77</value>
+  </data>
+  <data name="&gt;&gt;Label77.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label77.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label77.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.Name" xml:space="preserve">
+    <value>TextBitlyId</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;Label76.Name" xml:space="preserve">
+    <value>Label76</value>
+  </data>
+  <data name="&gt;&gt;Label76.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label76.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label76.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;Label74.Name" xml:space="preserve">
+    <value>Label74</value>
+  </data>
+  <data name="&gt;&gt;Label74.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label74.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label74.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.Name" xml:space="preserve">
+    <value>chkGetFav</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.Name" xml:space="preserve">
+    <value>ComboBoxAutoShortUrlFirst</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="&gt;&gt;Label71.Name" xml:space="preserve">
+    <value>Label71</value>
+  </data>
+  <data name="&gt;&gt;Label71.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label71.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label71.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.Name" xml:space="preserve">
+    <value>CheckProtectNotInclude</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="&gt;&gt;Label42.Name" xml:space="preserve">
+    <value>Label42</value>
+  </data>
+  <data name="&gt;&gt;Label42.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label42.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label42.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.Name" xml:space="preserve">
+    <value>CheckAutoConvertUrl</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.ZOrder" xml:space="preserve">
+    <value>12</value>
+  </data>
+  <data name="&gt;&gt;Label29.Name" xml:space="preserve">
+    <value>Label29</value>
+  </data>
+  <data name="&gt;&gt;Label29.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label29.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label29.ZOrder" xml:space="preserve">
+    <value>13</value>
+  </data>
+  <data name="&gt;&gt;Label57.Name" xml:space="preserve">
+    <value>Label57</value>
+  </data>
+  <data name="&gt;&gt;Label57.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label57.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label57.ZOrder" xml:space="preserve">
+    <value>14</value>
+  </data>
+  <data name="&gt;&gt;Label56.Name" xml:space="preserve">
+    <value>Label56</value>
+  </data>
+  <data name="&gt;&gt;Label56.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label56.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label56.ZOrder" xml:space="preserve">
+    <value>15</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.Name" xml:space="preserve">
+    <value>CheckFavRestrict</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.ZOrder" xml:space="preserve">
+    <value>16</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.Name" xml:space="preserve">
+    <value>CheckTinyURL</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.ZOrder" xml:space="preserve">
+    <value>17</value>
+  </data>
+  <data name="&gt;&gt;Label50.Name" xml:space="preserve">
+    <value>Label50</value>
+  </data>
+  <data name="&gt;&gt;Label50.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label50.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label50.ZOrder" xml:space="preserve">
+    <value>18</value>
+  </data>
+  <data name="&gt;&gt;Button3.Name" xml:space="preserve">
+    <value>Button3</value>
+  </data>
+  <data name="&gt;&gt;Button3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Button3.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Button3.ZOrder" xml:space="preserve">
+    <value>19</value>
+  </data>
+  <data name="TabPage2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 21</value>
+  </data>
+  <data name="TabPage2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TabPage2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>399, 458</value>
+  </data>
+  <data name="TabPage2.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="TabPage2.Text" xml:space="preserve">
+    <value>動作</value>
+  </data>
+  <data name="&gt;&gt;TabPage2.Name" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;TabPage2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabPage2.Parent" xml:space="preserve">
+    <value>TabControl1</value>
+  </data>
+  <data name="&gt;&gt;TabPage2.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.Name" xml:space="preserve">
+    <value>CheckAlwaysTop</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;Label58.Name" xml:space="preserve">
+    <value>Label58</value>
+  </data>
+  <data name="&gt;&gt;Label58.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label58.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label58.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;Label21.Name" xml:space="preserve">
+    <value>Label21</value>
+  </data>
+  <data name="&gt;&gt;Label21.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label21.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label21.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.Name" xml:space="preserve">
+    <value>CheckSortOrderLock</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;Label78.Name" xml:space="preserve">
+    <value>Label78</value>
+  </data>
+  <data name="&gt;&gt;Label78.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label78.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label78.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.Name" xml:space="preserve">
+    <value>CheckShowGrid</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;Label75.Name" xml:space="preserve">
+    <value>Label75</value>
+  </data>
+  <data name="&gt;&gt;Label75.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label75.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label75.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.Name" xml:space="preserve">
+    <value>CheckMonospace</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="&gt;&gt;Label73.Name" xml:space="preserve">
+    <value>Label73</value>
+  </data>
+  <data name="&gt;&gt;Label73.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label73.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label73.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.Name" xml:space="preserve">
+    <value>chkReadOwnPost</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.Name" xml:space="preserve">
+    <value>ReplyIconStateCombo</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="&gt;&gt;Label72.Name" xml:space="preserve">
+    <value>Label72</value>
+  </data>
+  <data name="&gt;&gt;Label72.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label72.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label72.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="&gt;&gt;Label48.Name" xml:space="preserve">
+    <value>Label48</value>
+  </data>
+  <data name="&gt;&gt;Label48.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label48.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label48.ZOrder" xml:space="preserve">
+    <value>12</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.Name" xml:space="preserve">
+    <value>chkTabIconDisp</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.ZOrder" xml:space="preserve">
+    <value>13</value>
+  </data>
+  <data name="&gt;&gt;Label68.Name" xml:space="preserve">
+    <value>Label68</value>
+  </data>
+  <data name="&gt;&gt;Label68.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label68.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label68.ZOrder" xml:space="preserve">
+    <value>14</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.Name" xml:space="preserve">
+    <value>CheckBalloonLimit</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.ZOrder" xml:space="preserve">
+    <value>15</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.Name" xml:space="preserve">
+    <value>LabelDateTimeFormatApplied</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.ZOrder" xml:space="preserve">
+    <value>16</value>
+  </data>
+  <data name="&gt;&gt;Label62.Name" xml:space="preserve">
+    <value>Label62</value>
+  </data>
+  <data name="&gt;&gt;Label62.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label62.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label62.ZOrder" xml:space="preserve">
+    <value>17</value>
+  </data>
+  <data name="&gt;&gt;Label17.Name" xml:space="preserve">
+    <value>Label17</value>
+  </data>
+  <data name="&gt;&gt;Label17.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label17.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label17.ZOrder" xml:space="preserve">
+    <value>18</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.Name" xml:space="preserve">
+    <value>chkUnreadStyle</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.ZOrder" xml:space="preserve">
+    <value>19</value>
+  </data>
+  <data name="TabPage3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 21</value>
+  </data>
+  <data name="TabPage3.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TabPage3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>399, 458</value>
+  </data>
+  <data name="TabPage3.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="TabPage3.Text" xml:space="preserve">
+    <value>表示</value>
+  </data>
+  <data name="&gt;&gt;TabPage3.Name" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;TabPage3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabPage3.Parent" xml:space="preserve">
+    <value>TabControl1</value>
+  </data>
+  <data name="&gt;&gt;TabPage3.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="TabPage4.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 21</value>
+  </data>
+  <data name="TabPage4.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TabPage4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>399, 458</value>
+  </data>
+  <data name="TabPage4.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="TabPage4.Text" xml:space="preserve">
+    <value>フォント&色</value>
+  </data>
+  <data name="&gt;&gt;TabPage4.Name" xml:space="preserve">
+    <value>TabPage4</value>
+  </data>
+  <data name="&gt;&gt;TabPage4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabPage4.Parent" xml:space="preserve">
+    <value>TabControl1</value>
+  </data>
+  <data name="&gt;&gt;TabPage4.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.Name" xml:space="preserve">
+    <value>CheckUseSsl</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;Label64.Name" xml:space="preserve">
+    <value>Label64</value>
+  </data>
+  <data name="&gt;&gt;Label64.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label64.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;Label64.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.Name" xml:space="preserve">
+    <value>ConnectionTimeOut</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;Label63.Name" xml:space="preserve">
+    <value>Label63</value>
+  </data>
+  <data name="&gt;&gt;Label63.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label63.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;Label63.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Name" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="TabPage5.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 21</value>
+  </data>
+  <data name="TabPage5.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="TabPage5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>399, 458</value>
+  </data>
+  <data name="TabPage5.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="TabPage5.Text" xml:space="preserve">
+    <value>通信</value>
+  </data>
+  <data name="&gt;&gt;TabPage5.Name" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;TabPage5.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabPage5.Parent" xml:space="preserve">
+    <value>TabControl1</value>
+  </data>
+  <data name="&gt;&gt;TabPage5.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;Label60.Name" xml:space="preserve">
+    <value>Label60</value>
+  </data>
+  <data name="&gt;&gt;Label60.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label60.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;Label60.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.Name" xml:space="preserve">
+    <value>ComboBoxOutputzUrlmode</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;Label59.Name" xml:space="preserve">
+    <value>Label59</value>
+  </data>
+  <data name="&gt;&gt;Label59.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label59.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;Label59.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.Name" xml:space="preserve">
+    <value>TextBoxOutputzKey</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.Name" xml:space="preserve">
+    <value>CheckOutputz</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="TabPage6.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 21</value>
+  </data>
+  <data name="TabPage6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>399, 458</value>
+  </data>
+  <data name="TabPage6.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="TabPage6.Text" xml:space="preserve">
+    <value>Outputz</value>
+  </data>
+  <data name="&gt;&gt;TabPage6.Name" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;TabPage6.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabPage6.Parent" xml:space="preserve">
+    <value>TabControl1</value>
+  </data>
+  <data name="&gt;&gt;TabPage6.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="TabControl1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>12, 12</value>
+  </data>
+  <data name="TabControl1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>407, 483</value>
+  </data>
+  <data name="TabControl1.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;TabControl1.Name" xml:space="preserve">
+    <value>TabControl1</value>
+  </data>
+  <data name="&gt;&gt;TabControl1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabControl1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TabControl1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Label70.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label70.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label70.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 364</value>
+  </data>
+  <data name="Label70.Size" type="System.Drawing.Size, System.Drawing">
+    <value>138, 12</value>
+  </data>
+  <data name="Label70.TabIndex" type="System.Int32, mscorlib">
+    <value>35</value>
+  </data>
+  <data name="Label70.Text" xml:space="preserve">
+    <value>起動時Webモード使用警告</value>
+  </data>
+  <data name="&gt;&gt;Label70.Name" xml:space="preserve">
+    <value>Label70</value>
+  </data>
+  <data name="&gt;&gt;Label70.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label70.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label70.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.Location" type="System.Drawing.Point, System.Drawing">
+    <value>248, 363</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.Size" type="System.Drawing.Size, System.Drawing">
+    <value>77, 16</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.TabIndex" type="System.Int32, mscorlib">
+    <value>36</value>
+  </data>
+  <data name="CheckStartupAPImodeNoWarning.Text" xml:space="preserve">
+    <value>警告しない</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.Name" xml:space="preserve">
+    <value>CheckStartupAPImodeNoWarning</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupAPImodeNoWarning.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="Label69.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label69.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label69.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 100</value>
+  </data>
+  <data name="Label69.Size" type="System.Drawing.Size, System.Drawing">
+    <value>106, 12</value>
+  </data>
+  <data name="Label69.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="Label69.Text" xml:space="preserve">
+    <value>Reply更新間隔(秒)</value>
+  </data>
+  <data name="&gt;&gt;Label69.Name" xml:space="preserve">
+    <value>Label69</value>
+  </data>
+  <data name="&gt;&gt;Label69.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label69.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label69.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="ReplyPeriod.Location" type="System.Drawing.Point, System.Drawing">
+    <value>247, 97</value>
+  </data>
+  <data name="ReplyPeriod.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 19</value>
+  </data>
+  <data name="ReplyPeriod.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.Name" xml:space="preserve">
+    <value>ReplyPeriod</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;ReplyPeriod.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="CheckPostAndGet.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckPostAndGet.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckPostAndGet.Location" type="System.Drawing.Point, System.Drawing">
+    <value>24, 75</value>
+  </data>
+  <data name="CheckPostAndGet.Size" type="System.Drawing.Size, System.Drawing">
+    <value>84, 16</value>
+  </data>
+  <data name="CheckPostAndGet.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="CheckPostAndGet.Text" xml:space="preserve">
+    <value>投稿時取得</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.Name" xml:space="preserve">
+    <value>CheckPostAndGet</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckPostAndGet.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="Label67.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label67.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label67.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 432</value>
+  </data>
+  <data name="Label67.Size" type="System.Drawing.Size, System.Drawing">
+    <value>77, 12</value>
+  </data>
+  <data name="Label67.TabIndex" type="System.Int32, mscorlib">
+    <value>41</value>
+  </data>
+  <data name="Label67.Text" xml:space="preserve">
+    <value>標準取得件数</value>
+  </data>
+  <data name="&gt;&gt;Label67.Name" xml:space="preserve">
+    <value>Label67</value>
+  </data>
+  <data name="&gt;&gt;Label67.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label67.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label67.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="TextCountApi.Location" type="System.Drawing.Point, System.Drawing">
+    <value>247, 429</value>
+  </data>
+  <data name="TextCountApi.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 19</value>
+  </data>
+  <data name="TextCountApi.TabIndex" type="System.Int32, mscorlib">
+    <value>42</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.Name" xml:space="preserve">
+    <value>TextCountApi</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;TextCountApi.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="Label66.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label66.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="Label66.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label66.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 408</value>
+  </data>
+  <data name="Label66.Size" type="System.Drawing.Size, System.Drawing">
+    <value>135, 12</value>
+  </data>
+  <data name="Label66.TabIndex" type="System.Int32, mscorlib">
+    <value>39</value>
+  </data>
+  <data name="Label66.Text" xml:space="preserve">
+    <value>POSTメソッド (※非推奨)</value>
+  </data>
+  <data name="Label66.Visible" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="&gt;&gt;Label66.Name" xml:space="preserve">
+    <value>Label66</value>
+  </data>
+  <data name="&gt;&gt;Label66.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label66.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label66.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="CheckPostMethod.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckPostMethod.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="CheckPostMethod.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckPostMethod.Location" type="System.Drawing.Point, System.Drawing">
+    <value>248, 407</value>
+  </data>
+  <data name="CheckPostMethod.Size" type="System.Drawing.Size, System.Drawing">
+    <value>120, 16</value>
+  </data>
+  <data name="CheckPostMethod.TabIndex" type="System.Int32, mscorlib">
+    <value>40</value>
+  </data>
+  <data name="CheckPostMethod.Text" xml:space="preserve">
+    <value>POSTメソッドで取得</value>
+  </data>
+  <data name="CheckPostMethod.Visible" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.Name" xml:space="preserve">
+    <value>CheckPostMethod</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckPostMethod.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="Label43.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label43.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label43.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 386</value>
+  </data>
+  <data name="Label43.Size" type="System.Drawing.Size, System.Drawing">
+    <value>153, 12</value>
+  </data>
+  <data name="Label43.TabIndex" type="System.Int32, mscorlib">
+    <value>37</value>
+  </data>
+  <data name="Label43.Text" xml:space="preserve">
+    <value>API使用 (オフ=Webから取得)</value>
+  </data>
+  <data name="&gt;&gt;Label43.Name" xml:space="preserve">
+    <value>Label43</value>
+  </data>
+  <data name="&gt;&gt;Label43.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label43.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label43.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="CheckUseApi.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckUseApi.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckUseApi.Location" type="System.Drawing.Point, System.Drawing">
+    <value>248, 385</value>
+  </data>
+  <data name="CheckUseApi.Size" type="System.Drawing.Size, System.Drawing">
+    <value>85, 16</value>
+  </data>
+  <data name="CheckUseApi.TabIndex" type="System.Int32, mscorlib">
+    <value>38</value>
+  </data>
+  <data name="CheckUseApi.Text" xml:space="preserve">
+    <value>API使用する</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.Name" xml:space="preserve">
+    <value>CheckUseApi</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckUseApi.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="Label54.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label54.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 336</value>
+  </data>
+  <data name="Label54.Size" type="System.Drawing.Size, System.Drawing">
+    <value>163, 12</value>
+  </data>
+  <data name="Label54.TabIndex" type="System.Int32, mscorlib">
+    <value>33</value>
+  </data>
+  <data name="Label54.Text" xml:space="preserve">
+    <value>起動時片思いユーザーリスト取得</value>
+  </data>
+  <data name="&gt;&gt;Label54.Name" xml:space="preserve">
+    <value>Label54</value>
+  </data>
+  <data name="&gt;&gt;Label54.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label54.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label54.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="CheckStartupFollowers.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckStartupFollowers.Location" type="System.Drawing.Point, System.Drawing">
+    <value>248, 335</value>
+  </data>
+  <data name="CheckStartupFollowers.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckStartupFollowers.TabIndex" type="System.Int32, mscorlib">
+    <value>34</value>
+  </data>
+  <data name="CheckStartupFollowers.Text" xml:space="preserve">
+    <value>取得する</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.Name" xml:space="preserve">
+    <value>CheckStartupFollowers</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupFollowers.ZOrder" xml:space="preserve">
+    <value>12</value>
+  </data>
+  <data name="Label53.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label53.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 314</value>
+  </data>
+  <data name="Label53.Size" type="System.Drawing.Size, System.Drawing">
+    <value>109, 12</value>
+  </data>
+  <data name="Label53.TabIndex" type="System.Int32, mscorlib">
+    <value>31</value>
+  </data>
+  <data name="Label53.Text" xml:space="preserve">
+    <value>起動時キー情報更新</value>
+  </data>
+  <data name="&gt;&gt;Label53.Name" xml:space="preserve">
+    <value>Label53</value>
+  </data>
+  <data name="&gt;&gt;Label53.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label53.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label53.ZOrder" xml:space="preserve">
+    <value>13</value>
+  </data>
+  <data name="CheckStartupKey.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckStartupKey.Location" type="System.Drawing.Point, System.Drawing">
+    <value>248, 313</value>
+  </data>
+  <data name="CheckStartupKey.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckStartupKey.TabIndex" type="System.Int32, mscorlib">
+    <value>32</value>
+  </data>
+  <data name="CheckStartupKey.Text" xml:space="preserve">
+    <value>更新する</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.Name" xml:space="preserve">
+    <value>CheckStartupKey</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupKey.ZOrder" xml:space="preserve">
+    <value>14</value>
+  </data>
+  <data name="Label51.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label51.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 292</value>
+  </data>
+  <data name="Label51.Size" type="System.Drawing.Size, System.Drawing">
+    <value>117, 12</value>
+  </data>
+  <data name="Label51.TabIndex" type="System.Int32, mscorlib">
+    <value>29</value>
+  </data>
+  <data name="Label51.Text" xml:space="preserve">
+    <value>起動時バージョンチェック</value>
+  </data>
+  <data name="&gt;&gt;Label51.Name" xml:space="preserve">
+    <value>Label51</value>
+  </data>
+  <data name="&gt;&gt;Label51.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label51.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;Label51.ZOrder" xml:space="preserve">
+    <value>15</value>
+  </data>
+  <data name="CheckStartupVersion.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckStartupVersion.Location" type="System.Drawing.Point, System.Drawing">
+    <value>248, 291</value>
+  </data>
+  <data name="CheckStartupVersion.Size" type="System.Drawing.Size, System.Drawing">
+    <value>74, 16</value>
+  </data>
+  <data name="CheckStartupVersion.TabIndex" type="System.Int32, mscorlib">
+    <value>30</value>
+  </data>
+  <data name="CheckStartupVersion.Text" xml:space="preserve">
+    <value>チェックする</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.Name" xml:space="preserve">
+    <value>CheckStartupVersion</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckStartupVersion.ZOrder" xml:space="preserve">
+    <value>16</value>
+  </data>
+  <data name="CheckPeriodAdjust.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckPeriodAdjust.Location" type="System.Drawing.Point, System.Drawing">
+    <value>241, 75</value>
+  </data>
+  <data name="CheckPeriodAdjust.Size" type="System.Drawing.Size, System.Drawing">
+    <value>91, 16</value>
+  </data>
+  <data name="CheckPeriodAdjust.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="CheckPeriodAdjust.Text" xml:space="preserve">
+    <value>自動調整する</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.Name" xml:space="preserve">
+    <value>CheckPeriodAdjust</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.Parent" xml:space="preserve">
+    <value>TabPage1</value>
+  </data>
+  <data name="&gt;&gt;CheckPeriodAdjust.ZOrder" xml:space="preserve">
+    <value>17</value>
+  </data>
+  <data name="Label79.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label79.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label79.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 412</value>
+  </data>
+  <data name="Label79.Size" type="System.Drawing.Size, System.Drawing">
+    <value>72, 12</value>
+  </data>
+  <data name="Label79.TabIndex" type="System.Int32, mscorlib">
+    <value>40</value>
+  </data>
+  <data name="Label79.Text" xml:space="preserve">
+    <value>@ID入力補助</value>
+  </data>
+  <data name="&gt;&gt;Label79.Name" xml:space="preserve">
+    <value>Label79</value>
+  </data>
+  <data name="&gt;&gt;Label79.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label79.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label79.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="CheckAtIdSupple.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckAtIdSupple.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckAtIdSupple.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 411</value>
+  </data>
+  <data name="CheckAtIdSupple.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckAtIdSupple.TabIndex" type="System.Int32, mscorlib">
+    <value>41</value>
+  </data>
+  <data name="CheckAtIdSupple.Text" xml:space="preserve">
+    <value>使用する</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.Name" xml:space="preserve">
+    <value>CheckAtIdSupple</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckAtIdSupple.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TextBitlyPw.Location" type="System.Drawing.Point, System.Drawing">
+    <value>297, 255</value>
+  </data>
+  <data name="TextBitlyPw.Size" type="System.Drawing.Size, System.Drawing">
+    <value>70, 19</value>
+  </data>
+  <data name="TextBitlyPw.TabIndex" type="System.Int32, mscorlib">
+    <value>26</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.Name" xml:space="preserve">
+    <value>TextBitlyPw</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyPw.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="Label77.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label77.Location" type="System.Drawing.Point, System.Drawing">
+    <value>270, 258</value>
+  </data>
+  <data name="Label77.Size" type="System.Drawing.Size, System.Drawing">
+    <value>24, 12</value>
+  </data>
+  <data name="Label77.TabIndex" type="System.Int32, mscorlib">
+    <value>25</value>
+  </data>
+  <data name="Label77.Text" xml:space="preserve">
+    <value>Key</value>
+  </data>
+  <data name="&gt;&gt;Label77.Name" xml:space="preserve">
+    <value>Label77</value>
+  </data>
+  <data name="&gt;&gt;Label77.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label77.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label77.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="TextBitlyId.Location" type="System.Drawing.Point, System.Drawing">
+    <value>194, 255</value>
+  </data>
+  <data name="TextBitlyId.Size" type="System.Drawing.Size, System.Drawing">
+    <value>70, 19</value>
+  </data>
+  <data name="TextBitlyId.TabIndex" type="System.Int32, mscorlib">
+    <value>24</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.Name" xml:space="preserve">
+    <value>TextBitlyId</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;TextBitlyId.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="Label76.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label76.Location" type="System.Drawing.Point, System.Drawing">
+    <value>171, 258</value>
+  </data>
+  <data name="Label76.Size" type="System.Drawing.Size, System.Drawing">
+    <value>16, 12</value>
+  </data>
+  <data name="Label76.TabIndex" type="System.Int32, mscorlib">
+    <value>23</value>
+  </data>
+  <data name="Label76.Text" xml:space="preserve">
+    <value>ID</value>
+  </data>
+  <data name="&gt;&gt;Label76.Name" xml:space="preserve">
+    <value>Label76</value>
+  </data>
+  <data name="&gt;&gt;Label76.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label76.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label76.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="Label74.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label74.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label74.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 390</value>
+  </data>
+  <data name="Label74.Size" type="System.Drawing.Size, System.Drawing">
+    <value>84, 12</value>
+  </data>
+  <data name="Label74.TabIndex" type="System.Int32, mscorlib">
+    <value>38</value>
+  </data>
+  <data name="Label74.Text" xml:space="preserve">
+    <value>起動時Fav取得</value>
+  </data>
+  <data name="&gt;&gt;Label74.Name" xml:space="preserve">
+    <value>Label74</value>
+  </data>
+  <data name="&gt;&gt;Label74.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label74.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label74.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="chkGetFav.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="chkGetFav.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="chkGetFav.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 389</value>
+  </data>
+  <data name="chkGetFav.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="chkGetFav.TabIndex" type="System.Int32, mscorlib">
+    <value>39</value>
+  </data>
+  <data name="chkGetFav.Text" xml:space="preserve">
+    <value>取得する</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.Name" xml:space="preserve">
+    <value>chkGetFav</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;chkGetFav.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Items" xml:space="preserve">
+    <value>tinyurl</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Items1" xml:space="preserve">
+    <value>is.gd</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Items2" xml:space="preserve">
+    <value>twurl.nl</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Items3" xml:space="preserve">
+    <value>u.nu</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Items4" xml:space="preserve">
+    <value>bit.ly</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Items5" xml:space="preserve">
+    <value>j.mp</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 232</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 20</value>
+  </data>
+  <data name="ComboBoxAutoShortUrlFirst.TabIndex" type="System.Int32, mscorlib">
+    <value>22</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.Name" xml:space="preserve">
+    <value>ComboBoxAutoShortUrlFirst</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxAutoShortUrlFirst.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="Label71.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label71.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label71.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 235</value>
+  </data>
+  <data name="Label71.Size" type="System.Drawing.Size, System.Drawing">
+    <value>154, 12</value>
+  </data>
+  <data name="Label71.TabIndex" type="System.Int32, mscorlib">
+    <value>21</value>
+  </data>
+  <data name="Label71.Text" xml:space="preserve">
+    <value>URL自動短縮で優先的に使用</value>
+  </data>
+  <data name="&gt;&gt;Label71.Name" xml:space="preserve">
+    <value>Label71</value>
+  </data>
+  <data name="&gt;&gt;Label71.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label71.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label71.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="CheckProtectNotInclude.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckProtectNotInclude.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 213</value>
+  </data>
+  <data name="CheckProtectNotInclude.Size" type="System.Drawing.Size, System.Drawing">
+    <value>136, 16</value>
+  </data>
+  <data name="CheckProtectNotInclude.TabIndex" type="System.Int32, mscorlib">
+    <value>20</value>
+  </data>
+  <data name="CheckProtectNotInclude.Text" xml:space="preserve">
+    <value>Protect発言を含めない</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.Name" xml:space="preserve">
+    <value>CheckProtectNotInclude</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckProtectNotInclude.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="Label42.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label42.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 214</value>
+  </data>
+  <data name="Label42.Size" type="System.Drawing.Size, System.Drawing">
+    <value>114, 12</value>
+  </data>
+  <data name="Label42.TabIndex" type="System.Int32, mscorlib">
+    <value>19</value>
+  </data>
+  <data name="Label42.Text" xml:space="preserve">
+    <value>STOTコピーとReTweet</value>
+  </data>
+  <data name="&gt;&gt;Label42.Name" xml:space="preserve">
+    <value>Label42</value>
+  </data>
+  <data name="&gt;&gt;Label42.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label42.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label42.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="CheckAutoConvertUrl.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckAutoConvertUrl.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckAutoConvertUrl.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 168</value>
+  </data>
+  <data name="CheckAutoConvertUrl.Size" type="System.Drawing.Size, System.Drawing">
+    <value>91, 16</value>
+  </data>
+  <data name="CheckAutoConvertUrl.TabIndex" type="System.Int32, mscorlib">
+    <value>16</value>
+  </data>
+  <data name="CheckAutoConvertUrl.Text" xml:space="preserve">
+    <value>自動短縮する</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.Name" xml:space="preserve">
+    <value>CheckAutoConvertUrl</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckAutoConvertUrl.ZOrder" xml:space="preserve">
+    <value>12</value>
+  </data>
+  <data name="Label29.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label29.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label29.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 169</value>
+  </data>
+  <data name="Label29.Size" type="System.Drawing.Size, System.Drawing">
+    <value>121, 12</value>
+  </data>
+  <data name="Label29.TabIndex" type="System.Int32, mscorlib">
+    <value>15</value>
+  </data>
+  <data name="Label29.Text" xml:space="preserve">
+    <value>入力欄URLの自動短縮</value>
+  </data>
+  <data name="&gt;&gt;Label29.Name" xml:space="preserve">
+    <value>Label29</value>
+  </data>
+  <data name="&gt;&gt;Label29.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label29.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label29.ZOrder" xml:space="preserve">
+    <value>13</value>
+  </data>
+  <data name="Label57.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label57.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 372</value>
+  </data>
+  <data name="Label57.Size" type="System.Drawing.Size, System.Drawing">
+    <value>340, 12</value>
+  </data>
+  <data name="Label57.TabIndex" type="System.Int32, mscorlib">
+    <value>37</value>
+  </data>
+  <data name="Label57.Text" xml:space="preserve">
+    <value>発言を再取得してFav結果を検証します。通信量が増えるのでOff推奨</value>
+  </data>
+  <data name="&gt;&gt;Label57.Name" xml:space="preserve">
+    <value>Label57</value>
+  </data>
+  <data name="&gt;&gt;Label57.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label57.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label57.ZOrder" xml:space="preserve">
+    <value>14</value>
+  </data>
+  <data name="Label56.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label56.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 354</value>
+  </data>
+  <data name="Label56.Size" type="System.Drawing.Size, System.Drawing">
+    <value>103, 12</value>
+  </data>
+  <data name="Label56.TabIndex" type="System.Int32, mscorlib">
+    <value>35</value>
+  </data>
+  <data name="Label56.Text" xml:space="preserve">
+    <value>Fav結果厳密チェック</value>
+  </data>
+  <data name="&gt;&gt;Label56.Name" xml:space="preserve">
+    <value>Label56</value>
+  </data>
+  <data name="&gt;&gt;Label56.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label56.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label56.ZOrder" xml:space="preserve">
+    <value>15</value>
+  </data>
+  <data name="CheckFavRestrict.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckFavRestrict.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 353</value>
+  </data>
+  <data name="CheckFavRestrict.Size" type="System.Drawing.Size, System.Drawing">
+    <value>74, 16</value>
+  </data>
+  <data name="CheckFavRestrict.TabIndex" type="System.Int32, mscorlib">
+    <value>36</value>
+  </data>
+  <data name="CheckFavRestrict.Text" xml:space="preserve">
+    <value>チェックする</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.Name" xml:space="preserve">
+    <value>CheckFavRestrict</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckFavRestrict.ZOrder" xml:space="preserve">
+    <value>16</value>
+  </data>
+  <data name="CheckTinyURL.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckTinyURL.Location" type="System.Drawing.Point, System.Drawing">
+    <value>173, 146</value>
+  </data>
+  <data name="CheckTinyURL.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckTinyURL.TabIndex" type="System.Int32, mscorlib">
+    <value>14</value>
+  </data>
+  <data name="CheckTinyURL.Text" xml:space="preserve">
+    <value>解決する</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.Name" xml:space="preserve">
+    <value>CheckTinyURL</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;CheckTinyURL.ZOrder" xml:space="preserve">
+    <value>17</value>
+  </data>
+  <data name="Label50.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label50.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 147</value>
+  </data>
+  <data name="Label50.Size" type="System.Drawing.Size, System.Drawing">
+    <value>84, 12</value>
+  </data>
+  <data name="Label50.TabIndex" type="System.Int32, mscorlib">
+    <value>13</value>
+  </data>
+  <data name="Label50.Text" xml:space="preserve">
+    <value>短縮URLを解決</value>
+  </data>
+  <data name="&gt;&gt;Label50.Name" xml:space="preserve">
+    <value>Label50</value>
+  </data>
+  <data name="&gt;&gt;Label50.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label50.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Label50.ZOrder" xml:space="preserve">
+    <value>18</value>
+  </data>
+  <data name="Button3.Location" type="System.Drawing.Point, System.Drawing">
+    <value>301, 277</value>
+  </data>
+  <data name="Button3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>65, 23</value>
+  </data>
+  <data name="Button3.TabIndex" type="System.Int32, mscorlib">
+    <value>29</value>
+  </data>
+  <data name="Button3.Text" xml:space="preserve">
+    <value>参照</value>
+  </data>
+  <data name="&gt;&gt;Button3.Name" xml:space="preserve">
+    <value>Button3</value>
+  </data>
+  <data name="&gt;&gt;Button3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Button3.Parent" xml:space="preserve">
+    <value>TabPage2</value>
+  </data>
+  <data name="&gt;&gt;Button3.ZOrder" xml:space="preserve">
+    <value>19</value>
+  </data>
+  <data name="CheckAlwaysTop.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckAlwaysTop.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckAlwaysTop.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 426</value>
+  </data>
+  <data name="CheckAlwaysTop.Size" type="System.Drawing.Size, System.Drawing">
+    <value>112, 16</value>
+  </data>
+  <data name="CheckAlwaysTop.TabIndex" type="System.Int32, mscorlib">
+    <value>35</value>
+  </data>
+  <data name="CheckAlwaysTop.Text" xml:space="preserve">
+    <value>最前面に表示する</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.Name" xml:space="preserve">
+    <value>CheckAlwaysTop</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckAlwaysTop.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Label58.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label58.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label58.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 427</value>
+  </data>
+  <data name="Label58.Size" type="System.Drawing.Size, System.Drawing">
+    <value>86, 12</value>
+  </data>
+  <data name="Label58.TabIndex" type="System.Int32, mscorlib">
+    <value>34</value>
+  </data>
+  <data name="Label58.Text" xml:space="preserve">
+    <value>常に最前面表示</value>
+  </data>
+  <data name="&gt;&gt;Label58.Name" xml:space="preserve">
+    <value>Label58</value>
+  </data>
+  <data name="&gt;&gt;Label58.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label58.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label58.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="Label21.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label21.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label21.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 405</value>
+  </data>
+  <data name="Label21.Size" type="System.Drawing.Size, System.Drawing">
+    <value>44, 12</value>
+  </data>
+  <data name="Label21.TabIndex" type="System.Int32, mscorlib">
+    <value>32</value>
+  </data>
+  <data name="Label21.Text" xml:space="preserve">
+    <value>ソート順</value>
+  </data>
+  <data name="&gt;&gt;Label21.Name" xml:space="preserve">
+    <value>Label21</value>
+  </data>
+  <data name="&gt;&gt;Label21.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label21.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label21.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="CheckSortOrderLock.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckSortOrderLock.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckSortOrderLock.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 404</value>
+  </data>
+  <data name="CheckSortOrderLock.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckSortOrderLock.TabIndex" type="System.Int32, mscorlib">
+    <value>33</value>
+  </data>
+  <data name="CheckSortOrderLock.Text" xml:space="preserve">
+    <value>ロックする</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.Name" xml:space="preserve">
+    <value>CheckSortOrderLock</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckSortOrderLock.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="Label78.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label78.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label78.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 383</value>
+  </data>
+  <data name="Label78.Size" type="System.Drawing.Size, System.Drawing">
+    <value>73, 12</value>
+  </data>
+  <data name="Label78.TabIndex" type="System.Int32, mscorlib">
+    <value>30</value>
+  </data>
+  <data name="Label78.Text" xml:space="preserve">
+    <value>リスト区切り線</value>
+  </data>
+  <data name="&gt;&gt;Label78.Name" xml:space="preserve">
+    <value>Label78</value>
+  </data>
+  <data name="&gt;&gt;Label78.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label78.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label78.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="CheckShowGrid.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckShowGrid.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckShowGrid.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 382</value>
+  </data>
+  <data name="CheckShowGrid.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="CheckShowGrid.TabIndex" type="System.Int32, mscorlib">
+    <value>31</value>
+  </data>
+  <data name="CheckShowGrid.Text" xml:space="preserve">
+    <value>表示する</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.Name" xml:space="preserve">
+    <value>CheckShowGrid</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckShowGrid.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="Label75.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label75.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label75.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 247</value>
+  </data>
+  <data name="Label75.Size" type="System.Drawing.Size, System.Drawing">
+    <value>162, 12</value>
+  </data>
+  <data name="Label75.TabIndex" type="System.Int32, mscorlib">
+    <value>18</value>
+  </data>
+  <data name="Label75.Text" xml:space="preserve">
+    <value>発言詳細表示フォント(AA対応)</value>
+  </data>
+  <data name="&gt;&gt;Label75.Name" xml:space="preserve">
+    <value>Label75</value>
+  </data>
+  <data name="&gt;&gt;Label75.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label75.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label75.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="CheckMonospace.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckMonospace.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckMonospace.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 246</value>
+  </data>
+  <data name="CheckMonospace.Size" type="System.Drawing.Size, System.Drawing">
+    <value>171, 16</value>
+  </data>
+  <data name="CheckMonospace.TabIndex" type="System.Int32, mscorlib">
+    <value>19</value>
+  </data>
+  <data name="CheckMonospace.Text" xml:space="preserve">
+    <value>等幅(フォント適用不具合あり)</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.Name" xml:space="preserve">
+    <value>CheckMonospace</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckMonospace.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="Label73.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label73.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label73.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 361</value>
+  </data>
+  <data name="Label73.Size" type="System.Drawing.Size, System.Drawing">
+    <value>87, 12</value>
+  </data>
+  <data name="Label73.TabIndex" type="System.Int32, mscorlib">
+    <value>28</value>
+  </data>
+  <data name="Label73.Text" xml:space="preserve">
+    <value>自発言の既読化</value>
+  </data>
+  <data name="&gt;&gt;Label73.Name" xml:space="preserve">
+    <value>Label73</value>
+  </data>
+  <data name="&gt;&gt;Label73.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label73.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label73.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="chkReadOwnPost.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="chkReadOwnPost.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="chkReadOwnPost.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 360</value>
+  </data>
+  <data name="chkReadOwnPost.Size" type="System.Drawing.Size, System.Drawing">
+    <value>76, 16</value>
+  </data>
+  <data name="chkReadOwnPost.TabIndex" type="System.Int32, mscorlib">
+    <value>29</value>
+  </data>
+  <data name="chkReadOwnPost.Text" xml:space="preserve">
+    <value>既読にする</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.Name" xml:space="preserve">
+    <value>chkReadOwnPost</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;chkReadOwnPost.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="ReplyIconStateCombo.Items" xml:space="preserve">
+    <value>通知なし</value>
+  </data>
+  <data name="ReplyIconStateCombo.Items1" xml:space="preserve">
+    <value>色変更のみ</value>
+  </data>
+  <data name="ReplyIconStateCombo.Items2" xml:space="preserve">
+    <value>色変更&点滅</value>
+  </data>
+  <data name="ReplyIconStateCombo.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 334</value>
+  </data>
+  <data name="ReplyIconStateCombo.Size" type="System.Drawing.Size, System.Drawing">
+    <value>121, 20</value>
+  </data>
+  <data name="ReplyIconStateCombo.TabIndex" type="System.Int32, mscorlib">
+    <value>27</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.Name" xml:space="preserve">
+    <value>ReplyIconStateCombo</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;ReplyIconStateCombo.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="Label72.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label72.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label72.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 337</value>
+  </data>
+  <data name="Label72.Size" type="System.Drawing.Size, System.Drawing">
+    <value>117, 12</value>
+  </data>
+  <data name="Label72.TabIndex" type="System.Int32, mscorlib">
+    <value>26</value>
+  </data>
+  <data name="Label72.Text" xml:space="preserve">
+    <value>未読Reply通知アイコン</value>
+  </data>
+  <data name="&gt;&gt;Label72.Name" xml:space="preserve">
+    <value>Label72</value>
+  </data>
+  <data name="&gt;&gt;Label72.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label72.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label72.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="Label48.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label48.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label48.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 313</value>
+  </data>
+  <data name="Label48.Size" type="System.Drawing.Size, System.Drawing">
+    <value>115, 12</value>
+  </data>
+  <data name="Label48.TabIndex" type="System.Int32, mscorlib">
+    <value>24</value>
+  </data>
+  <data name="Label48.Text" xml:space="preserve">
+    <value>タブの未読アイコン表示</value>
+  </data>
+  <data name="&gt;&gt;Label48.Name" xml:space="preserve">
+    <value>Label48</value>
+  </data>
+  <data name="&gt;&gt;Label48.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label48.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label48.ZOrder" xml:space="preserve">
+    <value>12</value>
+  </data>
+  <data name="chkTabIconDisp.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="chkTabIconDisp.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="chkTabIconDisp.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 312</value>
+  </data>
+  <data name="chkTabIconDisp.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="chkTabIconDisp.TabIndex" type="System.Int32, mscorlib">
+    <value>25</value>
+  </data>
+  <data name="chkTabIconDisp.Text" xml:space="preserve">
+    <value>表示する</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.Name" xml:space="preserve">
+    <value>chkTabIconDisp</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;chkTabIconDisp.ZOrder" xml:space="preserve">
+    <value>13</value>
+  </data>
+  <data name="Label68.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label68.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label68.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 55</value>
+  </data>
+  <data name="Label68.Size" type="System.Drawing.Size, System.Drawing">
+    <value>92, 12</value>
+  </data>
+  <data name="Label68.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="Label68.Text" xml:space="preserve">
+    <value>バルーン表示制限</value>
+  </data>
+  <data name="&gt;&gt;Label68.Name" xml:space="preserve">
+    <value>Label68</value>
+  </data>
+  <data name="&gt;&gt;Label68.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label68.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label68.ZOrder" xml:space="preserve">
+    <value>14</value>
+  </data>
+  <data name="CheckBalloonLimit.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckBalloonLimit.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="CheckBalloonLimit.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 54</value>
+  </data>
+  <data name="CheckBalloonLimit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>182, 16</value>
+  </data>
+  <data name="CheckBalloonLimit.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="CheckBalloonLimit.Text" xml:space="preserve">
+    <value>画面最小化・アイコン時のみ表示</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.Name" xml:space="preserve">
+    <value>CheckBalloonLimit</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;CheckBalloonLimit.ZOrder" xml:space="preserve">
+    <value>15</value>
+  </data>
+  <data name="LabelDateTimeFormatApplied.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="LabelDateTimeFormatApplied.Location" type="System.Drawing.Point, System.Drawing">
+    <value>245, 144</value>
+  </data>
+  <data name="LabelDateTimeFormatApplied.Size" type="System.Drawing.Size, System.Drawing">
+    <value>44, 12</value>
+  </data>
+  <data name="LabelDateTimeFormatApplied.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="LabelDateTimeFormatApplied.Text" xml:space="preserve">
+    <value>Label63</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.Name" xml:space="preserve">
+    <value>LabelDateTimeFormatApplied</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;LabelDateTimeFormatApplied.ZOrder" xml:space="preserve">
+    <value>16</value>
+  </data>
+  <data name="Label62.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label62.Location" type="System.Drawing.Point, System.Drawing">
+    <value>195, 144</value>
+  </data>
+  <data name="Label62.Size" type="System.Drawing.Size, System.Drawing">
+    <value>44, 12</value>
+  </data>
+  <data name="Label62.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="Label62.Text" xml:space="preserve">
+    <value>Sample:</value>
+  </data>
+  <data name="&gt;&gt;Label62.Name" xml:space="preserve">
+    <value>Label62</value>
+  </data>
+  <data name="&gt;&gt;Label62.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label62.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label62.ZOrder" xml:space="preserve">
+    <value>17</value>
+  </data>
+  <data name="Label17.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label17.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label17.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 291</value>
+  </data>
+  <data name="Label17.Size" type="System.Drawing.Size, System.Drawing">
+    <value>158, 12</value>
+  </data>
+  <data name="Label17.TabIndex" type="System.Int32, mscorlib">
+    <value>22</value>
+  </data>
+  <data name="Label17.Text" xml:space="preserve">
+    <value>未読スタイル(フォント&色)適用</value>
+  </data>
+  <data name="&gt;&gt;Label17.Name" xml:space="preserve">
+    <value>Label17</value>
+  </data>
+  <data name="&gt;&gt;Label17.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label17.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;Label17.ZOrder" xml:space="preserve">
+    <value>18</value>
+  </data>
+  <data name="chkUnreadStyle.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="chkUnreadStyle.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="chkUnreadStyle.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 290</value>
+  </data>
+  <data name="chkUnreadStyle.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 16</value>
+  </data>
+  <data name="chkUnreadStyle.TabIndex" type="System.Int32, mscorlib">
+    <value>23</value>
+  </data>
+  <data name="chkUnreadStyle.Text" xml:space="preserve">
+    <value>適用する</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.Name" xml:space="preserve">
+    <value>chkUnreadStyle</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.Parent" xml:space="preserve">
+    <value>TabPage3</value>
+  </data>
+  <data name="&gt;&gt;chkUnreadStyle.ZOrder" xml:space="preserve">
+    <value>19</value>
+  </data>
+  <data name="CheckUseSsl.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckUseSsl.Location" type="System.Drawing.Point, System.Drawing">
+    <value>13, 246</value>
+  </data>
+  <data name="CheckUseSsl.Size" type="System.Drawing.Size, System.Drawing">
+    <value>145, 16</value>
+  </data>
+  <data name="CheckUseSsl.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="CheckUseSsl.Text" xml:space="preserve">
+    <value>通信にHTTPSを使用する</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.Name" xml:space="preserve">
+    <value>CheckUseSsl</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;CheckUseSsl.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Label64.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label64.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
+  </data>
+  <data name="Label64.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 219</value>
+  </data>
+  <data name="Label64.Size" type="System.Drawing.Size, System.Drawing">
+    <value>349, 12</value>
+  </data>
+  <data name="Label64.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="Label64.Text" xml:space="preserve">
+    <value>※タイムアウトが頻発する場合に調整してください。初期設定は20秒です。</value>
+  </data>
+  <data name="&gt;&gt;Label64.Name" xml:space="preserve">
+    <value>Label64</value>
+  </data>
+  <data name="&gt;&gt;Label64.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label64.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;Label64.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="ConnectionTimeOut.Location" type="System.Drawing.Point, System.Drawing">
+    <value>234, 186</value>
+  </data>
+  <data name="ConnectionTimeOut.Size" type="System.Drawing.Size, System.Drawing">
+    <value>100, 19</value>
+  </data>
+  <data name="ConnectionTimeOut.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.Name" xml:space="preserve">
+    <value>ConnectionTimeOut</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;ConnectionTimeOut.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="Label63.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label63.Location" type="System.Drawing.Point, System.Drawing">
+    <value>64, 189</value>
+  </data>
+  <data name="Label63.Size" type="System.Drawing.Size, System.Drawing">
+    <value>131, 12</value>
+  </data>
+  <data name="Label63.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Label63.Text" xml:space="preserve">
+    <value>タイムアウトまでの時間(秒)</value>
+  </data>
+  <data name="&gt;&gt;Label63.Name" xml:space="preserve">
+    <value>Label63</value>
+  </data>
+  <data name="&gt;&gt;Label63.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label63.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;Label63.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;Label55.Name" xml:space="preserve">
+    <value>Label55</value>
+  </data>
+  <data name="&gt;&gt;Label55.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label55.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;Label55.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.Name" xml:space="preserve">
+    <value>TextProxyPassword</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.Name" xml:space="preserve">
+    <value>LabelProxyPassword</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.Name" xml:space="preserve">
+    <value>TextProxyUser</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.Name" xml:space="preserve">
+    <value>LabelProxyUser</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.Name" xml:space="preserve">
+    <value>TextProxyPort</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.Name" xml:space="preserve">
+    <value>LabelProxyPort</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.Name" xml:space="preserve">
+    <value>TextProxyAddress</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.Name" xml:space="preserve">
+    <value>LabelProxyAddress</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.Name" xml:space="preserve">
+    <value>RadioProxySpecified</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.Name" xml:space="preserve">
+    <value>RadioProxyIE</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.Name" xml:space="preserve">
+    <value>RadioProxyNone</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="GroupBox2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>7, 7</value>
+  </data>
+  <data name="GroupBox2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>386, 161</value>
+  </data>
+  <data name="GroupBox2.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="GroupBox2.Text" xml:space="preserve">
+    <value>プロキシの設定</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Name" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.Parent" xml:space="preserve">
+    <value>TabPage5</value>
+  </data>
+  <data name="&gt;&gt;GroupBox2.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="Label55.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label55.Location" type="System.Drawing.Point, System.Drawing">
+    <value>28, 134</value>
+  </data>
+  <data name="Label55.Size" type="System.Drawing.Size, System.Drawing">
+    <value>314, 12</value>
+  </data>
+  <data name="Label55.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="Label55.Text" xml:space="preserve">
+    <value>※認証が不要な場合は、ユーザ名とパスワードは空にしてください。</value>
+  </data>
+  <data name="&gt;&gt;Label55.Name" xml:space="preserve">
+    <value>Label55</value>
+  </data>
+  <data name="&gt;&gt;Label55.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label55.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;Label55.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="TextProxyPassword.Location" type="System.Drawing.Point, System.Drawing">
+    <value>274, 103</value>
+  </data>
+  <data name="TextProxyPassword.Size" type="System.Drawing.Size, System.Drawing">
+    <value>96, 19</value>
+  </data>
+  <data name="TextProxyPassword.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.Name" xml:space="preserve">
+    <value>TextProxyPassword</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPassword.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="LabelProxyPassword.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="LabelProxyPassword.Location" type="System.Drawing.Point, System.Drawing">
+    <value>205, 106</value>
+  </data>
+  <data name="LabelProxyPassword.Size" type="System.Drawing.Size, System.Drawing">
+    <value>69, 12</value>
+  </data>
+  <data name="LabelProxyPassword.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="LabelProxyPassword.Text" xml:space="preserve">
+    <value>パスワード(&amp;W)</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.Name" xml:space="preserve">
+    <value>LabelProxyPassword</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPassword.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="TextProxyUser.Location" type="System.Drawing.Point, System.Drawing">
+    <value>131, 103</value>
+  </data>
+  <data name="TextProxyUser.Size" type="System.Drawing.Size, System.Drawing">
+    <value>68, 19</value>
+  </data>
+  <data name="TextProxyUser.TabIndex" type="System.Int32, mscorlib">
+    <value>8</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.Name" xml:space="preserve">
+    <value>TextProxyUser</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyUser.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="LabelProxyUser.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="LabelProxyUser.Location" type="System.Drawing.Point, System.Drawing">
+    <value>62, 106</value>
+  </data>
+  <data name="LabelProxyUser.Size" type="System.Drawing.Size, System.Drawing">
+    <value>63, 12</value>
+  </data>
+  <data name="LabelProxyUser.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="LabelProxyUser.Text" xml:space="preserve">
+    <value>ユーザ名(&amp;U)</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.Name" xml:space="preserve">
+    <value>LabelProxyUser</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyUser.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="TextProxyPort.Location" type="System.Drawing.Point, System.Drawing">
+    <value>297, 78</value>
+  </data>
+  <data name="TextProxyPort.Size" type="System.Drawing.Size, System.Drawing">
+    <value>73, 19</value>
+  </data>
+  <data name="TextProxyPort.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.Name" xml:space="preserve">
+    <value>TextProxyPort</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyPort.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="LabelProxyPort.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="LabelProxyPort.Location" type="System.Drawing.Point, System.Drawing">
+    <value>243, 81</value>
+  </data>
+  <data name="LabelProxyPort.Size" type="System.Drawing.Size, System.Drawing">
+    <value>48, 12</value>
+  </data>
+  <data name="LabelProxyPort.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="LabelProxyPort.Text" xml:space="preserve">
+    <value>ポート(&amp;P)</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.Name" xml:space="preserve">
+    <value>LabelProxyPort</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyPort.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="TextProxyAddress.Location" type="System.Drawing.Point, System.Drawing">
+    <value>102, 78</value>
+  </data>
+  <data name="TextProxyAddress.Size" type="System.Drawing.Size, System.Drawing">
+    <value>135, 19</value>
+  </data>
+  <data name="TextProxyAddress.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.Name" xml:space="preserve">
+    <value>TextProxyAddress</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;TextProxyAddress.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="LabelProxyAddress.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="LabelProxyAddress.Location" type="System.Drawing.Point, System.Drawing">
+    <value>38, 81</value>
+  </data>
+  <data name="LabelProxyAddress.Size" type="System.Drawing.Size, System.Drawing">
+    <value>58, 12</value>
+  </data>
+  <data name="LabelProxyAddress.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="LabelProxyAddress.Text" xml:space="preserve">
+    <value>プロキシ(&amp;X)</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.Name" xml:space="preserve">
+    <value>LabelProxyAddress</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;LabelProxyAddress.ZOrder" xml:space="preserve">
+    <value>8</value>
+  </data>
+  <data name="RadioProxySpecified.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="RadioProxySpecified.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 62</value>
+  </data>
+  <data name="RadioProxySpecified.Size" type="System.Drawing.Size, System.Drawing">
+    <value>66, 16</value>
+  </data>
+  <data name="RadioProxySpecified.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="RadioProxySpecified.Text" xml:space="preserve">
+    <value>指定する</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.Name" xml:space="preserve">
+    <value>RadioProxySpecified</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;RadioProxySpecified.ZOrder" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="RadioProxyIE.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="RadioProxyIE.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 40</value>
+  </data>
+  <data name="RadioProxyIE.Size" type="System.Drawing.Size, System.Drawing">
+    <value>190, 16</value>
+  </data>
+  <data name="RadioProxyIE.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="RadioProxyIE.Text" xml:space="preserve">
+    <value>InternetExplorerの設定を使用する</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.Name" xml:space="preserve">
+    <value>RadioProxyIE</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyIE.ZOrder" xml:space="preserve">
+    <value>10</value>
+  </data>
+  <data name="RadioProxyNone.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="RadioProxyNone.Location" type="System.Drawing.Point, System.Drawing">
+    <value>6, 18</value>
+  </data>
+  <data name="RadioProxyNone.Size" type="System.Drawing.Size, System.Drawing">
+    <value>76, 16</value>
+  </data>
+  <data name="RadioProxyNone.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="RadioProxyNone.Text" xml:space="preserve">
+    <value>使用しない</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.Name" xml:space="preserve">
+    <value>RadioProxyNone</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.Type" xml:space="preserve">
+    <value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.Parent" xml:space="preserve">
+    <value>GroupBox2</value>
+  </data>
+  <data name="&gt;&gt;RadioProxyNone.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="Label60.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label60.Location" type="System.Drawing.Point, System.Drawing">
+    <value>28, 111</value>
+  </data>
+  <data name="Label60.Size" type="System.Drawing.Size, System.Drawing">
+    <value>99, 12</value>
+  </data>
+  <data name="Label60.TabIndex" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <data name="Label60.Text" xml:space="preserve">
+    <value>アウトプット先のURL</value>
+  </data>
+  <data name="&gt;&gt;Label60.Name" xml:space="preserve">
+    <value>Label60</value>
+  </data>
+  <data name="&gt;&gt;Label60.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label60.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;Label60.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="ComboBoxOutputzUrlmode.Items" xml:space="preserve">
+    <value>twitter.com</value>
+  </data>
+  <data name="ComboBoxOutputzUrlmode.Items1" xml:space="preserve">
+    <value>twitter.com/username</value>
+  </data>
+  <data name="ComboBoxOutputzUrlmode.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 108</value>
+  </data>
+  <data name="ComboBoxOutputzUrlmode.Size" type="System.Drawing.Size, System.Drawing">
+    <value>168, 20</value>
+  </data>
+  <data name="ComboBoxOutputzUrlmode.TabIndex" type="System.Int32, mscorlib">
+    <value>4</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.Name" xml:space="preserve">
+    <value>ComboBoxOutputzUrlmode</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;ComboBoxOutputzUrlmode.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="Label59.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="Label59.Location" type="System.Drawing.Point, System.Drawing">
+    <value>28, 65</value>
+  </data>
+  <data name="Label59.Size" type="System.Drawing.Size, System.Drawing">
+    <value>63, 12</value>
+  </data>
+  <data name="Label59.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Label59.Text" xml:space="preserve">
+    <value>復活の呪文</value>
+  </data>
+  <data name="&gt;&gt;Label59.Name" xml:space="preserve">
+    <value>Label59</value>
+  </data>
+  <data name="&gt;&gt;Label59.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Label59.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;Label59.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="TextBoxOutputzKey.Location" type="System.Drawing.Point, System.Drawing">
+    <value>197, 62</value>
+  </data>
+  <data name="TextBoxOutputzKey.Size" type="System.Drawing.Size, System.Drawing">
+    <value>168, 19</value>
+  </data>
+  <data name="TextBoxOutputzKey.TabIndex" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.Name" xml:space="preserve">
+    <value>TextBoxOutputzKey</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;TextBoxOutputzKey.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="CheckOutputz.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="CheckOutputz.Location" type="System.Drawing.Point, System.Drawing">
+    <value>15, 28</value>
+  </data>
+  <data name="CheckOutputz.Size" type="System.Drawing.Size, System.Drawing">
+    <value>115, 16</value>
+  </data>
+  <data name="CheckOutputz.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="CheckOutputz.Text" xml:space="preserve">
+    <value>Outputzに対応する</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.Name" xml:space="preserve">
+    <value>CheckOutputz</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.Type" xml:space="preserve">
+    <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.Parent" xml:space="preserve">
+    <value>TabPage6</value>
+  </data>
+  <data name="&gt;&gt;CheckOutputz.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>40</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>431, 536</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterParent</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>設定</value>
+  </data>
+  <data name="&gt;&gt;FontDialog1.Name" xml:space="preserve">
+    <value>FontDialog1</value>
+  </data>
+  <data name="&gt;&gt;FontDialog1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.FontDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ColorDialog1.Name" xml:space="preserve">
+    <value>ColorDialog1</value>
+  </data>
+  <data name="&gt;&gt;ColorDialog1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ColorDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>Setting</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/Setting.vb b/Tween/Setting.vb
new file mode 100644 (file)
index 0000000..4ea2ee6
--- /dev/null
@@ -0,0 +1,1758 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Public Class Setting
+    Private _MyuserID As String
+    Private _Mypassword As String
+    Private _MytimelinePeriod As Integer
+    Private _MyDMPeriod As Integer
+    Private _MynextThreshold As Integer
+    Private _MyNextPages As Integer
+    Private _MyLogDays As Integer
+    Private _MyLogUnit As LogUnitEnum
+    Private _MyReadPages As Integer
+    Private _MyReadPagesReply As Integer
+    Private _MyReadPagesDM As Integer
+    Private _MyReaded As Boolean
+    Private _MyIconSize As IconSizes
+    Private _MyStatusText As String
+    Private _MyRecommendStatusText As String
+    Private _MyUnreadManage As Boolean
+    Private _MyPlaySound As Boolean
+    Private _MyOneWayLove As Boolean
+    Private _fntUnread As Font
+    Private _clUnread As Color
+    Private _fntReaded As Font
+    Private _clReaded As Color
+    Private _clFav As Color
+    Private _clOWL As Color
+    Private _fntDetail As Font
+    Private _clSelf As Color
+    Private _clAtSelf As Color
+    Private _clTarget As Color
+    Private _clAtTarget As Color
+    Private _clAtFromTarget As Color
+    Private _clAtTo As Color
+    Private _clInputBackcolor As Color
+    Private _clInputFont As Color
+    Private _fntInputFont As Font
+    Private _clListBackcolor As Color
+    Private _clDetailBackcolor As Color
+    Private _clDetail As Color
+    Private _clDetailLink As Color
+    Private _MyNameBalloon As NameBalloonEnum
+    Private _MyPostCtrlEnter As Boolean
+    Private _useAPI As Boolean
+    Private _usePostMethod As Boolean
+    Private _countApi As Integer
+    Private _hubServer As String
+    Private _browserpath As String
+    Private _MyCheckReply As Boolean
+    Private _MyUseRecommendStatus As Boolean
+    Private _MyDispUsername As Boolean
+    Private _MyDispLatestPost As DispTitleEnum
+    Private _MySortOrderLock As Boolean
+    Private _MyMinimizeToTray As Boolean
+    Private _MyCloseToExit As Boolean
+    Private _MyTinyUrlResolve As Boolean
+    Private _MyProxyType As ProxyType
+    Private _MyProxyAddress As String
+    Private _MyProxyPort As Integer
+    Private _MyProxyUser As String
+    Private _MyProxyPassword As String
+    Private _MyMaxPostNum As Integer
+    Private _MyPeriodAdjust As Boolean
+    Private _MyStartupVersion As Boolean
+    Private _MyStartupKey As Boolean
+    Private _MyStartupFollowers As Boolean
+    Private _MyStartupAPImodeNoWarning As Boolean
+    Private _MyRestrictFavCheck As Boolean
+    Private _MyAlwaysTop As Boolean
+    Private _MyUrlConvertAuto As Boolean
+    Private _MyOutputz As Boolean
+    Private _MyOutputzKey As String
+    Private _MyOutputzUrlmode As OutputzUrlmode
+    Private _MyUnreadStyle As Boolean
+    Private _MyDateTimeFormat As String
+    Private _MyDefaultTimeOut As Integer
+    Private _MyProtectNotInclude As Boolean
+    Private _MyLimitBalloon As Boolean
+    Private _MyPostAndGet As Boolean
+    Private _MyReplyPeriod As Integer
+    Private _MyAutoShortUrlFirst As UrlConverter
+    Private _MyTabIconDisp As Boolean
+    Private _MyReplyIconState As REPLY_ICONSTATE
+    Private _MyReadOwnPost As Boolean
+    Private _MyGetFav As Boolean
+    Private _MyMonoSpace As Boolean
+    Private _MyReadOldPosts As Boolean
+    Private _MyUseSsl As Boolean
+    Private _MyBitlyId As String
+    Private _MyBitlyPw As String
+    Private _MyShowGrid As Boolean
+    Private _MyUseAtIdSupplement As Boolean
+
+    Private Sub Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save.Click
+        Try
+            _MyuserID = Username.Text.Trim()
+            _Mypassword = Password.Text.Trim()
+            _MytimelinePeriod = CType(TimelinePeriod.Text, Integer)
+            _MyDMPeriod = CType(DMPeriod.Text, Integer)
+            _MyReplyPeriod = CType(ReplyPeriod.Text, Integer)
+            _MynextThreshold = CType(NextThreshold.Text, Integer)
+            _MyNextPages = CType(NextPages.Text, Integer)
+            _MyMaxPostNum = 125
+
+            _MyReadPages = CType(StartupReadPages.Text, Integer)
+            _MyReadPagesReply = CType(StartupReadReply.Text, Integer)
+            _MyReadPagesDM = CType(StartupReadDM.Text, Integer)
+            _MyReaded = StartupReaded.Checked
+            Select Case IconSize.SelectedIndex
+                Case 0
+                    _MyIconSize = IconSizes.IconNone
+                Case 1
+                    _MyIconSize = IconSizes.Icon16
+                Case 2
+                    _MyIconSize = IconSizes.Icon24
+                Case 3
+                    _MyIconSize = IconSizes.Icon48
+                Case 4
+                    _MyIconSize = IconSizes.Icon48_2
+            End Select
+            _MyStatusText = StatusText.Text
+            _MyPlaySound = PlaySnd.Checked
+            'TweenMain.PlaySoundMenuItem.Checked = _MyPlaySound  'これは勘弁
+            _MyUnreadManage = UReadMng.Checked
+            _MyOneWayLove = OneWayLv.Checked
+
+            _fntUnread = lblUnread.Font     '未使用
+            _clUnread = lblUnread.ForeColor
+            _fntReaded = lblListFont.Font     'リストフォントとして使用
+            _clReaded = lblListFont.ForeColor
+            _clFav = lblFav.ForeColor
+            _clOWL = lblOWL.ForeColor
+            _fntDetail = lblDetail.Font
+            _clSelf = lblSelf.BackColor
+            _clAtSelf = lblAtSelf.BackColor
+            _clTarget = lblTarget.BackColor
+            _clAtTarget = lblAtTarget.BackColor
+            _clAtFromTarget = lblAtFromTarget.BackColor
+            _clAtTo = lblAtTo.BackColor
+            _clInputBackcolor = lblInputBackcolor.BackColor
+            _clInputFont = lblInputFont.ForeColor
+            _clListBackcolor = lblListBackcolor.BackColor
+            _clDetailBackcolor = lblDetailBackcolor.BackColor
+            _clDetail = lblDetail.ForeColor
+            _clDetailLink = lblDetailLink.ForeColor
+            _fntInputFont = lblInputFont.Font
+            Select Case cmbNameBalloon.SelectedIndex
+                Case 0
+                    _MyNameBalloon = NameBalloonEnum.None
+                Case 1
+                    _MyNameBalloon = NameBalloonEnum.UserID
+                Case 2
+                    _MyNameBalloon = NameBalloonEnum.NickName
+            End Select
+            _MyPostCtrlEnter = CheckPostCtrlEnter.Checked
+            _useAPI = CheckUseApi.Checked
+            _usePostMethod = False
+            _countApi = CType(TextCountApi.Text, Integer)
+            _hubServer = "twitter.com"
+            _browserpath = BrowserPathText.Text.Trim
+            _MyCheckReply = CheckboxReply.Checked
+            _MyPostAndGet = CheckPostAndGet.Checked
+            _MyUseRecommendStatus = CheckUseRecommendStatus.Checked
+            _MyDispUsername = CheckDispUsername.Checked
+            _MyCloseToExit = CheckCloseToExit.Checked
+            _MyMinimizeToTray = CheckMinimizeToTray.Checked
+            Select Case ComboDispTitle.SelectedIndex
+                Case 0  'None
+                    _MyDispLatestPost = DispTitleEnum.None
+                Case 1  'Ver
+                    _MyDispLatestPost = DispTitleEnum.Ver
+                Case 2  'Post
+                    _MyDispLatestPost = DispTitleEnum.Post
+                Case 3  'RepCount
+                    _MyDispLatestPost = DispTitleEnum.UnreadRepCount
+                Case 4  'AllCount
+                    _MyDispLatestPost = DispTitleEnum.UnreadAllCount
+                Case 5  'Rep+All
+                    _MyDispLatestPost = DispTitleEnum.UnreadAllRepCount
+                Case 6  'Unread/All
+                    _MyDispLatestPost = DispTitleEnum.UnreadCountAllCount
+            End Select
+            _MySortOrderLock = CheckSortOrderLock.Checked
+            _MyTinyUrlResolve = CheckTinyURL.Checked
+            If RadioProxyNone.Checked Then
+                _MyProxyType = ProxyType.None
+            ElseIf RadioProxyIE.Checked Then
+                _MyProxyType = ProxyType.IE
+            Else
+                _MyProxyType = ProxyType.Specified
+            End If
+            _MyProxyAddress = TextProxyAddress.Text.Trim()
+            _MyProxyPort = Integer.Parse(TextProxyPort.Text.Trim())
+            _MyProxyUser = TextProxyUser.Text.Trim()
+            _MyProxyPassword = TextProxyPassword.Text.Trim()
+            _MyPeriodAdjust = CheckPeriodAdjust.Checked
+            _MyStartupVersion = CheckStartupVersion.Checked
+            _MyStartupKey = CheckStartupKey.Checked
+            _MyStartupAPImodeNoWarning = CheckStartupAPImodeNoWarning.Checked
+            _MyStartupFollowers = CheckStartupFollowers.Checked
+            _MyRestrictFavCheck = CheckFavRestrict.Checked
+            _MyAlwaysTop = CheckAlwaysTop.Checked
+            _MyUrlConvertAuto = CheckAutoConvertUrl.Checked
+            _MyOutputz = CheckOutputz.Checked
+            Outputz.Enabled = _MyOutputz
+            _MyOutputzKey = TextBoxOutputzKey.Text.Trim()
+            Outputz.key = _MyOutputzKey
+
+            Select Case ComboBoxOutputzUrlmode.SelectedIndex
+                Case 0
+                    _MyOutputzUrlmode = OutputzUrlmode.twittercom
+                    Outputz.url = "http://twitter.com/"
+                Case 1
+                    _MyOutputzUrlmode = OutputzUrlmode.twittercomWithUsername
+                    Outputz.url = "http://twitter.com/" + _MyuserID
+            End Select
+
+            _MyUnreadStyle = chkUnreadStyle.Checked
+            _MyDateTimeFormat = CmbDateTimeFormat.Text
+            _MyDefaultTimeOut = CType(ConnectionTimeOut.Text, Integer)      ' 0の場合はGetWebResponse()側でTimeOut.Infiniteへ読み替える
+            _MyProtectNotInclude = CheckProtectNotInclude.Checked
+            _MyLimitBalloon = CheckBalloonLimit.Checked
+            _MyAutoShortUrlFirst = CType(ComboBoxAutoShortUrlFirst.SelectedIndex, UrlConverter)
+            _MyTabIconDisp = chkTabIconDisp.Checked
+            _MyReadOwnPost = chkReadOwnPost.Checked
+            _MyGetFav = chkGetFav.Checked
+            _MyMonoSpace = CheckMonospace.Checked
+            _MyReadOldPosts = CheckReadOldPosts.Checked
+            _MyUseSsl = CheckUseSsl.Checked
+            _MyBitlyId = TextBitlyId.Text
+            _MyBitlyPw = TextBitlyPw.Text
+            _MyShowGrid = CheckShowGrid.Checked
+            _MyUseAtIdSupplement = CheckAtIdSupple.Checked
+            Select Case ReplyIconStateCombo.SelectedIndex
+                Case 0
+                    _MyReplyIconState = REPLY_ICONSTATE.None
+                Case 1
+                    _MyReplyIconState = REPLY_ICONSTATE.StaticIcon
+                Case 2
+                    _MyReplyIconState = REPLY_ICONSTATE.BlinkIcon
+            End Select
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.Save_ClickText3)
+            Me.DialogResult = Windows.Forms.DialogResult.Cancel
+            Exit Sub
+        End Try
+    End Sub
+
+    Private Sub Setting_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+        Username.Text = _MyuserID
+        Password.Text = _Mypassword
+        TimelinePeriod.Text = _MytimelinePeriod.ToString()
+        ReplyPeriod.Text = _MyReplyPeriod.ToString()
+        DMPeriod.Text = _MyDMPeriod.ToString()
+        NextThreshold.Text = _MynextThreshold.ToString()
+        NextPages.Text = _MyNextPages.ToString()
+        'MaxPost.Text = _MyMaxPostNum.ToString()
+        'ReadLogDays.Text = _MyLogDays.ToString()
+        'Select Case _MyLogUnit
+        '    Case LogUnitEnum.Minute
+        '        ReadLogUnit.SelectedIndex = 0
+        '    Case LogUnitEnum.Hour
+        '        ReadLogUnit.SelectedIndex = 1
+        '    Case LogUnitEnum.Day
+        '        ReadLogUnit.SelectedIndex = 2
+        'End Select
+        StartupReadPages.Text = _MyReadPages.ToString()
+        StartupReadReply.Text = _MyReadPagesReply.ToString()
+        StartupReadDM.Text = _MyReadPagesDM.ToString()
+        StartupReaded.Checked = _MyReaded
+        Select Case _MyIconSize
+            Case IconSizes.IconNone
+                IconSize.SelectedIndex = 0
+            Case IconSizes.Icon16
+                IconSize.SelectedIndex = 1
+            Case IconSizes.Icon24
+                IconSize.SelectedIndex = 2
+            Case IconSizes.Icon48
+                IconSize.SelectedIndex = 3
+            Case IconSizes.Icon48_2
+                IconSize.SelectedIndex = 4
+        End Select
+        StatusText.Text = _MyStatusText
+        UReadMng.Checked = _MyUnreadManage
+        If _MyUnreadManage = False Then
+            StartupReaded.Enabled = False
+        Else
+            StartupReaded.Enabled = True
+        End If
+        PlaySnd.Checked = _MyPlaySound
+        'TweenMain.PlaySoundMenuItem.Checked = _MyPlaySound
+        OneWayLv.Checked = _MyOneWayLove
+
+        lblListFont.Font = _fntReaded
+        lblUnread.Font = _fntUnread
+        lblUnread.ForeColor = _clUnread
+        'lblReaded.Font = _fntReaded
+        'lblReaded.ForeColor = _clReaded
+        lblListFont.ForeColor = _clReaded
+        lblFav.ForeColor = _clFav
+        lblOWL.ForeColor = _clOWL
+        lblDetail.Font = _fntDetail
+        lblSelf.BackColor = _clSelf
+        lblAtSelf.BackColor = _clAtSelf
+        lblTarget.BackColor = _clTarget
+        lblAtTarget.BackColor = _clAtTarget
+        lblAtFromTarget.BackColor = _clAtFromTarget
+        lblAtTo.BackColor = _clAtTo
+        lblInputBackcolor.BackColor = _clInputBackcolor
+        lblInputFont.ForeColor = _clInputFont
+        lblInputFont.Font = _fntInputFont
+        lblListBackcolor.BackColor = _clListBackcolor
+        lblDetailBackcolor.BackColor = _clDetailBackcolor
+        lblDetail.ForeColor = _clDetail
+        lblDetailLink.ForeColor = _clDetailLink
+
+        Select Case _MyNameBalloon
+            Case NameBalloonEnum.None
+                cmbNameBalloon.SelectedIndex = 0
+            Case NameBalloonEnum.UserID
+                cmbNameBalloon.SelectedIndex = 1
+            Case NameBalloonEnum.NickName
+                cmbNameBalloon.SelectedIndex = 2
+        End Select
+
+        CheckPostCtrlEnter.Checked = _MyPostCtrlEnter
+        CheckUseApi.Checked = _useAPI
+        'Enable切り替え
+        CheckboxReply.Enabled = Not CheckUseApi.Checked
+        CheckPeriodAdjust.Enabled = Not CheckUseApi.Checked
+        NextThreshold.Enabled = Not CheckUseApi.Checked
+        NextPages.Enabled = Not CheckUseApi.Checked
+        StartupReadPages.Enabled = Not CheckUseApi.Checked
+        StartupReadReply.Enabled = Not CheckUseApi.Checked
+        StartupReadDM.Enabled = Not CheckUseApi.Checked
+        CheckPostMethod.Enabled = False
+        TextCountApi.Enabled = CheckUseApi.Checked
+
+        CheckPostMethod.Checked = False
+        TextCountApi.Text = _countApi.ToString
+        'HubServerDomain.Text = _hubServer
+        BrowserPathText.Text = _browserpath
+        CheckboxReply.Checked = _MyCheckReply
+        CheckPostAndGet.Checked = _MyPostAndGet
+        CheckUseRecommendStatus.Checked = _MyUseRecommendStatus
+        CheckDispUsername.Checked = _MyDispUsername
+        CheckCloseToExit.Checked = _MyCloseToExit
+        CheckMinimizeToTray.Checked = _MyMinimizeToTray
+        Select Case _MyDispLatestPost
+            Case DispTitleEnum.None
+                ComboDispTitle.SelectedIndex = 0
+            Case DispTitleEnum.Ver
+                ComboDispTitle.SelectedIndex = 1
+            Case DispTitleEnum.Post
+                ComboDispTitle.SelectedIndex = 2
+            Case DispTitleEnum.UnreadRepCount
+                ComboDispTitle.SelectedIndex = 3
+            Case DispTitleEnum.UnreadAllCount
+                ComboDispTitle.SelectedIndex = 4
+            Case DispTitleEnum.UnreadAllRepCount
+                ComboDispTitle.SelectedIndex = 5
+            Case DispTitleEnum.UnreadCountAllCount
+                ComboDispTitle.SelectedIndex = 6
+        End Select
+        CheckSortOrderLock.Checked = _MySortOrderLock
+        CheckTinyURL.Checked = _MyTinyUrlResolve
+        Select Case _MyProxyType
+            Case ProxyType.None
+                RadioProxyNone.Checked = True
+            Case ProxyType.IE
+                RadioProxyIE.Checked = True
+            Case Else
+                RadioProxySpecified.Checked = True
+        End Select
+        Dim chk As Boolean = RadioProxySpecified.Checked
+        LabelProxyAddress.Enabled = chk
+        TextProxyAddress.Enabled = chk
+        LabelProxyPort.Enabled = chk
+        TextProxyPort.Enabled = chk
+        LabelProxyUser.Enabled = chk
+        TextProxyUser.Enabled = chk
+        LabelProxyPassword.Enabled = chk
+        TextProxyPassword.Enabled = chk
+
+        TextProxyAddress.Text = _MyProxyAddress
+        TextProxyPort.Text = _MyProxyPort.ToString
+        TextProxyUser.Text = _MyProxyUser
+        TextProxyPassword.Text = _MyProxyPassword
+
+        CheckPeriodAdjust.Checked = _MyPeriodAdjust
+        CheckStartupVersion.Checked = _MyStartupVersion
+        CheckStartupKey.Checked = _MyStartupKey
+        CheckStartupFollowers.Checked = _MyStartupFollowers
+        CheckStartupAPImodeNoWarning.Checked = _MyStartupAPImodeNoWarning
+        CheckFavRestrict.Checked = _MyRestrictFavCheck
+        CheckAlwaysTop.Checked = _MyAlwaysTop
+        CheckAutoConvertUrl.Checked = _MyUrlConvertAuto
+        CheckOutputz.Checked = _MyOutputz
+        Outputz.Enabled = _MyOutputz
+        TextBoxOutputzKey.Text = _MyOutputzKey
+        Outputz.key = _MyOutputzKey
+
+        Select Case _MyOutputzUrlmode
+            Case OutputzUrlmode.twittercom
+                ComboBoxOutputzUrlmode.SelectedIndex = 0
+            Case OutputzUrlmode.twittercomWithUsername
+                ComboBoxOutputzUrlmode.SelectedIndex = 1
+        End Select
+
+        chkUnreadStyle.Checked = _MyUnreadStyle
+        CmbDateTimeFormat.Text = _MyDateTimeFormat
+        ConnectionTimeOut.Text = _MyDefaultTimeOut.ToString
+        CheckProtectNotInclude.Checked = _MyProtectNotInclude
+        CheckBalloonLimit.Checked = _MyLimitBalloon
+        ComboBoxAutoShortUrlFirst.SelectedIndex = _MyAutoShortUrlFirst
+        chkTabIconDisp.Checked = _MyTabIconDisp
+        chkReadOwnPost.Checked = _MyReadOwnPost
+        chkGetFav.Checked = _MyGetFav
+        CheckMonospace.Checked = _MyMonoSpace
+        CheckReadOldPosts.Checked = _MyReadOldPosts
+        CheckUseSsl.Checked = _MyUseSsl
+        TextBitlyId.Text = _MyBitlyId
+        TextBitlyPw.Text = _MyBitlyPw
+        CheckShowGrid.Checked = _MyShowGrid
+        CheckAtIdSupple.Checked = _MyUseAtIdSupplement
+        Select Case _MyReplyIconState
+            Case REPLY_ICONSTATE.None
+                ReplyIconStateCombo.SelectedIndex = 0
+            Case REPLY_ICONSTATE.StaticIcon
+                ReplyIconStateCombo.SelectedIndex = 1
+            Case REPLY_ICONSTATE.BlinkIcon
+                ReplyIconStateCombo.SelectedIndex = 2
+        End Select
+
+        TabControl1.SelectedIndex = 0
+        ActiveControl = Username
+
+        CheckOutputz_CheckedChanged(sender, e)
+    End Sub
+
+    Private Sub TimelinePeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TimelinePeriod.Validating
+        Dim prd As Integer
+        Try
+            prd = CType(TimelinePeriod.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If prd <> 0 And (prd < 30 Or prd > 6000) Then
+            MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub ReplyPeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ReplyPeriod.Validating
+        Dim prd As Integer
+        Try
+            prd = CType(ReplyPeriod.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If prd <> 0 And (prd < 30 Or prd > 6000) Then
+            MessageBox.Show(My.Resources.TimelinePeriod_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub NextThreshold_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles NextThreshold.Validating
+        Dim thr As Integer
+        Try
+            thr = CType(NextThreshold.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.NextThreshold_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If thr < 1 Or thr > 20 Then
+            MessageBox.Show(My.Resources.NextThreshold_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub NextPages_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles NextPages.Validating
+        Dim thr As Integer
+        Try
+            thr = CType(NextPages.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.NextPages_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If thr < 1 Or thr > 20 Then
+            MessageBox.Show(My.Resources.NextPages_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub DMPeriod_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles DMPeriod.Validating
+        Dim prd As Integer
+        Try
+            prd = CType(DMPeriod.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.DMPeriod_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If prd <> 0 And (prd < 30 Or prd > 6000) Then
+            MessageBox.Show(My.Resources.DMPeriod_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub ReadLogDays_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ReadLogDays.Validating
+        'Dim days As Integer
+        'Try
+        '    days = CType(ReadLogDays.Text, Integer)
+        'Catch ex As Exception
+        '    MessageBox.Show("読み込み日数には数値(0~7)を指定してください。")
+        '    e.Cancel = True
+        '    Exit Sub
+        'End Try
+
+        'If days < 0 Or days > 7 Then
+        '    MessageBox.Show("読み込み日数には数値(0~7)を指定してください。")
+        '    e.Cancel = True
+        'End If
+    End Sub
+
+    Private Sub StartupReadPages_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles StartupReadPages.Validating
+        Dim pages As Integer
+        Try
+            pages = CType(StartupReadPages.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.StartupReadPages_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If pages < 1 Or pages > 999 Then
+            MessageBox.Show(My.Resources.StartupReadPages_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub StartupReadReply_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles StartupReadReply.Validating
+        Dim pages As Integer
+        Try
+            pages = CType(StartupReadReply.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.StartupReadReply_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If pages < 0 Or pages > 999 Then
+            MessageBox.Show(My.Resources.StartupReadReply_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub StartupReadDM_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles StartupReadDM.Validating
+        Dim pages As Integer
+        Try
+            pages = CType(StartupReadDM.Text, Integer)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.StartupReadDM_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If pages < 1 Or pages > 999 Then
+            MessageBox.Show(My.Resources.StartupReadDM_ValidatingText2)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub UReadMng_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
+        If UReadMng.Checked = True Then
+            StartupReaded.Enabled = True
+        Else
+            StartupReaded.Enabled = False
+        End If
+    End Sub
+
+    Private Sub btnFontAndColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDetail.Click, btnListFont.Click, btnUnread.Click, btnInputFont.Click
+        Dim Btn As Button = CType(sender, Button)
+        Dim rtn As DialogResult
+
+        FontDialog1.AllowVerticalFonts = False
+        FontDialog1.AllowScriptChange = True
+        FontDialog1.AllowSimulations = True
+        FontDialog1.AllowVectorFonts = True
+        FontDialog1.FixedPitchOnly = False
+        FontDialog1.FontMustExist = True
+        FontDialog1.ScriptsOnly = False
+        FontDialog1.ShowApply = False
+        FontDialog1.ShowEffects = True
+        FontDialog1.ShowColor = True
+
+        Select Case Btn.Name
+            Case "btnUnread"
+                FontDialog1.Color = lblUnread.ForeColor
+                FontDialog1.Font = lblUnread.Font
+                'Case "btnReaded"
+                '    FontDialog1.Color = lblReaded.ForeColor
+                '    FontDialog1.Font = lblReaded.Font
+            Case "btnDetail"
+                FontDialog1.Color = lblDetail.ForeColor
+                FontDialog1.Font = lblDetail.Font
+                'FontDialog1.ShowEffects = False
+                'FontDialog1.ShowColor = False
+            Case "btnListFont"
+                FontDialog1.Color = lblListFont.ForeColor
+                FontDialog1.Font = lblListFont.Font
+            Case "btnInputFont"
+                FontDialog1.Color = lblInputFont.ForeColor
+                FontDialog1.Font = lblInputFont.Font
+        End Select
+
+        Try
+            rtn = FontDialog1.ShowDialog
+        Catch ex As ArgumentException
+            MessageBox.Show(ex.Message)
+            Exit Sub
+        End Try
+
+        If rtn = Windows.Forms.DialogResult.Cancel Then Exit Sub
+
+        Select Case Btn.Name
+            Case "btnUnread"
+                lblUnread.ForeColor = FontDialog1.Color
+                lblUnread.Font = FontDialog1.Font
+                'Case "btnReaded"
+                '    lblReaded.ForeColor = FontDialog1.Color
+                '    lblReaded.Font = FontDialog1.Font
+            Case "btnDetail"
+                lblDetail.ForeColor = FontDialog1.Color
+                lblDetail.Font = FontDialog1.Font
+            Case "btnListFont"
+                lblListFont.ForeColor = FontDialog1.Color
+                lblListFont.Font = FontDialog1.Font
+            Case "btnInputFont"
+                lblInputFont.ForeColor = FontDialog1.Color
+                lblInputFont.Font = FontDialog1.Font
+        End Select
+
+    End Sub
+
+    Private Sub btnColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSelf.Click, btnAtSelf.Click, btnTarget.Click, btnAtTarget.Click, btnAtFromTarget.Click, btnFav.Click, btnOWL.Click, btnInputBackcolor.Click, btnAtTo.Click, btnListBack.Click, btnDetailBack.Click, btnDetailLink.Click
+        Dim Btn As Button = CType(sender, Button)
+        Dim rtn As DialogResult
+
+        ColorDialog1.AllowFullOpen = True
+        ColorDialog1.AnyColor = True
+        ColorDialog1.FullOpen = False
+        ColorDialog1.SolidColorOnly = False
+
+        Select Case Btn.Name
+            Case "btnSelf"
+                ColorDialog1.Color = lblSelf.BackColor
+            Case "btnAtSelf"
+                ColorDialog1.Color = lblAtSelf.BackColor
+            Case "btnTarget"
+                ColorDialog1.Color = lblTarget.BackColor
+            Case "btnAtTarget"
+                ColorDialog1.Color = lblAtTarget.BackColor
+            Case "btnAtFromTarget"
+                ColorDialog1.Color = lblAtFromTarget.BackColor
+            Case "btnFav"
+                ColorDialog1.Color = lblFav.ForeColor
+            Case "btnOWL"
+                ColorDialog1.Color = lblOWL.ForeColor
+                'Case "btnUnread"
+                '    'ColorDialog1.Color = lblUnRead.ForeColor
+                'Case "btnReaded"
+                '    'ColorDialog1.Color = lblReaded.ForeColor
+            Case "btnInputBackcolor"
+                ColorDialog1.Color = lblInputBackcolor.BackColor
+            Case "btnAtTo"
+                ColorDialog1.Color = lblAtTo.BackColor
+            Case "btnListBack"
+                ColorDialog1.Color = lblListBackcolor.BackColor
+            Case "btnDetailBack"
+                ColorDialog1.Color = lblDetailBackcolor.BackColor
+            Case "btnDetailLink"
+                ColorDialog1.Color = lblDetailLink.ForeColor
+        End Select
+
+        rtn = ColorDialog1.ShowDialog
+
+        If rtn = Windows.Forms.DialogResult.Cancel Then Exit Sub
+
+        Select Case Btn.Name
+            Case "btnSelf"
+                lblSelf.BackColor = ColorDialog1.Color
+            Case "btnAtSelf"
+                lblAtSelf.BackColor = ColorDialog1.Color
+            Case "btnTarget"
+                lblTarget.BackColor = ColorDialog1.Color
+            Case "btnAtTarget"
+                lblAtTarget.BackColor = ColorDialog1.Color
+            Case "btnAtFromTarget"
+                lblAtFromTarget.BackColor = ColorDialog1.Color
+            Case "btnFav"
+                lblFav.ForeColor = ColorDialog1.Color
+            Case "btnOWL"
+                lblOWL.ForeColor = ColorDialog1.Color
+                'Case "btnUnread"
+                '    'lblUnRead.ForeColor = ColorDialog1.Color
+                'Case "btnReaded"
+                '    'lblReaded.ForeColor = ColorDialog1.Color
+            Case "btnInputBackcolor"
+                lblInputBackcolor.BackColor = ColorDialog1.Color
+            Case "btnAtTo"
+                lblAtTo.BackColor = ColorDialog1.Color
+            Case "btnListBack"
+                lblListBackcolor.BackColor = ColorDialog1.Color
+            Case "btnDetailBack"
+                lblDetailBackcolor.BackColor = ColorDialog1.Color
+            Case "btnDetailLink"
+                lblDetailLink.ForeColor = ColorDialog1.Color
+        End Select
+    End Sub
+
+    Public Property UserID() As String
+        Get
+            Return _MyuserID
+        End Get
+        Set(ByVal value As String)
+            _MyuserID = value
+        End Set
+    End Property
+
+    Public Property PasswordStr() As String
+        Get
+            Return _Mypassword
+        End Get
+        Set(ByVal value As String)
+            _Mypassword = value
+        End Set
+    End Property
+
+    Public Property TimelinePeriodInt() As Integer
+        Get
+            Return _MytimelinePeriod
+        End Get
+        Set(ByVal value As Integer)
+            _MytimelinePeriod = value
+        End Set
+    End Property
+
+    Public Property ReplyPeriodInt() As Integer
+        Get
+            Return _MyReplyPeriod
+        End Get
+        Set(ByVal value As Integer)
+            _MyReplyPeriod = value
+        End Set
+    End Property
+
+    Public Property DMPeriodInt() As Integer
+        Get
+            Return _MyDMPeriod
+        End Get
+        Set(ByVal value As Integer)
+            _MyDMPeriod = value
+        End Set
+    End Property
+
+    Public Property NextPageThreshold() As Integer
+        Get
+            Return _MynextThreshold
+        End Get
+        Set(ByVal value As Integer)
+            _MynextThreshold = value
+        End Set
+    End Property
+
+    Public Property MaxPostNum() As Integer
+        Get
+            Return _MyMaxPostNum
+        End Get
+        Set(ByVal value As Integer)
+            _MyMaxPostNum = value
+        End Set
+    End Property
+
+    Public Property NextPagesInt() As Integer
+        Get
+            Return _MyNextPages
+        End Get
+        Set(ByVal value As Integer)
+            _MyNextPages = value
+        End Set
+    End Property
+
+    Public Property LogDays() As Integer
+        Get
+            Return _MyLogDays
+        End Get
+        Set(ByVal value As Integer)
+            _MyLogDays = value
+        End Set
+    End Property
+
+    Public Property LogUnit() As LogUnitEnum
+        Get
+            Return _MyLogUnit
+        End Get
+        Set(ByVal value As LogUnitEnum)
+            _MyLogUnit = value
+        End Set
+    End Property
+
+    Public Property ReadPages() As Integer
+        Get
+            Return _MyReadPages
+        End Get
+        Set(ByVal value As Integer)
+            _MyReadPages = value
+        End Set
+    End Property
+
+    Public Property ReadPagesReply() As Integer
+        Get
+            Return _MyReadPagesReply
+        End Get
+        Set(ByVal value As Integer)
+            _MyReadPagesReply = value
+        End Set
+    End Property
+
+    Public Property ReadPagesDM() As Integer
+        Get
+            Return _MyReadPagesDM
+        End Get
+        Set(ByVal value As Integer)
+            _MyReadPagesDM = value
+        End Set
+    End Property
+
+    Public Property Readed() As Boolean
+        Get
+            Return _MyReaded
+        End Get
+        Set(ByVal value As Boolean)
+            _MyReaded = value
+        End Set
+    End Property
+
+    Public Property IconSz() As IconSizes
+        Get
+            Return _MyIconSize
+        End Get
+        Set(ByVal value As IconSizes)
+            _MyIconSize = value
+        End Set
+    End Property
+
+    Public Property Status() As String
+        Get
+            Return _MyStatusText
+        End Get
+        Set(ByVal value As String)
+            _MyStatusText = value
+        End Set
+    End Property
+
+    Public Property UnreadManage() As Boolean
+        Get
+            Return _MyUnreadManage
+        End Get
+        Set(ByVal value As Boolean)
+            _MyUnreadManage = value
+        End Set
+    End Property
+
+    Public Property PlaySound() As Boolean
+        Get
+            Return _MyPlaySound
+        End Get
+        Set(ByVal value As Boolean)
+            _MyPlaySound = value
+        End Set
+    End Property
+
+    Public Property OneWayLove() As Boolean
+        Get
+            Return _MyOneWayLove
+        End Get
+        Set(ByVal value As Boolean)
+            _MyOneWayLove = value
+        End Set
+    End Property
+
+    '''''未使用
+    Public Property FontUnread() As Font
+        Get
+            Return _fntUnread
+        End Get
+        Set(ByVal value As Font)
+            _fntUnread = value
+            '無視
+        End Set
+    End Property
+
+    Public Property ColorUnread() As Color
+        Get
+            Return _clUnread
+        End Get
+        Set(ByVal value As Color)
+            _clUnread = value
+        End Set
+    End Property
+
+    '''''リストフォントとして使用
+    Public Property FontReaded() As Font
+        Get
+            Return _fntReaded
+        End Get
+        Set(ByVal value As Font)
+            _fntReaded = value
+        End Set
+    End Property
+
+    Public Property ColorReaded() As Color
+        Get
+            Return _clReaded
+        End Get
+        Set(ByVal value As Color)
+            _clReaded = value
+        End Set
+    End Property
+
+    Public Property ColorFav() As Color
+        Get
+            Return _clFav
+        End Get
+        Set(ByVal value As Color)
+            _clFav = value
+        End Set
+    End Property
+
+    Public Property ColorOWL() As Color
+        Get
+            Return _clOWL
+        End Get
+        Set(ByVal value As Color)
+            _clOWL = value
+        End Set
+    End Property
+
+    Public Property FontDetail() As Font
+        Get
+            Return _fntDetail
+        End Get
+        Set(ByVal value As Font)
+            _fntDetail = value
+        End Set
+    End Property
+
+    Public Property ColorDetail() As Color
+        Get
+            Return _clDetail
+        End Get
+        Set(ByVal value As Color)
+            _clDetail = value
+        End Set
+    End Property
+
+    Public Property ColorDetailLink() As Color
+        Get
+            Return _clDetailLink
+        End Get
+        Set(ByVal value As Color)
+            _clDetailLink = value
+        End Set
+    End Property
+
+    Public Property ColorSelf() As Color
+        Get
+            Return _clSelf
+        End Get
+        Set(ByVal value As Color)
+            _clSelf = value
+        End Set
+    End Property
+
+    Public Property ColorAtSelf() As Color
+        Get
+            Return _clAtSelf
+        End Get
+        Set(ByVal value As Color)
+            _clAtSelf = value
+        End Set
+    End Property
+
+    Public Property ColorTarget() As Color
+        Get
+            Return _clTarget
+        End Get
+        Set(ByVal value As Color)
+            _clTarget = value
+        End Set
+    End Property
+
+    Public Property ColorAtTarget() As Color
+        Get
+            Return _clAtTarget
+        End Get
+        Set(ByVal value As Color)
+            _clAtTarget = value
+        End Set
+    End Property
+
+    Public Property ColorAtFromTarget() As Color
+        Get
+            Return _clAtFromTarget
+        End Get
+        Set(ByVal value As Color)
+            _clAtFromTarget = value
+        End Set
+    End Property
+
+    Public Property ColorAtTo() As Color
+        Get
+            Return _clAtTo
+        End Get
+        Set(ByVal value As Color)
+            _clAtTo = value
+        End Set
+    End Property
+
+    Public Property ColorInputBackcolor() As Color
+        Get
+            Return _clInputBackcolor
+        End Get
+        Set(ByVal value As Color)
+            _clInputBackcolor = value
+        End Set
+    End Property
+
+    Public Property ColorInputFont() As Color
+        Get
+            Return _clInputFont
+        End Get
+        Set(ByVal value As Color)
+            _clInputFont = value
+        End Set
+    End Property
+
+    Public Property FontInputFont() As Font
+        Get
+            Return _fntInputFont
+        End Get
+        Set(ByVal value As Font)
+            _fntInputFont = value
+        End Set
+    End Property
+
+    Public Property ColorListBackcolor() As Color
+        Get
+            Return _clListBackcolor
+        End Get
+        Set(ByVal value As Color)
+            _clListBackcolor = value
+        End Set
+    End Property
+
+    Public Property ColorDetailBackcolor() As Color
+        Get
+            Return _clDetailBackcolor
+        End Get
+        Set(ByVal value As Color)
+            _clDetailBackcolor = value
+        End Set
+    End Property
+
+    Public Property NameBalloon() As NameBalloonEnum
+        Get
+            Return _MyNameBalloon
+        End Get
+        Set(ByVal value As NameBalloonEnum)
+            _MyNameBalloon = value
+        End Set
+    End Property
+
+    Public Property PostCtrlEnter() As Boolean
+        Get
+            Return _MyPostCtrlEnter
+        End Get
+        Set(ByVal value As Boolean)
+            _MyPostCtrlEnter = value
+        End Set
+    End Property
+
+    Public Property UseAPI() As Boolean
+        Get
+            Return _useAPI
+        End Get
+        Set(ByVal value As Boolean)
+            _useAPI = value
+        End Set
+    End Property
+
+    Public Property UsePostMethod() As Boolean
+        Get
+            Return _usePostMethod
+        End Get
+        Set(ByVal value As Boolean)
+            _usePostMethod = False
+        End Set
+    End Property
+
+    Public Property CountApi() As Integer
+        Get
+            Return _countApi
+        End Get
+        Set(ByVal value As Integer)
+            _countApi = value
+        End Set
+    End Property
+
+    Public Property CheckReply() As Boolean
+        Get
+            Return _MyCheckReply
+        End Get
+        Set(ByVal value As Boolean)
+            _MyCheckReply = value
+        End Set
+    End Property
+
+    Public Property PostAndGet() As Boolean
+        Get
+            Return _MyPostAndGet
+        End Get
+        Set(ByVal value As Boolean)
+            _MyPostAndGet = value
+        End Set
+    End Property
+
+    Public Property UseRecommendStatus() As Boolean
+        Get
+            Return _MyUseRecommendStatus
+        End Get
+        Set(ByVal value As Boolean)
+            _MyUseRecommendStatus = value
+        End Set
+    End Property
+
+    Public Property RecommendStatusText() As String
+        Get
+            Return _MyRecommendStatusText
+        End Get
+        Set(ByVal value As String)
+            _MyRecommendStatusText = value
+        End Set
+    End Property
+
+    Public Property DispUsername() As Boolean
+        Get
+            Return _MyDispUsername
+        End Get
+        Set(ByVal value As Boolean)
+            _MyDispUsername = value
+        End Set
+    End Property
+
+    Public Property CloseToExit() As Boolean
+        Get
+            Return _MyCloseToExit
+        End Get
+        Set(ByVal value As Boolean)
+            _MyCloseToExit = value
+        End Set
+    End Property
+
+    Public Property MinimizeToTray() As Boolean
+        Get
+            Return _MyMinimizeToTray
+        End Get
+        Set(ByVal value As Boolean)
+            _MyMinimizeToTray = value
+        End Set
+    End Property
+
+    Public Property DispLatestPost() As DispTitleEnum
+        Get
+            Return _MyDispLatestPost
+        End Get
+        Set(ByVal value As DispTitleEnum)
+            _MyDispLatestPost = value
+        End Set
+    End Property
+
+    Public Property HubServer() As String
+        Get
+            Return _hubServer
+        End Get
+        Set(ByVal value As String)
+            _hubServer = value
+        End Set
+    End Property
+
+    Public Property BrowserPath() As String
+        Get
+            Return _browserpath
+        End Get
+        Set(ByVal value As String)
+            _browserpath = value
+        End Set
+    End Property
+
+    Public Property TinyUrlResolve() As Boolean
+        Get
+            Return _MyTinyUrlResolve
+        End Get
+        Set(ByVal value As Boolean)
+            _MyTinyUrlResolve = value
+        End Set
+    End Property
+
+    Private Sub CheckUseRecommendStatus_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckUseRecommendStatus.CheckedChanged
+        If CheckUseRecommendStatus.Checked = True Then
+            StatusText.Enabled = False
+        Else
+            StatusText.Enabled = True
+        End If
+    End Sub
+
+    Public Property SortOrderLock() As Boolean
+        Get
+            Return _MySortOrderLock
+        End Get
+        Set(ByVal value As Boolean)
+            _MySortOrderLock = value
+        End Set
+    End Property
+
+    Public Property SelectedProxyType() As ProxyType
+        Get
+            Return _MyProxyType
+        End Get
+        Set(ByVal value As ProxyType)
+            _MyProxyType = value
+        End Set
+    End Property
+
+    Public Property ProxyAddress() As String
+        Get
+            Return _MyProxyAddress
+        End Get
+        Set(ByVal value As String)
+            _MyProxyAddress = value
+        End Set
+    End Property
+
+    Public Property ProxyPort() As Integer
+        Get
+            Return _MyProxyPort
+        End Get
+        Set(ByVal value As Integer)
+            _MyProxyPort = value
+        End Set
+    End Property
+
+    Public Property ProxyUser() As String
+        Get
+            Return _MyProxyUser
+        End Get
+        Set(ByVal value As String)
+            _MyProxyUser = value
+        End Set
+    End Property
+
+    Public Property ProxyPassword() As String
+        Get
+            Return _MyProxyPassword
+        End Get
+        Set(ByVal value As String)
+            _MyProxyPassword = value
+        End Set
+    End Property
+
+    Public Property PeriodAdjust() As Boolean
+        Get
+            Return _MyPeriodAdjust
+        End Get
+        Set(ByVal value As Boolean)
+            _MyPeriodAdjust = value
+        End Set
+    End Property
+
+    Public Property StartupVersion() As Boolean
+        Get
+            Return _MyStartupVersion
+        End Get
+        Set(ByVal value As Boolean)
+            _MyStartupVersion = value
+        End Set
+    End Property
+
+    Public Property StartupKey() As Boolean
+        Get
+            Return _MyStartupKey
+        End Get
+        Set(ByVal value As Boolean)
+            _MyStartupKey = value
+        End Set
+    End Property
+
+    Public Property StartupFollowers() As Boolean
+        Get
+            Return _MyStartupFollowers
+        End Get
+        Set(ByVal value As Boolean)
+            _MyStartupFollowers = value
+        End Set
+    End Property
+
+    Public Property StartupAPImodeNoWarning() As Boolean
+        Get
+            Return _MyStartupAPImodeNoWarning
+        End Get
+        Set(ByVal value As Boolean)
+            _MyStartupAPImodeNoWarning = value
+        End Set
+    End Property
+
+    Public Property RestrictFavCheck() As Boolean
+        Get
+            Return _MyRestrictFavCheck
+        End Get
+        Set(ByVal value As Boolean)
+            _MyRestrictFavCheck = value
+        End Set
+    End Property
+
+    Public Property AlwaysTop() As Boolean
+        Get
+            Return _MyAlwaysTop
+        End Get
+        Set(ByVal value As Boolean)
+            _MyAlwaysTop = value
+        End Set
+    End Property
+
+    Public Property UrlConvertAuto() As Boolean
+        Get
+            Return _MyUrlConvertAuto
+        End Get
+        Set(ByVal value As Boolean)
+            _MyUrlConvertAuto = value
+        End Set
+    End Property
+    Public Property OutputzEnabled() As Boolean
+        Get
+            Return _MyOutputz
+        End Get
+        Set(ByVal value As Boolean)
+            _MyOutputz = value
+        End Set
+    End Property
+    Public Property OutputzKey() As String
+        Get
+            Return _MyOutputzKey
+        End Get
+        Set(ByVal value As String)
+            _MyOutputzKey = value
+        End Set
+    End Property
+    Public Property OutputzUrlmode() As OutputzUrlmode
+        Get
+            Return _MyOutputzUrlmode
+        End Get
+        Set(ByVal value As OutputzUrlmode)
+            _MyOutputzUrlmode = value
+        End Set
+    End Property
+
+    Public Property AutoShortUrlFirst() As UrlConverter
+        Get
+            Return _MyAutoShortUrlFirst
+        End Get
+        Set(ByVal value As UrlConverter)
+            _MyAutoShortUrlFirst = value
+        End Set
+    End Property
+
+    Public Property UseUnreadStyle() As Boolean
+        Get
+            Return _MyUnreadStyle
+        End Get
+        Set(ByVal value As Boolean)
+            _MyUnreadStyle = value
+        End Set
+    End Property
+
+    Public Property DateTimeFormat() As String
+        Get
+            Return _MyDateTimeFormat
+        End Get
+        Set(ByVal value As String)
+            _MyDateTimeFormat = value
+        End Set
+    End Property
+
+    Public Property DefaultTimeOut() As Integer
+        Get
+            Return _MyDefaultTimeOut
+        End Get
+        Set(ByVal value As Integer)
+            _MyDefaultTimeOut = value
+        End Set
+    End Property
+
+    Public Property ProtectNotInclude() As Boolean
+        Get
+            Return _MyProtectNotInclude
+        End Get
+        Set(ByVal value As Boolean)
+            _MyProtectNotInclude = value
+        End Set
+    End Property
+
+    Public Property TabIconDisp() As Boolean
+        Get
+            Return _MyTabIconDisp
+        End Get
+        Set(ByVal value As Boolean)
+            _MyTabIconDisp = value
+        End Set
+    End Property
+
+    Public Property ReplyIconState() As REPLY_ICONSTATE
+        Get
+            Return _MyReplyIconState
+        End Get
+        Set(ByVal value As REPLY_ICONSTATE)
+            _MyReplyIconState = value
+        End Set
+    End Property
+
+    Public Property ReadOwnPost() As Boolean
+        Get
+            Return _MyReadOwnPost
+        End Get
+        Set(ByVal value As Boolean)
+            _MyReadOwnPost = value
+        End Set
+    End Property
+
+    Public Property GetFav() As Boolean
+        Get
+            Return _MyGetFav
+        End Get
+        Set(ByVal value As Boolean)
+            _MyGetFav = value
+        End Set
+    End Property
+
+    Public Property IsMonospace() As Boolean
+        Get
+            Return _MyMonoSpace
+        End Get
+        Set(ByVal value As Boolean)
+            _MyMonoSpace = value
+        End Set
+    End Property
+
+    Public Property ReadOldPosts() As Boolean
+        Get
+            Return _MyReadOldPosts
+        End Get
+        Set(ByVal value As Boolean)
+            _MyReadOldPosts = value
+        End Set
+    End Property
+
+    Public Property UseSsl() As Boolean
+        Get
+            Return _MyUseSsl
+        End Get
+        Set(ByVal value As Boolean)
+            _MyUseSsl = value
+        End Set
+    End Property
+
+    Public Property BitlyUser() As String
+        Get
+            Return _MyBitlyId
+        End Get
+        Set(ByVal value As String)
+            _MyBitlyId = value
+        End Set
+    End Property
+
+    Public Property BitlyPwd() As String
+        Get
+            Return _MyBitlyPw
+        End Get
+        Set(ByVal value As String)
+            _MyBitlyPw = value
+        End Set
+    End Property
+
+    Public Property ShowGrid() As Boolean
+        Get
+            Return _MyShowGrid
+        End Get
+        Set(ByVal value As Boolean)
+            _MyShowGrid = value
+        End Set
+    End Property
+
+    Public Property UseAtIdSupplement() As Boolean
+        Get
+            Return _MyUseAtIdSupplement
+        End Get
+        Set(ByVal value As Boolean)
+            _MyUseAtIdSupplement = value
+        End Set
+    End Property
+
+    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
+        Dim filedlg As New OpenFileDialog()
+
+        filedlg.Filter = My.Resources.Button3_ClickText1
+        filedlg.FilterIndex = 1
+        filedlg.Title = My.Resources.Button3_ClickText2
+        filedlg.RestoreDirectory = True
+
+        If filedlg.ShowDialog() = Windows.Forms.DialogResult.OK Then
+            BrowserPathText.Text = filedlg.FileName
+
+        End If
+    End Sub
+
+    Private Sub RadioProxySpecified_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioProxySpecified.CheckedChanged
+        Dim chk As Boolean = RadioProxySpecified.Checked
+        LabelProxyAddress.Enabled = chk
+        TextProxyAddress.Enabled = chk
+        LabelProxyPort.Enabled = chk
+        TextProxyPort.Enabled = chk
+        LabelProxyUser.Enabled = chk
+        TextProxyUser.Enabled = chk
+        LabelProxyPassword.Enabled = chk
+        TextProxyPassword.Enabled = chk
+    End Sub
+
+    Private Sub TextProxyPort_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextProxyPort.Validating
+        Dim port As Integer
+        If TextProxyPort.Text.Trim() = "" Then TextProxyPort.Text = "0"
+        If Integer.TryParse(TextProxyPort.Text.Trim(), port) = False Then
+            MessageBox.Show(My.Resources.TextProxyPort_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End If
+        If port < 0 Or port > 65535 Then
+            MessageBox.Show(My.Resources.TextProxyPort_ValidatingText2)
+            e.Cancel = True
+            Exit Sub
+        End If
+    End Sub
+
+    Private Sub CheckOutputz_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckOutputz.CheckedChanged
+        If CheckOutputz.Checked = True Then
+            Label59.Enabled = True
+            Label60.Enabled = True
+            TextBoxOutputzKey.Enabled = True
+            ComboBoxOutputzUrlmode.Enabled = True
+        Else
+            Label59.Enabled = False
+            Label60.Enabled = False
+            TextBoxOutputzKey.Enabled = False
+            ComboBoxOutputzUrlmode.Enabled = False
+        End If
+    End Sub
+
+    Private Sub TextBoxOutputzKey_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBoxOutputzKey.Validating
+        If CheckOutputz.Checked Then
+            TextBoxOutputzKey.Text = Trim(TextBoxOutputzKey.Text)
+            If TextBoxOutputzKey.Text.Length = 0 Then
+                MessageBox.Show(My.Resources.TextBoxOutputzKey_Validating)
+                e.Cancel = True
+                Exit Sub
+            End If
+        End If
+    End Sub
+
+    Private Function CreateDateTimeFormatSample() As Boolean
+        Try
+            LabelDateTimeFormatApplied.Text = DateTime.Now.ToString(CmbDateTimeFormat.Text)
+        Catch ex As FormatException
+            LabelDateTimeFormatApplied.Text = My.Resources.CreateDateTimeFormatSampleText1
+            Return False
+        End Try
+        Return True
+    End Function
+
+    Private Sub CmbDateTimeFormat_TextUpdate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbDateTimeFormat.TextUpdate
+        CreateDateTimeFormatSample()
+    End Sub
+
+    Private Sub CmbDateTimeFormat_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbDateTimeFormat.SelectedIndexChanged
+        CreateDateTimeFormatSample()
+    End Sub
+
+    Private Sub CmbDateTimeFormat_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles CmbDateTimeFormat.Validating
+        If Not CreateDateTimeFormatSample() Then
+            MessageBox.Show(My.Resources.CmbDateTimeFormat_Validating)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub ConnectionTimeOut_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ConnectionTimeOut.Validating
+        Dim tm As Integer
+        Try
+            tm = CInt(ConnectionTimeOut.Text)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.ConnectionTimeOut_ValidatingText1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If tm < HttpTimeOut.MinValue OrElse tm > HttpTimeOut.MaxValue Then
+            MessageBox.Show(My.Resources.ConnectionTimeOut_ValidatingText1)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Private Sub LabelDateTimeFormatApplied_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles LabelDateTimeFormatApplied.VisibleChanged
+        CreateDateTimeFormatSample()
+    End Sub
+
+    Private Sub CheckUseApi_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckUseApi.CheckedChanged
+        CheckboxReply.Enabled = Not CheckUseApi.Checked
+        CheckPeriodAdjust.Enabled = Not CheckUseApi.Checked
+        NextThreshold.Enabled = Not CheckUseApi.Checked
+        NextPages.Enabled = Not CheckUseApi.Checked
+        StartupReadPages.Enabled = Not CheckUseApi.Checked
+        StartupReadReply.Enabled = Not CheckUseApi.Checked
+        StartupReadDM.Enabled = Not CheckUseApi.Checked
+        CheckPostMethod.Enabled = False
+        TextCountApi.Enabled = CheckUseApi.Checked
+    End Sub
+
+    Private Sub TextCountApi_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextCountApi.Validating
+        Dim cnt As Integer
+        Try
+            cnt = Integer.Parse(TextCountApi.Text)
+        Catch ex As Exception
+            MessageBox.Show(My.Resources.TextCountApi_Validating1)
+            e.Cancel = True
+            Exit Sub
+        End Try
+
+        If cnt < 20 OrElse cnt > 200 Then
+            MessageBox.Show(My.Resources.TextCountApi_Validating1)
+            e.Cancel = True
+        End If
+    End Sub
+
+    Public Property LimitBalloon() As Boolean
+        Get
+            Return _MyLimitBalloon
+        End Get
+        Set(ByVal value As Boolean)
+            _MyLimitBalloon = value
+        End Set
+    End Property
+
+    Private Sub Username_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Username.Validating
+        If Username.Text.Trim = "" Then
+            MessageBox.Show(My.Resources.Save_ClickText1)
+            e.Cancel = True
+            Exit Sub
+        End If
+        If Username.Text.Contains("@") Then
+            MessageBox.Show(My.Resources.Save_ClickText2)
+            e.Cancel = True
+            Exit Sub
+        End If
+
+    End Sub
+
+    Private Sub Password_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Password.Validating
+        If Password.Text.Trim = "" Then
+            MessageBox.Show(My.Resources.Save_ClickText1)
+            e.Cancel = True
+            Exit Sub
+        End If
+    End Sub
+
+    Private Sub ComboBoxAutoShortUrlFirst_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBoxAutoShortUrlFirst.SelectedIndexChanged
+        If ComboBoxAutoShortUrlFirst.SelectedIndex = UrlConverter.Bitly OrElse _
+           ComboBoxAutoShortUrlFirst.SelectedIndex = UrlConverter.Jmp Then
+            TextBitlyId.Enabled = True
+            TextBitlyPw.Enabled = True
+        Else
+            TextBitlyId.Enabled = False
+            TextBitlyPw.Enabled = False
+        End If
+    End Sub
+
+    Private Sub ButtonBackToDefaultFontColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBackToDefaultFontColor.Click
+        lblUnread.ForeColor = System.Drawing.SystemColors.ControlText
+        lblUnread.Font = New Font(SystemFonts.DefaultFont, FontStyle.Bold Or FontStyle.Underline)
+        lblListFont.ForeColor = System.Drawing.SystemColors.ControlText
+        lblListFont.Font = System.Drawing.SystemFonts.DefaultFont
+        lblDetail.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.ControlText)
+        lblDetail.Font = System.Drawing.SystemFonts.DefaultFont
+        lblInputFont.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.ControlText)
+        lblInputFont.Font = System.Drawing.SystemFonts.DefaultFont
+        lblSelf.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.AliceBlue)
+        lblAtSelf.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.AntiqueWhite)
+        lblTarget.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon)
+        lblAtTarget.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.LavenderBlush)
+        lblAtFromTarget.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Honeydew)
+        lblFav.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.Red)
+        lblOWL.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.Blue)
+        lblInputBackcolor.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon)
+        lblAtTo.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Pink)
+        lblListBackcolor.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Window)
+        lblDetailBackcolor.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Window)
+        lblDetailLink.ForeColor = Color.FromKnownColor(System.Drawing.KnownColor.Blue)
+    End Sub
+End Class
+
diff --git a/Tween/Setting/SettingAtIdList.vb b/Tween/Setting/SettingAtIdList.vb
new file mode 100644 (file)
index 0000000..b46b28b
--- /dev/null
@@ -0,0 +1,26 @@
+<Serializable()> _
+Public Class SettingAtIdList
+    Inherits SettingBase(Of SettingAtIdList)
+
+#Region "Setting\83N\83\89\83X\8aî\96{"
+    Public Shared Function Load() As SettingAtIdList
+        Dim setting As SettingAtIdList = LoadSettings()
+        Return setting
+    End Function
+
+    Public Sub Save()
+        SaveSettings(Me)
+    End Sub
+
+    Public Sub New()
+        AtIdList = New List(Of String)
+    End Sub
+
+    Public Sub New(ByVal ids As List(Of String))
+        Me.AtIdList = ids
+    End Sub
+
+#End Region
+
+    Public AtIdList As List(Of String)
+End Class
diff --git a/Tween/Setting/SettingBase.vb b/Tween/Setting/SettingBase.vb
new file mode 100644 (file)
index 0000000..3182fe1
--- /dev/null
@@ -0,0 +1,101 @@
+Public MustInherit Class SettingBase(Of T As {Class, New})
+
+    Private Shared lockObj As New Object
+
+    Protected Shared Function LoadSettings(ByVal FileId As String) As T
+        Try
+            SyncLock lockObj
+                Using fs As New IO.FileStream(GetSettingFilePath(FileId), IO.FileMode.Open)
+                    fs.Position = 0
+                    Dim xs As New Xml.Serialization.XmlSerializer(GetType(T))
+                    Dim instance As T = DirectCast(xs.Deserialize(fs), T)
+                    fs.Close()
+                    Return instance
+                End Using
+            End SyncLock
+        Catch ex As System.IO.FileNotFoundException
+            Return New T()
+        Catch ex As Exception
+            Dim backupFile As String = IO.Path.Combine( _
+                    IO.Path.Combine( _
+                        My.Application.Info.DirectoryPath, _
+                        "TweenBackup1st"), _
+                    GetType(T).Name + FileId + ".xml")
+            If IO.File.Exists(backupFile) Then
+                Try
+                    SyncLock lockObj
+                        Using fs As New IO.FileStream(backupFile, IO.FileMode.Open)
+                            fs.Position = 0
+                            Dim xs As New Xml.Serialization.XmlSerializer(GetType(T))
+                            Dim instance As T = DirectCast(xs.Deserialize(fs), T)
+                            fs.Close()
+                            MessageBox.Show("File: " + GetSettingFilePath(FileId) + Environment.NewLine + "Use old setting file, because application can't read this setting file.")
+                            Return instance
+                        End Using
+                    End SyncLock
+                Catch ex2 As Exception
+                End Try
+            End If
+            MessageBox.Show("File: " + GetSettingFilePath(FileId) + Environment.NewLine + "Use default setting, because application can't read this setting file.")
+            Return New T()
+            'ex.Data.Add("FilePath", GetSettingFilePath(FileId))
+            'Dim fi As New IO.FileInfo(GetSettingFilePath(FileId))
+            'ex.Data.Add("FileSize", fi.Length.ToString())
+            'ex.Data.Add("FileData", IO.File.ReadAllText(GetSettingFilePath(FileId)))
+            'Throw
+        End Try
+    End Function
+
+    Protected Shared Function LoadSettings() As T
+        Return LoadSettings("")
+    End Function
+
+    Protected Shared Sub SaveSettings(ByVal Instance As T, ByVal FileId As String)
+        Dim cnt As Integer = 0
+        Dim err As Boolean = False
+        Dim fileName As String = GetSettingFilePath(FileId)
+        If Instance Is Nothing Then Exit Sub
+        Do
+            err = False
+            cnt += 1
+            Try
+                SyncLock lockObj
+                    Using fs As New IO.FileStream(fileName, IO.FileMode.Create)
+                        fs.Position = 0
+                        Dim xs As New Xml.Serialization.XmlSerializer(GetType(T))
+                        xs.Serialize(fs, Instance)
+                        fs.Flush()
+                        fs.Close()
+                    End Using
+                    Dim fi As New IO.FileInfo(fileName)
+                    If fi.Length = 0 Then
+                        If cnt > 3 Then
+                            Throw New Exception
+                            Exit Sub
+                        End If
+                        Threading.Thread.Sleep(1000)
+                        err = True
+                    End If
+                End SyncLock
+            Catch ex As Exception
+                '検証エラー or 書き込みエラー
+                If cnt > 3 Then
+                    'リトライオーバー
+                    Throw New System.InvalidOperationException("Can't write setting XML.(" + fileName + ")")
+                    Exit Sub
+                End If
+                'リトライ
+                Threading.Thread.Sleep(1000)
+                err = True
+            End Try
+        Loop While err
+    End Sub
+
+    Protected Shared Sub SaveSettings(ByVal Instance As T)
+        SaveSettings(Instance, "")
+    End Sub
+
+    Public Shared Function GetSettingFilePath(ByVal FileId As String) As String
+        Return IO.Path.Combine(My.Application.Info.DirectoryPath, GetType(T).Name + FileId + ".xml")
+    End Function
+End Class
diff --git a/Tween/Setting/SettingCommon.vb b/Tween/Setting/SettingCommon.vb
new file mode 100644 (file)
index 0000000..2b38190
--- /dev/null
@@ -0,0 +1,140 @@
+<Serializable()> _
+Public Class SettingCommon
+    Inherits SettingBase(Of SettingCommon)
+
+#Region "Setting\83N\83\89\83X\8aî\96{"
+    Public Shared Function Load() As SettingCommon
+        Return LoadSettings()
+    End Function
+
+    Public Sub Save()
+        SaveSettings(Me)
+    End Sub
+#End Region
+
+    Public UserName As String = ""
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public Password As String = ""
+    Public Property EncryptPassword() As String
+        Get
+            Dim pwd As String = Password
+            If String.IsNullOrEmpty(pwd) Then pwd = ""
+            If pwd.Length > 0 Then
+                Try
+                    Return EncryptString(pwd)
+                Catch ex As Exception
+                    Return ""
+                End Try
+            Else
+                Return ""
+            End If
+        End Get
+        Set(ByVal value As String)
+            Dim pwd As String = value
+            If String.IsNullOrEmpty(pwd) Then pwd = ""
+            If pwd.Length > 0 Then
+                Try
+                    pwd = DecryptString(pwd)
+                Catch ex As Exception
+                    pwd = ""
+                End Try
+            End If
+            Password = pwd
+        End Set
+    End Property
+
+    Public TabList As New List(Of String)
+    Public NextPageThreshold As Integer = 20
+    Public NextPages As Integer = 1
+    Public TimelinePeriod As Integer = 90
+    Public ReplyPeriod As Integer = 600
+    Public DMPeriod As Integer = 600
+    Public ReadPages As Integer = 1
+    Public ReadPagesReply As Integer = 1
+    Public ReadPagesDM As Integer = 1
+    Public MaxPostNum As Integer = 125
+    Public Read As Boolean = True
+    Public ListLock As Boolean = False
+    Public IconSize As IconSizes = IconSizes.Icon16
+    Public NewAllPop As Boolean = True
+    Public PlaySound As Boolean = False
+    Public UnreadManage As Boolean = True
+    Public OneWayLove As Boolean = True
+    Public NameBalloon As NameBalloonEnum = NameBalloonEnum.NickName
+    Public PostCtrlEnter As Boolean = False
+    Public UseApi As Boolean = True
+    Public UsePostMethod As Boolean = False
+    Public CountApi As Integer = 60
+    Public CheckReply As Boolean = True
+    Public PostAndGet As Boolean = True
+    Public DispUsername As Boolean = False
+    Public MinimizeToTray As Boolean = False
+    Public CloseToExit As Boolean = False
+    Public DispLatestPost As DispTitleEnum = DispTitleEnum.Post
+    Public HubServer As String = "twitter.com"
+    Public SortOrderLock As Boolean = False
+    Public TinyUrlResolve As Boolean = True
+    Public PeriodAdjust As Boolean = True
+    Public StartupVersion As Boolean = True
+    Public StartupKey As Boolean = True
+    Public StartupFollowers As Boolean = True
+    Public StartupApiModeNoWarning As Boolean = False
+    Public RestrictFavCheck As Boolean = False
+    Public AlwaysTop As Boolean = False
+    Public CultureCode As String = ""
+    Public UrlConvertAuto As Boolean = False
+    Public Outputz As Boolean = False
+    Public SortColumn As Integer = 3
+    Public SortOrder As Integer = 1
+    Public IsMonospace As Boolean = False
+    Public ReadOldPosts As Boolean = False
+    Public UseSsl As Boolean = True
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public OutputzKey As String = ""
+    Public Property EncryptOutputzKey() As String
+        Get
+            Dim pwd As String = OutputzKey
+            If String.IsNullOrEmpty(pwd) Then pwd = ""
+            If pwd.Length > 0 Then
+                Try
+                    Return EncryptString(pwd)
+                Catch ex As Exception
+                    Return ""
+                End Try
+            Else
+                Return ""
+            End If
+        End Get
+        Set(ByVal value As String)
+            Dim pwd As String = value
+            If String.IsNullOrEmpty(pwd) Then pwd = ""
+            If pwd.Length > 0 Then
+                Try
+                    pwd = DecryptString(pwd)
+                Catch ex As Exception
+                    pwd = ""
+                End Try
+            End If
+            OutputzKey = pwd
+        End Set
+    End Property
+
+    Public OutputzUrlMode As OutputzUrlmode = MyCommon.OutputzUrlmode.twittercom
+    Public AutoShortUrlFirst As UrlConverter = UrlConverter.Bitly
+    Public UseUnreadStyle As Boolean = True
+    Public DateTimeFormat As String = "yyyy/MM/dd H:mm:ss"
+    Public DefaultTimeOut As Integer = 20
+    Public ProtectNotInclude As Boolean = True
+    Public LimitBalloon As Boolean = False
+    Public TabIconDisp As Boolean = True
+    Public ReplyIconState As REPLY_ICONSTATE = REPLY_ICONSTATE.StaticIcon
+    Public WideSpaceConvert As Boolean = True
+    Public ReadOwnPost As Boolean = False
+    Public GetFav As Boolean = True
+    Public BilyUser As String = ""
+    Public BitlyPwd As String = ""
+    Public ShowGrid As Boolean = False
+    Public UseAtIdSupplement As Boolean = True
+End Class
diff --git a/Tween/Setting/SettingFollower.vb b/Tween/Setting/SettingFollower.vb
new file mode 100644 (file)
index 0000000..809c29e
--- /dev/null
@@ -0,0 +1,27 @@
+<Serializable()> _
+Public Class SettingFollower
+    Inherits SettingBase(Of SettingFollower)
+
+#Region "Settingクラス基本"
+    Public Shared Function Load() As SettingFollower
+        Dim setting As SettingFollower = LoadSettings()
+        Return setting
+    End Function
+
+    Public Sub Save()
+        SaveSettings(Me)
+    End Sub
+
+    Public Sub New()
+        Follower = New List(Of String)
+    End Sub
+
+    Public Sub New(ByVal follower As List(Of String))
+        Me.Follower = follower
+    End Sub
+
+#End Region
+
+    Public Follower As List(Of String)
+
+End Class
diff --git a/Tween/Setting/SettingLocal.vb b/Tween/Setting/SettingLocal.vb
new file mode 100644 (file)
index 0000000..8869bee
--- /dev/null
@@ -0,0 +1,296 @@
+<Serializable()> _
+Public Class SettingLocal
+    Inherits SettingBase(Of SettingLocal)
+
+#Region "Settingクラス基本"
+    Public Shared Function Load() As SettingLocal
+        Return LoadSettings()
+    End Function
+
+    Public Sub Save()
+        SaveSettings(Me)
+    End Sub
+#End Region
+
+    Private _fc As New FontConverter
+    Private _cc As New ColorConverter
+
+    Public FormLocation As New Point(0, 0)
+    Public SplitterDistance As Integer = 320
+    Public FormSize As New Size(436, 476)
+    Public StatusText As String = ""
+    Public UseRecommendStatus As Boolean = False
+    Public Width1 As Integer = 48
+    Public Width2 As Integer = 80
+    Public Width3 As Integer = 290
+    Public Width4 As Integer = 120
+    Public Width5 As Integer = 50
+    Public Width6 As Integer = 16
+    Public Width7 As Integer = 32
+    Public Width8 As Integer = 50
+    Public DisplayIndex1 As Integer = 0
+    Public DisplayIndex2 As Integer = 1
+    Public DisplayIndex3 As Integer = 2
+    Public DisplayIndex4 As Integer = 3
+    Public DisplayIndex5 As Integer = 4
+    Public DisplayIndex6 As Integer = 5
+    Public DisplayIndex7 As Integer = 6
+    Public DisplayIndex8 As Integer = 7
+    Public BrowserPath As String = ""
+    Public ProxyType As ProxyType = ProxyType.IE
+    Public ProxyAddress As String = "127.0.0.1"
+    Public ProxyPort As Integer = 80
+    Public ProxyUser As String = ""
+    Public StatusMultiline As Boolean = False
+    Public StatusTextHeight As Integer = 38
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public FontUnread As New Font(SystemFonts.DefaultFont, FontStyle.Bold Or FontStyle.Underline)
+    Public Property FontUnreadStr() As String
+        Get
+            Return _fc.ConvertToString(FontUnread)
+        End Get
+        Set(ByVal value As String)
+            FontUnread = DirectCast(_fc.ConvertFromString(value), Font)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorUnread As Color = System.Drawing.SystemColors.ControlText
+    Public Property ColorUnreadStr() As String
+        Get
+            Return _cc.ConvertToString(ColorUnread)
+        End Get
+        Set(ByVal value As String)
+            ColorUnread = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public FontRead As Font = System.Drawing.SystemFonts.DefaultFont
+    Public Property FontReadStr() As String
+        Get
+            Return _fc.ConvertToString(FontRead)
+        End Get
+        Set(ByVal value As String)
+            FontRead = DirectCast(_fc.ConvertFromString(value), Font)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorRead As Color = System.Drawing.SystemColors.ControlText
+    Public Property ColorReadStr() As String
+        Get
+            Return _cc.ConvertToString(ColorRead)
+        End Get
+        Set(ByVal value As String)
+            ColorRead = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorFav As Color = Color.FromKnownColor(System.Drawing.KnownColor.Red)
+    Public Property ColorFavStr() As String
+        Get
+            Return _cc.ConvertToString(ColorFav)
+        End Get
+        Set(ByVal value As String)
+            ColorFav = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorOWL As Color = Color.FromKnownColor(System.Drawing.KnownColor.Blue)
+    Public Property ColorOWLStr() As String
+        Get
+            Return _cc.ConvertToString(ColorOWL)
+        End Get
+        Set(ByVal value As String)
+            ColorOWL = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public FontDetail As Font = System.Drawing.SystemFonts.DefaultFont
+    Public Property FontDetailStr() As String
+        Get
+            Return _fc.ConvertToString(FontDetail)
+        End Get
+        Set(ByVal value As String)
+            FontDetail = DirectCast(_fc.ConvertFromString(value), Font)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorSelf As Color = Color.FromKnownColor(System.Drawing.KnownColor.AliceBlue)
+    Public Property ColorSelfStr() As String
+        Get
+            Return _cc.ConvertToString(ColorSelf)
+        End Get
+        Set(ByVal value As String)
+            ColorSelf = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorAtSelf As Color = Color.FromKnownColor(System.Drawing.KnownColor.AntiqueWhite)
+    Public Property ColorAtSelfStr() As String
+        Get
+            Return _cc.ConvertToString(ColorAtSelf)
+        End Get
+        Set(ByVal value As String)
+            ColorAtSelf = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorTarget As Color = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon)
+    Public Property ColorTargetStr() As String
+        Get
+            Return _cc.ConvertToString(ColorTarget)
+        End Get
+        Set(ByVal value As String)
+            ColorTarget = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorAtTarget As Color = Color.FromKnownColor(System.Drawing.KnownColor.LavenderBlush)
+    Public Property ColorAtTargetStr() As String
+        Get
+            Return _cc.ConvertToString(ColorAtTarget)
+        End Get
+        Set(ByVal value As String)
+            ColorAtTarget = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorAtFromTarget As Color = Color.FromKnownColor(System.Drawing.KnownColor.Honeydew)
+    Public Property ColorAtFromTargetStr() As String
+        Get
+            Return _cc.ConvertToString(ColorAtFromTarget)
+        End Get
+        Set(ByVal value As String)
+            ColorAtFromTarget = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorAtTo As Color = Color.FromKnownColor(System.Drawing.KnownColor.Pink)
+    Public Property ColorAtToStr() As String
+        Get
+            Return _cc.ConvertToString(ColorAtTo)
+        End Get
+        Set(ByVal value As String)
+            ColorAtTo = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorInputBackcolor As Color = Color.FromKnownColor(System.Drawing.KnownColor.LemonChiffon)
+    Public Property ColorInputBackcolorStr() As String
+        Get
+            Return _cc.ConvertToString(ColorInputBackcolor)
+        End Get
+        Set(ByVal value As String)
+            ColorInputBackcolor = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorInputFont As Color = Color.FromKnownColor(System.Drawing.KnownColor.ControlText)
+    Public Property ColorInputFontStr() As String
+        Get
+            Return _cc.ConvertToString(ColorInputFont)
+        End Get
+        Set(ByVal value As String)
+            ColorInputFont = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public FontInputFont As Font = System.Drawing.SystemFonts.DefaultFont
+    Public Property FontInputFontStr() As String
+        Get
+            Return _fc.ConvertToString(FontInputFont)
+        End Get
+        Set(ByVal value As String)
+            FontInputFont = DirectCast(_fc.ConvertFromString(value), Font)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorListBackcolor As Color = Color.FromKnownColor(System.Drawing.KnownColor.Window)
+    Public Property ColorListBackcolorStr() As String
+        Get
+            Return _cc.ConvertToString(ColorListBackcolor)
+        End Get
+        Set(ByVal value As String)
+            ColorListBackcolor = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorDetailBackcolor As Color = Color.FromKnownColor(System.Drawing.KnownColor.Window)
+    Public Property ColorDetailBackcolorStr() As String
+        Get
+            Return _cc.ConvertToString(ColorDetailBackcolor)
+        End Get
+        Set(ByVal value As String)
+            ColorDetailBackcolor = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorDetail As Color = Color.FromKnownColor(System.Drawing.KnownColor.ControlText)
+    Public Property ColorDetailStr() As String
+        Get
+            Return _cc.ConvertToString(ColorDetail)
+        End Get
+        Set(ByVal value As String)
+            ColorDetail = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ColorDetailLink As Color = Color.FromKnownColor(System.Drawing.KnownColor.Blue)
+    Public Property ColorDetailLinkStr() As String
+        Get
+            Return _cc.ConvertToString(ColorDetailLink)
+        End Get
+        Set(ByVal value As String)
+            ColorDetailLink = DirectCast(_cc.ConvertFromString(value), Color)
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public ProxyPassword As String = ""
+    Public Property EncryptProxyPassword() As String
+        Get
+            Dim pwd As String = ProxyPassword
+            If String.IsNullOrEmpty(pwd) Then pwd = ""
+            If pwd.Length > 0 Then
+                Try
+                    Return EncryptString(pwd)
+                Catch ex As Exception
+                    Return ""
+                End Try
+            Else
+                Return ""
+            End If
+        End Get
+        Set(ByVal value As String)
+            Dim pwd As String = value
+            If String.IsNullOrEmpty(pwd) Then pwd = ""
+            If pwd.Length > 0 Then
+                Try
+                    pwd = DecryptString(pwd)
+                Catch ex As Exception
+                    pwd = ""
+                End Try
+            End If
+            ProxyPassword = pwd
+        End Set
+    End Property
+End Class
diff --git a/Tween/Setting/SettingTab.vb b/Tween/Setting/SettingTab.vb
new file mode 100644 (file)
index 0000000..32ea32e
--- /dev/null
@@ -0,0 +1,40 @@
+<Serializable()> _
+Public Class SettingTab
+    Inherits SettingBase(Of SettingTab)
+
+#Region "Settingクラス基本"
+    Public Shared Function Load(ByVal tabName As String) As SettingTab
+        Dim setting As SettingTab = LoadSettings(tabName)
+        setting.Tab.TabName = tabName
+        Return setting
+    End Function
+
+    Public Sub Save()
+        SaveSettings(Me, Me.Tab.TabName)
+    End Sub
+
+    Public Sub New()
+        TAB = New TabClass
+    End Sub
+
+    Public Sub New(ByVal TabName As String)
+        Me.Tab = New TabClass
+        TAB.TabName = TabName
+    End Sub
+
+#End Region
+
+    Public Shared Sub DeleteConfigFile()
+        For Each FileName As String In System.IO.Directory.GetFiles( _
+                           My.Application.Info.DirectoryPath, "SettingTab*.xml")
+            Try
+                IO.File.Delete(FileName)
+            Catch ex As Exception
+                '削除権限がない場合
+            End Try
+        Next
+    End Sub
+
+    Public Tab As TabClass
+
+End Class
diff --git a/Tween/SettingToConfig.vb b/Tween/SettingToConfig.vb
new file mode 100644 (file)
index 0000000..b39da9a
--- /dev/null
@@ -0,0 +1,1410 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Xml
+Imports System.Xml.Serialization
+Imports System.Xml.Schema
+Imports System.IO
+
+<XmlRoot(ElementName:="configuration", Namespace:="urn:XSpect.Configuration.XmlConfiguration")> _
+Public Class XmlConfiguration
+    Implements IDictionary(Of String, Object), _
+               IXmlSerializable
+
+    Private ReadOnly _dictionary As Dictionary(Of String, KeyValuePair(Of Type, Object))
+    Protected Shared ReadOnly _lockObj As New Object
+
+    Protected _configurationFile As FileInfo
+
+    Private ReadOnly Property _dictionaryCollection() As ICollection(Of KeyValuePair(Of String, KeyValuePair(Of Type, Object)))
+        Get
+            Return Me._dictionary
+        End Get
+    End Property
+
+    Public Property ConfigurationFile As FileInfo
+        Get
+            Return Me._configurationFile
+        End Get
+        Set(ByVal value As FileInfo)
+            Me._configurationFile = value
+        End Set
+    End Property
+
+#Region "IDictionary<string,object> メンバ"
+
+    Public Sub Add(ByVal key As String, ByVal value As Object) _
+        Implements IDictionary(Of String, Object).Add
+
+        Me._dictionary.Add(key, Me.GetInternalValue(value))
+    End Sub
+
+    Public Function ContainsKey(ByVal key As String) As Boolean _
+        Implements IDictionary(Of String, Object).ContainsKey
+
+        Return Me._dictionary.ContainsKey(key)
+    End Function
+
+    Public ReadOnly Property Keys() As ICollection(Of String) _
+        Implements IDictionary(Of String, Object).Keys
+
+        Get
+            Return Me._dictionary.Keys
+        End Get
+    End Property
+
+    Public Function Remove(ByVal key As String) As Boolean _
+        Implements IDictionary(Of String, Object).Remove
+
+        Return Me._dictionary.Remove(key)
+    End Function
+
+    Public Function TryGetValue(ByVal key As String, ByRef value As Object) As Boolean _
+        Implements IDictionary(Of String, Object).TryGetValue
+
+        Return Me.TryGetValue(Of Object)(key, value)
+    End Function
+
+    Public ReadOnly Property Values() As ICollection(Of Object) _
+        Implements IDictionary(Of String, Object).Values
+
+        Get
+            Dim list As List(Of Object) = New List(Of Object)(Me._dictionary.Values.Count)
+
+            For Each p As KeyValuePair(Of Type, Object) In Me._dictionary.Values
+                list.Add(p.Value)
+            Next
+            Return list
+        End Get
+    End Property
+
+    Default Public Property Item(ByVal key As String) As Object _
+        Implements IDictionary(Of String, Object).Item
+
+        Get
+            Return Me.GetValue(key)
+        End Get
+        Set(ByVal value As Object)
+            Me.SetValue(key, value)
+        End Set
+    End Property
+
+#End Region
+
+#Region "ICollection<KeyValuePair<string,object>> メンバ"
+
+    Public Sub Add(ByVal item As KeyValuePair(Of String, Object)) _
+        Implements ICollection(Of KeyValuePair(Of String, Object)).Add
+
+        Me._dictionaryCollection.Add(Me.GetInternalValue(item))
+    End Sub
+
+    Public Sub Clear() _
+        Implements ICollection(Of KeyValuePair(Of String, Object)).Clear
+
+        Me._dictionary.Clear()
+    End Sub
+
+    Public Function Contains(ByVal item As KeyValuePair(Of String, Object)) As Boolean _
+        Implements ICollection(Of KeyValuePair(Of String, Object)).Contains
+
+        Return Me._dictionaryCollection.Contains(Me.GetInternalValue(item))
+    End Function
+
+    Public Sub CopyTo(ByVal array As KeyValuePair(Of String, Object)(), ByVal arrayIndex As Integer) _
+        Implements ICollection(Of KeyValuePair(Of String, Object)).CopyTo
+
+        Dim list As List(Of KeyValuePair(Of String, KeyValuePair(Of Type, Object))) _
+            = New List(Of KeyValuePair(Of String, KeyValuePair(Of Type, Object)))(array.Length)
+
+        For Each p As KeyValuePair(Of String, Object) In array
+            list.Add(Me.GetInternalValue(p))
+        Next
+        Me._dictionaryCollection.CopyTo(list.ToArray(), arrayIndex)
+    End Sub
+
+    Public ReadOnly Property Count() As Integer _
+        Implements ICollection(Of KeyValuePair(Of String, Object)).Count
+        Get
+            Return Me._dictionary.Count
+        End Get
+    End Property
+
+    Public ReadOnly Property IsReadOnly() As Boolean _
+        Implements ICollection(Of KeyValuePair(Of String, Object)).IsReadOnly
+
+        Get
+            Return Me._dictionaryCollection.IsReadOnly
+        End Get
+    End Property
+
+    Public Function Remove(ByVal item As KeyValuePair(Of String, Object)) As Boolean _
+        Implements ICollection(Of KeyValuePair(Of String, Object)).Remove
+
+        Return Me._dictionaryCollection.Remove(Me.GetInternalValue(item))
+    End Function
+
+#End Region
+
+#Region "IEnumerable<KeyValuePair<string,object>> メンバ"
+
+    Public Function GetEnumerator() As IEnumerator(Of KeyValuePair(Of String, Object)) _
+        Implements IEnumerable(Of KeyValuePair(Of String, Object)).GetEnumerator
+
+        Dim list As List(Of KeyValuePair(Of String, Object)) = New List(Of KeyValuePair(Of String, Object))(Me.Count)
+        For Each p As KeyValuePair(Of String, KeyValuePair(Of Type, Object)) In Me._dictionary
+            list.Add(New KeyValuePair(Of String, Object)(p.Key, p.Value.Value))
+        Next
+        Return list.GetEnumerator()
+    End Function
+
+#End Region
+
+#Region "IEnumerable メンバ"
+
+    Private Function GetUntypedEnumerator() As IEnumerator _
+        Implements IEnumerable.GetEnumerator
+
+        Return Me.GetEnumerator()
+    End Function
+
+#End Region
+
+#Region "IXmlSerializable メンバ"
+
+    Public Function GetSchema() As XmlSchema _
+        Implements IXmlSerializable.GetSchema
+
+        Return Nothing
+    End Function
+
+    Public Sub ReadXml(ByVal reader As XmlReader) _
+        Implements IXmlSerializable.ReadXml
+
+        Dim xdoc As XmlDocument = New XmlDocument()
+        xdoc.LoadXml(reader.ReadOuterXml())
+        For Each xentryNode As XmlNode In xdoc.DocumentElement.SelectNodes("./entry")
+            Dim xentry As XmlElement = CType(xentryNode, XmlElement)
+            Me.Add( _
+                xentry.Attributes.ItemOf("key").Value, _
+                New XmlSerializer(Type.GetType(xentry.Attributes.ItemOf("type").Value, True)) _
+                    .Deserialize(New XmlNodeReader(xentry.GetElementsByTagName("*").Item(0))) _
+            )
+        Next
+    End Sub
+
+    Public Sub WriteXml(ByVal writer As XmlWriter) _
+        Implements IXmlSerializable.WriteXml
+
+        Dim xdoc As XmlDocument = New XmlDocument()
+        For Each entry As KeyValuePair(Of String, Object) In Me
+            Dim xentry As XmlElement = xdoc.CreateElement("entry", String.Empty)
+            xentry.SetAttributeNode("key", Nothing)
+            xentry.SetAttribute("key", entry.Key)
+            xentry.SetAttributeNode("type", Nothing)
+            xentry.SetAttribute("type", entry.Value.GetType().AssemblyQualifiedName)
+            Using stream As MemoryStream = New MemoryStream()
+                Dim serializer As XmlSerializer = New XmlSerializer(entry.Value.GetType())
+                serializer.Serialize(stream, entry.Value)
+                stream.Seek(0, SeekOrigin.Begin)
+                Dim reader As XmlReader = XmlReader.Create(stream)
+                ' HACK: ルート要素に移動する
+                reader.MoveToContent()
+                xentry.AppendChild(xdoc.ReadNode(reader.ReadSubtree()))
+                xentry.WriteTo(writer)
+            End Using
+        Next
+    End Sub
+
+#End Region
+
+    Public Sub New()
+        Me._dictionary = New Dictionary(Of String, KeyValuePair(Of Type, Object))()
+    End Sub
+
+    Public Shared Function Load(ByVal file As FileInfo) As XmlConfiguration
+        SyncLock _lockObj
+            Using reader As XmlReader = XmlReader.Create(file.FullName)
+                Dim config As XmlConfiguration = DirectCast(New XmlSerializer(GetType(XmlConfiguration)).Deserialize(reader), XmlConfiguration)
+                config.ConfigurationFile = file
+                Return config
+            End Using
+        End SyncLock
+    End Function
+
+    Public Shared Function Load(ByVal path As String) As XmlConfiguration
+        Return Load(New FileInfo(path))
+    End Function
+
+    Public Sub Save(ByVal file As FileInfo)
+        SyncLock _lockObj
+            Using stream As MemoryStream = New MemoryStream()
+                Using writer As XmlWriter = XmlWriter.Create(stream)
+                    Dim serializer As XmlSerializer = New XmlSerializer(GetType(XmlConfiguration))
+                    serializer.Serialize(writer, Me)
+                End Using
+                stream.Seek(0, SeekOrigin.Begin)
+                Dim xdoc As XmlDocument = New XmlDocument()
+                xdoc.Load(stream)
+                xdoc.Save(file.FullName)
+            End Using
+            Me.ConfigurationFile = file
+        End SyncLock
+    End Sub
+
+    Public Sub Save(ByVal path As String)
+        Me.Save(New FileInfo(path))
+    End Sub
+
+    Public Sub Save()
+        Me.Save(Me.ConfigurationFile)
+    End Sub
+
+    Private Function GetInternalValue(ByVal value As Object) As KeyValuePair(Of Type, Object)
+        Return New KeyValuePair(Of Type, Object)(value.GetType, value)
+    End Function
+
+    Private Function GetInternalValue(ByVal item As KeyValuePair(Of String, Object)) As KeyValuePair(Of String, KeyValuePair(Of Type, Object))
+        Return New KeyValuePair(Of String, KeyValuePair(Of Type, Object))(item.Key, Me.GetInternalValue(item.Value))
+    End Function
+
+    Public Function GetValue(Of T)(ByVal key As String) As T
+        Return DirectCast(Me._dictionary.Item(key).Value, T)
+    End Function
+
+    Public Function GetValue(ByVal key As String) As Object
+        Return Me.GetValue(Of Object)(key)
+    End Function
+
+    Public Sub SetValue(Of T)(ByVal key As String, ByVal value As T)
+        Me._dictionary.Item(key) = Me.GetInternalValue(value)
+    End Sub
+
+    Public Sub SetValue(ByVal key As String, ByVal value As Object)
+        Me.SetValue(Of Object)(key, value)
+    End Sub
+
+    Public Function TryGetValue(Of T)(ByVal key As String, ByRef value As T) As Boolean
+        Dim outValue As KeyValuePair(Of Type, Object) = Nothing
+        Dim result As Boolean = Me._dictionary.TryGetValue(key, outValue)
+        If result Then value = DirectCast(outValue.Value, T)
+        Return result
+    End Function
+
+    Public Function GetValueOrDefault(Of T)(ByVal key As String, ByVal defaultValue As T) As T
+        Dim value As T
+        If Me.TryGetValue(Of T)(key, value) Then
+            Return value
+        End If
+        Me.Add(key, defaultValue)
+        Return defaultValue
+    End Function
+
+    Public Function GetValueOrDefault(Of T)(ByVal key As String) As T
+        Return Me.GetValueOrDefault(Of T)(key, CType(Nothing, T))
+    End Function
+
+    Public Function GetValueOrDefault(ByVal key As String, ByVal defaultValue As Object) As Object
+        Return Me.GetValueOrDefault(Of Object)(key, defaultValue)
+    End Function
+
+    Public Function GetValueOrDefault(ByVal key As String) As Object
+        Return Me.GetValueOrDefault(Of Object)(key)
+    End Function
+
+    Public Function GetChild(ByVal key As String) As XmlConfiguration
+        Return Me.GetValueOrDefault(key, New XmlConfiguration())
+    End Function
+End Class
+
+<XmlRoot(ElementName:="configuration", Namespace:="urn:XSpect.Configuration.XmlConfiguration")> _
+Public NotInheritable Class SettingToConfig
+    Inherits XmlConfiguration
+
+    Public Sub New()
+        If ConfigurationFile Is Nothing Then
+            ConfigurationFile = New FileInfo(Path.Combine(My.Application.Info.DirectoryPath, "TweenConf.xml"))
+        End If
+    End Sub
+
+    Public Shared Shadows Function Load() As SettingToConfig
+        SyncLock _lockObj
+            Dim fileConf As FileInfo = New FileInfo(Path.Combine(My.Application.Info.DirectoryPath, "TweenConf.xml"))
+            If Not fileConf.Exists Then Return Nothing
+            Using reader As XmlReader = XmlReader.Create(fileConf.FullName)
+                Dim config As SettingToConfig = DirectCast(New XmlSerializer(GetType(SettingToConfig)).Deserialize(reader), SettingToConfig)
+                config.ConfigurationFile = fileConf
+                Return config
+            End Using
+        End SyncLock
+    End Function
+
+    Public Shadows Sub Save()
+        Dim cnt As Integer = 0
+        Do
+            Try
+                MyBase.Save()
+                Exit Do
+            Catch ex As IOException
+                If cnt = 1 Then Throw ex
+                Threading.Thread.Sleep(500)
+                cnt += 1
+            End Try
+        Loop While cnt < 2
+    End Sub
+
+    Public Property Tabs() As Dictionary(Of String, TabClass)
+        Get
+            Dim tconf As List(Of XmlConfiguration) = Nothing
+            tconf = GetValueOrDefault("tabs", New List(Of XmlConfiguration))
+            If tconf.Count = 0 Then
+                Dim tdic As New Dictionary(Of String, TabClass)
+                tdic.Add(DEFAULTTAB.RECENT, New TabClass(DEFAULTTAB.RECENT))
+                tdic.Add(DEFAULTTAB.REPLY, New TabClass(DEFAULTTAB.REPLY))
+                tdic.Add(DEFAULTTAB.DM, New TabClass(DEFAULTTAB.DM))
+                tdic.Add(DEFAULTTAB.FAV, New TabClass(DEFAULTTAB.FAV))
+                Return tdic
+            End If
+            Dim tbd As New Dictionary(Of String, TabClass)
+            For Each tc As XmlConfiguration In tconf
+                Dim name As String = tc.GetValueOrDefault("tabName", "")
+                If name = "" Then Exit For
+                Dim tb As New TabClass(name)
+                tb.Notify = tc.GetValueOrDefault("notify", True)
+                tb.SoundFile = tc.GetValueOrDefault("soundFile", "")
+                tb.UnreadManage = tc.GetValueOrDefault("unreadManage", True)
+                tb.Filters = Filters(tc.GetValueOrDefault("filters", New List(Of XmlConfiguration)))
+
+                tbd.Add(name, tb)
+            Next
+            Return tbd
+        End Get
+        Set(ByVal value As Dictionary(Of String, TabClass))
+            Dim tl As New List(Of XmlConfiguration)
+            For Each tn As String In value.Keys
+                Dim tcfg As New XmlConfiguration
+                tcfg.Item("tabName") = tn
+                tcfg.Item("notify") = value(tn).Notify
+                tcfg.Item("soundFile") = value(tn).SoundFile
+                tcfg.Item("unreadManage") = value(tn).UnreadManage
+                Dim fltrs As List(Of XmlConfiguration) = tcfg.GetValueOrDefault("filters", New List(Of XmlConfiguration))
+                Filters(fltrs) = value(tn).Filters
+                tcfg.Item("filters") = fltrs
+                tl.Add(tcfg)
+            Next
+            Item("tabs") = tl
+        End Set
+    End Property
+
+    Private Property Filters(ByVal fltConf As List(Of XmlConfiguration)) As List(Of FiltersClass)
+        Get
+            If fltConf.Count = 0 Then Return New List(Of FiltersClass)
+            Dim flt As New List(Of FiltersClass)
+            For Each fc As XmlConfiguration In fltConf
+                Dim ft As New FiltersClass
+                ft.BodyFilter = fc.GetValueOrDefault("bodyFilter", New List(Of String))
+                ft.MoveFrom = fc.GetValueOrDefault("moveFrom", False)
+                ft.NameFilter = fc.GetValueOrDefault("nameFilter", "")
+                ft.SearchBoth = fc.GetValueOrDefault("searchBoth", True)
+                ft.SearchUrl = fc.GetValueOrDefault("searchUrl", False)
+                ft.SetMark = fc.GetValueOrDefault("setMark", False)
+                ft.UseRegex = fc.GetValueOrDefault("useRegex", False)
+                flt.Add(ft)
+            Next
+            Return flt
+        End Get
+        Set(ByVal value As List(Of FiltersClass))
+            For Each ft As FiltersClass In value
+                Dim fc As New XmlConfiguration
+                fc.Item("bodyFilter") = ft.BodyFilter
+                fc.Item("moveFrom") = ft.MoveFrom
+                fc.Item("nameFilter") = ft.NameFilter
+                fc.Item("searchBoth") = ft.SearchBoth
+                fc.Item("searchUrl") = ft.SearchUrl
+                fc.Item("setMark") = ft.SetMark
+                fc.Item("useRegex") = ft.UseRegex
+                fltConf.Add(fc)
+            Next
+        End Set
+    End Property
+
+    Public Property UserName() As String
+        Get
+            Return GetValueOrDefault("userName", "")
+        End Get
+        Set(ByVal value As String)
+            Item("userName") = value
+        End Set
+    End Property
+
+    Public Property Password() As String
+        Get
+            Dim pwd As String = GetValueOrDefault("password", "")
+            If pwd.Length > 0 Then
+                Try
+                    pwd = DecryptString(pwd)
+                Catch ex As Exception
+                    pwd = ""
+                End Try
+            End If
+            Return pwd
+        End Get
+        Set(ByVal value As String)
+            Dim pwd As String = value.Trim()
+            If pwd.Length > 0 Then
+                Try
+                    Item("password") = EncryptString(value)
+                Catch ex As Exception
+                    Item("password") = ""
+                End Try
+            Else
+                Item("password") = ""
+            End If
+        End Set
+    End Property
+
+    Public Property FormLocation() As Point
+        Get
+            Return GetValueOrDefault("formPosition", New Point(0, 0))
+        End Get
+        Set(ByVal value As Point)
+            Item("formPosition") = value
+        End Set
+    End Property
+
+    Public Property SplitterDistance() As Integer
+        Get
+            Return GetValueOrDefault("splitterDistance", 320)
+        End Get
+        Set(ByVal value As Integer)
+            Item("splitterDistance") = value
+        End Set
+    End Property
+
+    Public Property FormSize() As Size
+        Get
+            Return GetValueOrDefault("formSize", New Size(436, 476))
+        End Get
+        Set(ByVal value As Size)
+            Item("formSize") = value
+        End Set
+    End Property
+
+    Public Property NextPageThreshold() As Integer
+        Get
+            Return GetValueOrDefault("nextPageThreshold", 20)
+        End Get
+        Set(ByVal value As Integer)
+            Item("nextPageThreshold") = value
+        End Set
+    End Property
+
+    Public Property NextPages() As Integer
+        Get
+            Return GetValueOrDefault("nextPages", 1)
+        End Get
+        Set(ByVal value As Integer)
+            Item("nextPages") = value
+        End Set
+    End Property
+
+    Public Property TimelinePeriod() As Integer
+        Get
+            Return GetValueOrDefault("timelinePeriod", 90)
+        End Get
+        Set(ByVal value As Integer)
+            Item("timelinePeriod") = value
+        End Set
+    End Property
+
+    Public Property ReplyPeriod() As Integer
+        Get
+            Return GetValueOrDefault("replyPeriod", 600)
+        End Get
+        Set(ByVal value As Integer)
+            Item("replyPeriod") = value
+        End Set
+    End Property
+
+    Public Property DMPeriod() As Integer
+        Get
+            Return GetValueOrDefault("dmPeriod", 600)
+        End Get
+        Set(ByVal value As Integer)
+            Item("dmPeriod") = value
+        End Set
+    End Property
+
+    Public Property ReadPages() As Integer
+        Get
+            Return GetValueOrDefault("readPages", 1)
+        End Get
+        Set(ByVal value As Integer)
+            Item("readPages") = value
+        End Set
+    End Property
+
+    Public Property ReadPagesReply() As Integer
+        Get
+            Return GetValueOrDefault("readPagesReply", 1)
+        End Get
+        Set(ByVal value As Integer)
+            Item("readPagesReply") = value
+        End Set
+    End Property
+
+    Public Property ReadPagesDM() As Integer
+        Get
+            Return GetValueOrDefault("readPagesDm", 1)
+        End Get
+        Set(ByVal value As Integer)
+            Item("readPagesDm") = value
+        End Set
+    End Property
+
+    Public Property MaxPostNum() As Integer
+        Get
+            Return GetValueOrDefault("maxPostNum", 125)
+        End Get
+        Set(ByVal value As Integer)
+            Item("maxPostNum") = value
+        End Set
+    End Property
+
+    Public Property Read() As Boolean
+        Get
+            Return GetValueOrDefault("startupRead", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("startupRead") = value
+        End Set
+    End Property
+
+    Public Property ListLock() As Boolean
+        Get
+            Return GetValueOrDefault("listLock", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("listLock") = value
+        End Set
+    End Property
+
+    Public Property IconSize() As IconSizes
+        Get
+            Return GetValueOrDefault("listIconSize", IconSizes.Icon16)
+        End Get
+        Set(ByVal value As IconSizes)
+            Item("listIconSize") = value
+        End Set
+    End Property
+
+    Public Property NewAllPop() As Boolean
+        Get
+            Return GetValueOrDefault("newAllPop", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("newAllPop") = value
+        End Set
+    End Property
+
+    Public Property StatusText() As String
+        Get
+            Return GetValueOrDefault("statusText", "")
+        End Get
+        Set(ByVal value As String)
+            Item("statusText") = value
+        End Set
+    End Property
+
+    Public Property PlaySound() As Boolean
+        Get
+            Return GetValueOrDefault("playSound", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("playSound") = value
+        End Set
+    End Property
+
+    Public Property UnreadManage() As Boolean
+        Get
+            Return GetValueOrDefault("unreadManage", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("unreadManage") = value
+        End Set
+    End Property
+
+    Public Property OneWayLove() As Boolean
+        Get
+            Return GetValueOrDefault("oneWayLove", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("oneWayLove") = value
+        End Set
+    End Property
+
+    Public Property FontUnread() As System.Drawing.Font
+        Get
+            Dim fc As New FontConverter
+            Dim f2str As String = fc.ConvertToString(New Font(System.Drawing.SystemFonts.DefaultFont, FontStyle.Bold Or FontStyle.Underline))
+            Return DirectCast(fc.ConvertFromString(GetValueOrDefault("fontUnread", f2str)), Font)
+        End Get
+        Set(ByVal value As Font)
+            Dim fc As New FontConverter
+            Item("fontUnread") = fc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorUnread() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(System.Drawing.SystemColors.ControlText)
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorUnread", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorUnread") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property FontRead() As Font
+        Get
+            Dim fc As New FontConverter
+            Dim f2str As String = fc.ConvertToString(System.Drawing.SystemFonts.DefaultFont)
+            Return DirectCast(fc.ConvertFromString(GetValueOrDefault("fontRead", f2str)), Font)
+        End Get
+        Set(ByVal value As Font)
+            Dim fc As New FontConverter
+            Item("fontRead") = fc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorRead() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(System.Drawing.KnownColor.Gray))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorRead", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorRead") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorFav() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.Red))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorFav", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorFav") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorOWL() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.Blue))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorOwl", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorOwl") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property FontDetail() As Font
+        Get
+            Dim fc As New FontConverter
+            Dim f2str As String = fc.ConvertToString(System.Drawing.SystemFonts.DefaultFont)
+            Return DirectCast(fc.ConvertFromString(GetValueOrDefault("fontDetail", f2str)), Font)
+        End Get
+        Set(ByVal value As Font)
+            Dim fc As New FontConverter
+            Item("fontDetail") = fc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorSelf() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.AliceBlue))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorSelf", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorSelf") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorAtSelf() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.AntiqueWhite))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorAtSelf", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorAtSelf") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorTarget() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.LemonChiffon))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorTarget", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorTarget") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorAtTarget() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.LavenderBlush))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorAtTarget", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorAtTarget") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorAtFromTarget() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.Honeydew))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorAtFromTarget", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorAtFromTarget") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorInputBackcolor() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.LemonChiffon)
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorInputBackcolor", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorInputBackcolor") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property ColorInputFont() As Color
+        Get
+            Dim cc As New ColorConverter
+            Dim c2str As String = cc.ConvertToString(Color.FromKnownColor(KnownColor.ControlText))
+            Return DirectCast(cc.ConvertFromString(GetValueOrDefault("colorInputFont", c2str)), Color)
+        End Get
+        Set(ByVal value As Color)
+            Dim cc As New ColorConverter
+            Item("colorInputFont") = cc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property FontInputFont() As Font
+        Get
+            Dim fc As New FontConverter
+            Dim f2str As String = fc.ConvertToString(System.Drawing.SystemFonts.DefaultFont)
+            Return DirectCast(fc.ConvertFromString(GetValueOrDefault("fontInputFont", f2str)), Font)
+        End Get
+        Set(ByVal value As Font)
+            Dim fc As New FontConverter
+            Item("fontInputFont") = fc.ConvertToString(value)
+        End Set
+    End Property
+
+    Public Property NameBalloon() As NameBalloonEnum
+        Get
+            Return GetValueOrDefault("nameBalloon", NameBalloonEnum.NickName)
+        End Get
+        Set(ByVal value As NameBalloonEnum)
+            Item("nameBalloon") = value
+        End Set
+    End Property
+
+    Public Property Width1() As Integer
+        Get
+            Return GetValueOrDefault("width1", 48)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width1") = value
+        End Set
+    End Property
+
+    Public Property Width2() As Integer
+        Get
+            Return GetValueOrDefault("width2", 80)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width2") = value
+        End Set
+    End Property
+
+    Public Property Width3() As Integer
+        Get
+            Return GetValueOrDefault("width3", 290)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width3") = value
+        End Set
+    End Property
+
+    Public Property Width4() As Integer
+        Get
+            Return GetValueOrDefault("width4", 120)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width4") = value
+        End Set
+    End Property
+
+    Public Property Width5() As Integer
+        Get
+            Return GetValueOrDefault("width5", 50)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width5") = value
+        End Set
+    End Property
+
+    Public Property Width6() As Integer
+        Get
+            Return GetValueOrDefault("width6", 16)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width6") = value
+        End Set
+    End Property
+
+    Public Property Width7() As Integer
+        Get
+            Return GetValueOrDefault("width7", 32)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width7") = value
+        End Set
+    End Property
+
+    Public Property Width8() As Integer
+        Get
+            Return GetValueOrDefault("width8", 50)
+        End Get
+        Set(ByVal value As Integer)
+            Item("width8") = value
+        End Set
+    End Property
+
+    Public Property SortColumn() As Integer
+        Get
+            Return GetValueOrDefault("sortColumn", 3)
+        End Get
+        Set(ByVal value As Integer)
+            Item("sortColumn") = value
+        End Set
+    End Property
+
+    Public Property SortOrder() As Integer
+        Get
+            Return GetValueOrDefault("sortOrder", 1)
+        End Get
+        Set(ByVal value As Integer)
+            Item("sortOrder") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex1() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex1", 0)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex1") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex2() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex2", 1)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex2") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex3() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex3", 2)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex3") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex4() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex4", 3)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex4") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex5() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex5", 4)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex5") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex6() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex6", 5)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex6") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex7() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex7", 6)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex7") = value
+        End Set
+    End Property
+
+    Public Property DisplayIndex8() As Integer
+        Get
+            Return GetValueOrDefault("displayIndex8", 7)
+        End Get
+        Set(ByVal value As Integer)
+            Item("displayIndex8") = value
+        End Set
+    End Property
+
+    Public Property PostCtrlEnter() As Boolean
+        Get
+            Return GetValueOrDefault("postCtrlEnter", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("postCtrlEnter") = value
+        End Set
+    End Property
+
+    Public Property UseAPI() As Boolean
+        Get
+            Return GetValueOrDefault("useApi", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("useApi") = value
+        End Set
+    End Property
+
+    Public Property UsePostMethod() As Boolean
+        Get
+            'Return GetValueOrDefault("usePostMethod", False)
+            Return False
+        End Get
+        Set(ByVal value As Boolean)
+            Item("usePostMethod") = False
+        End Set
+    End Property
+
+    Public Property CountApi() As Integer
+        Get
+            Return GetValueOrDefault("countApi", 60)
+        End Get
+        Set(ByVal value As Integer)
+            Item("countApi") = value
+        End Set
+    End Property
+
+    Public Property CheckReply() As Boolean
+        Get
+            Return GetValueOrDefault("checkReply", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("checkReply") = value
+        End Set
+    End Property
+
+    Public Property PostAndGet() As Boolean
+        Get
+            Return GetValueOrDefault("postAndGet", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("postAndGet") = value
+        End Set
+    End Property
+
+    Public Property UseRecommendStatus() As Boolean
+        Get
+            Return GetValueOrDefault("useRecommendStatus", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("useRecommendStatus") = value
+        End Set
+    End Property
+
+    Public Property DispUsername() As Boolean
+        Get
+            Return GetValueOrDefault("dispUsername", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("dispUsername") = value
+        End Set
+    End Property
+
+    Public Property MinimizeToTray() As Boolean
+        Get
+            Return GetValueOrDefault("minimizeToTray", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("minimizeToTray") = value
+        End Set
+    End Property
+
+    Public Property CloseToExit() As Boolean
+        Get
+            Return GetValueOrDefault("closeToExit", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("closeToExit") = value
+        End Set
+    End Property
+
+    Public Property DispLatestPost() As DispTitleEnum
+        Get
+            Return GetValueOrDefault("dispLatestPost", DispTitleEnum.Post)
+        End Get
+        Set(ByVal value As DispTitleEnum)
+            Item("dispLatestPost") = value
+        End Set
+    End Property
+
+    Public Property HubServer() As String
+        Get
+            Return GetValueOrDefault("hubServer", "twitter.com")
+        End Get
+        Set(ByVal value As String)
+            Item("hubServer") = value
+        End Set
+    End Property
+
+    Public Property BrowserPath() As String
+        Get
+            Return GetValueOrDefault("browserPath", "")
+        End Get
+        Set(ByVal value As String)
+            Item("browserPath") = value
+        End Set
+    End Property
+
+    Public Property SortOrderLock() As Boolean
+        Get
+            Return GetValueOrDefault("sortOrderLock", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("sortOrderLock") = value
+        End Set
+    End Property
+
+    Public Property TinyURLResolve() As Boolean
+        Get
+            Return GetValueOrDefault("tinyurlResolve", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("tinyurlResolve") = value
+        End Set
+    End Property
+
+    Public Property ProxyType() As ProxyTypeEnum
+        Get
+            Return GetValueOrDefault("proxyType", ProxyTypeEnum.IE)
+        End Get
+        Set(ByVal value As ProxyTypeEnum)
+            Item("proxyType") = value
+        End Set
+    End Property
+
+    Public Property ProxyAddress() As String
+        Get
+            Return GetValueOrDefault("proxyAddress", "127.0.0.1")
+        End Get
+        Set(ByVal value As String)
+            Item("proxyAddress") = value
+        End Set
+    End Property
+
+    Public Property ProxyPort() As Integer
+        Get
+            Return GetValueOrDefault("proxyPort", 80)
+        End Get
+        Set(ByVal value As Integer)
+            Item("proxyPort") = value
+        End Set
+    End Property
+
+    Public Property ProxyUser() As String
+        Get
+            Return GetValueOrDefault("proxyUser", "")
+        End Get
+        Set(ByVal value As String)
+            Item("proxyUser") = value
+        End Set
+    End Property
+
+    Public Property ProxyPassword() As String
+        Get
+            Dim pwd As String = GetValueOrDefault("proxyPassword", "")
+            If pwd.Length > 0 Then
+                Try
+                    pwd = DecryptString(pwd)
+                Catch ex As Exception
+                    pwd = ""
+                End Try
+            End If
+            Return pwd
+        End Get
+        Set(ByVal value As String)
+            Dim pwd As String = value.Trim()
+            If pwd.Length > 0 Then
+                Try
+                    Item("proxyPassword") = EncryptString(pwd)
+                Catch ex As Exception
+                    Item("proxyPassword") = ""
+                End Try
+            Else
+                Item("proxyPassword") = ""
+            End If
+        End Set
+    End Property
+
+    Public Property PeriodAdjust() As Boolean
+        Get
+            Return GetValueOrDefault("periodAdjust", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("periodAdjust") = value
+        End Set
+    End Property
+
+    Public Property StartupVersion() As Boolean
+        Get
+            Return GetValueOrDefault("startupVersion", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("startupVersion") = value
+        End Set
+    End Property
+
+    Public Property StartupKey() As Boolean
+        Get
+            Return GetValueOrDefault("startupKey", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("startupKey") = value
+        End Set
+    End Property
+
+    Public Property StartupFollowers() As Boolean
+        Get
+            Return GetValueOrDefault("startupFollowers", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("startupFollowers") = value
+        End Set
+    End Property
+
+    Public Property StartupAPImodeNoWarning() As Boolean
+        Get
+            Return GetValueOrDefault("startupAPImodeNoWarning", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("startupAPImodeNoWarning") = value
+        End Set
+    End Property
+
+    Public Property RestrictFavCheck() As Boolean
+        Get
+            Return GetValueOrDefault("restrictFavCheck", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("restrictFavCheck") = value
+        End Set
+    End Property
+
+    Public Property AlwaysTop() As Boolean
+        Get
+            Return GetValueOrDefault("alwaysTop", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("alwaysTop") = value
+        End Set
+    End Property
+
+    Public Property StatusMultiline() As Boolean
+        Get
+            Return GetValueOrDefault("statusMultiline", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("statusMultiline") = value
+        End Set
+    End Property
+
+    Public Property StatusTextHeight() As Integer
+        Get
+            Return GetValueOrDefault("statusTextHeight", 38)
+        End Get
+        Set(ByVal value As Integer)
+            Item("statusTextHeight") = value
+        End Set
+    End Property
+
+    Public Property cultureCode() As String
+        Get
+            Return GetValueOrDefault("cultureCode", "")
+        End Get
+        Set(ByVal value As String)
+            Item("cultureCode") = value
+        End Set
+    End Property
+
+    Public Property UrlConvertAuto() As Boolean
+        Get
+            Return GetValueOrDefault("urlConvertAuto", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("urlConvertAuto") = value
+        End Set
+    End Property
+
+    Public Property Outputz() As Boolean
+        Get
+            Return GetValueOrDefault("outputz", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("outputz") = value
+        End Set
+    End Property
+
+    Public Property OutputzKey() As String
+        Get
+            Dim key As String = GetValueOrDefault("outputzKey", "")
+            If key.Length > 0 Then
+                Try
+                    key = DecryptString(key)
+                Catch ex As Exception
+                    key = ""
+                End Try
+            End If
+            Return key
+        End Get
+        Set(ByVal value As String)
+            Dim key As String = value.Trim()
+            If key.Length > 0 Then
+                Try
+                    Item("outputzKey") = EncryptString(key)
+                Catch ex As Exception
+                    Item("outputzKey") = ""
+                End Try
+            Else
+                Item("outputzKey") = ""
+            End If
+        End Set
+    End Property
+
+    Public Property AutoShortUrlFirst() As UrlConverter
+        Get
+            Return GetValueOrDefault("AutoShortUrlFirst", UrlConverter.Bitly)
+        End Get
+        Set(ByVal value As UrlConverter)
+            Item("AutoShortUrlFirst") = value
+        End Set
+    End Property
+
+    Public Property OutputzUrlmode() As OutputzUrlmode
+        Get
+            Return GetValueOrDefault("outputzUrlMode", OutputzUrlmode.twittercom)
+        End Get
+        Set(ByVal value As OutputzUrlmode)
+            Item("outputzUrlMode") = value
+        End Set
+    End Property
+    Public Property UseUnreadStyle() As Boolean
+        Get
+            Return GetValueOrDefault("useUnreadStyle", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("useUnreadStyle") = value
+        End Set
+    End Property
+
+    Public Property DateTimeFormat() As String
+        Get
+            Return GetValueOrDefault("datetimeFormat", "yyyy/MM/dd H:mm:ss")
+        End Get
+        Set(ByVal value As String)
+            Item("datetimeFormat") = value
+        End Set
+    End Property
+
+    Public Property DefaultTimeOut() As Integer
+        Get
+            Return GetValueOrDefault("defaultTimeout", 20)
+        End Get
+        Set(ByVal value As Integer)
+            Item("defaultTimeout") = value
+        End Set
+    End Property
+
+    Public Property ProtectNotInclude() As Boolean
+        Get
+            Return GetValueOrDefault("protectNotInclude", True)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("protectNotInclude") = value
+        End Set
+    End Property
+
+    Public Property LimitBalloon() As Boolean
+        Get
+            Return GetValueOrDefault("limitBalloon", False)
+        End Get
+        Set(ByVal value As Boolean)
+            Item("limitBalloon") = value
+        End Set
+    End Property
+End Class
diff --git a/Tween/ShieldIcon.vb b/Tween/ShieldIcon.vb
new file mode 100644 (file)
index 0000000..ded1e11
--- /dev/null
@@ -0,0 +1,88 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Runtime.InteropServices
+Imports System
+
+
+Public Class ShieldIcon
+
+
+    <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> _
+    Private Structure SHSTOCKICONINFO
+        Public cbSize As Integer
+        Public hIcon As IntPtr
+        Public iSysImageIndex As Integer
+        Public iIcon As Integer
+        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
+        Public szPath As String
+    End Structure
+
+    Private Declare Function SHGetStockIconInfo Lib "shell32.dll" (ByVal siid As Integer, ByVal uFlags As UInteger, ByRef psii As SHSTOCKICONINFO) As Integer
+
+    Private Declare Function DestroyIcon Lib "shell32.dll" (ByVal hIcon As IntPtr) As Boolean
+
+
+    Const SIID_SHIELD As Integer = 77
+    Const SHGFI_ICON As UInteger = &H100
+    Const SHGFI_SMALLICON As UInteger = &H1
+
+
+    Private icondata As Image = Nothing
+    Private sii As SHSTOCKICONINFO
+
+
+    Public Sub New()
+        'NT6 kernelかどうか検査
+        If Not IsNT6() Then
+            icondata = Nothing
+            Return
+        End If
+
+        Try
+            sii = New SHSTOCKICONINFO
+            sii.cbSize = Marshal.SizeOf(sii)
+            sii.hIcon = IntPtr.Zero
+            SHGetStockIconInfo(SIID_SHIELD, SHGFI_ICON Or SHGFI_SMALLICON, sii)
+            icondata = Bitmap.FromHicon(sii.hIcon)
+        Catch ex As Exception
+            icondata = Nothing
+        End Try
+        Return
+    End Sub
+
+    Public Sub Dispose()
+        If icondata IsNot Nothing Then
+            icondata.Dispose()
+        End If
+    End Sub
+
+    Public ReadOnly Property Icon() As Image
+        Get
+            'Return icondata
+            'シールドアイコンのデータを返さないように あとでどうにかする
+            Return Nothing
+        End Get
+    End Property
+
+End Class
diff --git a/Tween/StatusDictionary.vb b/Tween/StatusDictionary.vb
new file mode 100644 (file)
index 0000000..670eddc
--- /dev/null
@@ -0,0 +1,2003 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Collections.Generic
+Imports System.Collections.ObjectModel
+Imports Tween.TweenCustomControl
+Imports System.Text.RegularExpressions
+
+
+Public NotInheritable Class PostClass
+    Private _Nick As String
+    Private _Data As String
+    Private _ImageUrl As String
+    Private _Name As String
+    Private _PDate As Date
+    Private _Id As Long
+    Private _IsFav As Boolean
+    Private _OrgData As String
+    Private _IsRead As Boolean
+    Private _IsReply As Boolean
+    Private _IsProtect As Boolean
+    Private _IsOWL As Boolean
+    Private _IsMark As Boolean
+    Private _InReplyToUser As String
+    Private _InReplyToId As Long
+    Private _Source As String
+    Private _ReplyToList As New List(Of String)
+    Private _IsMe As Boolean
+    Private _ImageIndex As Integer
+    Private _IsDm As Boolean
+    Private _statuses As Statuses = Statuses.None
+    Private _Uid As Long
+    Private _FilterHit As Boolean
+
+    <FlagsAttribute()> _
+    Private Enum Statuses
+        None = 0
+        Protect = 1
+        Mark = 2
+        Read = 4
+        Reply = 8
+    End Enum
+
+    Public Sub New(ByVal Nickname As String, _
+            ByVal Data As String, _
+            ByVal OriginalData As String, _
+            ByVal ImageUrl As String, _
+            ByVal Name As String, _
+            ByVal PDate As Date, _
+            ByVal Id As Long, _
+            ByVal IsFav As Boolean, _
+            ByVal IsRead As Boolean, _
+            ByVal IsReply As Boolean, _
+            ByVal IsProtect As Boolean, _
+            ByVal IsOwl As Boolean, _
+            ByVal IsMark As Boolean, _
+            ByVal InReplyToUser As String, _
+            ByVal InReplyToId As Long, _
+            ByVal Source As String, _
+            ByVal ReplyToList As List(Of String), _
+            ByVal IsMe As Boolean, _
+            ByVal ImageIndex As Integer, _
+            ByVal IsDm As Boolean, _
+            ByVal Uid As Long, _
+            ByVal FilterHit As Boolean)
+        _Nick = Nickname
+        _Data = Data
+        _ImageUrl = ImageUrl
+        _Name = Name
+        _PDate = PDate
+        _Id = Id
+        _IsFav = IsFav
+        _OrgData = OriginalData
+        _IsRead = IsRead
+        _IsReply = IsReply
+        _IsProtect = IsProtect
+        _IsOWL = IsOwl
+        _IsMark = IsMark
+        _InReplyToUser = InReplyToUser
+        _InReplyToId = InReplyToId
+        _Source = Source
+        _ReplyToList = ReplyToList
+        _IsMe = IsMe
+        _ImageIndex = ImageIndex
+        _IsDm = IsDm
+        _Uid = Uid
+        _FilterHit = FilterHit
+    End Sub
+
+    Public Sub New()
+    End Sub
+
+    Public Property Nickname() As String
+        Get
+            Return _Nick
+        End Get
+        Set(ByVal value As String)
+            _Nick = value
+        End Set
+    End Property
+    Public Property Data() As String
+        Get
+            Return _Data
+        End Get
+        Set(ByVal value As String)
+            _Data = value
+        End Set
+    End Property
+    Public Property ImageUrl() As String
+        Get
+            Return _ImageUrl
+        End Get
+        Set(ByVal value As String)
+            _ImageUrl = value
+        End Set
+    End Property
+    Public Property Name() As String
+        Get
+            Return _Name
+        End Get
+        Set(ByVal value As String)
+            _Name = value
+        End Set
+    End Property
+    Public Property PDate() As Date
+        Get
+            Return _PDate
+        End Get
+        Set(ByVal value As Date)
+            _PDate = value
+        End Set
+    End Property
+    Public Property Id() As Long
+        Get
+            Return _Id
+        End Get
+        Set(ByVal value As Long)
+            _Id = value
+        End Set
+    End Property
+    Public Property IsFav() As Boolean
+        Get
+            Return _IsFav
+        End Get
+        Set(ByVal value As Boolean)
+            _IsFav = value
+        End Set
+    End Property
+    Public Property OriginalData() As String
+        Get
+            Return _OrgData
+        End Get
+        Set(ByVal value As String)
+            _OrgData = value
+        End Set
+    End Property
+    Public Property IsRead() As Boolean
+        Get
+            Return _IsRead
+        End Get
+        Set(ByVal value As Boolean)
+            If value Then
+                _statuses = _statuses Or Statuses.Read
+            Else
+                _statuses = _statuses And Not Statuses.Read
+            End If
+            _IsRead = value
+        End Set
+    End Property
+    Public Property IsReply() As Boolean
+        Get
+            Return _IsReply
+        End Get
+        Set(ByVal value As Boolean)
+            _IsReply = value
+        End Set
+    End Property
+    Public Property IsProtect() As Boolean
+        Get
+            Return _IsProtect
+        End Get
+        Set(ByVal value As Boolean)
+            If value Then
+                _statuses = _statuses Or Statuses.Protect
+            Else
+                _statuses = _statuses And Not Statuses.Protect
+            End If
+            _IsProtect = value
+        End Set
+    End Property
+    Public Property IsOwl() As Boolean
+        Get
+            Return _IsOWL
+        End Get
+        Set(ByVal value As Boolean)
+            _IsOWL = value
+        End Set
+    End Property
+    Public Property IsMark() As Boolean
+        Get
+            Return _IsMark
+        End Get
+        Set(ByVal value As Boolean)
+            If value Then
+                _statuses = _statuses Or Statuses.Mark
+            Else
+                _statuses = _statuses And Not Statuses.Mark
+            End If
+            _IsMark = value
+        End Set
+    End Property
+    Public Property InReplyToUser() As String
+        Get
+            Return _InReplyToUser
+        End Get
+        Set(ByVal value As String)
+            _InReplyToUser = value
+        End Set
+    End Property
+    Public Property InReplyToId() As Long
+        Get
+            Return _InReplyToId
+        End Get
+        Set(ByVal value As Long)
+            _InReplyToId = value
+        End Set
+    End Property
+    Public Property Source() As String
+        Get
+            Return _Source
+        End Get
+        Set(ByVal value As String)
+            _Source = value
+        End Set
+    End Property
+    Public Property ReplyToList() As List(Of String)
+        Get
+            Return _ReplyToList
+        End Get
+        Set(ByVal value As List(Of String))
+            _ReplyToList = value
+        End Set
+    End Property
+    Public Property IsMe() As Boolean
+        Get
+            Return _IsMe
+        End Get
+        Set(ByVal value As Boolean)
+            _IsMe = value
+        End Set
+    End Property
+    Public Property ImageIndex() As Integer
+        Get
+            Return _ImageIndex
+        End Get
+        Set(ByVal value As Integer)
+            _ImageIndex = value
+        End Set
+    End Property
+    Public Property IsDm() As Boolean
+        Get
+            Return _IsDm
+        End Get
+        Set(ByVal value As Boolean)
+            _IsDm = value
+        End Set
+    End Property
+    Public ReadOnly Property StatusIndex() As Integer
+        Get
+            Return _statuses
+        End Get
+    End Property
+    Public Property Uid() As Long
+        Get
+            Return _Uid
+        End Get
+        Set(ByVal value As Long)
+            _Uid = value
+        End Set
+    End Property
+    Public Property FilterHit() As Boolean
+        Get
+            Return _FilterHit
+        End Get
+        Set(ByVal value As Boolean)
+            _FilterHit = value
+        End Set
+    End Property
+End Class
+
+Public NotInheritable Class TabInformations
+    '個別タブの情報をDictionaryで保持
+    Private _sorter As IdComparerClass
+    Private _tabs As New Dictionary(Of String, TabClass)
+    Private _statuses As Dictionary(Of Long, PostClass) = New Dictionary(Of Long, PostClass)
+    Private _addedIds As List(Of Long)
+    'Private _editMode As EDITMODE
+
+    '発言の追加
+    'AddPost(複数回) -> DistributePosts          -> SubmitUpdate
+
+    'トランザクション用
+    Private _addCount As Integer
+    Private _soundFile As String
+    Private _notifyPosts As List(Of PostClass)
+    Private ReadOnly LockObj As New Object
+    Private ReadOnly LockUnread As New Object
+
+    Private Shared _instance As TabInformations = New TabInformations
+
+    Public Enum EDITMODE
+        Post
+        Dm
+    End Enum
+
+    Private Sub New()
+        _sorter = New IdComparerClass(Me)
+    End Sub
+
+    Public Shared Function GetInstance() As TabInformations
+        Return _instance    'singleton
+    End Function
+
+    Public Sub AddTab(ByVal TabName As String, ByVal TabType As TabUsageType)
+        _tabs.Add(TabName, New TabClass(TabName, TabType))
+    End Sub
+
+    Public Sub AddTab(ByVal TabName As String, ByVal Tab As TabClass)
+        _tabs.Add(TabName, Tab)
+    End Sub
+
+    Public Sub RemoveTab(ByVal TabName As String)
+        SyncLock LockObj
+            If IsDefaultTab(TabName) Then Exit Sub '念のため
+            Dim homeTab As TabClass = GetTabByType(TabUsageType.Home)
+            Dim dmName As String = GetTabByType(TabUsageType.DirectMessage).TabName
+
+            For idx As Integer = 0 To _tabs(TabName).AllCount - 1
+                Dim exist As Boolean = False
+                Dim Id As Long = _tabs(TabName).GetId(idx)
+                For Each key As String In _tabs.Keys
+                    If Not key = TabName AndAlso key <> dmName Then
+                        If _tabs(key).Contains(Id) Then
+                            exist = True
+                            Exit For
+                        End If
+                    End If
+                Next
+                If Not exist Then homeTab.Add(Id, _statuses(Id).IsRead, False)
+            Next
+
+            _tabs.Remove(TabName)
+        End SyncLock
+    End Sub
+
+    Public Function ContainsTab(ByVal TabText As String) As Boolean
+        Return _tabs.ContainsKey(TabText)
+    End Function
+
+    Public Function ContainsTab(ByVal ts As TabClass) As Boolean
+        Return _tabs.ContainsValue(ts)
+    End Function
+
+    Public Property Tabs() As Dictionary(Of String, TabClass)
+        Get
+            Return _tabs
+        End Get
+        Set(ByVal value As Dictionary(Of String, TabClass))
+            _tabs = value
+        End Set
+    End Property
+
+    Public ReadOnly Property KeysTab() As Collections.Generic.Dictionary(Of String, TabClass).KeyCollection
+        Get
+            Return _tabs.Keys
+        End Get
+    End Property
+
+    Public Sub SortPosts()
+        For Each key As String In _tabs.Keys
+            _tabs(key).Sort(_sorter)
+        Next
+    End Sub
+
+    Public ReadOnly Property Sorter() As IdComparerClass
+        Get
+            Return _sorter
+        End Get
+    End Property
+
+    Public Property SortOrder() As SortOrder
+        Get
+            Return _sorter.Order
+        End Get
+        Set(ByVal value As SortOrder)
+            _sorter.Order = value
+        End Set
+    End Property
+
+    Public Property SortMode() As IdComparerClass.ComparerMode
+        Get
+            Return _sorter.Mode
+        End Get
+        Set(ByVal value As IdComparerClass.ComparerMode)
+            _sorter.Mode = value
+        End Set
+    End Property
+
+    Public Sub ToggleSortOrder(ByVal SortMode As IdComparerClass.ComparerMode)
+        If _sorter.Mode = SortMode Then
+            If _sorter.Order = Windows.Forms.SortOrder.Ascending Then
+                _sorter.Order = Windows.Forms.SortOrder.Descending
+            Else
+                _sorter.Order = Windows.Forms.SortOrder.Ascending
+            End If
+        Else
+            _sorter.Mode = SortMode
+            _sorter.Order = Windows.Forms.SortOrder.Ascending
+        End If
+        Me.SortPosts()
+    End Sub
+
+    Public Sub RemovePost(ByVal Name As String, ByVal Id As Long)
+        SyncLock LockObj
+            Dim post As PostClass = _statuses(Id)
+            '指定タブから該当ID削除
+            Dim tab As TabClass = _tabs(Name)
+            If tab.Contains(Id) Then
+                If tab.UnreadManage AndAlso Not post.IsRead Then    '未読管理
+                    SyncLock LockUnread
+                        tab.UnreadCount -= 1
+                        Me.SetNextUnreadId(Id, tab)
+                    End SyncLock
+                End If
+                tab.Remove(Id)
+            End If
+        End SyncLock
+    End Sub
+
+    Public Sub RemovePost(ByVal Id As Long)
+        SyncLock LockObj
+            Dim post As PostClass = _statuses(Id)
+            '各タブから該当ID削除
+            For Each key As String In _tabs.Keys
+                Dim tab As TabClass = _tabs(key)
+                If tab.Contains(Id) Then
+                    If tab.UnreadManage AndAlso Not post.IsRead Then    '未読管理
+                        SyncLock LockUnread
+                            tab.UnreadCount -= 1
+                            Me.SetNextUnreadId(Id, tab)
+                        End SyncLock
+                    End If
+                    tab.Remove(Id)
+                End If
+            Next
+            _statuses.Remove(Id)
+        End SyncLock
+    End Sub
+
+    Public Function GetOldestUnreadId(ByVal TabName As String) As Integer
+        Dim tb As TabClass = _tabs(TabName)
+        If tb.OldestUnreadId > -1 AndAlso _
+           tb.Contains(tb.OldestUnreadId) AndAlso _
+           tb.UnreadCount > 0 Then
+            '未読アイテムへ
+            If _statuses.Item(tb.OldestUnreadId).IsRead Then
+                '状態不整合(最古未読IDが実は既読)
+                SyncLock LockUnread
+                    Me.SetNextUnreadId(-1, tb)  '頭から探索
+                End SyncLock
+                If tb.OldestUnreadId = -1 Then
+                    Return -1
+                Else
+                    Return tb.IndexOf(tb.OldestUnreadId)
+                End If
+            Else
+                Return tb.IndexOf(tb.OldestUnreadId)    '最短経路
+            End If
+        Else
+            '一見未読なさそうだが、未読カウントはあるので探索
+            If tb.UnreadCount > 0 Then
+                SyncLock LockUnread
+                    Me.SetNextUnreadId(-1, tb)
+                End SyncLock
+                If tb.OldestUnreadId = -1 Then
+                    Return -1
+                Else
+                    Return tb.IndexOf(tb.OldestUnreadId)
+                End If
+            Else
+                Return -1
+            End If
+        End If
+    End Function
+
+    Private Sub SetNextUnreadId(ByVal CurrentId As Long, ByVal Tab As TabClass)
+        'CurrentID:今既読にしたID(OldestIDの可能性あり)
+        '最古未読が設定されていて、既読の場合(1発言以上存在)
+        If Tab.OldestUnreadId > -1 AndAlso _
+           _statuses.ContainsKey(Tab.OldestUnreadId) AndAlso _
+           _statuses.Item(Tab.OldestUnreadId).IsRead AndAlso _
+           _sorter.Mode = IdComparerClass.ComparerMode.Id Then     '次の未読探索
+            If Tab.UnreadCount = 0 Then
+                '未読数0→最古未読なし
+                Tab.OldestUnreadId = -1
+            ElseIf Tab.OldestUnreadId = CurrentId Then
+                '最古IDを既読にしたタイミング→次のIDから続けて探索
+                Dim idx As Integer = Tab.IndexOf(CurrentId)
+                If idx > -1 Then
+                    '続きから探索
+                    FindUnreadId(idx, Tab)
+                Else
+                    '頭から探索
+                    FindUnreadId(-1, Tab)
+                End If
+            Else
+                '頭から探索
+                FindUnreadId(-1, Tab)
+            End If
+        Else
+            '頭から探索
+            FindUnreadId(-1, Tab)
+        End If
+    End Sub
+
+    Private Sub FindUnreadId(ByVal StartIdx As Integer, ByVal Tab As TabClass)
+        If Tab.AllCount = 0 Then
+            Tab.OldestUnreadId = -1
+            Tab.UnreadCount = 0
+            Exit Sub
+        End If
+        Dim toIdx As Integer = 0
+        Dim stp As Integer = 1
+        Tab.OldestUnreadId = -1
+        If _sorter.Order = Windows.Forms.SortOrder.Ascending Then
+            If StartIdx = -1 Then
+                StartIdx = 0
+            Else
+                'StartIdx += 1
+                If StartIdx > Tab.AllCount - 1 Then StartIdx = Tab.AllCount - 1 '念のため
+            End If
+            toIdx = Tab.AllCount - 1
+            If toIdx < 0 Then toIdx = 0 '念のため
+            stp = 1
+        Else
+            If StartIdx = -1 Then
+                StartIdx = Tab.AllCount - 1
+            Else
+                'StartIdx -= 1
+            End If
+            If StartIdx < 0 Then StartIdx = 0 '念のため
+            toIdx = 0
+            stp = -1
+        End If
+        For i As Integer = StartIdx To toIdx Step stp
+            If Not _statuses(Tab.GetId(i)).IsRead Then
+                Tab.OldestUnreadId = Tab.GetId(i)
+                Exit For
+            End If
+        Next
+    End Sub
+
+    Public Function DistributePosts() As Integer
+        SyncLock LockObj
+            '戻り値は追加件数
+            If _addedIds Is Nothing Then Return 0
+            If _addedIds.Count = 0 Then Return 0
+
+            If _notifyPosts Is Nothing Then _notifyPosts = New List(Of PostClass)
+            Me.Distribute()    'タブに仮振分
+            _addCount = _addedIds.Count
+            _addedIds.Clear()
+            _addedIds = Nothing     '後始末
+            Return _addCount     '件数
+        End SyncLock
+    End Function
+
+    Public Function SubmitUpdate(ByRef soundFile As String, ByRef notifyPosts As PostClass()) As Integer
+        '注:メインスレッドから呼ぶこと
+        SyncLock LockObj
+            If _notifyPosts Is Nothing Then
+                soundFile = ""
+                notifyPosts = Nothing
+                Return 0
+            End If
+
+            For Each key As String In _tabs.Keys
+                _tabs(key).AddSubmit()  '振分確定(各タブに反映)
+            Next
+            Me.SortPosts()
+
+            soundFile = _soundFile
+            _soundFile = ""
+            notifyPosts = _notifyPosts.ToArray()
+            _notifyPosts.Clear()
+            _notifyPosts = Nothing
+            Dim retCnt As Integer = _addCount
+            _addCount = 0
+            Return retCnt    '件数(EndUpdateの戻り値と同じ)
+        End SyncLock
+    End Function
+
+    Private Sub Distribute()
+        '各タブのフィルターと照合。合致したらタブにID追加
+        '通知メッセージ用に、表示必要な発言リストと再生サウンドを返す
+        'notifyPosts = New List(Of PostClass)
+        Dim homeTab As TabClass = GetTabByType(TabUsageType.Home)
+        Dim replyTab As TabClass = GetTabByType(TabUsageType.Mentions)
+        Dim dmTab As TabClass = GetTabByType(TabUsageType.DirectMessage)
+        Dim favTab As TabClass = GetTabByType(TabUsageType.Favorites)
+        For Each id As Long In _addedIds
+            Dim post As PostClass = _statuses(id)
+            If Not post.IsDm Then
+                Dim add As Boolean = False  '通知リスト追加フラグ
+                Dim mv As Boolean = False   '移動フラグ(Recent追加有無)
+                For Each tn As String In _tabs.Keys
+                    Dim rslt As HITRESULT = _tabs(tn).AddFiltered(post.Id, post.IsRead, post.Name, post.Data, post.OriginalData)
+                    If rslt <> HITRESULT.None Then
+                        If rslt = HITRESULT.CopyAndMark Then post.IsMark = True 'マークあり
+                        If rslt = HITRESULT.Move Then
+                            mv = True '移動
+                            post.IsMark = False
+                        End If
+                        If _tabs(tn).Notify Then add = True '通知あり
+                        If Not _tabs(tn).SoundFile = "" AndAlso _soundFile = "" Then
+                            _soundFile = _tabs(tn).SoundFile 'wavファイル(未設定の場合のみ)
+                        End If
+                        post.FilterHit = True
+                    Else
+                        post.FilterHit = False
+                    End If
+                Next
+                If Not mv Then  '移動されなかったらRecentに追加
+                    homeTab.Add(post.Id, post.IsRead, True)
+                    If Not homeTab.SoundFile = "" AndAlso _soundFile = "" Then _soundFile = homeTab.SoundFile
+                    If homeTab.Notify Then add = True
+                End If
+                If post.IsReply Then    'ReplyだったらReplyタブに追加
+                    replyTab.Add(post.Id, post.IsRead, True)
+                    If Not replyTab.SoundFile = "" Then _soundFile = replyTab.SoundFile
+                    If replyTab.Notify Then add = True
+                End If
+                If post.IsFav Then    'Fav済み発言だったらFavoritesタブに追加
+                    If favTab.Contains(post.Id) Then
+                        '取得済みなら非通知
+                        _soundFile = ""
+                        add = False
+                    Else
+                        favTab.Add(post.Id, post.IsRead, True)
+                        If Not favTab.SoundFile = "" Then _soundFile = favTab.SoundFile
+                        If favTab.Notify Then add = True
+                    End If
+                End If
+                If add Then _notifyPosts.Add(post)
+            Else
+                dmTab.Add(post.Id, post.IsRead, True)
+                If dmTab.Notify Then _notifyPosts.Add(post)
+                _soundFile = dmTab.SoundFile
+            End If
+        Next
+    End Sub
+
+    Public Sub AddPost(ByVal Item As PostClass)
+        SyncLock LockObj
+            If _statuses.ContainsKey(Item.Id) Then
+                If Item.IsFav Then
+                    _statuses.Item(Item.Id).IsFav = True
+                Else
+                    Exit Sub        '追加済みなら何もしない
+                End If
+            Else
+                _statuses.Add(Item.Id, Item)    'DMと区別しない?
+            End If
+            If _addedIds Is Nothing Then _addedIds = New List(Of Long) 'タブ追加用IDコレクション準備
+            _addedIds.Add(Item.Id)
+        End SyncLock
+    End Sub
+
+    Public Sub SetRead(ByVal Read As Boolean, ByVal TabName As String, ByVal Index As Integer)
+        'Read:True=既読へ False=未読へ
+        Dim tb As TabClass = _tabs(TabName)
+
+        If tb.UnreadManage = False Then Exit Sub '未読管理していなければ終了
+
+        Dim Id As Long = tb.GetId(Index)
+
+        If _statuses(Id).IsRead = Read Then Exit Sub '状態変更なければ終了
+
+        _statuses(Id).IsRead = Read '指定の状態に変更
+
+        SyncLock LockUnread
+            If Read Then
+                tb.UnreadCount -= 1
+                Me.SetNextUnreadId(Id, tb)  '次の未読セット
+                '他タブの最古未読IDはタブ切り替え時に。
+                For Each key As String In _tabs.Keys
+                    If key <> TabName AndAlso _
+                       _tabs(key).UnreadManage AndAlso _
+                       _tabs(key).Contains(Id) Then
+                        _tabs(key).UnreadCount -= 1
+                        If _tabs(key).OldestUnreadId = Id Then _tabs(key).OldestUnreadId = -1
+                    End If
+                Next
+            Else
+                tb.UnreadCount += 1
+                If tb.OldestUnreadId > Id OrElse tb.OldestUnreadId = -1 Then tb.OldestUnreadId = Id
+                For Each key As String In _tabs.Keys
+                    If Not key = TabName AndAlso _tabs(key).UnreadManage AndAlso _tabs(key).Contains(Id) Then
+                        _tabs(key).UnreadCount += 1
+                        If _tabs(key).OldestUnreadId > Id Then _tabs(key).OldestUnreadId = Id
+                    End If
+                Next
+            End If
+        End SyncLock
+    End Sub
+
+    Public Sub SetRead()
+        Dim tb As TabClass = GetTabByType(TabUsageType.Home)
+        If tb.UnreadManage = False Then Exit Sub
+
+        For i As Integer = 0 To tb.AllCount - 1
+            Dim id As Long = tb.GetId(i)
+            If Not _statuses(id).IsDm AndAlso _
+               Not _statuses(id).IsReply AndAlso _
+               Not _statuses(id).IsRead AndAlso _
+               Not _statuses(id).FilterHit Then
+                _statuses(id).IsRead = True
+                Me.SetNextUnreadId(id, tb)  '次の未読セット
+                For Each key As String In _tabs.Keys
+                    If _tabs(key).UnreadManage AndAlso _
+                       _tabs(key).Contains(id) Then
+                        _tabs(key).UnreadCount -= 1
+                        If _tabs(key).OldestUnreadId = id Then _tabs(key).OldestUnreadId = -1
+                    End If
+                Next
+            End If
+        Next
+    End Sub
+
+    Public ReadOnly Property Item(ByVal ID As Long) As PostClass
+        Get
+            Return _statuses(ID)
+        End Get
+    End Property
+
+    Public ReadOnly Property Item(ByVal TabName As String, ByVal Index As Integer) As PostClass
+        Get
+            Return _statuses(_tabs(TabName).GetId(Index))
+        End Get
+    End Property
+
+    Public ReadOnly Property Item(ByVal TabName As String, ByVal StartIndex As Integer, ByVal EndIndex As Integer) As PostClass()
+        Get
+            Dim length As Integer = EndIndex - StartIndex + 1
+            Dim posts() As PostClass = New PostClass(length - 1) {}
+            For i As Integer = 0 To length - 1
+                posts(i) = _statuses(_tabs(TabName).GetId(StartIndex + i))
+            Next i
+            Return posts
+        End Get
+    End Property
+
+    Public ReadOnly Property ItemCount() As Integer
+        Get
+            SyncLock LockObj
+                Return _statuses.Count
+            End SyncLock
+        End Get
+    End Property
+
+    Public Function ContainsKey(ByVal Id As Long) As Boolean
+        SyncLock LockObj
+            Return _statuses.ContainsKey(Id)
+        End SyncLock
+    End Function
+
+    Public Sub SetUnreadManage(ByVal Manage As Boolean)
+        If Manage Then
+            For Each key As String In _tabs.Keys
+                Dim tb As TabClass = _tabs(key)
+                If tb.UnreadManage Then
+                    SyncLock LockUnread
+                        Dim cnt As Integer = 0
+                        Dim oldest As Long = Long.MaxValue
+                        For Each id As Long In tb.BackupIds
+                            If Not _statuses(id).IsRead Then
+                                cnt += 1
+                                If oldest > id Then oldest = id
+                            End If
+                        Next
+                        tb.OldestUnreadId = oldest
+                        tb.UnreadCount = cnt
+                    End SyncLock
+                End If
+            Next
+        Else
+            For Each key As String In _tabs.Keys
+                Dim tb As TabClass = _tabs(key)
+                If tb.UnreadManage AndAlso tb.UnreadCount > 0 Then
+                    SyncLock LockUnread
+                        tb.UnreadCount = 0
+                        tb.OldestUnreadId = -1
+                    End SyncLock
+                End If
+            Next
+        End If
+    End Sub
+
+    Public Sub RenameTab(ByVal Original As String, ByVal NewName As String)
+        Dim tb As TabClass = _tabs(Original)
+        _tabs.Remove(Original)
+        tb.TabName = NewName
+        _tabs.Add(NewName, tb)
+    End Sub
+
+    Public Sub FilterAll()
+        SyncLock LockObj
+            Dim tbr As TabClass = GetTabByType(TabUsageType.Home)
+            Dim replyTab As TabClass = GetTabByType(TabUsageType.Mentions)
+            For Each key As String In _tabs.Keys
+                Dim tb As TabClass = _tabs(key)
+                If tb.FilterModified Then
+                    tb.FilterModified = False
+                    Dim orgIds() As Long = tb.BackupIds()
+                    tb.ClearIDs()
+                    ''''''''''''''フィルター前のIDsを退避。どのタブにも含まれないidはrecentへ追加
+                    ''''''''''''''moveフィルターにヒットした際、recentに該当あればrecentから削除
+                    For Each id As Long In _statuses.Keys
+                        Dim post As PostClass = _statuses.Item(id)
+                        If post.IsDm Then Continue For
+                        Dim rslt As HITRESULT = tb.AddFiltered(post.Id, post.IsRead, post.Name, post.Data, post.OriginalData)
+                        Select Case rslt
+                            Case HITRESULT.CopyAndMark
+                                post.IsMark = True 'マークあり
+                                post.FilterHit = True
+                            Case HITRESULT.Move
+                                tbr.Remove(post.Id, post.IsRead)
+                                post.IsMark = False
+                                post.FilterHit = True
+                            Case HITRESULT.Copy
+                                post.IsMark = False
+                                post.FilterHit = True
+                            Case HITRESULT.None
+                                If key = replyTab.TabName AndAlso post.IsReply Then replyTab.Add(post.Id, post.IsRead, True)
+                                If post.IsFav Then GetTabByType(TabUsageType.Favorites).Add(post.Id, post.IsRead, True)
+                                post.FilterHit = False
+                        End Select
+                    Next
+                    tb.AddSubmit()  '振分確定
+                    For Each id As Long In orgIds
+                        Dim hit As Boolean = False
+                        For Each tkey As String In _tabs.Keys
+                            If _tabs(tkey).Contains(id) Then
+                                hit = True
+                                Exit For
+                            End If
+                        Next
+                        If Not hit Then tbr.Add(id, _statuses(id).IsRead, False)
+                    Next
+                End If
+            Next
+
+            Me.SortPosts()
+        End SyncLock
+    End Sub
+
+    Public Function GetId(ByVal TabName As String, ByVal IndexCollection As ListView.SelectedIndexCollection) As Long()
+        If IndexCollection.Count = 0 Then Return Nothing
+
+        Dim tb As TabClass = _tabs(TabName)
+        Dim Ids(IndexCollection.Count - 1) As Long
+        For i As Integer = 0 To Ids.Length - 1
+            Ids(i) = tb.GetId(IndexCollection(i))
+        Next
+        Return Ids
+    End Function
+
+    Public Function GetId(ByVal TabName As String, ByVal Index As Integer) As Long
+        Return _tabs(TabName).GetId(Index)
+    End Function
+
+    Public Function IndexOf(ByVal TabName As String, ByVal Ids() As Long) As Integer()
+        If Ids Is Nothing Then Return Nothing
+        Dim idx(Ids.Length - 1) As Integer
+        Dim tb As TabClass = _tabs(TabName)
+        For i As Integer = 0 To Ids.Length - 1
+            idx(i) = tb.IndexOf(Ids(i))
+        Next
+        Return idx
+    End Function
+
+    Public Function IndexOf(ByVal TabName As String, ByVal Id As Long) As Integer
+        Return _tabs(TabName).IndexOf(Id)
+    End Function
+
+    Public Sub ClearTabIds(ByVal TabName As String)
+        '不要なPostを削除
+        For Each Id As Long In _tabs(TabName).BackupIds
+            Dim Hit As Boolean = False
+            For Each tb As TabClass In _tabs.Values
+                If tb.Contains(Id) Then
+                    Hit = True
+                    Exit For
+                End If
+            Next
+            If Not Hit Then _statuses.Remove(Id)
+        Next
+        '指定タブをクリア
+        _tabs(TabName).ClearIDs()
+    End Sub
+
+    Public Sub SetTabUnreadManage(ByVal TabName As String, ByVal Manage As Boolean)
+        Dim tb As TabClass = _tabs(TabName)
+        SyncLock LockUnread
+            If Manage Then
+                Dim cnt As Integer = 0
+                Dim oldest As Long = Long.MaxValue
+                For Each id As Long In tb.BackupIds
+                    If Not _statuses(id).IsRead Then
+                        cnt += 1
+                        If oldest > id Then oldest = id
+                    End If
+                Next
+                tb.OldestUnreadId = oldest
+                tb.UnreadCount = cnt
+            Else
+                tb.OldestUnreadId = -1
+                tb.UnreadCount = 0
+            End If
+        End SyncLock
+        tb.UnreadManage = Manage
+    End Sub
+
+    Public Sub RefreshOwl(ByVal follower As List(Of String))
+        SyncLock LockObj
+            For Each id As Long In _statuses.Keys
+                If Not _statuses(id).IsDm Then _statuses(id).IsOwl = Not follower.Contains(_statuses(id).Name.ToLower())
+            Next
+        End SyncLock
+    End Sub
+
+    Public Function GetTabByType(ByVal tabType As TabUsageType) As TabClass
+        'Home,Mentions,DM,Favは1つに制限する
+        'その他のタイプを指定されたら、最初に合致したものを返す
+        '合致しなければNothingを返す
+        For Each tb As TabClass In _tabs.Values
+            If tb.TabType = tabType Then Return tb
+        Next
+        Return Nothing
+    End Function
+
+    ' デフォルトタブの判定処理
+    Public Function IsDefaultTab(ByVal tabName As String) As Boolean
+        If tabName IsNot Nothing AndAlso _
+           _tabs.ContainsKey(tabName) AndAlso _
+           _tabs(tabName).TabType = TabUsageType.Home OrElse _
+           _tabs(tabName).TabType = TabUsageType.Mentions OrElse _
+           _tabs(tabName).TabType = TabUsageType.DirectMessage OrElse _
+           _tabs(tabName).TabType = TabUsageType.Favorites Then
+            Return True
+        Else
+            Return False
+        End If
+    End Function
+End Class
+
+<Serializable()> _
+Public NotInheritable Class TabClass
+    Private _unreadManage As Boolean = False
+    Private _notify As Boolean = False
+    Private _soundFile As String = ""
+    Private _filters As List(Of FiltersClass)
+    Private _oldestUnreadItem As Long = -1     'ID
+    Private _unreadCount As Integer = 0
+    Private _ids As List(Of Long)
+    Private _filterMod As Boolean = False
+    Private _tmpIds As List(Of TempolaryId)
+    Private _tabName As String = ""
+    Private _tabType As TabUsageType = TabUsageType.Undefined
+    'Private rwLock As New System.Threading.ReaderWriterLock()   'フィルタ用
+
+    Private Structure TempolaryId
+        Public Id As Long
+        Public Read As Boolean
+
+        Public Sub New(ByVal argId As Long, ByVal argRead As Boolean)
+            Id = argId
+            Read = argRead
+        End Sub
+    End Structure
+
+    Public Sub New()
+        _filters = New List(Of FiltersClass)
+        _notify = True
+        _soundFile = ""
+        _unreadManage = True
+        _ids = New List(Of Long)
+        _oldestUnreadItem = -1
+        _tabType = TabUsageType.Undefined
+    End Sub
+
+    Public Sub New(ByVal TabName As String, ByVal TabType As TabUsageType)
+        Me.TabName = TabName
+        _filters = New List(Of FiltersClass)
+        _notify = True
+        _soundFile = ""
+        _unreadManage = True
+        _ids = New List(Of Long)
+        _oldestUnreadItem = -1
+        _tabType = TabType
+    End Sub
+
+    Public Sub Sort(ByVal Sorter As IdComparerClass)
+        _ids.Sort(Sorter.CmpMethod)
+    End Sub
+
+    '無条件に追加
+    Private Sub Add(ByVal ID As Long, ByVal Read As Boolean)
+        If Me._ids.Contains(ID) Then Exit Sub
+
+        Me._ids.Add(ID)
+
+        If Not Read AndAlso Me._unreadManage Then
+            Me._unreadCount += 1
+            If Me._oldestUnreadItem = -1 Then
+                Me._oldestUnreadItem = ID
+            Else
+                If ID < Me._oldestUnreadItem Then Me._oldestUnreadItem = ID
+            End If
+        End If
+    End Sub
+
+    Public Sub Add(ByVal ID As Long, ByVal Read As Boolean, ByVal Temporary As Boolean)
+        If Not Temporary Then
+            Me.Add(ID, Read)
+        Else
+            If _tmpIds Is Nothing Then _tmpIds = New List(Of TempolaryId)
+            _tmpIds.Add(New TempolaryId(ID, Read))
+        End If
+    End Sub
+
+    'フィルタに合致したら追加
+    Public Function AddFiltered(ByVal ID As Long, _
+                                ByVal Read As Boolean, _
+                                ByVal Name As String, _
+                                ByVal Body As String, _
+                                ByVal OrgData As String) As HITRESULT
+        'Try
+        '    rwLock.AcquireReaderLock(System.Threading.Timeout.Infinite) '読み取りロック取得
+
+        Dim rslt As HITRESULT = HITRESULT.None
+        '全フィルタ評価(優先順位あり)
+        For Each ft As FiltersClass In _filters
+            Select Case ft.IsHit(Name, Body, OrgData)   'フィルタクラスでヒット判定
+                Case HITRESULT.None
+                Case HITRESULT.Copy
+                    If rslt <> HITRESULT.CopyAndMark Then rslt = HITRESULT.Copy
+                Case HITRESULT.CopyAndMark
+                    rslt = HITRESULT.CopyAndMark
+                Case HITRESULT.Move
+                    rslt = HITRESULT.Move
+                Case HITRESULT.Exclude
+                    rslt = HITRESULT.None
+                    Exit For
+            End Select
+        Next
+
+        If rslt <> HITRESULT.None Then
+            If _tmpIds Is Nothing Then _tmpIds = New List(Of TempolaryId)
+            _tmpIds.Add(New TempolaryId(ID, Read))
+        End If
+        'Me.Add(ID, Read)
+
+        Return rslt 'マーク付けは呼び出し元で行うこと
+
+        'Finally
+        '    rwLock.ReleaseReaderLock()
+        'End Try
+    End Function
+
+    Public Sub AddSubmit()
+        If _tmpIds Is Nothing Then Exit Sub
+        For Each tId As TempolaryId In _tmpIds
+            Me.Add(tId.Id, tId.Read)
+        Next
+        _tmpIds.Clear()
+        _tmpIds = Nothing
+    End Sub
+
+    Public Sub Remove(ByVal Id As Long)
+        If Not Me._ids.Contains(Id) Then Exit Sub
+
+        Me._ids.Remove(Id)
+    End Sub
+
+    Public Sub Remove(ByVal Id As Long, ByVal Read As Boolean)
+        If Not Me._ids.Contains(Id) Then Exit Sub
+
+        If Not Read AndAlso Me._unreadManage Then
+            Me._unreadCount -= 1
+            Me._oldestUnreadItem = -1
+        End If
+
+        Me._ids.Remove(Id)
+    End Sub
+
+    Public Property UnreadManage() As Boolean
+        Get
+            Return _unreadManage
+        End Get
+        Set(ByVal value As Boolean)
+            Me._unreadManage = value
+            If Not value Then
+                Me._oldestUnreadItem = -1
+                Me._unreadCount = 0
+            End If
+        End Set
+    End Property
+
+    Public Property Notify() As Boolean
+        Get
+            Return _notify
+        End Get
+        Set(ByVal value As Boolean)
+            _notify = value
+        End Set
+    End Property
+
+    Public Property SoundFile() As String
+        Get
+            Return _soundFile
+        End Get
+        Set(ByVal value As String)
+            _soundFile = value
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public Property OldestUnreadId() As Long
+        Get
+            Return _oldestUnreadItem
+        End Get
+        Set(ByVal value As Long)
+            _oldestUnreadItem = value
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public Property UnreadCount() As Integer
+        Get
+            Return _unreadCount
+        End Get
+        Set(ByVal value As Integer)
+            _unreadCount = value
+        End Set
+    End Property
+
+    Public ReadOnly Property AllCount() As Integer
+        Get
+            Return Me._ids.Count
+        End Get
+    End Property
+
+    Public Function GetFilters() As FiltersClass()
+        Return _filters.ToArray()
+    End Function
+
+    Public Sub RemoveFilter(ByVal filter As FiltersClass)
+        _filters.Remove(filter)
+        _filterMod = True
+    End Sub
+
+    Public Function AddFilter(ByVal filter As FiltersClass) As Boolean
+        If _filters.Contains(filter) Then Return False
+        _filters.Add(filter)
+        _filterMod = True
+        Return True
+    End Function
+
+    Public Sub EditFilter(ByVal original As FiltersClass, ByVal modified As FiltersClass)
+        original.BodyFilter = modified.BodyFilter
+        original.NameFilter = modified.NameFilter
+        original.SearchBoth = modified.SearchBoth
+        original.SearchUrl = modified.SearchUrl
+        original.UseRegex = modified.UseRegex
+        original.CaseSensitive = modified.CaseSensitive
+        original.ExBodyFilter = modified.ExBodyFilter
+        original.ExNameFilter = modified.ExNameFilter
+        original.ExSearchBoth = modified.ExSearchBoth
+        original.ExSearchUrl = modified.ExSearchUrl
+        original.ExUseRegex = modified.ExUseRegex
+        original.ExCaseSensitive = modified.ExCaseSensitive
+        original.MoveFrom = modified.MoveFrom
+        original.SetMark = modified.SetMark
+        _filterMod = True
+    End Sub
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public Property Filters() As List(Of FiltersClass)
+        Get
+            Return _filters
+        End Get
+        Set(ByVal value As List(Of FiltersClass))
+            _filters = value
+        End Set
+    End Property
+
+    Public Property FilterArray() As FiltersClass()
+        Get
+            Return _filters.ToArray
+        End Get
+        Set(ByVal value As FiltersClass())
+            For Each filters As FiltersClass In value
+                _filters.Add(filters)
+            Next
+        End Set
+    End Property
+
+    Public Function Contains(ByVal ID As Long) As Boolean
+        Return _ids.Contains(ID)
+    End Function
+
+    Public Sub ClearIDs()
+        _ids.Clear()
+        _unreadCount = 0
+        _oldestUnreadItem = -1
+    End Sub
+
+    Public Function GetId(ByVal Index As Integer) As Long
+        Return _ids(Index)
+    End Function
+
+    Public Function IndexOf(ByVal ID As Long) As Integer
+        Return _ids.IndexOf(ID)
+    End Function
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public Property FilterModified() As Boolean
+        Get
+            Return _filterMod
+        End Get
+        Set(ByVal value As Boolean)
+            _filterMod = value
+        End Set
+    End Property
+
+    Public Function BackupIds() As Long()
+        Return _ids.ToArray()
+    End Function
+
+    Public Property TabName() As String
+        Get
+            Return _tabName
+        End Get
+        Set(ByVal value As String)
+            _tabName = value
+        End Set
+    End Property
+
+    Public Property TabType() As TabUsageType
+        Get
+            Return _tabType
+        End Get
+        Set(ByVal value As TabUsageType)
+            _tabType = value
+        End Set
+    End Property
+End Class
+
+<Serializable()> _
+Public NotInheritable Class FiltersClass
+    Implements System.IEquatable(Of FiltersClass)
+    Private _name As String = ""
+    Private _body As New List(Of String)
+    Private _searchBoth As Boolean = True
+    Private _searchUrl As Boolean = False
+    Private _caseSensitive As Boolean = False
+    Private _useRegex As Boolean = False
+    Private _exname As String = ""
+    Private _exbody As New List(Of String)
+    Private _exsearchBoth As Boolean = True
+    Private _exsearchUrl As Boolean = False
+    Private _exuseRegex As Boolean = False
+    Private _excaseSensitive As Boolean = False
+    Private _moveFrom As Boolean = False
+    Private _setMark As Boolean = True
+
+    Public Sub New(ByVal NameFilter As String, _
+        ByVal BodyFilter As List(Of String), _
+        ByVal SearchBoth As Boolean, _
+        ByVal SearchUrl As Boolean, _
+        ByVal CaseSensitive As Boolean, _
+        ByVal UseRegex As Boolean, _
+        ByVal ParentTab As String, _
+        ByVal ExNameFilter As String, _
+        ByVal ExBodyFilter As List(Of String), _
+        ByVal ExSearchBoth As Boolean, _
+        ByVal ExSearchUrl As Boolean, _
+        ByVal ExUseRegex As Boolean, _
+        ByVal ExCaseSensitive As Boolean, _
+        ByVal MoveFrom As Boolean, _
+        ByVal SetMark As Boolean)
+        _name = NameFilter
+        _body = BodyFilter
+        _searchBoth = SearchBoth
+        _searchUrl = SearchUrl
+        _caseSensitive = CaseSensitive
+        _useRegex = UseRegex
+        _exname = ExNameFilter
+        _exbody = ExBodyFilter
+        _exsearchBoth = ExSearchBoth
+        _exsearchUrl = ExSearchUrl
+        _exuseRegex = ExUseRegex
+        _excaseSensitive = ExCaseSensitive
+        _moveFrom = MoveFrom
+        _setMark = SetMark
+        '正規表現検証
+        If _useRegex Then
+            Try
+                Dim rgx As New Regex(_name)
+            Catch ex As Exception
+                Throw New Exception(My.Resources.ButtonOK_ClickText3 + ex.Message)
+                Exit Sub
+            End Try
+            For Each bs As String In _body
+                Try
+                    Dim rgx As New Regex(bs)
+                Catch ex As Exception
+                    Throw New Exception(My.Resources.ButtonOK_ClickText3 + ex.Message)
+                    Exit Sub
+                End Try
+            Next
+        End If
+        If _exuseRegex Then
+            Try
+                Dim rgx As New Regex(_exname)
+            Catch ex As Exception
+                Throw New Exception(My.Resources.ButtonOK_ClickText3 + ex.Message)
+                Exit Sub
+            End Try
+            For Each bs As String In _exbody
+                Try
+                    Dim rgx As New Regex(bs)
+                Catch ex As Exception
+                    Throw New Exception(My.Resources.ButtonOK_ClickText3 + ex.Message)
+                    Exit Sub
+                End Try
+            Next
+        End If
+    End Sub
+
+    Public Sub New()
+
+    End Sub
+
+    'フィルタ一覧に表示する文言生成
+    Private Function MakeSummary() As String
+        Dim fs As New System.Text.StringBuilder()
+        If _name <> "" OrElse _body.Count > 0 Then
+            If _searchBoth Then
+                If _name <> "" Then
+                    fs.AppendFormat(My.Resources.SetFiltersText1, _name)
+                Else
+                    fs.Append(My.Resources.SetFiltersText2)
+                End If
+            End If
+            If _body.Count > 0 Then
+                fs.Append(My.Resources.SetFiltersText3)
+                For Each bf As String In _body
+                    fs.Append(bf)
+                    fs.Append(" ")
+                Next
+                fs.Length -= 1
+                fs.Append(My.Resources.SetFiltersText4)
+            End If
+            fs.Append("(")
+            If _searchBoth Then
+                fs.Append(My.Resources.SetFiltersText5)
+            Else
+                fs.Append(My.Resources.SetFiltersText6)
+            End If
+            If _useRegex Then
+                fs.Append(My.Resources.SetFiltersText7)
+            End If
+            If _searchUrl Then
+                fs.Append(My.Resources.SetFiltersText8)
+            End If
+            If _caseSensitive Then
+                fs.Append(My.Resources.SetFiltersText13)
+            End If
+            'If _moveFrom Then
+            '    fs.Append(My.Resources.SetFiltersText9)
+            'ElseIf _setMark Then
+            '    fs.Append(My.Resources.SetFiltersText10)
+            'Else
+            '    fs.Append(My.Resources.SetFiltersText11)
+            'End If
+            fs.Length -= 1
+            fs.Append(")")
+        End If
+        If _exname <> "" OrElse _exbody.Count > 0 Then
+            '除外
+            fs.Append(My.Resources.SetFiltersText12)
+            If _exsearchBoth Then
+                If _exname <> "" Then
+                    fs.AppendFormat(My.Resources.SetFiltersText1, _exname)
+                Else
+                    fs.Append(My.Resources.SetFiltersText2)
+                End If
+            End If
+            If _exbody.Count > 0 Then
+                fs.Append(My.Resources.SetFiltersText3)
+                For Each bf As String In _exbody
+                    fs.Append(bf)
+                    fs.Append(" ")
+                Next
+                fs.Length -= 1
+                fs.Append(My.Resources.SetFiltersText4)
+            End If
+            fs.Append("(")
+            If _exsearchBoth Then
+                fs.Append(My.Resources.SetFiltersText5)
+            Else
+                fs.Append(My.Resources.SetFiltersText6)
+            End If
+            If _exuseRegex Then
+                fs.Append(My.Resources.SetFiltersText7)
+            End If
+            If _exsearchUrl Then
+                fs.Append(My.Resources.SetFiltersText8)
+            End If
+            If _excaseSensitive Then
+                fs.Append(My.Resources.SetFiltersText13)
+            End If
+            fs.Length -= 1
+            fs.Append(")")
+        End If
+
+        fs.Append("(")
+        If _moveFrom Then
+            fs.Append(My.Resources.SetFiltersText9)
+        Else
+            fs.Append(My.Resources.SetFiltersText11)
+        End If
+        If Not _moveFrom AndAlso _setMark Then
+            fs.Append(My.Resources.SetFiltersText10)
+        ElseIf Not _moveFrom Then
+            fs.Length -= 1
+        End If
+
+        fs.Append(")")
+
+        Return fs.ToString()
+    End Function
+
+    Public Property NameFilter() As String
+        Get
+            Return _name
+        End Get
+        Set(ByVal value As String)
+            _name = value
+        End Set
+    End Property
+
+    Public Property ExNameFilter() As String
+        Get
+            Return _exname
+        End Get
+        Set(ByVal value As String)
+            _exname = value
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public Property BodyFilter() As List(Of String)
+        Get
+            Return _body
+        End Get
+        Set(ByVal value As List(Of String))
+            _body = value
+        End Set
+    End Property
+
+    Public Property BodyFilterArray() As String()
+        Get
+            Return _body.ToArray
+        End Get
+        Set(ByVal value As String())
+            _body = New List(Of String)
+            For Each filter As String In value
+                _body.Add(filter)
+            Next
+        End Set
+    End Property
+
+    <Xml.Serialization.XmlIgnore()> _
+    Public Property ExBodyFilter() As List(Of String)
+        Get
+            Return _exbody
+        End Get
+        Set(ByVal value As List(Of String))
+            _exbody = value
+        End Set
+    End Property
+
+    Public Property ExBodyFilterArray() As String()
+        Get
+            Return _exbody.ToArray
+        End Get
+        Set(ByVal value As String())
+            _exbody = New List(Of String)
+            For Each filter As String In value
+                _exbody.Add(filter)
+            Next
+        End Set
+    End Property
+
+    Public Property SearchBoth() As Boolean
+        Get
+            Return _searchBoth
+        End Get
+        Set(ByVal value As Boolean)
+            _searchBoth = value
+        End Set
+    End Property
+
+    Public Property ExSearchBoth() As Boolean
+        Get
+            Return _exsearchBoth
+        End Get
+        Set(ByVal value As Boolean)
+            _exsearchBoth = value
+        End Set
+    End Property
+
+    Public Property MoveFrom() As Boolean
+        Get
+            Return _moveFrom
+        End Get
+        Set(ByVal value As Boolean)
+            _moveFrom = value
+        End Set
+    End Property
+
+    Public Property SetMark() As Boolean
+        Get
+            Return _setMark
+        End Get
+        Set(ByVal value As Boolean)
+            _setMark = value
+        End Set
+    End Property
+
+    Public Property SearchUrl() As Boolean
+        Get
+            Return _searchUrl
+        End Get
+        Set(ByVal value As Boolean)
+            _searchUrl = value
+        End Set
+    End Property
+
+    Public Property ExSearchUrl() As Boolean
+        Get
+            Return _exsearchUrl
+        End Get
+        Set(ByVal value As Boolean)
+            _exsearchUrl = value
+        End Set
+    End Property
+
+    Public Property CaseSensitive() As Boolean
+        Get
+            Return _caseSensitive
+        End Get
+        Set(ByVal value As Boolean)
+            _caseSensitive = value
+        End Set
+    End Property
+
+    Public Property ExCaseSensitive() As Boolean
+        Get
+            Return _excaseSensitive
+        End Get
+        Set(ByVal value As Boolean)
+            _excaseSensitive = value
+        End Set
+    End Property
+
+    Public Property UseRegex() As Boolean
+        Get
+            Return _useRegex
+        End Get
+        Set(ByVal value As Boolean)
+            _useRegex = value
+        End Set
+    End Property
+
+    Public Property ExUseRegex() As Boolean
+        Get
+            Return _exuseRegex
+        End Get
+        Set(ByVal value As Boolean)
+            _exuseRegex = value
+        End Set
+    End Property
+
+    Public Overrides Function ToString() As String
+        Return MakeSummary()
+    End Function
+
+    Public Function IsHit(ByVal Name As String, ByVal Body As String, ByVal OrgData As String) As HITRESULT
+        Dim bHit As Boolean = True
+        Dim tBody As String
+        If _searchUrl Then
+            tBody = OrgData
+        Else
+            tBody = Body
+        End If
+        '検索オプション
+        Dim compOpt As System.StringComparison
+        Dim rgOpt As System.Text.RegularExpressions.RegexOptions
+        If _caseSensitive Then
+            compOpt = StringComparison.Ordinal
+            rgOpt = RegexOptions.None
+        Else
+            compOpt = StringComparison.OrdinalIgnoreCase
+            rgOpt = RegexOptions.IgnoreCase
+        End If
+        If _searchBoth Then
+            If _name = "" OrElse Name.Equals(_name, compOpt) OrElse _
+                            (_useRegex AndAlso Regex.IsMatch(Name, _name, rgOpt)) Then
+                For Each fs As String In _body
+                    If _useRegex Then
+                        If Regex.IsMatch(tBody, fs, rgOpt) = False Then bHit = False
+                    Else
+                        If _caseSensitive Then
+                            If tBody.Contains(fs) = False Then bHit = False
+                        Else
+                            If tBody.ToLower().Contains(fs.ToLower()) = False Then bHit = False
+                        End If
+                    End If
+                    If Not bHit Then Exit For
+                Next
+            Else
+                bHit = False
+            End If
+        Else
+            For Each fs As String In _body
+                If _useRegex Then
+                    If Not (Regex.IsMatch(Name, fs, rgOpt) OrElse _
+                            Regex.IsMatch(tBody, fs, rgOpt)) Then bHit = False
+                Else
+                    If _caseSensitive Then
+                        If Not (Name.Contains(fs) OrElse _
+                                tBody.Contains(fs)) Then bHit = False
+                    Else
+                        If Not (Name.ToLower().Contains(fs.ToLower()) OrElse _
+                                tBody.ToLower().Contains(fs.ToLower())) Then bHit = False
+                    End If
+                End If
+                If Not bHit Then Exit For
+            Next
+        End If
+        If bHit Then
+            '除外判定
+            Dim exFlag As Boolean = False
+            'If _name = "" AndAlso _body.Count = 0 Then
+            '    exFlag = True
+            '    'bHit = False
+            'End If
+            If _exname <> "" OrElse _exbody.Count > 0 Then
+                If _excaseSensitive Then
+                    compOpt = StringComparison.Ordinal
+                    rgOpt = RegexOptions.None
+                Else
+                    compOpt = StringComparison.OrdinalIgnoreCase
+                    rgOpt = RegexOptions.IgnoreCase
+                End If
+                If _exsearchBoth Then
+                    If _exname = "" OrElse Name.Equals(_exname, compOpt) OrElse _
+                                    (_exuseRegex AndAlso Regex.IsMatch(Name, _exname, rgOpt)) Then
+                        If _exbody.Count > 0 Then
+                            For Each fs As String In _exbody
+                                If _exuseRegex Then
+                                    If Regex.IsMatch(tBody, fs, rgOpt) Then exFlag = True
+                                Else
+                                    If _excaseSensitive Then
+                                        If tBody.Contains(fs) Then exFlag = True
+                                    Else
+                                        If tBody.ToLower().Contains(fs.ToLower()) Then exFlag = True
+                                    End If
+                                End If
+                                If exFlag Then Exit For
+                            Next
+                        Else
+                            exFlag = True
+                        End If
+                    End If
+                Else
+                    For Each fs As String In _exbody
+                        If _exuseRegex Then
+                            If Regex.IsMatch(Name, fs, rgOpt) OrElse _
+                               Regex.IsMatch(tBody, fs, rgOpt) Then exFlag = True
+                        Else
+                            If _excaseSensitive Then
+                                If Name.Contains(fs) OrElse _
+                                   tBody.Contains(fs) Then exFlag = True
+                            Else
+                                If Name.ToLower().Contains(fs.ToLower()) OrElse _
+                                   tBody.ToLower().Contains(fs.ToLower()) Then exFlag = True
+                            End If
+                        End If
+                        If exFlag Then Exit For
+                    Next
+                End If
+            End If
+
+            If _name = "" AndAlso _body.Count = 0 Then
+                bHit = False
+            End If
+            If bHit Then
+                If Not exFlag Then
+                    'If _setMark Then Return HITRESULT.CopyAndMark
+                    If _moveFrom Then
+                        Return HITRESULT.Move
+                    Else
+                        If _setMark Then
+                            Return HITRESULT.CopyAndMark
+                        End If
+                        Return HITRESULT.Copy
+                    End If
+                    'Return HITRESULT.Copy
+                Else
+                    Return HITRESULT.Exclude
+                End If
+            Else
+                If exFlag Then
+                    Return HITRESULT.Exclude
+                Else
+                    Return HITRESULT.None
+                End If
+            End If
+        Else
+            Return HITRESULT.None
+        End If
+    End Function
+
+    Public Overloads Function Equals(ByVal other As FiltersClass) As Boolean _
+     Implements System.IEquatable(Of Tween.FiltersClass).Equals
+
+        If Me.BodyFilter.Count <> other.BodyFilter.Count Then Return False
+        If Me.ExBodyFilter.Count <> other.ExBodyFilter.Count Then Return False
+        For i As Integer = 0 To Me.BodyFilter.Count - 1
+            If Me.BodyFilter(i) <> other.BodyFilter(i) Then Return False
+        Next
+        For i As Integer = 0 To Me.ExBodyFilter.Count - 1
+            If Me.ExBodyFilter(i) <> other.ExBodyFilter(i) Then Return False
+        Next
+
+        Return (Me.MoveFrom = other.MoveFrom) And _
+               (Me.SetMark = other.SetMark) And _
+               (Me.NameFilter = other.NameFilter) And _
+               (Me.SearchBoth = other.SearchBoth) And _
+               (Me.SearchUrl = other.SearchUrl) And _
+               (Me.UseRegex = other.UseRegex) And _
+               (Me.ExNameFilter = other.ExNameFilter) And _
+               (Me.ExSearchBoth = other.ExSearchBoth) And _
+               (Me.ExSearchUrl = other.ExSearchUrl) And _
+               (Me.ExUseRegex = other.ExUseRegex)
+    End Function
+
+    Public Overrides Function Equals(ByVal obj As Object) As Boolean
+        If (obj Is Nothing) OrElse Not (Me.GetType() Is obj.GetType()) Then Return False
+        Return Me.Equals(CType(obj, FiltersClass))
+    End Function
+
+    Public Overrides Function GetHashCode() As Integer
+        Return Me.MoveFrom.GetHashCode Xor _
+               Me.SetMark.GetHashCode Xor _
+               Me.BodyFilter.GetHashCode Xor _
+               Me.NameFilter.GetHashCode Xor _
+               Me.SearchBoth.GetHashCode Xor _
+               Me.SearchUrl.GetHashCode Xor _
+               Me.UseRegex.GetHashCode Xor _
+               Me.ExBodyFilter.GetHashCode Xor _
+               Me.ExNameFilter.GetHashCode Xor _
+               Me.ExSearchBoth.GetHashCode Xor _
+               Me.ExSearchUrl.GetHashCode Xor _
+               Me.ExUseRegex.GetHashCode
+    End Function
+End Class
+
+'ソート比較クラス:ID比較のみ
+Public NotInheritable Class IdComparerClass
+    Implements IComparer(Of Long)
+
+    ''' <summary>
+    ''' 比較する方法
+    ''' </summary>
+    Public Enum ComparerMode
+        Id
+        Data
+        Name
+        Nickname
+        Source
+    End Enum
+
+    Private _order As SortOrder
+    Private _mode As ComparerMode
+    Private _statuses As TabInformations
+    Private _CmpMethod As Comparison(Of Long)
+
+    ''' <summary>
+    ''' 昇順か降順か Setの際は同時に比較関数の切り替えを行う
+    ''' </summary>
+    Public Property Order() As SortOrder
+        Get
+            Return _order
+        End Get
+        Set(ByVal Value As SortOrder)
+            _order = Value
+            SetCmpMethod(_mode, _order)
+        End Set
+    End Property
+
+    ''' <summary>
+    ''' 並び替えの方法 Setの際は同時に比較関数の切り替えを行う
+    ''' </summary>
+    Public Property Mode() As ComparerMode
+        Get
+            Return _mode
+        End Get
+        Set(ByVal Value As ComparerMode)
+            _mode = Value
+            SetCmpMethod(_mode, _order)
+        End Set
+    End Property
+
+    ''' <summary>
+    ''' ListViewItemComparerクラスのコンストラクタ(引数付は未使用)
+    ''' </summary>
+    ''' <param name="col">並び替える列番号</param>
+    ''' <param name="ord">昇順か降順か</param>
+    ''' <param name="cmod">並び替えの方法</param>
+    Public Sub New(ByVal ord As SortOrder, ByVal SortMode As ComparerMode)
+        _order = ord
+        _mode = SortMode
+        SetCmpMethod(_mode, _order)
+    End Sub
+
+    Public Sub New(ByVal TabInf As TabInformations)
+        _order = SortOrder.Ascending
+        _mode = ComparerMode.Id
+        _statuses = TabInf
+        SetCmpMethod(_mode, _order)
+    End Sub
+
+    ' 指定したソートモードとソートオーダーに従い使用する比較関数のアドレスを返す
+    Public Overloads ReadOnly Property CmpMethod(ByVal _sortmode As ComparerMode, ByVal _sortorder As SortOrder) As Comparison(Of Long)
+        Get
+            Dim _method As Comparison(Of Long) = Nothing
+            If _sortorder = SortOrder.Ascending Then
+                ' 昇順
+                Select Case _sortmode
+                    Case ComparerMode.Data
+                        _method = AddressOf Compare_ModeData_Ascending
+                    Case ComparerMode.Id
+                        _method = AddressOf Compare_ModeId_Ascending
+                    Case ComparerMode.Name
+                        _method = AddressOf Compare_ModeName_Ascending
+                    Case ComparerMode.Nickname
+                        _method = AddressOf Compare_ModeNickName_Ascending
+                    Case ComparerMode.Source
+                        _method = AddressOf Compare_ModeSource_Ascending
+                End Select
+            Else
+                ' 降順
+                Select Case _sortmode
+                    Case ComparerMode.Data
+                        _method = AddressOf Compare_ModeData_Descending
+                    Case ComparerMode.Id
+                        _method = AddressOf Compare_ModeId_Descending
+                    Case ComparerMode.Name
+                        _method = AddressOf Compare_ModeName_Descending
+                    Case ComparerMode.Nickname
+                        _method = AddressOf Compare_ModeNickName_Descending
+                    Case ComparerMode.Source
+                        _method = AddressOf Compare_ModeSource_Descending
+                End Select
+            End If
+            Return _method
+        End Get
+    End Property
+
+    ' ソートモードとソートオーダーに従い使用する比較関数のアドレスを返す
+    ' (overload 現在の使用中の比較関数のアドレスを返す)
+    Public Overloads ReadOnly Property CmpMethod() As Comparison(Of Long)
+        Get
+            Return _CmpMethod
+        End Get
+    End Property
+
+    ' ソートモードとソートオーダーに従い比較関数のアドレスを切り替え
+    Private Sub SetCmpMethod(ByVal mode As ComparerMode, ByVal order As SortOrder)
+        _CmpMethod = Me.CmpMethod(mode, order)
+    End Sub
+
+    'xがyより小さいときはマイナスの数、大きいときはプラスの数、
+    '同じときは0を返す (こちらは未使用 一応比較関数群呼び出しの形のまま残しておく)
+    Public Function Compare(ByVal x As Long, ByVal y As Long) _
+            As Integer Implements IComparer(Of Long).Compare
+        Return _CmpMethod(x, y)
+    End Function
+
+    ' 比較用関数群 いずれもステータスIDの順序を考慮する
+    ' 注:ID比較でCTypeを使用しているが、abs(x-y)がInteger(Int32)に収まらないことはあり得ないのでこれでよい
+    ' 本文比較 昇順
+    Public Function Compare_ModeData_Ascending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(x).Data, _statuses.Item(y).Data)
+        If result = 0 Then result = x.CompareTo(y)
+        Return result
+    End Function
+
+    ' 本文比較 降順
+    Public Function Compare_ModeData_Descending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(y).Data, _statuses.Item(x).Data)
+        If result = 0 Then result = y.CompareTo(x)
+        Return result
+    End Function
+
+    ' ステータスID比較 昇順
+    Public Function Compare_ModeId_Ascending(ByVal x As Long, ByVal y As Long) As Integer
+        Return x.CompareTo(y)
+    End Function
+
+    ' ステータスID比較 降順
+    Public Function Compare_ModeId_Descending(ByVal x As Long, ByVal y As Long) As Integer
+        Return y.CompareTo(x)
+    End Function
+
+    ' 表示名比較 昇順
+    Public Function Compare_ModeName_Ascending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(x).Name, _statuses.Item(y).Name)
+        If result = 0 Then result = x.CompareTo(y)
+        Return result
+    End Function
+
+    ' 表示名比較 降順
+    Public Function Compare_ModeName_Descending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(y).Name, _statuses.Item(x).Name)
+        If result = 0 Then result = y.CompareTo(x)
+        Return result
+    End Function
+
+    ' ユーザー名比較 昇順
+    Public Function Compare_ModeNickName_Ascending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(x).Nickname, _statuses.Item(y).Nickname)
+        If result = 0 Then result = x.CompareTo(y)
+        Return result
+    End Function
+
+    ' ユーザー名比較 降順
+    Public Function Compare_ModeNickName_Descending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(y).Nickname, _statuses.Item(x).Nickname)
+        If result = 0 Then result = y.CompareTo(x)
+        Return result
+    End Function
+
+    ' Source比較 昇順
+    Public Function Compare_ModeSource_Ascending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(x).Source, _statuses.Item(y).Source)
+        If result = 0 Then result = x.CompareTo(y)
+        Return result
+    End Function
+
+    ' Source比較 降順
+    Public Function Compare_ModeSource_Descending(ByVal x As Long, ByVal y As Long) As Integer
+        Dim result As Integer = String.Compare(_statuses.Item(y).Source, _statuses.Item(x).Source)
+        If result = 0 Then result = y.CompareTo(x)
+        Return result
+    End Function
+End Class
diff --git a/Tween/TabsDialog.Designer.vb b/Tween/TabsDialog.Designer.vb
new file mode 100644 (file)
index 0000000..5640e35
--- /dev/null
@@ -0,0 +1,82 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class TabsDialog
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(TabsDialog))
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
+        Me.OK_Button = New System.Windows.Forms.Button
+        Me.Cancel_Button = New System.Windows.Forms.Button
+        Me.TabList = New System.Windows.Forms.ListBox
+        Me.TableLayoutPanel1.SuspendLayout()
+        Me.SuspendLayout()
+        '
+        'TableLayoutPanel1
+        '
+        resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1")
+        Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        '
+        'OK_Button
+        '
+        resources.ApplyResources(Me.OK_Button, "OK_Button")
+        Me.OK_Button.Name = "OK_Button"
+        '
+        'Cancel_Button
+        '
+        resources.ApplyResources(Me.Cancel_Button, "Cancel_Button")
+        Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Cancel_Button.Name = "Cancel_Button"
+        '
+        'TabList
+        '
+        Me.TabList.FormattingEnabled = True
+        resources.ApplyResources(Me.TabList, "TabList")
+        Me.TabList.Items.AddRange(New Object() {resources.GetString("TabList.Items")})
+        Me.TabList.Name = "TabList"
+        '
+        'TabsDialog
+        '
+        Me.AcceptButton = Me.OK_Button
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.Cancel_Button
+        Me.Controls.Add(Me.TabList)
+        Me.Controls.Add(Me.TableLayoutPanel1)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.MaximizeBox = False
+        Me.MinimizeBox = False
+        Me.Name = "TabsDialog"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.TableLayoutPanel1.ResumeLayout(False)
+        Me.ResumeLayout(False)
+
+    End Sub
+    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents OK_Button As System.Windows.Forms.Button
+    Friend WithEvents Cancel_Button As System.Windows.Forms.Button
+    Friend WithEvents TabList As System.Windows.Forms.ListBox
+
+End Class
diff --git a/Tween/TabsDialog.en.resx b/Tween/TabsDialog.en.resx
new file mode 100644 (file)
index 0000000..e6df1d9
--- /dev/null
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>Cancel</value>
+  </data>
+  <data name="TabList.Items" xml:space="preserve">
+    <value>(New)</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>Select Tab</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/TabsDialog.resx b/Tween/TabsDialog.resx
new file mode 100644 (file)
index 0000000..ee6a23c
--- /dev/null
@@ -0,0 +1,258 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Bottom, Right</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="OK_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="OK_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="OK_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="OK_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="OK_Button.Text" xml:space="preserve">
+    <value>OK</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Name" xml:space="preserve">
+    <value>OK_Button</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;OK_Button.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="Cancel_Button.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <data name="Cancel_Button.Location" type="System.Drawing.Point, System.Drawing">
+    <value>76, 3</value>
+  </data>
+  <data name="Cancel_Button.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 21</value>
+  </data>
+  <data name="Cancel_Button.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="Cancel_Button.Text" xml:space="preserve">
+    <value>キャンセル</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Name" xml:space="preserve">
+    <value>Cancel_Button</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;Cancel_Button.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>11, 111</value>
+  </data>
+  <data name="TableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>146, 27</value>
+  </data>
+  <data name="TableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Name" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="TableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="OK_Button" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="Cancel_Button" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="TabList.ItemHeight" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="TabList.Items" xml:space="preserve">
+    <value>(新規タブ)</value>
+  </data>
+  <data name="TabList.Location" type="System.Drawing.Point, System.Drawing">
+    <value>14, 12</value>
+  </data>
+  <data name="TabList.Size" type="System.Drawing.Size, System.Drawing">
+    <value>140, 88</value>
+  </data>
+  <data name="TabList.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;TabList.Name" xml:space="preserve">
+    <value>TabList</value>
+  </data>
+  <data name="&gt;&gt;TabList.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabList.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TabList.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>169, 149</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterParent</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>タブ選択</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>TabsDialog</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/TabsDialog.vb b/Tween/TabsDialog.vb
new file mode 100644 (file)
index 0000000..cc549da
--- /dev/null
@@ -0,0 +1,88 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Windows.Forms
+
+Public Class TabsDialog
+
+    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.OK
+        Me.Close()
+    End Sub
+
+    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
+        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.Close()
+    End Sub
+
+    Private Sub TabsDialog_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+        If TabList.SelectedIndex = -1 Then TabList.SelectedIndex = 0
+    End Sub
+
+    Public Sub AddTab(ByVal tabName As String)
+        For Each obj As String In TabList.Items
+            If obj = tabName Then Exit Sub
+        Next
+        TabList.Items.Add(tabName)
+    End Sub
+
+    Public Sub RemoveTab(ByVal tabName As String)
+        For i As Integer = 0 To TabList.Items.Count - 1
+            If CType(TabList.Items.Item(i), String) = tabName Then
+                TabList.Items.RemoveAt(i)
+                Exit Sub
+            End If
+        Next
+    End Sub
+
+    Public ReadOnly Property SelectedTabName() As String
+        Get
+            If TabList.SelectedIndex = -1 Then
+                Return ""
+            Else
+                Return CStr(TabList.SelectedItem)
+            End If
+        End Get
+    End Property
+
+    Private Sub TabList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabList.SelectedIndexChanged
+
+    End Sub
+
+    Private Sub TabList_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabList.DoubleClick
+        If TabList.SelectedItem Is Nothing Then
+            Exit Sub
+        End If
+
+        If TabList.IndexFromPoint(TabList.PointToClient(Control.MousePosition)) = ListBox.NoMatches Then
+            Exit Sub
+        End If
+
+        Me.DialogResult = System.Windows.Forms.DialogResult.OK
+        Me.Close()
+    End Sub
+
+    Private Sub TabsDialog_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+        TabList.Focus()
+    End Sub
+End Class
diff --git a/Tween/ToolStripLabelHistory.vb b/Tween/ToolStripLabelHistory.vb
new file mode 100644 (file)
index 0000000..a9d7468
--- /dev/null
@@ -0,0 +1,51 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Namespace TweenCustomControl
+
+    Public NotInheritable Class ToolStripLabelHistory
+        Inherits ToolStripLabel
+
+        Private sList As New List(Of String)
+        Private Const MAXCNT As Integer = 10
+
+        Public Overrides Property Text() As String
+            Get
+                Return MyBase.Text
+            End Get
+            Set(ByVal value As String)
+                sList.Add(value)
+                Do While sList.Count > MAXCNT
+                    sList.RemoveAt(0)
+                Loop
+                Dim his As String = ""
+                For Each hstr As String In sList
+                    If his <> "" Then his += System.Environment.NewLine
+                    his += hstr
+                Next
+                Me.ToolTipText = his
+                MyBase.Text = value
+            End Set
+        End Property
+    End Class
+End Namespace
diff --git a/Tween/TwConfig.vb b/Tween/TwConfig.vb
new file mode 100644 (file)
index 0000000..ca99517
--- /dev/null
@@ -0,0 +1,1341 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Configuration
+
+Public Class ListElement
+    Inherits ConfigurationElement
+
+    'Public Enum IconSizes
+    '    IconNone = 0
+    '    Icon16 = 1
+    '    Icon24 = 2
+    '    Icon48 = 3
+    'End Enum
+
+    Public Sub New()
+
+    End Sub
+
+    Public Sub New(ByVal name As String)
+        Me("name") = name
+    End Sub
+
+    <ConfigurationProperty("name", DefaultValue:="", IsKey:=True)> _
+    Public Property Name() As String
+        Get
+            Return CStr(Me("name"))
+        End Get
+        Set(ByVal value As String)
+            Me("name") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("unreadmanage", DefaultValue:=True)> _
+    Public Property UnreadManage() As Boolean
+        Get
+            Return CBool(Me("unreadmanage"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("unreadmanage") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("notify", DefaultValue:=True)> _
+    Public Property Notify() As Boolean
+        Get
+            Return CBool(Me("notify"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("notify") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("soundfile", DefaultValue:="")> _
+    Public Property SoundFile() As String
+        Get
+            Return DirectCast(Me("soundfile"), String)
+        End Get
+        Set(ByVal value As String)
+            Me("soundfile") = value
+        End Set
+    End Property
+
+End Class
+
+Public Class SelectedUser
+    Inherits ConfigurationElement
+
+    Public Sub New()
+
+    End Sub
+
+    Public Sub New(ByVal name As String)
+        Me("name") = name
+    End Sub
+
+    <ConfigurationProperty("name", DefaultValue:="")> _
+    Public Property Name() As String
+        Get
+            Return CStr(Me("name"))
+        End Get
+        Set(ByVal value As String)
+            Me("name") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("tabname", DefaultValue:="")> _
+    Public Property TabName() As String
+        Get
+            Return CStr(Me("tabname"))
+        End Get
+        Set(ByVal value As String)
+            Me("tabname") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("idfilter", DefaultValue:="")> _
+    Public Property IdFilter() As String
+        Get
+            Return CStr(Me("idfilter"))
+        End Get
+        Set(ByVal value As String)
+            Me("idfilter") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("bodyfilter", DefaultValue:="")> _
+    Public Property BodyFilter() As String
+        Get
+            Return CStr(Me("bodyfilter"))
+        End Get
+        Set(ByVal value As String)
+            Me("bodyfilter") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("moveFrom", DefaultValue:=False)> _
+    Public Property MoveFrom() As Boolean
+        Get
+            Return CBool(Me("moveFrom"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("moveFrom") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("searchboth", DefaultValue:=False)> _
+    Public Property SearchBoth() As Boolean
+        Get
+            Return CBool(Me("searchboth"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("searchboth") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("regexenable", DefaultValue:=False)> _
+    Public Property RegexEnable() As Boolean
+        Get
+            Return CBool(Me("regexenable"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("regexenable") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("urlsearch", DefaultValue:=False)> _
+    Public Property UrlSearch() As Boolean
+        Get
+            Return CBool(Me("urlsearch"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("urlsearch") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("setmark", DefaultValue:=False)> _
+    Public Property SetMark() As Boolean
+        Get
+            Return CBool(Me("setmark"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("setmark") = value
+        End Set
+    End Property
+
+End Class
+
+Public Class ListElementCollection
+    Inherits ConfigurationElementCollection
+
+    Public Sub New()
+        Dim lElement As ListElement = CType(CreateNewElement(), ListElement)
+        Add(lElement)
+    End Sub
+
+    Public Sub New(ByVal Name As String)
+        Dim lElement As ListElement = CType(CreateNewElement(Name), ListElement)
+        Add(lElement)
+    End Sub
+
+    Protected Overloads Overrides Function CreateNewElement() As System.Configuration.ConfigurationElement
+        Return New ListElement
+    End Function
+
+    Protected Overloads Overrides Function CreateNewElement(ByVal Name As String) As System.Configuration.ConfigurationElement
+        Return New ListElement(Name)
+    End Function
+
+    Protected Overrides Function GetElementKey(ByVal element As System.Configuration.ConfigurationElement) As Object
+        Return CType(element, ListElement).Name
+    End Function
+
+    Public Overrides ReadOnly Property CollectionType() As ConfigurationElementCollectionType
+        Get
+            Return ConfigurationElementCollectionType.AddRemoveClearMap
+        End Get
+    End Property
+
+    Public Shadows Property AddElementName() As String
+        Get
+            Return MyBase.AddElementName
+        End Get
+        Set(ByVal value As String)
+            MyBase.AddElementName = value
+        End Set
+    End Property
+
+    Public Shadows Property ClearElementName() As String
+        Get
+            Return MyBase.ClearElementName
+        End Get
+        Set(ByVal value As String)
+            MyBase.ClearElementName = value
+        End Set
+    End Property
+
+    Public Shadows ReadOnly Property RemoveElementName() As String
+        Get
+            Return MyBase.RemoveElementName
+        End Get
+    End Property
+
+    Public Shadows ReadOnly Property Count() As Integer
+        Get
+            Return MyBase.Count
+        End Get
+    End Property
+
+    Default Public Shadows Property Item(ByVal index As Integer) As ListElement
+        Get
+            Return CType(BaseGet(index), ListElement)
+        End Get
+        Set(ByVal value As ListElement)
+            If Not (BaseGet(index)) Is Nothing Then
+                BaseRemoveAt(index)
+            End If
+            BaseAdd(index, value)
+        End Set
+    End Property
+
+    Default Public Shadows ReadOnly Property Item(ByVal Name As String) As ListElement
+        Get
+            Return CType(BaseGet(Name), ListElement)
+        End Get
+    End Property
+
+    Public Function IndexOf(ByVal listElement As ListElement) As Integer
+        Return BaseIndexOf(listElement)
+    End Function
+
+    Public Sub Add(ByVal listElement As ListElement)
+        BaseAdd(listElement)
+    End Sub
+
+    Protected Overrides Sub BaseAdd(ByVal element As System.Configuration.ConfigurationElement)
+        MyBase.BaseAdd(element)
+    End Sub
+
+    Public Overloads Sub Remove(ByVal listElement As ListElement)
+        If BaseIndexOf(listElement) >= 0 Then
+            BaseRemove(listElement.Name)
+        End If
+    End Sub
+
+    Public Sub RemoveAt(ByVal index As Integer)
+        BaseRemoveAt(index)
+    End Sub
+
+    Public Overloads Sub Remove(ByVal name As String)
+        BaseRemove(name)
+    End Sub
+
+    Public Sub Clear()
+        BaseClear()
+    End Sub
+End Class
+
+Public Class SelectedUserCollection
+    Inherits ConfigurationElementCollection
+
+    Public Sub New()
+        Dim lElement As SelectedUser = CType(CreateNewElement(), SelectedUser)
+        Add(lElement)
+    End Sub
+
+    Protected Overloads Overrides Function CreateNewElement() As System.Configuration.ConfigurationElement
+        Return New SelectedUser
+    End Function
+
+    Protected Overloads Overrides Function CreateNewElement(ByVal Name As String) As System.Configuration.ConfigurationElement
+        Return New SelectedUser(Name)
+    End Function
+
+    Protected Overrides Function GetElementKey(ByVal element As System.Configuration.ConfigurationElement) As Object
+        Return CType(element, SelectedUser).Name
+    End Function
+
+    Public Overrides ReadOnly Property CollectionType() As ConfigurationElementCollectionType
+        Get
+            Return ConfigurationElementCollectionType.AddRemoveClearMap
+        End Get
+    End Property
+
+    Public Shadows Property AddElementName() As String
+        Get
+            Return MyBase.AddElementName
+        End Get
+        Set(ByVal value As String)
+            MyBase.AddElementName = value
+        End Set
+    End Property
+
+    Public Shadows Property ClearElementName() As String
+        Get
+            Return MyBase.ClearElementName
+        End Get
+        Set(ByVal value As String)
+            MyBase.ClearElementName = value
+        End Set
+    End Property
+
+    Public Shadows ReadOnly Property RemoveElementName() As String
+        Get
+            Return MyBase.RemoveElementName
+        End Get
+    End Property
+
+    Public Shadows ReadOnly Property Count() As Integer
+        Get
+            Return MyBase.Count
+        End Get
+    End Property
+
+    Default Public Shadows Property Item(ByVal index As Integer) As SelectedUser
+        Get
+            Return CType(BaseGet(index), SelectedUser)
+        End Get
+        Set(ByVal value As SelectedUser)
+            If Not (BaseGet(index)) Is Nothing Then
+                BaseRemoveAt(index)
+            End If
+            BaseAdd(index, value)
+        End Set
+    End Property
+
+    Default Public Shadows ReadOnly Property Item(ByVal Name As String) As SelectedUser
+        Get
+            Return CType(BaseGet(Name), SelectedUser)
+        End Get
+    End Property
+
+    Public Function IndexOf(ByVal selectedUser As SelectedUser) As Integer
+        Return BaseIndexOf(selectedUser)
+    End Function
+
+    Public Sub Add(ByVal selectedUser As SelectedUser)
+        BaseAdd(selectedUser)
+    End Sub
+
+    Protected Overrides Sub BaseAdd(ByVal element As System.Configuration.ConfigurationElement)
+        MyBase.BaseAdd(element)
+    End Sub
+
+    Public Overloads Sub Remove(ByVal selectedUser As SelectedUser)
+        If BaseIndexOf(selectedUser) >= 0 Then
+            BaseRemove(selectedUser.Name)
+        End If
+    End Sub
+
+    Public Sub RemoveAt(ByVal index As Integer)
+        BaseRemoveAt(index)
+    End Sub
+
+    Public Overloads Sub Remove(ByVal name As String)
+        BaseRemove(name)
+    End Sub
+
+    Public Sub Clear()
+        BaseClear()
+    End Sub
+End Class
+
+Public NotInheritable Class ListSection
+    Inherits ConfigurationSection
+
+    <ConfigurationProperty("listelement", IsDefaultCollection:=False)> _
+    Public Property ListElement() As ListElementCollection
+        Get
+            Return CType(Me("listelement"), ListElementCollection)
+        End Get
+        Set(ByVal value As ListElementCollection)
+            Me("listelement") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("username", DefaultValue:="")> _
+    Public Property UserName() As String
+        Get
+            Return CStr(Me("username"))
+        End Get
+        Set(ByVal value As String)
+            Me("username") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("password", DefaultValue:="")> _
+    Public Property Password() As String
+        Get
+            Dim pwd As String = ""
+            If CStr(Me("password")).Length > 0 Then
+                Try
+                    pwd = DecryptString(CStr(Me("password")))
+                Catch ex As Exception
+                    pwd = ""
+                End Try
+            End If
+            Return pwd
+        End Get
+        Set(ByVal value As String)
+            Dim pwd As String = value.Trim()
+            If pwd.Length > 0 Then
+                Try
+                    Me("password") = EncryptString(value)
+                Catch ex As Exception
+                    Me("password") = ""
+                End Try
+            Else
+                Me("password") = ""
+            End If
+        End Set
+    End Property
+
+    <ConfigurationProperty("formlocation", DefaultValue:="0, 0")> _
+    Public Property FormLocation() As Point
+        Get
+            Return CType(Me("formlocation"), Point)
+        End Get
+        Set(ByVal value As Point)
+            Me("formlocation") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("splitterdistance", DefaultValue:=320)> _
+    Public Property SplitterDistance() As Integer
+        Get
+            Return DirectCast(Me("splitterdistance"), Integer)
+        End Get
+        Set(ByVal value As Integer)
+            Me("splitterdistance") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("formsize", DefaultValue:="436, 476")> _
+    Public Property FormSize() As Size
+        Get
+            Return CType(Me("formsize"), Size)
+        End Get
+        Set(ByVal value As Size)
+            Me("formsize") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("nextpagethreshold", DefaultValue:=20), _
+     IntegerValidator(MaxValue:=20, MinValue:=1)> _
+    Public Property NextPageThreshold() As Integer
+        Get
+            Return CInt(Me("nextpagethreshold"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("nextpagethreshold") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("nextpages", DefaultValue:=1), _
+     IntegerValidator(MaxValue:=20, MinValue:=1)> _
+    Public Property NextPages() As Integer
+        Get
+            Return CInt(Me("nextpages"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("nextpages") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("timelineperiod", DefaultValue:=90), _
+     IntegerValidator(MaxValue:=3600, MinValue:=0)> _
+    Public Property TimelinePeriod() As Integer
+        Get
+            Return CInt(Me("timelineperiod"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("timelineperiod") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("dmperiod", DefaultValue:=600), _
+     IntegerValidator(MaxValue:=3600, MinValue:=0)> _
+    Public Property DMPeriod() As Integer
+        Get
+            Return CInt(Me("dmperiod"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("dmperiod") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("readpages", DefaultValue:=10), _
+     IntegerValidator(MaxValue:=999, MinValue:=0)> _
+    Public Property ReadPages() As Integer
+        Get
+            Return CInt(Me("readpages"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("readpages") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("readpagesreply", DefaultValue:=1), _
+     IntegerValidator(MaxValue:=999, MinValue:=0)> _
+    Public Property ReadPagesReply() As Integer
+        Get
+            Return CInt(Me("readpagesreply"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("readpagesreply") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("readpagesdm", DefaultValue:=1), _
+     IntegerValidator(MaxValue:=999, MinValue:=0)> _
+    Public Property ReadPagesDM() As Integer
+        Get
+            Return CInt(Me("readpagesdm"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("readpagesdm") = value
+        End Set
+    End Property
+    <ConfigurationProperty("maxpostnum", DefaultValue:=125), _
+     IntegerValidator(MaxValue:=999, MinValue:=1)> _
+    Public Property MaxPostNum() As Integer
+        Get
+            Return CInt(Me("maxpostnum"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("maxpostnum") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("readed", DefaultValue:=True)> _
+    Public Property Readed() As Boolean
+        Get
+            Return CBool(Me("readed"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("readed") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("listlock", DefaultValue:=False)> _
+    Public Property ListLock() As Boolean
+        Get
+            Return CBool(Me("listlock"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("listlock") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("listiconsize", DefaultValue:=IconSizes.Icon16)> _
+    Public Property IconSize() As IconSizes
+        Get
+            Return DirectCast(Me("listiconsize"), IconSizes)
+        End Get
+        Set(ByVal value As IconSizes)
+            Me("listiconsize") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("selecteduser", IsDefaultCollection:=False)> _
+    Public Property SelectedUser() As SelectedUserCollection
+        Get
+            Return CType(Me("selecteduser"), SelectedUserCollection)
+        End Get
+        Set(ByVal value As SelectedUserCollection)
+            Me("selecteduser") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("newallpop", DefaultValue:=True)> _
+    Public Property NewAllPop() As Boolean
+        Get
+            Return CBool(Me("newallpop"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("newallpop") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("statustext", DefaultValue:="")> _
+    Public Property StatusText() As String
+        Get
+            Return CStr(Me("statustext"))
+        End Get
+        Set(ByVal value As String)
+            Me("statustext") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("playsound", DefaultValue:=False)> _
+    Public Property PlaySound() As Boolean
+        Get
+            Return CBool(Me("playsound"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("playsound") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("unreadmanage", DefaultValue:=True)> _
+    Public Property UnreadManage() As Boolean
+        Get
+            Return CBool(Me("unreadmanage"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("unreadmanage") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("onewaylove", DefaultValue:=True)> _
+    Public Property OneWayLove() As Boolean
+        Get
+            Return CBool(Me("onewaylove"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("onewaylove") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("fontunread", DefaultValue:="MS UI Gothic, 9pt, style=Bold, Underline")> _
+    Public Property FontUnread() As System.Drawing.Font
+        Get
+            Return DirectCast(Me("fontunread"), System.Drawing.Font)
+        End Get
+        Set(ByVal value As Font)
+            Me("fontunread") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorunread", DefaultValue:="ControlText")> _
+    Public Property ColorUnread() As Color
+        Get
+            Return DirectCast(Me("colorunread"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorunread") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("fontreaded", DefaultValue:="MS UI Gothic, 9pt")> _
+    Public Property FontReaded() As Font
+        Get
+            Return DirectCast(Me("fontreaded"), Font)
+        End Get
+        Set(ByVal value As Font)
+            Me("fontreaded") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorreaded", DefaultValue:="Gray")> _
+    Public Property ColorReaded() As Color
+        Get
+            Return DirectCast(Me("colorreaded"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorreaded") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorfav", DefaultValue:="Red")> _
+    Public Property ColorFav() As Color
+        Get
+            Return DirectCast(Me("colorfav"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorfav") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorOWL", DefaultValue:="Blue")> _
+    Public Property ColorOWL() As Color
+        Get
+            Return DirectCast(Me("colorOWL"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorOWL") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("fontDetail", DefaultValue:="MS UI Gothic, 9pt")> _
+    Public Property FontDetail() As Font
+        Get
+            Return DirectCast(Me("fontDetail"), Font)
+        End Get
+        Set(ByVal value As Font)
+            Me("fontDetail") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorSelf", DefaultValue:="AliceBlue")> _
+    Public Property ColorSelf() As Color
+        Get
+            Return DirectCast(Me("colorSelf"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorSelf") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorAtSelf", DefaultValue:="AntiqueWhite")> _
+    Public Property ColorAtSelf() As Color
+        Get
+            Return DirectCast(Me("colorAtSelf"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorAtSelf") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorTarget", DefaultValue:="LemonChiffon")> _
+    Public Property ColorTarget() As Color
+        Get
+            Return DirectCast(Me("colorTarget"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorTarget") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorAtTarget", DefaultValue:="LavenderBlush")> _
+    Public Property ColorAtTarget() As Color
+        Get
+            Return DirectCast(Me("colorAtTarget"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorAtTarget") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("colorAtFromTarget", DefaultValue:="Honeydew")> _
+    Public Property ColorAtFromTarget() As Color
+        Get
+            Return DirectCast(Me("colorAtFromTarget"), Color)
+        End Get
+        Set(ByVal value As Color)
+            Me("colorAtFromTarget") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("nameballoon", DefaultValue:=NameBalloonEnum.NickName)> _
+    Public Property NameBalloon() As NameBalloonEnum
+        Get
+            Return DirectCast(Me("nameballoon"), NameBalloonEnum)
+        End Get
+        Set(ByVal value As NameBalloonEnum)
+            Me("nameballoon") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width1", DefaultValue:=48)> _
+    Public Property Width1() As Integer
+        Get
+            Return CInt(Me("width1"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width1") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width2", DefaultValue:=80)> _
+    Public Property Width2() As Integer
+        Get
+            Return CInt(Me("width2"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width2") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width3", DefaultValue:=290)> _
+    Public Property Width3() As Integer
+        Get
+            Return CInt(Me("width3"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width3") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width4", DefaultValue:=120)> _
+    Public Property Width4() As Integer
+        Get
+            Return CInt(Me("width4"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width4") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width5", DefaultValue:=50)> _
+    Public Property Width5() As Integer
+        Get
+            Return CInt(Me("width5"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width5") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width6", DefaultValue:=16)> _
+    Public Property Width6() As Integer
+        Get
+            Return CInt(Me("width6"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width6") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width7", DefaultValue:=32)> _
+    Public Property Width7() As Integer
+        Get
+            Return CInt(Me("width7"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width7") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("width8", DefaultValue:=50)> _
+    Public Property Width8() As Integer
+        Get
+            Return CInt(Me("width8"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("width8") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("sortcolumn", DefaultValue:=3)> _
+    Public Property SortColumn() As Integer
+        Get
+            Return CInt(Me("sortcolumn"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("sortcolumn") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("sortorder", DefaultValue:=1)> _
+    Public Property SortOrder() As Integer
+        Get
+            Return CInt(Me("sortorder"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("sortorder") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex1", DefaultValue:=0)> _
+    Public Property DisplayIndex1() As Integer
+        Get
+            Return CInt(Me("displayindex1"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex1") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex2", DefaultValue:=1)> _
+    Public Property DisplayIndex2() As Integer
+        Get
+            Return CInt(Me("displayindex2"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex2") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex3", DefaultValue:=2)> _
+    Public Property DisplayIndex3() As Integer
+        Get
+            Return CInt(Me("displayindex3"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex3") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex4", DefaultValue:=3)> _
+    Public Property DisplayIndex4() As Integer
+        Get
+            Return CInt(Me("displayindex4"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex4") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex5", DefaultValue:=4)> _
+    Public Property DisplayIndex5() As Integer
+        Get
+            Return CInt(Me("displayindex5"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex5") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex6", DefaultValue:=5)> _
+    Public Property DisplayIndex6() As Integer
+        Get
+            Return CInt(Me("displayindex6"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex6") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex7", DefaultValue:=6)> _
+    Public Property DisplayIndex7() As Integer
+        Get
+            Return CInt(Me("displayindex7"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex7") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displayindex8", DefaultValue:=7)> _
+    Public Property DisplayIndex8() As Integer
+        Get
+            Return CInt(Me("displayindex8"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("displayindex8") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("postctrlenter", DefaultValue:=False)> _
+    Public Property PostCtrlEnter() As Boolean
+        Get
+            Return CBool(Me("postctrlenter"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("postctrlenter") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("useapi", DefaultValue:=False)> _
+    Public Property UseAPI() As Boolean
+        Get
+            Return CBool(Me("useapi"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("useapi") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("checkreply", DefaultValue:=True)> _
+    Public Property CheckReply() As Boolean
+        Get
+            Return CBool(Me("checkreply"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("checkreply") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("userecommendstatus", DefaultValue:=False)> _
+    Public Property UseRecommendStatus() As Boolean
+        Get
+            Return CBool(Me("userecommendstatus"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("userecommendstatus") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("dispusername", DefaultValue:=False)> _
+    Public Property DispUsername() As Boolean
+        Get
+            Return CBool(Me("dispusername"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("dispusername") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("minimizetotray", DefaultValue:=False)> _
+    Public Property MinimizeToTray() As Boolean
+        Get
+            Return CBool(Me("minimizetotray"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("minimizetotray") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("closetoexit", DefaultValue:=False)> _
+Public Property CloseToExit() As Boolean
+        Get
+            Return CBool(Me("closetoexit"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("closetoexit") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("displatestpost", DefaultValue:=DispTitleEnum.Post)> _
+    Public Property DispLatestPost() As DispTitleEnum
+        Get
+            Return DirectCast(Me("displatestpost"), DispTitleEnum)
+        End Get
+        Set(ByVal value As DispTitleEnum)
+            Me("displatestpost") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("hubserver", DefaultValue:="twitter.com")> _
+    Public Property HubServer() As String
+        Get
+            Return CStr(Me("hubserver"))
+        End Get
+        Set(ByVal value As String)
+            Me("hubserver") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("browserpath", DefaultValue:="")> _
+    Public Property BrowserPath() As String
+        Get
+            Return CStr(Me("browserpath"))
+        End Get
+        Set(ByVal value As String)
+            Me("browserpath") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("sortorderlock", DefaultValue:=False)> _
+    Public Property SortOrderLock() As Boolean
+        Get
+            Return CBool(Me("sortorderlock"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("sortorderlock") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("tinyurlresolve", DefaultValue:=True)> _
+    Public Property TinyURLResolve() As Boolean
+        Get
+            Return CBool(Me("tinyurlresolve"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("tinyurlresolve") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("proxytype", DefaultValue:=ProxyTypeEnum.IE)> _
+    Public Property ProxyType() As ProxyTypeEnum
+        Get
+            Return DirectCast(Me("proxytype"), ProxyTypeEnum)
+        End Get
+        Set(ByVal value As ProxyTypeEnum)
+            Me("proxytype") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("proxyaddress", DefaultValue:="127.0.0.1")> _
+    Public Property ProxyAddress() As String
+        Get
+            Return Me("proxyaddress").ToString
+        End Get
+        Set(ByVal value As String)
+            Me("proxyaddress") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("proxyport", DefaultValue:=80)> _
+    Public Property ProxyPort() As Integer
+        Get
+            Return DirectCast(Me("proxyport"), Integer)
+        End Get
+        Set(ByVal value As Integer)
+            Me("proxyport") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("proxyuser", DefaultValue:="")> _
+    Public Property ProxyUser() As String
+        Get
+            Return Me("proxyuser").ToString
+        End Get
+        Set(ByVal value As String)
+            Me("proxyuser") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("proxypassword", DefaultValue:="")> _
+    Public Property ProxyPassword() As String
+        Get
+            Dim pwd As String = ""
+            If CStr(Me("proxypassword")).Length > 0 Then
+                Try
+                    pwd = DecryptString(CStr(Me("proxypassword")))
+                Catch ex As Exception
+                    pwd = ""
+                End Try
+            End If
+            Return pwd
+        End Get
+        Set(ByVal value As String)
+            Dim pwd As String = value.Trim()
+            If pwd.Length > 0 Then
+                Try
+                    Me("proxypassword") = EncryptString(pwd)
+                Catch ex As Exception
+                    Me("proxypassword") = ""
+                End Try
+            Else
+                Me("proxypassword") = ""
+            End If
+        End Set
+    End Property
+
+    <ConfigurationProperty("periodadjust", DefaultValue:=True)> _
+    Public Property PeriodAdjust() As Boolean
+        Get
+            Return CBool(Me("periodadjust"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("periodadjust") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("startupversion", DefaultValue:=True)> _
+    Public Property StartupVersion() As Boolean
+        Get
+            Return CBool(Me("startupversion"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("startupversion") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("startupkey", DefaultValue:=True)> _
+    Public Property StartupKey() As Boolean
+        Get
+            Return CBool(Me("startupkey"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("startupkey") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("startupfollowers", DefaultValue:=True)> _
+    Public Property StartupFollowers() As Boolean
+        Get
+            Return CBool(Me("startupfollowers"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("startupfollowers") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("restrictfavcheck", DefaultValue:=False)> _
+    Public Property RestrictFavCheck() As Boolean
+        Get
+            Return CBool(Me("restrictfavcheck"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("restrictfavcheck") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("alwaystop", DefaultValue:=False)> _
+    Public Property AlwaysTop() As Boolean
+        Get
+            Return CBool(Me("alwaystop"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("alwaystop") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("statusmultiline", DefaultValue:=False)> _
+    Public Property StatusMultiline() As Boolean
+        Get
+            Return CBool(Me("statusmultiline"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("statusmultiline") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("statustextheight", DefaultValue:=38)> _
+    Public Property StatusTextHeight() As Integer
+        Get
+            Return CInt(Me("statustextheight"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("statustextheight") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("culturecode", DefaultValue:="")> _
+    Public Property cultureCode() As String
+        Get
+            Return Me("culturecode").ToString
+        End Get
+        Set(ByVal value As String)
+            Me("culturecode") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("urlconvertauto", DefaultValue:=False)> _
+    Public Property UrlConvertAuto() As Boolean
+        Get
+            Return CBool(Me("urlconvertauto"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("urlconvertauto") = value
+        End Set
+    End Property
+    <ConfigurationProperty("outputz", DefaultValue:=False)> _
+    Public Property Outputz() As Boolean
+        Get
+            Return CBool(Me("outputz"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("outputz") = value
+        End Set
+    End Property
+    <ConfigurationProperty("outputzkey", DefaultValue:="")> _
+    Public Property OutputzKey() As String
+        Get
+            Dim key As String = ""
+            If CStr(Me("outputzkey")).Length > 0 Then
+                Try
+                    key = DecryptString(CStr(Me("outputzkey")))
+                Catch ex As Exception
+                    key = ""
+                End Try
+            End If
+            Return key
+        End Get
+        Set(ByVal value As String)
+            Dim key As String = value.Trim()
+            If key.Length > 0 Then
+                Try
+                    Me("outputzkey") = EncryptString(key)
+                Catch ex As Exception
+                    Me("outputzkey") = ""
+                End Try
+            Else
+                Me("outputzkey") = ""
+            End If
+        End Set
+    End Property
+    <ConfigurationProperty("outputzurlmode", DefaultValue:=OutputzUrlmode.twittercom)> _
+    Public Property OutputzUrlmode() As OutputzUrlmode
+        Get
+            Return DirectCast(Me("outputzurlmode"), OutputzUrlmode)
+        End Get
+        Set(ByVal value As OutputzUrlmode)
+            Me("outputzurlmode") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("useunreadstyle", DefaultValue:=True)> _
+    Public Property UseUnreadStyle() As Boolean
+        Get
+            Return CBool(Me("useunreadstyle"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("useunreadstyle") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("datetimeformat", DefaultValue:="yyyy/MM/dd H:mm:ss")> _
+    Public Property DateTimeFormat() As String
+        Get
+            Return Me("datetimeformat").ToString
+        End Get
+        Set(ByVal value As String)
+            Me("datetimeformat") = value
+        End Set
+    End Property
+    <ConfigurationProperty("defaulttimeout", DefaultValue:=20)> _
+    Public Property DefaultTimeOut() As Integer
+        Get
+            Return CInt(Me("defaulttimeout"))
+        End Get
+        Set(ByVal value As Integer)
+            Me("defaulttimeout") = value
+        End Set
+    End Property
+
+    <ConfigurationProperty("protectnotinclude", DefaultValue:=False)> _
+    Public Property ProtectNotInclude() As Boolean
+        Get
+            Return CBool(Me("protectnotinclude"))
+        End Get
+        Set(ByVal value As Boolean)
+            Me("protectnotinclude") = value
+        End Set
+    End Property
+
+End Class
diff --git a/Tween/Tween.Designer.vb b/Tween/Tween.Designer.vb
new file mode 100644 (file)
index 0000000..be86625
--- /dev/null
@@ -0,0 +1,1219 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class TweenMain
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Me.components = New System.ComponentModel.Container
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(TweenMain))
+        Me.ToolStripContainer1 = New System.Windows.Forms.ToolStripContainer
+        Me.StatusStrip1 = New System.Windows.Forms.StatusStrip
+        Me.StatusLabelUrl = New System.Windows.Forms.ToolStripStatusLabel
+        Me.SplitContainer1 = New System.Windows.Forms.SplitContainer
+        Me.ListTab = New System.Windows.Forms.TabControl
+        Me.ContextMenuTabProperty = New System.Windows.Forms.ContextMenuStrip(Me.components)
+        Me.AddTabMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.TabRenameMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator20 = New System.Windows.Forms.ToolStripSeparator
+        Me.UreadManageMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.NotifyDispMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.SoundFileComboBox = New System.Windows.Forms.ToolStripComboBox
+        Me.ToolStripSeparator18 = New System.Windows.Forms.ToolStripSeparator
+        Me.FilterEditMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator19 = New System.Windows.Forms.ToolStripSeparator
+        Me.ClearTabMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator11 = New System.Windows.Forms.ToolStripSeparator
+        Me.DeleteTabMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.MenuItemTab = New System.Windows.Forms.ToolStripMenuItem
+        Me.TabImage = New System.Windows.Forms.ImageList(Me.components)
+        Me.SplitContainer2 = New System.Windows.Forms.SplitContainer
+        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
+        Me.UserPicture = New System.Windows.Forms.PictureBox
+        Me.ContextMenuStrip3 = New System.Windows.Forms.ContextMenuStrip(Me.components)
+        Me.IconNameToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItem1 = New System.Windows.Forms.ToolStripSeparator
+        Me.SaveIconPictureToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.NameLabel = New System.Windows.Forms.Label
+        Me.PostBrowser = New System.Windows.Forms.WebBrowser
+        Me.ContextMenuStrip4 = New System.Windows.Forms.ContextMenuStrip(Me.components)
+        Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem
+        Me.SearchItem2ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.SearchItem1ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.SearchItem3ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.SearchItem4ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.CurrentTabToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator13 = New System.Windows.Forms.ToolStripSeparator
+        Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItem4 = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItem5 = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator
+        Me.FollowContextMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.RemoveContextMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.FriendshipContextMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.DateTimeLabel = New System.Windows.Forms.Label
+        Me.StatusText = New System.Windows.Forms.TextBox
+        Me.lblLen = New System.Windows.Forms.Label
+        Me.PostButton = New System.Windows.Forms.Button
+        Me.ButtonPostMode = New System.Windows.Forms.Button
+        Me.MenuStrip1 = New System.Windows.Forms.MenuStrip
+        Me.MenuItemFile = New System.Windows.Forms.ToolStripMenuItem
+        Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
+        Me.SettingStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator
+        Me.SaveLogMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator17 = New System.Windows.Forms.ToolStripSeparator
+        Me.NewPostPopMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.PlaySoundMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ListLockMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator15 = New System.Windows.Forms.ToolStripSeparator
+        Me.MultiLineMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator21 = New System.Windows.Forms.ToolStripSeparator
+        Me.EndToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.MenuItemEdit = New System.Windows.Forms.ToolStripMenuItem
+        Me.CopySTOTMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.CopyURLMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator
+        Me.MenuItemSubSearch = New System.Windows.Forms.ToolStripMenuItem
+        Me.MenuItemSearchNext = New System.Windows.Forms.ToolStripMenuItem
+        Me.MenuItemSearchPrev = New System.Windows.Forms.ToolStripMenuItem
+        Me.MenuItemOperate = New System.Windows.Forms.ToolStripMenuItem
+        Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
+        Me.ReplyStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ReplyAllStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.DMStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ReTweetOriginalStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ReTweetStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator
+        Me.FavAddToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.FavRemoveToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItem6 = New System.Windows.Forms.ToolStripMenuItem
+        Me.MoveToHomeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.MoveToFavToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.StatusOpenMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.RepliedStatusOpenMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.FavorareMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.OpenURLMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItem7 = New System.Windows.Forms.ToolStripMenuItem
+        Me.TabMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.IDRuleMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator
+        Me.ToolStripMenuItem11 = New System.Windows.Forms.ToolStripMenuItem
+        Me.ReadedStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.UnreadStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.JumpUnreadMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator10 = New System.Windows.Forms.ToolStripSeparator
+        Me.SelectAllMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.DeleteStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.RefreshStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.MenuItemCommand = New System.Windows.Forms.ToolStripMenuItem
+        Me.TinyUrlConvertToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.UrlConvertAutoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.UrlUndoToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.TinyURLToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.IsgdToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.TwurlnlToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.UnuToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.BitlyToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.JmpStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.UpdateFollowersMenuItem1 = New System.Windows.Forms.ToolStripMenuItem
+        Me.GetFollowersDiffToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.GetFollowersAllToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItem10 = New System.Windows.Forms.ToolStripMenuItem
+        Me.BlackFavAddToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator
+        Me.FollowCommandMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.RemoveCommandMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.FriendshipMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator
+        Me.OwnStatusMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.MenuItemHelp = New System.Windows.Forms.ToolStripMenuItem
+        Me.MatomeMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator16 = New System.Windows.Forms.ToolStripSeparator
+        Me.VerUpMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.WedataMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator14 = New System.Windows.Forms.ToolStripSeparator
+        Me.ApiInfoMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.InfoTwitterMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripSeparator7 = New System.Windows.Forms.ToolStripSeparator
+        Me.AboutMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.DebugModeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.DumpPostClassToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.TraceOutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.ContextMenuStripPostMode = New System.Windows.Forms.ContextMenuStrip(Me.components)
+        Me.ToolStripMenuItemUrlMultibyteSplit = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItemApiCommandEvasion = New System.Windows.Forms.ToolStripMenuItem
+        Me.ToolStripMenuItemUrlAutoShorten = New System.Windows.Forms.ToolStripMenuItem
+        Me.IdeographicSpaceToSpaceToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem
+        Me.TimerTimeline = New System.Windows.Forms.Timer(Me.components)
+        Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components)
+        Me.TimerDM = New System.Windows.Forms.Timer(Me.components)
+        Me.TimerColorize = New System.Windows.Forms.Timer(Me.components)
+        Me.SaveFileDialog1 = New System.Windows.Forms.SaveFileDialog
+        Me.TimerRefreshIcon = New System.Windows.Forms.Timer(Me.components)
+        Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog
+        Me.TimerReply = New System.Windows.Forms.Timer(Me.components)
+        Me.ToolStripContainer1.BottomToolStripPanel.SuspendLayout()
+        Me.ToolStripContainer1.ContentPanel.SuspendLayout()
+        Me.ToolStripContainer1.TopToolStripPanel.SuspendLayout()
+        Me.ToolStripContainer1.SuspendLayout()
+        Me.StatusStrip1.SuspendLayout()
+        Me.SplitContainer1.Panel1.SuspendLayout()
+        Me.SplitContainer1.Panel2.SuspendLayout()
+        Me.SplitContainer1.SuspendLayout()
+        Me.ContextMenuTabProperty.SuspendLayout()
+        Me.SplitContainer2.Panel1.SuspendLayout()
+        Me.SplitContainer2.Panel2.SuspendLayout()
+        Me.SplitContainer2.SuspendLayout()
+        Me.TableLayoutPanel1.SuspendLayout()
+        CType(Me.UserPicture, System.ComponentModel.ISupportInitialize).BeginInit()
+        Me.ContextMenuStrip3.SuspendLayout()
+        Me.ContextMenuStrip4.SuspendLayout()
+        Me.MenuStrip1.SuspendLayout()
+        Me.ContextMenuStrip1.SuspendLayout()
+        Me.ContextMenuStrip2.SuspendLayout()
+        Me.ContextMenuStripPostMode.SuspendLayout()
+        Me.SuspendLayout()
+        '
+        'ToolStripContainer1
+        '
+        '
+        'ToolStripContainer1.BottomToolStripPanel
+        '
+        Me.ToolStripContainer1.BottomToolStripPanel.Controls.Add(Me.StatusStrip1)
+        '
+        'ToolStripContainer1.ContentPanel
+        '
+        Me.ToolStripContainer1.ContentPanel.Controls.Add(Me.SplitContainer1)
+        resources.ApplyResources(Me.ToolStripContainer1.ContentPanel, "ToolStripContainer1.ContentPanel")
+        resources.ApplyResources(Me.ToolStripContainer1, "ToolStripContainer1")
+        Me.ToolStripContainer1.LeftToolStripPanelVisible = False
+        Me.ToolStripContainer1.Name = "ToolStripContainer1"
+        Me.ToolStripContainer1.RightToolStripPanelVisible = False
+        '
+        'ToolStripContainer1.TopToolStripPanel
+        '
+        Me.ToolStripContainer1.TopToolStripPanel.Controls.Add(Me.MenuStrip1)
+        '
+        'StatusStrip1
+        '
+        resources.ApplyResources(Me.StatusStrip1, "StatusStrip1")
+        Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.StatusLabelUrl})
+        Me.StatusStrip1.Name = "StatusStrip1"
+        Me.StatusStrip1.ShowItemToolTips = True
+        '
+        'StatusLabelUrl
+        '
+        Me.StatusLabelUrl.BorderSides = System.Windows.Forms.ToolStripStatusLabelBorderSides.Right
+        Me.StatusLabelUrl.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
+        Me.StatusLabelUrl.Name = "StatusLabelUrl"
+        resources.ApplyResources(Me.StatusLabelUrl, "StatusLabelUrl")
+        Me.StatusLabelUrl.Spring = True
+        '
+        'SplitContainer1
+        '
+        Me.SplitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
+        resources.ApplyResources(Me.SplitContainer1, "SplitContainer1")
+        Me.SplitContainer1.Name = "SplitContainer1"
+        '
+        'SplitContainer1.Panel1
+        '
+        Me.SplitContainer1.Panel1.Controls.Add(Me.ListTab)
+        '
+        'SplitContainer1.Panel2
+        '
+        Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer2)
+        Me.SplitContainer1.TabStop = False
+        '
+        'ListTab
+        '
+        resources.ApplyResources(Me.ListTab, "ListTab")
+        Me.ListTab.AllowDrop = True
+        Me.ListTab.ContextMenuStrip = Me.ContextMenuTabProperty
+        Me.ListTab.ImageList = Me.TabImage
+        Me.ListTab.Multiline = True
+        Me.ListTab.Name = "ListTab"
+        Me.ListTab.SelectedIndex = 0
+        Me.ListTab.TabStop = False
+        '
+        'ContextMenuTabProperty
+        '
+        Me.ContextMenuTabProperty.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AddTabMenuItem, Me.TabRenameMenuItem, Me.ToolStripSeparator20, Me.UreadManageMenuItem, Me.NotifyDispMenuItem, Me.SoundFileComboBox, Me.ToolStripSeparator18, Me.FilterEditMenuItem, Me.ToolStripSeparator19, Me.ClearTabMenuItem, Me.ToolStripSeparator11, Me.DeleteTabMenuItem})
+        Me.ContextMenuTabProperty.Name = "ContextMenuStrip3"
+        Me.ContextMenuTabProperty.OwnerItem = Me.MenuItemTab
+        Me.ContextMenuTabProperty.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
+        resources.ApplyResources(Me.ContextMenuTabProperty, "ContextMenuTabProperty")
+        '
+        'AddTabMenuItem
+        '
+        Me.AddTabMenuItem.Name = "AddTabMenuItem"
+        resources.ApplyResources(Me.AddTabMenuItem, "AddTabMenuItem")
+        '
+        'TabRenameMenuItem
+        '
+        Me.TabRenameMenuItem.Name = "TabRenameMenuItem"
+        resources.ApplyResources(Me.TabRenameMenuItem, "TabRenameMenuItem")
+        '
+        'ToolStripSeparator20
+        '
+        Me.ToolStripSeparator20.Name = "ToolStripSeparator20"
+        resources.ApplyResources(Me.ToolStripSeparator20, "ToolStripSeparator20")
+        '
+        'UreadManageMenuItem
+        '
+        Me.UreadManageMenuItem.CheckOnClick = True
+        Me.UreadManageMenuItem.Name = "UreadManageMenuItem"
+        resources.ApplyResources(Me.UreadManageMenuItem, "UreadManageMenuItem")
+        '
+        'NotifyDispMenuItem
+        '
+        Me.NotifyDispMenuItem.CheckOnClick = True
+        Me.NotifyDispMenuItem.Name = "NotifyDispMenuItem"
+        resources.ApplyResources(Me.NotifyDispMenuItem, "NotifyDispMenuItem")
+        '
+        'SoundFileComboBox
+        '
+        Me.SoundFileComboBox.AutoToolTip = True
+        Me.SoundFileComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
+        Me.SoundFileComboBox.Name = "SoundFileComboBox"
+        resources.ApplyResources(Me.SoundFileComboBox, "SoundFileComboBox")
+        '
+        'ToolStripSeparator18
+        '
+        Me.ToolStripSeparator18.Name = "ToolStripSeparator18"
+        resources.ApplyResources(Me.ToolStripSeparator18, "ToolStripSeparator18")
+        '
+        'FilterEditMenuItem
+        '
+        Me.FilterEditMenuItem.Name = "FilterEditMenuItem"
+        resources.ApplyResources(Me.FilterEditMenuItem, "FilterEditMenuItem")
+        '
+        'ToolStripSeparator19
+        '
+        Me.ToolStripSeparator19.Name = "ToolStripSeparator19"
+        resources.ApplyResources(Me.ToolStripSeparator19, "ToolStripSeparator19")
+        '
+        'ClearTabMenuItem
+        '
+        Me.ClearTabMenuItem.Name = "ClearTabMenuItem"
+        resources.ApplyResources(Me.ClearTabMenuItem, "ClearTabMenuItem")
+        '
+        'ToolStripSeparator11
+        '
+        Me.ToolStripSeparator11.Name = "ToolStripSeparator11"
+        resources.ApplyResources(Me.ToolStripSeparator11, "ToolStripSeparator11")
+        '
+        'DeleteTabMenuItem
+        '
+        Me.DeleteTabMenuItem.Name = "DeleteTabMenuItem"
+        resources.ApplyResources(Me.DeleteTabMenuItem, "DeleteTabMenuItem")
+        '
+        'MenuItemTab
+        '
+        Me.MenuItemTab.DropDown = Me.ContextMenuTabProperty
+        Me.MenuItemTab.Name = "MenuItemTab"
+        resources.ApplyResources(Me.MenuItemTab, "MenuItemTab")
+        '
+        'TabImage
+        '
+        Me.TabImage.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit
+        resources.ApplyResources(Me.TabImage, "TabImage")
+        Me.TabImage.TransparentColor = System.Drawing.Color.Transparent
+        '
+        'SplitContainer2
+        '
+        resources.ApplyResources(Me.SplitContainer2, "SplitContainer2")
+        Me.SplitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2
+        Me.SplitContainer2.MinimumSize = New System.Drawing.Size(0, 22)
+        Me.SplitContainer2.Name = "SplitContainer2"
+        '
+        'SplitContainer2.Panel1
+        '
+        Me.SplitContainer2.Panel1.Controls.Add(Me.TableLayoutPanel1)
+        '
+        'SplitContainer2.Panel2
+        '
+        Me.SplitContainer2.Panel2.Controls.Add(Me.StatusText)
+        Me.SplitContainer2.Panel2.Controls.Add(Me.lblLen)
+        Me.SplitContainer2.Panel2.Controls.Add(Me.PostButton)
+        Me.SplitContainer2.Panel2.Controls.Add(Me.ButtonPostMode)
+        Me.SplitContainer2.TabStop = False
+        '
+        'TableLayoutPanel1
+        '
+        resources.ApplyResources(Me.TableLayoutPanel1, "TableLayoutPanel1")
+        Me.TableLayoutPanel1.Controls.Add(Me.UserPicture, 0, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.NameLabel, 1, 0)
+        Me.TableLayoutPanel1.Controls.Add(Me.PostBrowser, 1, 1)
+        Me.TableLayoutPanel1.Controls.Add(Me.DateTimeLabel, 2, 0)
+        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
+        '
+        'UserPicture
+        '
+        Me.UserPicture.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+        Me.UserPicture.ContextMenuStrip = Me.ContextMenuStrip3
+        resources.ApplyResources(Me.UserPicture, "UserPicture")
+        Me.UserPicture.Name = "UserPicture"
+        Me.TableLayoutPanel1.SetRowSpan(Me.UserPicture, 2)
+        Me.UserPicture.TabStop = False
+        '
+        'ContextMenuStrip3
+        '
+        Me.ContextMenuStrip3.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.IconNameToolStripMenuItem, Me.ToolStripMenuItem1, Me.SaveIconPictureToolStripMenuItem})
+        Me.ContextMenuStrip3.Name = "ContextMenuStrip3"
+        Me.ContextMenuStrip3.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
+        resources.ApplyResources(Me.ContextMenuStrip3, "ContextMenuStrip3")
+        '
+        'IconNameToolStripMenuItem
+        '
+        Me.IconNameToolStripMenuItem.Name = "IconNameToolStripMenuItem"
+        resources.ApplyResources(Me.IconNameToolStripMenuItem, "IconNameToolStripMenuItem")
+        '
+        'ToolStripMenuItem1
+        '
+        Me.ToolStripMenuItem1.Name = "ToolStripMenuItem1"
+        resources.ApplyResources(Me.ToolStripMenuItem1, "ToolStripMenuItem1")
+        '
+        'SaveIconPictureToolStripMenuItem
+        '
+        Me.SaveIconPictureToolStripMenuItem.Name = "SaveIconPictureToolStripMenuItem"
+        resources.ApplyResources(Me.SaveIconPictureToolStripMenuItem, "SaveIconPictureToolStripMenuItem")
+        '
+        'NameLabel
+        '
+        resources.ApplyResources(Me.NameLabel, "NameLabel")
+        Me.NameLabel.Name = "NameLabel"
+        '
+        'PostBrowser
+        '
+        Me.PostBrowser.AllowWebBrowserDrop = False
+        Me.TableLayoutPanel1.SetColumnSpan(Me.PostBrowser, 2)
+        Me.PostBrowser.ContextMenuStrip = Me.ContextMenuStrip4
+        resources.ApplyResources(Me.PostBrowser, "PostBrowser")
+        Me.PostBrowser.IsWebBrowserContextMenuEnabled = False
+        Me.PostBrowser.Name = "PostBrowser"
+        Me.PostBrowser.ScriptErrorsSuppressed = True
+        Me.PostBrowser.TabStop = False
+        Me.PostBrowser.Url = New System.Uri("about:blank", System.UriKind.Absolute)
+        '
+        'ContextMenuStrip4
+        '
+        Me.ContextMenuStrip4.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem2, Me.ToolStripSeparator13, Me.ToolStripMenuItem3, Me.ToolStripMenuItem4, Me.ToolStripMenuItem5, Me.ToolStripSeparator5, Me.FollowContextMenuItem, Me.RemoveContextMenuItem, Me.FriendshipContextMenuItem})
+        Me.ContextMenuStrip4.Name = "ContextMenuStrip4"
+        resources.ApplyResources(Me.ContextMenuStrip4, "ContextMenuStrip4")
+        '
+        'ToolStripMenuItem2
+        '
+        Me.ToolStripMenuItem2.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SearchItem2ToolStripMenuItem, Me.SearchItem1ToolStripMenuItem, Me.SearchItem3ToolStripMenuItem, Me.SearchItem4ToolStripMenuItem, Me.CurrentTabToolStripMenuItem})
+        Me.ToolStripMenuItem2.Name = "ToolStripMenuItem2"
+        resources.ApplyResources(Me.ToolStripMenuItem2, "ToolStripMenuItem2")
+        '
+        'SearchItem2ToolStripMenuItem
+        '
+        Me.SearchItem2ToolStripMenuItem.Name = "SearchItem2ToolStripMenuItem"
+        resources.ApplyResources(Me.SearchItem2ToolStripMenuItem, "SearchItem2ToolStripMenuItem")
+        '
+        'SearchItem1ToolStripMenuItem
+        '
+        Me.SearchItem1ToolStripMenuItem.Name = "SearchItem1ToolStripMenuItem"
+        resources.ApplyResources(Me.SearchItem1ToolStripMenuItem, "SearchItem1ToolStripMenuItem")
+        '
+        'SearchItem3ToolStripMenuItem
+        '
+        Me.SearchItem3ToolStripMenuItem.Name = "SearchItem3ToolStripMenuItem"
+        resources.ApplyResources(Me.SearchItem3ToolStripMenuItem, "SearchItem3ToolStripMenuItem")
+        '
+        'SearchItem4ToolStripMenuItem
+        '
+        Me.SearchItem4ToolStripMenuItem.Name = "SearchItem4ToolStripMenuItem"
+        resources.ApplyResources(Me.SearchItem4ToolStripMenuItem, "SearchItem4ToolStripMenuItem")
+        '
+        'CurrentTabToolStripMenuItem
+        '
+        Me.CurrentTabToolStripMenuItem.Name = "CurrentTabToolStripMenuItem"
+        resources.ApplyResources(Me.CurrentTabToolStripMenuItem, "CurrentTabToolStripMenuItem")
+        '
+        'ToolStripSeparator13
+        '
+        Me.ToolStripSeparator13.Name = "ToolStripSeparator13"
+        resources.ApplyResources(Me.ToolStripSeparator13, "ToolStripSeparator13")
+        '
+        'ToolStripMenuItem3
+        '
+        Me.ToolStripMenuItem3.Name = "ToolStripMenuItem3"
+        resources.ApplyResources(Me.ToolStripMenuItem3, "ToolStripMenuItem3")
+        '
+        'ToolStripMenuItem4
+        '
+        resources.ApplyResources(Me.ToolStripMenuItem4, "ToolStripMenuItem4")
+        Me.ToolStripMenuItem4.Name = "ToolStripMenuItem4"
+        '
+        'ToolStripMenuItem5
+        '
+        Me.ToolStripMenuItem5.Name = "ToolStripMenuItem5"
+        resources.ApplyResources(Me.ToolStripMenuItem5, "ToolStripMenuItem5")
+        '
+        'ToolStripSeparator5
+        '
+        Me.ToolStripSeparator5.Name = "ToolStripSeparator5"
+        resources.ApplyResources(Me.ToolStripSeparator5, "ToolStripSeparator5")
+        '
+        'FollowContextMenuItem
+        '
+        Me.FollowContextMenuItem.Name = "FollowContextMenuItem"
+        resources.ApplyResources(Me.FollowContextMenuItem, "FollowContextMenuItem")
+        '
+        'RemoveContextMenuItem
+        '
+        Me.RemoveContextMenuItem.Name = "RemoveContextMenuItem"
+        resources.ApplyResources(Me.RemoveContextMenuItem, "RemoveContextMenuItem")
+        '
+        'FriendshipContextMenuItem
+        '
+        Me.FriendshipContextMenuItem.Name = "FriendshipContextMenuItem"
+        resources.ApplyResources(Me.FriendshipContextMenuItem, "FriendshipContextMenuItem")
+        '
+        'DateTimeLabel
+        '
+        resources.ApplyResources(Me.DateTimeLabel, "DateTimeLabel")
+        Me.DateTimeLabel.Name = "DateTimeLabel"
+        '
+        'StatusText
+        '
+        resources.ApplyResources(Me.StatusText, "StatusText")
+        Me.StatusText.Name = "StatusText"
+        '
+        'lblLen
+        '
+        resources.ApplyResources(Me.lblLen, "lblLen")
+        Me.lblLen.Name = "lblLen"
+        '
+        'PostButton
+        '
+        resources.ApplyResources(Me.PostButton, "PostButton")
+        Me.PostButton.Name = "PostButton"
+        Me.PostButton.TabStop = False
+        Me.PostButton.UseVisualStyleBackColor = True
+        '
+        'ButtonPostMode
+        '
+        resources.ApplyResources(Me.ButtonPostMode, "ButtonPostMode")
+        Me.ButtonPostMode.Name = "ButtonPostMode"
+        Me.ButtonPostMode.TabStop = False
+        Me.ButtonPostMode.UseVisualStyleBackColor = True
+        '
+        'MenuStrip1
+        '
+        resources.ApplyResources(Me.MenuStrip1, "MenuStrip1")
+        Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MenuItemFile, Me.MenuItemEdit, Me.MenuItemOperate, Me.MenuItemTab, Me.MenuItemCommand, Me.MenuItemHelp})
+        Me.MenuStrip1.Name = "MenuStrip1"
+        Me.MenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
+        '
+        'MenuItemFile
+        '
+        Me.MenuItemFile.DropDown = Me.ContextMenuStrip1
+        Me.MenuItemFile.Name = "MenuItemFile"
+        resources.ApplyResources(Me.MenuItemFile, "MenuItemFile")
+        '
+        'ContextMenuStrip1
+        '
+        Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.SettingStripMenuItem, Me.ToolStripSeparator9, Me.SaveLogMenuItem, Me.ToolStripSeparator17, Me.NewPostPopMenuItem, Me.PlaySoundMenuItem, Me.ListLockMenuItem, Me.ToolStripSeparator15, Me.MultiLineMenuItem, Me.ToolStripSeparator21, Me.EndToolStripMenuItem})
+        Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
+        Me.ContextMenuStrip1.OwnerItem = Me.MenuItemFile
+        Me.ContextMenuStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
+        Me.ContextMenuStrip1.ShowCheckMargin = True
+        Me.ContextMenuStrip1.ShowImageMargin = False
+        resources.ApplyResources(Me.ContextMenuStrip1, "ContextMenuStrip1")
+        '
+        'SettingStripMenuItem
+        '
+        Me.SettingStripMenuItem.Name = "SettingStripMenuItem"
+        resources.ApplyResources(Me.SettingStripMenuItem, "SettingStripMenuItem")
+        '
+        'ToolStripSeparator9
+        '
+        Me.ToolStripSeparator9.Name = "ToolStripSeparator9"
+        resources.ApplyResources(Me.ToolStripSeparator9, "ToolStripSeparator9")
+        '
+        'SaveLogMenuItem
+        '
+        Me.SaveLogMenuItem.Name = "SaveLogMenuItem"
+        resources.ApplyResources(Me.SaveLogMenuItem, "SaveLogMenuItem")
+        '
+        'ToolStripSeparator17
+        '
+        Me.ToolStripSeparator17.Name = "ToolStripSeparator17"
+        resources.ApplyResources(Me.ToolStripSeparator17, "ToolStripSeparator17")
+        '
+        'NewPostPopMenuItem
+        '
+        Me.NewPostPopMenuItem.CheckOnClick = True
+        Me.NewPostPopMenuItem.Name = "NewPostPopMenuItem"
+        resources.ApplyResources(Me.NewPostPopMenuItem, "NewPostPopMenuItem")
+        '
+        'PlaySoundMenuItem
+        '
+        Me.PlaySoundMenuItem.CheckOnClick = True
+        Me.PlaySoundMenuItem.Name = "PlaySoundMenuItem"
+        resources.ApplyResources(Me.PlaySoundMenuItem, "PlaySoundMenuItem")
+        '
+        'ListLockMenuItem
+        '
+        Me.ListLockMenuItem.CheckOnClick = True
+        Me.ListLockMenuItem.Name = "ListLockMenuItem"
+        resources.ApplyResources(Me.ListLockMenuItem, "ListLockMenuItem")
+        '
+        'ToolStripSeparator15
+        '
+        Me.ToolStripSeparator15.Name = "ToolStripSeparator15"
+        resources.ApplyResources(Me.ToolStripSeparator15, "ToolStripSeparator15")
+        '
+        'MultiLineMenuItem
+        '
+        Me.MultiLineMenuItem.CheckOnClick = True
+        Me.MultiLineMenuItem.Name = "MultiLineMenuItem"
+        resources.ApplyResources(Me.MultiLineMenuItem, "MultiLineMenuItem")
+        '
+        'ToolStripSeparator21
+        '
+        Me.ToolStripSeparator21.Name = "ToolStripSeparator21"
+        resources.ApplyResources(Me.ToolStripSeparator21, "ToolStripSeparator21")
+        '
+        'EndToolStripMenuItem
+        '
+        Me.EndToolStripMenuItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text
+        Me.EndToolStripMenuItem.Name = "EndToolStripMenuItem"
+        resources.ApplyResources(Me.EndToolStripMenuItem, "EndToolStripMenuItem")
+        '
+        'MenuItemEdit
+        '
+        Me.MenuItemEdit.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.CopySTOTMenuItem, Me.CopyURLMenuItem, Me.ToolStripSeparator6, Me.MenuItemSubSearch, Me.MenuItemSearchNext, Me.MenuItemSearchPrev})
+        Me.MenuItemEdit.Name = "MenuItemEdit"
+        resources.ApplyResources(Me.MenuItemEdit, "MenuItemEdit")
+        '
+        'CopySTOTMenuItem
+        '
+        Me.CopySTOTMenuItem.Name = "CopySTOTMenuItem"
+        resources.ApplyResources(Me.CopySTOTMenuItem, "CopySTOTMenuItem")
+        '
+        'CopyURLMenuItem
+        '
+        Me.CopyURLMenuItem.Name = "CopyURLMenuItem"
+        resources.ApplyResources(Me.CopyURLMenuItem, "CopyURLMenuItem")
+        '
+        'ToolStripSeparator6
+        '
+        Me.ToolStripSeparator6.Name = "ToolStripSeparator6"
+        resources.ApplyResources(Me.ToolStripSeparator6, "ToolStripSeparator6")
+        '
+        'MenuItemSubSearch
+        '
+        Me.MenuItemSubSearch.Name = "MenuItemSubSearch"
+        resources.ApplyResources(Me.MenuItemSubSearch, "MenuItemSubSearch")
+        '
+        'MenuItemSearchNext
+        '
+        Me.MenuItemSearchNext.Name = "MenuItemSearchNext"
+        resources.ApplyResources(Me.MenuItemSearchNext, "MenuItemSearchNext")
+        '
+        'MenuItemSearchPrev
+        '
+        Me.MenuItemSearchPrev.Name = "MenuItemSearchPrev"
+        resources.ApplyResources(Me.MenuItemSearchPrev, "MenuItemSearchPrev")
+        '
+        'MenuItemOperate
+        '
+        Me.MenuItemOperate.DropDown = Me.ContextMenuStrip2
+        Me.MenuItemOperate.Name = "MenuItemOperate"
+        resources.ApplyResources(Me.MenuItemOperate, "MenuItemOperate")
+        '
+        'ContextMenuStrip2
+        '
+        Me.ContextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReplyStripMenuItem, Me.ReplyAllStripMenuItem, Me.DMStripMenuItem, Me.ReTweetOriginalStripMenuItem, Me.ReTweetStripMenuItem, Me.ToolStripSeparator2, Me.FavAddToolStripMenuItem, Me.FavRemoveToolStripMenuItem, Me.ToolStripMenuItem6, Me.ToolStripMenuItem7, Me.ToolStripSeparator4, Me.ToolStripMenuItem11, Me.JumpUnreadMenuItem, Me.ToolStripSeparator10, Me.SelectAllMenuItem, Me.DeleteStripMenuItem, Me.RefreshStripMenuItem})
+        Me.ContextMenuStrip2.Name = "ContextMenuStrip2"
+        Me.ContextMenuStrip2.OwnerItem = Me.MenuItemOperate
+        Me.ContextMenuStrip2.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional
+        resources.ApplyResources(Me.ContextMenuStrip2, "ContextMenuStrip2")
+        '
+        'ReplyStripMenuItem
+        '
+        Me.ReplyStripMenuItem.Name = "ReplyStripMenuItem"
+        resources.ApplyResources(Me.ReplyStripMenuItem, "ReplyStripMenuItem")
+        '
+        'ReplyAllStripMenuItem
+        '
+        Me.ReplyAllStripMenuItem.Name = "ReplyAllStripMenuItem"
+        resources.ApplyResources(Me.ReplyAllStripMenuItem, "ReplyAllStripMenuItem")
+        '
+        'DMStripMenuItem
+        '
+        Me.DMStripMenuItem.Name = "DMStripMenuItem"
+        resources.ApplyResources(Me.DMStripMenuItem, "DMStripMenuItem")
+        '
+        'ReTweetOriginalStripMenuItem
+        '
+        Me.ReTweetOriginalStripMenuItem.Name = "ReTweetOriginalStripMenuItem"
+        resources.ApplyResources(Me.ReTweetOriginalStripMenuItem, "ReTweetOriginalStripMenuItem")
+        '
+        'ReTweetStripMenuItem
+        '
+        Me.ReTweetStripMenuItem.Name = "ReTweetStripMenuItem"
+        resources.ApplyResources(Me.ReTweetStripMenuItem, "ReTweetStripMenuItem")
+        '
+        'ToolStripSeparator2
+        '
+        Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
+        resources.ApplyResources(Me.ToolStripSeparator2, "ToolStripSeparator2")
+        '
+        'FavAddToolStripMenuItem
+        '
+        Me.FavAddToolStripMenuItem.Name = "FavAddToolStripMenuItem"
+        resources.ApplyResources(Me.FavAddToolStripMenuItem, "FavAddToolStripMenuItem")
+        '
+        'FavRemoveToolStripMenuItem
+        '
+        Me.FavRemoveToolStripMenuItem.Name = "FavRemoveToolStripMenuItem"
+        resources.ApplyResources(Me.FavRemoveToolStripMenuItem, "FavRemoveToolStripMenuItem")
+        '
+        'ToolStripMenuItem6
+        '
+        Me.ToolStripMenuItem6.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MoveToHomeToolStripMenuItem, Me.MoveToFavToolStripMenuItem, Me.StatusOpenMenuItem, Me.RepliedStatusOpenMenuItem, Me.FavorareMenuItem, Me.OpenURLMenuItem})
+        Me.ToolStripMenuItem6.Name = "ToolStripMenuItem6"
+        resources.ApplyResources(Me.ToolStripMenuItem6, "ToolStripMenuItem6")
+        '
+        'MoveToHomeToolStripMenuItem
+        '
+        Me.MoveToHomeToolStripMenuItem.Name = "MoveToHomeToolStripMenuItem"
+        resources.ApplyResources(Me.MoveToHomeToolStripMenuItem, "MoveToHomeToolStripMenuItem")
+        '
+        'MoveToFavToolStripMenuItem
+        '
+        Me.MoveToFavToolStripMenuItem.Name = "MoveToFavToolStripMenuItem"
+        resources.ApplyResources(Me.MoveToFavToolStripMenuItem, "MoveToFavToolStripMenuItem")
+        '
+        'StatusOpenMenuItem
+        '
+        Me.StatusOpenMenuItem.Name = "StatusOpenMenuItem"
+        resources.ApplyResources(Me.StatusOpenMenuItem, "StatusOpenMenuItem")
+        '
+        'RepliedStatusOpenMenuItem
+        '
+        Me.RepliedStatusOpenMenuItem.Name = "RepliedStatusOpenMenuItem"
+        resources.ApplyResources(Me.RepliedStatusOpenMenuItem, "RepliedStatusOpenMenuItem")
+        '
+        'FavorareMenuItem
+        '
+        Me.FavorareMenuItem.Name = "FavorareMenuItem"
+        resources.ApplyResources(Me.FavorareMenuItem, "FavorareMenuItem")
+        '
+        'OpenURLMenuItem
+        '
+        Me.OpenURLMenuItem.Name = "OpenURLMenuItem"
+        resources.ApplyResources(Me.OpenURLMenuItem, "OpenURLMenuItem")
+        '
+        'ToolStripMenuItem7
+        '
+        Me.ToolStripMenuItem7.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TabMenuItem, Me.IDRuleMenuItem})
+        Me.ToolStripMenuItem7.Name = "ToolStripMenuItem7"
+        resources.ApplyResources(Me.ToolStripMenuItem7, "ToolStripMenuItem7")
+        '
+        'TabMenuItem
+        '
+        Me.TabMenuItem.Name = "TabMenuItem"
+        resources.ApplyResources(Me.TabMenuItem, "TabMenuItem")
+        '
+        'IDRuleMenuItem
+        '
+        Me.IDRuleMenuItem.Name = "IDRuleMenuItem"
+        resources.ApplyResources(Me.IDRuleMenuItem, "IDRuleMenuItem")
+        '
+        'ToolStripSeparator4
+        '
+        Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
+        resources.ApplyResources(Me.ToolStripSeparator4, "ToolStripSeparator4")
+        '
+        'ToolStripMenuItem11
+        '
+        Me.ToolStripMenuItem11.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReadedStripMenuItem, Me.UnreadStripMenuItem})
+        Me.ToolStripMenuItem11.Name = "ToolStripMenuItem11"
+        resources.ApplyResources(Me.ToolStripMenuItem11, "ToolStripMenuItem11")
+        '
+        'ReadedStripMenuItem
+        '
+        Me.ReadedStripMenuItem.Name = "ReadedStripMenuItem"
+        resources.ApplyResources(Me.ReadedStripMenuItem, "ReadedStripMenuItem")
+        '
+        'UnreadStripMenuItem
+        '
+        Me.UnreadStripMenuItem.Name = "UnreadStripMenuItem"
+        resources.ApplyResources(Me.UnreadStripMenuItem, "UnreadStripMenuItem")
+        '
+        'JumpUnreadMenuItem
+        '
+        Me.JumpUnreadMenuItem.Name = "JumpUnreadMenuItem"
+        resources.ApplyResources(Me.JumpUnreadMenuItem, "JumpUnreadMenuItem")
+        '
+        'ToolStripSeparator10
+        '
+        Me.ToolStripSeparator10.Name = "ToolStripSeparator10"
+        resources.ApplyResources(Me.ToolStripSeparator10, "ToolStripSeparator10")
+        '
+        'SelectAllMenuItem
+        '
+        Me.SelectAllMenuItem.Name = "SelectAllMenuItem"
+        resources.ApplyResources(Me.SelectAllMenuItem, "SelectAllMenuItem")
+        '
+        'DeleteStripMenuItem
+        '
+        Me.DeleteStripMenuItem.Name = "DeleteStripMenuItem"
+        resources.ApplyResources(Me.DeleteStripMenuItem, "DeleteStripMenuItem")
+        '
+        'RefreshStripMenuItem
+        '
+        Me.RefreshStripMenuItem.Name = "RefreshStripMenuItem"
+        resources.ApplyResources(Me.RefreshStripMenuItem, "RefreshStripMenuItem")
+        '
+        'MenuItemCommand
+        '
+        Me.MenuItemCommand.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TinyUrlConvertToolStripMenuItem, Me.UpdateFollowersMenuItem1, Me.ToolStripMenuItem10, Me.ToolStripSeparator1, Me.FollowCommandMenuItem, Me.RemoveCommandMenuItem, Me.FriendshipMenuItem, Me.ToolStripSeparator3, Me.OwnStatusMenuItem})
+        Me.MenuItemCommand.Name = "MenuItemCommand"
+        resources.ApplyResources(Me.MenuItemCommand, "MenuItemCommand")
+        '
+        'TinyUrlConvertToolStripMenuItem
+        '
+        Me.TinyUrlConvertToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.UrlConvertAutoToolStripMenuItem, Me.UrlUndoToolStripMenuItem, Me.TinyURLToolStripMenuItem, Me.IsgdToolStripMenuItem, Me.TwurlnlToolStripMenuItem, Me.UnuToolStripMenuItem, Me.BitlyToolStripMenuItem, Me.JmpStripMenuItem})
+        Me.TinyUrlConvertToolStripMenuItem.Name = "TinyUrlConvertToolStripMenuItem"
+        resources.ApplyResources(Me.TinyUrlConvertToolStripMenuItem, "TinyUrlConvertToolStripMenuItem")
+        '
+        'UrlConvertAutoToolStripMenuItem
+        '
+        Me.UrlConvertAutoToolStripMenuItem.Name = "UrlConvertAutoToolStripMenuItem"
+        resources.ApplyResources(Me.UrlConvertAutoToolStripMenuItem, "UrlConvertAutoToolStripMenuItem")
+        '
+        'UrlUndoToolStripMenuItem
+        '
+        resources.ApplyResources(Me.UrlUndoToolStripMenuItem, "UrlUndoToolStripMenuItem")
+        Me.UrlUndoToolStripMenuItem.Name = "UrlUndoToolStripMenuItem"
+        '
+        'TinyURLToolStripMenuItem
+        '
+        Me.TinyURLToolStripMenuItem.Name = "TinyURLToolStripMenuItem"
+        resources.ApplyResources(Me.TinyURLToolStripMenuItem, "TinyURLToolStripMenuItem")
+        '
+        'IsgdToolStripMenuItem
+        '
+        Me.IsgdToolStripMenuItem.Name = "IsgdToolStripMenuItem"
+        resources.ApplyResources(Me.IsgdToolStripMenuItem, "IsgdToolStripMenuItem")
+        '
+        'TwurlnlToolStripMenuItem
+        '
+        Me.TwurlnlToolStripMenuItem.Name = "TwurlnlToolStripMenuItem"
+        resources.ApplyResources(Me.TwurlnlToolStripMenuItem, "TwurlnlToolStripMenuItem")
+        '
+        'UnuToolStripMenuItem
+        '
+        Me.UnuToolStripMenuItem.Name = "UnuToolStripMenuItem"
+        resources.ApplyResources(Me.UnuToolStripMenuItem, "UnuToolStripMenuItem")
+        '
+        'BitlyToolStripMenuItem
+        '
+        Me.BitlyToolStripMenuItem.Name = "BitlyToolStripMenuItem"
+        resources.ApplyResources(Me.BitlyToolStripMenuItem, "BitlyToolStripMenuItem")
+        '
+        'JmpStripMenuItem
+        '
+        Me.JmpStripMenuItem.Name = "JmpStripMenuItem"
+        resources.ApplyResources(Me.JmpStripMenuItem, "JmpStripMenuItem")
+        '
+        'UpdateFollowersMenuItem1
+        '
+        Me.UpdateFollowersMenuItem1.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GetFollowersDiffToolStripMenuItem, Me.GetFollowersAllToolStripMenuItem})
+        Me.UpdateFollowersMenuItem1.Name = "UpdateFollowersMenuItem1"
+        resources.ApplyResources(Me.UpdateFollowersMenuItem1, "UpdateFollowersMenuItem1")
+        '
+        'GetFollowersDiffToolStripMenuItem
+        '
+        resources.ApplyResources(Me.GetFollowersDiffToolStripMenuItem, "GetFollowersDiffToolStripMenuItem")
+        Me.GetFollowersDiffToolStripMenuItem.Name = "GetFollowersDiffToolStripMenuItem"
+        '
+        'GetFollowersAllToolStripMenuItem
+        '
+        Me.GetFollowersAllToolStripMenuItem.Name = "GetFollowersAllToolStripMenuItem"
+        resources.ApplyResources(Me.GetFollowersAllToolStripMenuItem, "GetFollowersAllToolStripMenuItem")
+        '
+        'ToolStripMenuItem10
+        '
+        Me.ToolStripMenuItem10.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.BlackFavAddToolStripMenuItem})
+        Me.ToolStripMenuItem10.Name = "ToolStripMenuItem10"
+        resources.ApplyResources(Me.ToolStripMenuItem10, "ToolStripMenuItem10")
+        '
+        'BlackFavAddToolStripMenuItem
+        '
+        Me.BlackFavAddToolStripMenuItem.Name = "BlackFavAddToolStripMenuItem"
+        resources.ApplyResources(Me.BlackFavAddToolStripMenuItem, "BlackFavAddToolStripMenuItem")
+        '
+        'ToolStripSeparator1
+        '
+        Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
+        resources.ApplyResources(Me.ToolStripSeparator1, "ToolStripSeparator1")
+        '
+        'FollowCommandMenuItem
+        '
+        Me.FollowCommandMenuItem.Name = "FollowCommandMenuItem"
+        resources.ApplyResources(Me.FollowCommandMenuItem, "FollowCommandMenuItem")
+        '
+        'RemoveCommandMenuItem
+        '
+        Me.RemoveCommandMenuItem.Name = "RemoveCommandMenuItem"
+        resources.ApplyResources(Me.RemoveCommandMenuItem, "RemoveCommandMenuItem")
+        '
+        'FriendshipMenuItem
+        '
+        Me.FriendshipMenuItem.Name = "FriendshipMenuItem"
+        resources.ApplyResources(Me.FriendshipMenuItem, "FriendshipMenuItem")
+        '
+        'ToolStripSeparator3
+        '
+        Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
+        resources.ApplyResources(Me.ToolStripSeparator3, "ToolStripSeparator3")
+        '
+        'OwnStatusMenuItem
+        '
+        Me.OwnStatusMenuItem.Name = "OwnStatusMenuItem"
+        resources.ApplyResources(Me.OwnStatusMenuItem, "OwnStatusMenuItem")
+        '
+        'MenuItemHelp
+        '
+        Me.MenuItemHelp.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MatomeMenuItem, Me.ToolStripSeparator16, Me.VerUpMenuItem, Me.WedataMenuItem, Me.ToolStripSeparator14, Me.ApiInfoMenuItem, Me.InfoTwitterMenuItem, Me.ToolStripSeparator7, Me.AboutMenuItem, Me.DebugModeToolStripMenuItem})
+        Me.MenuItemHelp.Name = "MenuItemHelp"
+        resources.ApplyResources(Me.MenuItemHelp, "MenuItemHelp")
+        '
+        'MatomeMenuItem
+        '
+        Me.MatomeMenuItem.Name = "MatomeMenuItem"
+        resources.ApplyResources(Me.MatomeMenuItem, "MatomeMenuItem")
+        '
+        'ToolStripSeparator16
+        '
+        Me.ToolStripSeparator16.Name = "ToolStripSeparator16"
+        resources.ApplyResources(Me.ToolStripSeparator16, "ToolStripSeparator16")
+        '
+        'VerUpMenuItem
+        '
+        Me.VerUpMenuItem.Name = "VerUpMenuItem"
+        resources.ApplyResources(Me.VerUpMenuItem, "VerUpMenuItem")
+        '
+        'WedataMenuItem
+        '
+        Me.WedataMenuItem.Name = "WedataMenuItem"
+        resources.ApplyResources(Me.WedataMenuItem, "WedataMenuItem")
+        '
+        'ToolStripSeparator14
+        '
+        Me.ToolStripSeparator14.Name = "ToolStripSeparator14"
+        resources.ApplyResources(Me.ToolStripSeparator14, "ToolStripSeparator14")
+        '
+        'ApiInfoMenuItem
+        '
+        Me.ApiInfoMenuItem.Name = "ApiInfoMenuItem"
+        resources.ApplyResources(Me.ApiInfoMenuItem, "ApiInfoMenuItem")
+        '
+        'InfoTwitterMenuItem
+        '
+        Me.InfoTwitterMenuItem.Name = "InfoTwitterMenuItem"
+        resources.ApplyResources(Me.InfoTwitterMenuItem, "InfoTwitterMenuItem")
+        '
+        'ToolStripSeparator7
+        '
+        Me.ToolStripSeparator7.Name = "ToolStripSeparator7"
+        resources.ApplyResources(Me.ToolStripSeparator7, "ToolStripSeparator7")
+        '
+        'AboutMenuItem
+        '
+        Me.AboutMenuItem.Name = "AboutMenuItem"
+        resources.ApplyResources(Me.AboutMenuItem, "AboutMenuItem")
+        '
+        'DebugModeToolStripMenuItem
+        '
+        Me.DebugModeToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.DumpPostClassToolStripMenuItem, Me.TraceOutToolStripMenuItem})
+        Me.DebugModeToolStripMenuItem.Name = "DebugModeToolStripMenuItem"
+        resources.ApplyResources(Me.DebugModeToolStripMenuItem, "DebugModeToolStripMenuItem")
+        '
+        'DumpPostClassToolStripMenuItem
+        '
+        Me.DumpPostClassToolStripMenuItem.CheckOnClick = True
+        Me.DumpPostClassToolStripMenuItem.Name = "DumpPostClassToolStripMenuItem"
+        resources.ApplyResources(Me.DumpPostClassToolStripMenuItem, "DumpPostClassToolStripMenuItem")
+        '
+        'TraceOutToolStripMenuItem
+        '
+        Me.TraceOutToolStripMenuItem.CheckOnClick = True
+        Me.TraceOutToolStripMenuItem.Name = "TraceOutToolStripMenuItem"
+        resources.ApplyResources(Me.TraceOutToolStripMenuItem, "TraceOutToolStripMenuItem")
+        '
+        'ContextMenuStripPostMode
+        '
+        Me.ContextMenuStripPostMode.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItemUrlMultibyteSplit, Me.ToolStripMenuItemApiCommandEvasion, Me.ToolStripMenuItemUrlAutoShorten, Me.IdeographicSpaceToSpaceToolStripMenuItem})
+        Me.ContextMenuStripPostMode.Name = "ContextMenuStripPostMode"
+        resources.ApplyResources(Me.ContextMenuStripPostMode, "ContextMenuStripPostMode")
+        '
+        'ToolStripMenuItemUrlMultibyteSplit
+        '
+        Me.ToolStripMenuItemUrlMultibyteSplit.CheckOnClick = True
+        Me.ToolStripMenuItemUrlMultibyteSplit.Name = "ToolStripMenuItemUrlMultibyteSplit"
+        resources.ApplyResources(Me.ToolStripMenuItemUrlMultibyteSplit, "ToolStripMenuItemUrlMultibyteSplit")
+        '
+        'ToolStripMenuItemApiCommandEvasion
+        '
+        Me.ToolStripMenuItemApiCommandEvasion.Checked = True
+        Me.ToolStripMenuItemApiCommandEvasion.CheckOnClick = True
+        Me.ToolStripMenuItemApiCommandEvasion.CheckState = System.Windows.Forms.CheckState.Checked
+        Me.ToolStripMenuItemApiCommandEvasion.Name = "ToolStripMenuItemApiCommandEvasion"
+        resources.ApplyResources(Me.ToolStripMenuItemApiCommandEvasion, "ToolStripMenuItemApiCommandEvasion")
+        '
+        'ToolStripMenuItemUrlAutoShorten
+        '
+        Me.ToolStripMenuItemUrlAutoShorten.CheckOnClick = True
+        Me.ToolStripMenuItemUrlAutoShorten.Name = "ToolStripMenuItemUrlAutoShorten"
+        resources.ApplyResources(Me.ToolStripMenuItemUrlAutoShorten, "ToolStripMenuItemUrlAutoShorten")
+        '
+        'IdeographicSpaceToSpaceToolStripMenuItem
+        '
+        Me.IdeographicSpaceToSpaceToolStripMenuItem.Checked = True
+        Me.IdeographicSpaceToSpaceToolStripMenuItem.CheckOnClick = True
+        Me.IdeographicSpaceToSpaceToolStripMenuItem.CheckState = System.Windows.Forms.CheckState.Checked
+        Me.IdeographicSpaceToSpaceToolStripMenuItem.Name = "IdeographicSpaceToSpaceToolStripMenuItem"
+        resources.ApplyResources(Me.IdeographicSpaceToSpaceToolStripMenuItem, "IdeographicSpaceToSpaceToolStripMenuItem")
+        '
+        'TimerTimeline
+        '
+        Me.TimerTimeline.Interval = 60000
+        '
+        'NotifyIcon1
+        '
+        Me.NotifyIcon1.ContextMenuStrip = Me.ContextMenuStrip1
+        resources.ApplyResources(Me.NotifyIcon1, "NotifyIcon1")
+        '
+        'TimerDM
+        '
+        Me.TimerDM.Interval = 600000
+        '
+        'TimerColorize
+        '
+        '
+        'TimerRefreshIcon
+        '
+        Me.TimerRefreshIcon.Interval = 50
+        '
+        'OpenFileDialog1
+        '
+        Me.OpenFileDialog1.FileName = "OpenFileDialog1"
+        '
+        'TimerReply
+        '
+        Me.TimerReply.Interval = 600000
+        '
+        'TweenMain
+        '
+        Me.AllowDrop = True
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.BackColor = System.Drawing.SystemColors.Control
+        Me.Controls.Add(Me.ToolStripContainer1)
+        Me.Name = "TweenMain"
+        Me.ToolStripContainer1.BottomToolStripPanel.ResumeLayout(False)
+        Me.ToolStripContainer1.BottomToolStripPanel.PerformLayout()
+        Me.ToolStripContainer1.ContentPanel.ResumeLayout(False)
+        Me.ToolStripContainer1.TopToolStripPanel.ResumeLayout(False)
+        Me.ToolStripContainer1.TopToolStripPanel.PerformLayout()
+        Me.ToolStripContainer1.ResumeLayout(False)
+        Me.ToolStripContainer1.PerformLayout()
+        Me.StatusStrip1.ResumeLayout(False)
+        Me.StatusStrip1.PerformLayout()
+        Me.SplitContainer1.Panel1.ResumeLayout(False)
+        Me.SplitContainer1.Panel2.ResumeLayout(False)
+        Me.SplitContainer1.ResumeLayout(False)
+        Me.ContextMenuTabProperty.ResumeLayout(False)
+        Me.SplitContainer2.Panel1.ResumeLayout(False)
+        Me.SplitContainer2.Panel2.ResumeLayout(False)
+        Me.SplitContainer2.Panel2.PerformLayout()
+        Me.SplitContainer2.ResumeLayout(False)
+        Me.TableLayoutPanel1.ResumeLayout(False)
+        Me.TableLayoutPanel1.PerformLayout()
+        CType(Me.UserPicture, System.ComponentModel.ISupportInitialize).EndInit()
+        Me.ContextMenuStrip3.ResumeLayout(False)
+        Me.ContextMenuStrip4.ResumeLayout(False)
+        Me.MenuStrip1.ResumeLayout(False)
+        Me.MenuStrip1.PerformLayout()
+        Me.ContextMenuStrip1.ResumeLayout(False)
+        Me.ContextMenuStrip2.ResumeLayout(False)
+        Me.ContextMenuStripPostMode.ResumeLayout(False)
+        Me.ResumeLayout(False)
+
+    End Sub
+    Friend WithEvents TimerTimeline As System.Windows.Forms.Timer
+    Friend WithEvents NotifyIcon1 As System.Windows.Forms.NotifyIcon
+    Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip
+    Friend WithEvents EndToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ContextMenuStrip2 As System.Windows.Forms.ContextMenuStrip
+    Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents DMStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents DeleteStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents TimerDM As System.Windows.Forms.Timer
+    Friend WithEvents RefreshStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SettingStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator9 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents TabImage As System.Windows.Forms.ImageList
+    Friend WithEvents NewPostPopMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ListLockMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents JumpUnreadMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator15 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents TimerColorize As System.Windows.Forms.Timer
+    Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents SaveLogMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator17 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents SaveFileDialog1 As System.Windows.Forms.SaveFileDialog
+    Friend WithEvents TimerRefreshIcon As System.Windows.Forms.Timer
+    Friend WithEvents ContextMenuTabProperty As System.Windows.Forms.ContextMenuStrip
+    Friend WithEvents UreadManageMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents NotifyDispMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SoundFileComboBox As System.Windows.Forms.ToolStripComboBox
+    Friend WithEvents ToolStripSeparator18 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents DeleteTabMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents FilterEditMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator19 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents AddTabMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator20 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents ToolStripSeparator10 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents SelectAllMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ClearTabMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator11 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents PlaySoundMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog
+    Friend WithEvents ContextMenuStrip3 As System.Windows.Forms.ContextMenuStrip
+    Friend WithEvents IconNameToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItem1 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents SaveIconPictureToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripContainer1 As System.Windows.Forms.ToolStripContainer
+    Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer
+    Friend WithEvents ListTab As System.Windows.Forms.TabControl
+    Friend WithEvents MenuItemTab As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MenuItemOperate As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
+    Friend WithEvents StatusLabelUrl As System.Windows.Forms.ToolStripStatusLabel
+    Friend WithEvents MenuStrip1 As System.Windows.Forms.MenuStrip
+    Friend WithEvents MenuItemFile As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MenuItemEdit As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents CopySTOTMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents CopyURLMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator6 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents MenuItemSubSearch As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MenuItemSearchNext As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MenuItemSearchPrev As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MenuItemCommand As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MenuItemHelp As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MatomeMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator16 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents VerUpMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents WedataMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator14 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents InfoTwitterMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator7 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents AboutMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SplitContainer2 As System.Windows.Forms.SplitContainer
+    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents UserPicture As System.Windows.Forms.PictureBox
+    Friend WithEvents NameLabel As System.Windows.Forms.Label
+    Friend WithEvents PostBrowser As System.Windows.Forms.WebBrowser
+    Friend WithEvents DateTimeLabel As System.Windows.Forms.Label
+    Friend WithEvents StatusText As System.Windows.Forms.TextBox
+    Friend WithEvents lblLen As System.Windows.Forms.Label
+    Friend WithEvents PostButton As System.Windows.Forms.Button
+    Friend WithEvents MultiLineMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator21 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents TinyUrlConvertToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents UpdateFollowersMenuItem1 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents TinyURLToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents IsgdToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents UrlConvertAutoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents UrlUndoToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ContextMenuStrip4 As System.Windows.Forms.ContextMenuStrip
+    Friend WithEvents ToolStripMenuItem2 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator13 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents ToolStripMenuItem3 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItem5 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SearchItem1ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SearchItem2ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SearchItem3ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SearchItem4ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents CurrentTabToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItem4 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents GetFollowersDiffToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents GetFollowersAllToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItem6 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MoveToHomeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents MoveToFavToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents StatusOpenMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents RepliedStatusOpenMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents FavorareMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents OpenURLMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItem7 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents TabMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents IDRuleMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItem11 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ReadedStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents UnreadStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ReplyStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ReplyAllStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents FavAddToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents FavRemoveToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItem10 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents BlackFavAddToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ReTweetStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ButtonPostMode As System.Windows.Forms.Button
+    Friend WithEvents ContextMenuStripPostMode As System.Windows.Forms.ContextMenuStrip
+    Friend WithEvents ToolStripMenuItemUrlMultibyteSplit As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItemApiCommandEvasion As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripMenuItemUrlAutoShorten As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents DebugModeToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents DumpPostClassToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents TraceOutToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents TimerReply As System.Windows.Forms.Timer
+    Friend WithEvents TwurlnlToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents TabRenameMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents UnuToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents BitlyToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ApiInfoMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents IdeographicSpaceToSpaceToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents FollowCommandMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents RemoveCommandMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents FriendshipMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents OwnStatusMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ReTweetOriginalStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ToolStripSeparator5 As System.Windows.Forms.ToolStripSeparator
+    Friend WithEvents FollowContextMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents RemoveContextMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents FriendshipContextMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents JmpStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+
+End Class
diff --git a/Tween/Tween.en.resx b/Tween/Tween.en.resx
new file mode 100644 (file)
index 0000000..de709fa
--- /dev/null
@@ -0,0 +1,688 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="AddTabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="AddTabMenuItem.Text" xml:space="preserve">
+    <value>Create &amp;New Tab...</value>
+  </data>
+  <data name="TabRenameMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="TabRenameMenuItem.Text" xml:space="preserve">
+    <value>Rename Tab</value>
+  </data>
+  <data name="ToolStripSeparator20.Size" type="System.Drawing.Size, System.Drawing">
+    <value>189, 6</value>
+  </data>
+  <data name="UreadManageMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="UreadManageMenuItem.Text" xml:space="preserve">
+    <value>Manage Reading (&amp;U)</value>
+  </data>
+  <data name="NotifyDispMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="NotifyDispMenuItem.Text" xml:space="preserve">
+    <value>&amp;Enable Alert Popup (&amp;Q)</value>
+  </data>
+  <data name="ToolStripSeparator18.Size" type="System.Drawing.Size, System.Drawing">
+    <value>189, 6</value>
+  </data>
+  <data name="FilterEditMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="FilterEditMenuItem.Text" xml:space="preserve">
+    <value>Edit &amp;Filtering Rules...</value>
+  </data>
+  <data name="ToolStripSeparator19.Size" type="System.Drawing.Size, System.Drawing">
+    <value>189, 6</value>
+  </data>
+  <data name="ClearTabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="ClearTabMenuItem.Text" xml:space="preserve">
+    <value>Clear Posts in This Tab</value>
+  </data>
+  <data name="ToolStripSeparator11.Size" type="System.Drawing.Size, System.Drawing">
+    <value>189, 6</value>
+  </data>
+  <data name="DeleteTabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 22</value>
+  </data>
+  <data name="DeleteTabMenuItem.Text" xml:space="preserve">
+    <value>&amp;Delete This Tab</value>
+  </data>
+  <data name="MenuItemTab.Size" type="System.Drawing.Size, System.Drawing">
+    <value>36, 20</value>
+  </data>
+  <data name="MenuItemTab.Text" xml:space="preserve">
+    <value>&amp;Tab</value>
+  </data>
+  <data name="ContextMenuTabProperty.Size" type="System.Drawing.Size, System.Drawing">
+    <value>193, 206</value>
+  </data>
+  <data name="ContextMenuStrip3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>127, 54</value>
+  </data>
+  <data name="IconNameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>126, 22</value>
+  </data>
+  <data name="ToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>123, 6</value>
+  </data>
+  <data name="SaveIconPictureToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>126, 22</value>
+  </data>
+  <data name="SaveIconPictureToolStripMenuItem.Text" xml:space="preserve">
+    <value>Save &amp;Icon...</value>
+  </data>
+  <data name="ContextMenuStrip4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>236, 170</value>
+  </data>
+  <data name="ToolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>235, 22</value>
+  </data>
+  <data name="ToolStripMenuItem2.Text" xml:space="preserve">
+    <value>Search for Selected String From</value>
+  </data>
+  <data name="SearchItem2ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>249, 22</value>
+  </data>
+  <data name="SearchItem1ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>249, 22</value>
+  </data>
+  <data name="SearchItem3ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>249, 22</value>
+  </data>
+  <data name="SearchItem3ToolStripMenuItem.Text" xml:space="preserve">
+    <value>Twitter Search</value>
+  </data>
+  <data name="SearchItem4ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>249, 22</value>
+  </data>
+  <data name="SearchItem4ToolStripMenuItem.Text" xml:space="preserve">
+    <value>Twitter Search (search.twitter.com)</value>
+  </data>
+  <data name="CurrentTabToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>249, 22</value>
+  </data>
+  <data name="CurrentTabToolStripMenuItem.Text" xml:space="preserve">
+    <value>Current Tab</value>
+  </data>
+  <data name="ToolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
+    <value>232, 6</value>
+  </data>
+  <data name="ToolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>235, 22</value>
+  </data>
+  <data name="ToolStripMenuItem3.Text" xml:space="preserve">
+    <value>Copy</value>
+  </data>
+  <data name="ToolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>235, 22</value>
+  </data>
+  <data name="ToolStripMenuItem4.Text" xml:space="preserve">
+    <value>Copy shortcut</value>
+  </data>
+  <data name="ToolStripMenuItem5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>235, 22</value>
+  </data>
+  <data name="ToolStripMenuItem5.Text" xml:space="preserve">
+    <value>Select All</value>
+  </data>
+  <data name="ToolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>232, 6</value>
+  </data>
+  <data name="FollowContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>235, 22</value>
+  </data>
+  <data name="RemoveContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>235, 22</value>
+  </data>
+  <data name="FriendshipContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>235, 22</value>
+  </data>
+  <data name="SettingStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="SettingStripMenuItem.Text" xml:space="preserve">
+    <value>Settings (&amp;O)...</value>
+  </data>
+  <data name="ToolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing">
+    <value>185, 6</value>
+  </data>
+  <data name="SaveLogMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="SaveLogMenuItem.Text" xml:space="preserve">
+    <value>&amp;Save...</value>
+  </data>
+  <data name="ToolStripSeparator17.Size" type="System.Drawing.Size, System.Drawing">
+    <value>185, 6</value>
+  </data>
+  <data name="NewPostPopMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="NewPostPopMenuItem.Text" xml:space="preserve">
+    <value>Enable Alert Popup (&amp;Q)</value>
+  </data>
+  <data name="PlaySoundMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="PlaySoundMenuItem.Text" xml:space="preserve">
+    <value>Enable Sounds</value>
+  </data>
+  <data name="ListLockMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="ListLockMenuItem.Text" xml:space="preserve">
+    <value>Stick &amp;List</value>
+  </data>
+  <data name="ToolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing">
+    <value>185, 6</value>
+  </data>
+  <data name="MultiLineMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="MultiLineMenuItem.Text" xml:space="preserve">
+    <value>&amp;Multiline Input</value>
+  </data>
+  <data name="ToolStripSeparator21.Size" type="System.Drawing.Size, System.Drawing">
+    <value>185, 6</value>
+  </data>
+  <data name="EndToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="EndToolStripMenuItem.Text" xml:space="preserve">
+    <value>E&amp;xit</value>
+  </data>
+  <data name="ContextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>189, 182</value>
+  </data>
+  <data name="MenuItemFile.Size" type="System.Drawing.Size, System.Drawing">
+    <value>36, 20</value>
+  </data>
+  <data name="MenuItemFile.Text" xml:space="preserve">
+    <value>&amp;File</value>
+  </data>
+  <data name="MenuItemEdit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>37, 20</value>
+  </data>
+  <data name="MenuItemEdit.Text" xml:space="preserve">
+    <value>&amp;Edit</value>
+  </data>
+  <data name="CopySTOTMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="CopySTOTMenuItem.Text" xml:space="preserve">
+    <value>&amp;Copy (STOT-style)</value>
+  </data>
+  <data name="CopyURLMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="CopyURLMenuItem.Text" xml:space="preserve">
+    <value>Copy (&amp;Status URL)</value>
+  </data>
+  <data name="ToolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>185, 6</value>
+  </data>
+  <data name="MenuItemSubSearch.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="MenuItemSubSearch.Text" xml:space="preserve">
+    <value>&amp;Find...</value>
+  </data>
+  <data name="MenuItemSearchNext.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="MenuItemSearchNext.Text" xml:space="preserve">
+    <value>Find Ne&amp;xt</value>
+  </data>
+  <data name="MenuItemSearchPrev.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 22</value>
+  </data>
+  <data name="MenuItemSearchPrev.Text" xml:space="preserve">
+    <value>Find &amp;Previous</value>
+  </data>
+  <data name="ReplyStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="ReplyStripMenuItem.Text" xml:space="preserve">
+    <value>@ &amp;Reply</value>
+  </data>
+  <data name="ReplyAllStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="ReplyAllStripMenuItem.Text" xml:space="preserve">
+    <value>@ Reply ALL</value>
+  </data>
+  <data name="DMStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="DMStripMenuItem.Text" xml:space="preserve">
+    <value>Send D&amp;M</value>
+  </data>
+  <data name="ReTweetOriginalStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="ReTweetOriginalStripMenuItem.Text" xml:space="preserve">
+    <value>RT OriginalPost</value>
+  </data>
+  <data name="ReTweetStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="ToolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>219, 6</value>
+  </data>
+  <data name="FavAddToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="FavAddToolStripMenuItem.Text" xml:space="preserve">
+    <value>Mark &amp;Favorite</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem.Text" xml:space="preserve">
+    <value>Unmark Favorite</value>
+  </data>
+  <data name="ToolStripMenuItem6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="ToolStripMenuItem6.Text" xml:space="preserve">
+    <value>Open as ...</value>
+  </data>
+  <data name="ToolStripMenuItem7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="ToolStripMenuItem7.Text" xml:space="preserve">
+    <value>Make filter as ...</value>
+  </data>
+  <data name="ToolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>219, 6</value>
+  </data>
+  <data name="ToolStripMenuItem11.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="ToolStripMenuItem11.Text" xml:space="preserve">
+    <value>Change unread state</value>
+  </data>
+  <data name="JumpUnreadMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="JumpUnreadMenuItem.Text" xml:space="preserve">
+    <value>Jump Next to read post</value>
+  </data>
+  <data name="ToolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>219, 6</value>
+  </data>
+  <data name="SelectAllMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="SelectAllMenuItem.Text" xml:space="preserve">
+    <value>Select &amp;All</value>
+  </data>
+  <data name="DeleteStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="DeleteStripMenuItem.Text" xml:space="preserve">
+    <value>&amp;Delete</value>
+  </data>
+  <data name="RefreshStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>222, 22</value>
+  </data>
+  <data name="RefreshStripMenuItem.Text" xml:space="preserve">
+    <value>&amp;Update</value>
+  </data>
+  <data name="ContextMenuStrip2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>223, 330</value>
+  </data>
+  <data name="MenuItemOperate.Size" type="System.Drawing.Size, System.Drawing">
+    <value>66, 20</value>
+  </data>
+  <data name="MenuItemOperate.Text" xml:space="preserve">
+    <value>&amp;Operation</value>
+  </data>
+  <data name="MoveToHomeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>230, 22</value>
+  </data>
+  <data name="MoveToHomeToolStripMenuItem.Text" xml:space="preserve">
+    <value>Open &amp;Home page</value>
+  </data>
+  <data name="MoveToFavToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>230, 22</value>
+  </data>
+  <data name="MoveToFavToolStripMenuItem.Text" xml:space="preserve">
+    <value>Open Favorites (&amp;G)</value>
+  </data>
+  <data name="StatusOpenMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>230, 22</value>
+  </data>
+  <data name="StatusOpenMenuItem.Text" xml:space="preserve">
+    <value>&amp;Open Status</value>
+  </data>
+  <data name="RepliedStatusOpenMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>230, 22</value>
+  </data>
+  <data name="RepliedStatusOpenMenuItem.Text" xml:space="preserve">
+    <value>Open Repl&amp;ied Status</value>
+  </data>
+  <data name="FavorareMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>230, 22</value>
+  </data>
+  <data name="FavorareMenuItem.Text" xml:space="preserve">
+    <value>Open Favotter (&amp;P)</value>
+  </data>
+  <data name="OpenURLMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>230, 22</value>
+  </data>
+  <data name="OpenURLMenuItem.Text" xml:space="preserve">
+    <value>Open Reffered &amp;URL</value>
+  </data>
+  <data name="TabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="TabMenuItem.Text" xml:space="preserve">
+    <value>Filter by Post (&amp;N)...</value>
+  </data>
+  <data name="IDRuleMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="IDRuleMenuItem.Text" xml:space="preserve">
+    <value>Filter by ID...</value>
+  </data>
+  <data name="ReadedStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>217, 22</value>
+  </data>
+  <data name="ReadedStripMenuItem.Text" xml:space="preserve">
+    <value>Make Read (&amp;B)</value>
+  </data>
+  <data name="UnreadStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>217, 22</value>
+  </data>
+  <data name="UnreadStripMenuItem.Text" xml:space="preserve">
+    <value>Make Not Read</value>
+  </data>
+  <data name="MenuItemCommand.Size" type="System.Drawing.Size, System.Drawing">
+    <value>67, 20</value>
+  </data>
+  <data name="MenuItemCommand.Text" xml:space="preserve">
+    <value>&amp;Command</value>
+  </data>
+  <data name="TinyUrlConvertToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>165, 22</value>
+  </data>
+  <data name="TinyUrlConvertToolStripMenuItem.Text" xml:space="preserve">
+    <value>&amp;Shorten URL</value>
+  </data>
+  <data name="UrlConvertAutoToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="UrlConvertAutoToolStripMenuItem.Text" xml:space="preserve">
+    <value>Auto Select</value>
+  </data>
+  <data name="UrlUndoToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="UrlUndoToolStripMenuItem.Text" xml:space="preserve">
+    <value>Undo</value>
+  </data>
+  <data name="TinyURLToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="IsgdToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="TwurlnlToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="UnuToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="BitlyToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="JmpStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>165, 22</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1.Text" xml:space="preserve">
+    <value>Fetch User List</value>
+  </data>
+  <data name="GetFollowersDiffToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>260, 22</value>
+  </data>
+  <data name="GetFollowersDiffToolStripMenuItem.Text" xml:space="preserve">
+    <value>An increase from present is acquired</value>
+  </data>
+  <data name="GetFollowersAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>260, 22</value>
+  </data>
+  <data name="GetFollowersAllToolStripMenuItem.Text" xml:space="preserve">
+    <value>Re-acquisition of all</value>
+  </data>
+  <data name="ToolStripMenuItem10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>165, 22</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem.Text" xml:space="preserve">
+    <value>Add BlackFav(&amp;F)</value>
+  </data>
+  <data name="ToolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>162, 6</value>
+  </data>
+  <data name="FollowCommandMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>165, 22</value>
+  </data>
+  <data name="RemoveCommandMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>165, 22</value>
+  </data>
+  <data name="FriendshipMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>165, 22</value>
+  </data>
+  <data name="ToolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>162, 6</value>
+  </data>
+  <data name="OwnStatusMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>165, 22</value>
+  </data>
+  <data name="MenuItemHelp.Size" type="System.Drawing.Size, System.Drawing">
+    <value>40, 20</value>
+  </data>
+  <data name="MenuItemHelp.Text" xml:space="preserve">
+    <value>&amp;Help</value>
+  </data>
+  <data name="MatomeMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>216, 22</value>
+  </data>
+  <data name="MatomeMenuItem.Text" xml:space="preserve">
+    <value>Open Tween &amp;Help Site</value>
+  </data>
+  <data name="ToolStripSeparator16.Size" type="System.Drawing.Size, System.Drawing">
+    <value>213, 6</value>
+  </data>
+  <data name="VerUpMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>216, 22</value>
+  </data>
+  <data name="VerUpMenuItem.Text" xml:space="preserve">
+    <value>Check for Updates (&amp;G)</value>
+  </data>
+  <data name="WedataMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>216, 22</value>
+  </data>
+  <data name="WedataMenuItem.Text" xml:space="preserve">
+    <value>Update Parsing Keys</value>
+  </data>
+  <data name="ToolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing">
+    <value>213, 6</value>
+  </data>
+  <data name="ApiInfoMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>216, 22</value>
+  </data>
+  <data name="InfoTwitterMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>216, 22</value>
+  </data>
+  <data name="InfoTwitterMenuItem.Text" xml:space="preserve">
+    <value>Get &amp;Information from Twitter</value>
+  </data>
+  <data name="ToolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>213, 6</value>
+  </data>
+  <data name="AboutMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>216, 22</value>
+  </data>
+  <data name="AboutMenuItem.Text" xml:space="preserve">
+    <value>&amp;About Tween...</value>
+  </data>
+  <data name="DebugModeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>216, 22</value>
+  </data>
+  <data name="ContextMenuStripPostMode.Size" type="System.Drawing.Size, System.Drawing">
+    <value>328, 92</value>
+  </data>
+  <data name="ToolStripMenuItemUrlMultibyteSplit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>327, 22</value>
+  </data>
+  <data name="ToolStripMenuItemUrlMultibyteSplit.Text" xml:space="preserve">
+    <value>Separation of multibyte character string from URL</value>
+  </data>
+  <data name="ToolStripMenuItemApiCommandEvasion.Size" type="System.Drawing.Size, System.Drawing">
+    <value>327, 22</value>
+  </data>
+  <data name="ToolStripMenuItemApiCommandEvasion.Text" xml:space="preserve">
+    <value>The collision with API command is evaded</value>
+  </data>
+  <data name="ToolStripMenuItemUrlAutoShorten.Size" type="System.Drawing.Size, System.Drawing">
+    <value>327, 22</value>
+  </data>
+  <data name="ToolStripMenuItemUrlAutoShorten.Text" xml:space="preserve">
+    <value>URL is automatically shortened</value>
+  </data>
+  <data name="IdeographicSpaceToSpaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>327, 22</value>
+  </data>
+  <data name="IdeographicSpaceToSpaceToolStripMenuItem.Text" xml:space="preserve">
+    <value>Convert IdeographicSpace to Space</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/Tween.resx b/Tween/Tween.resx
new file mode 100644 (file)
index 0000000..c82c45a
--- /dev/null
@@ -0,0 +1,2319 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>0, 0</value>
+  </metadata>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="StatusStrip1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="StatusLabelUrl.Size" type="System.Drawing.Size, System.Drawing">
+    <value>446, 17</value>
+  </data>
+  <data name="StatusLabelUrl.Text" xml:space="preserve">
+    <value>ToolStripStatusLabel1</value>
+  </data>
+  <data name="StatusLabelUrl.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="StatusStrip1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="StatusStrip1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>461, 22</value>
+  </data>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="StatusStrip1.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="StatusStrip1.Text" xml:space="preserve">
+    <value>StatusStrip1</value>
+  </data>
+  <data name="&gt;&gt;StatusStrip1.Name" xml:space="preserve">
+    <value>StatusStrip1</value>
+  </data>
+  <data name="&gt;&gt;StatusStrip1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StatusStrip1.Parent" xml:space="preserve">
+    <value>ToolStripContainer1.BottomToolStripPanel</value>
+  </data>
+  <data name="&gt;&gt;StatusStrip1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.BottomToolStripPanel.Name" xml:space="preserve">
+    <value>ToolStripContainer1.BottomToolStripPanel</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.BottomToolStripPanel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.BottomToolStripPanel.Parent" xml:space="preserve">
+    <value>ToolStripContainer1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.BottomToolStripPanel.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="SplitContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="SplitContainer1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="SplitContainer1.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
+    <value>Horizontal</value>
+  </data>
+  <data name="ListTab.Alignment" type="System.Windows.Forms.TabAlignment, System.Windows.Forms">
+    <value>Bottom</value>
+  </data>
+  <metadata name="ContextMenuTabProperty.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>236, 41</value>
+  </metadata>
+  <data name="AddTabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>187, 22</value>
+  </data>
+  <data name="AddTabMenuItem.Text" xml:space="preserve">
+    <value>タブ作成(&amp;N)...</value>
+  </data>
+  <data name="TabRenameMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>187, 22</value>
+  </data>
+  <data name="TabRenameMenuItem.Text" xml:space="preserve">
+    <value>タブ名の変更</value>
+  </data>
+  <data name="ToolStripSeparator20.Size" type="System.Drawing.Size, System.Drawing">
+    <value>184, 6</value>
+  </data>
+  <data name="UreadManageMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>187, 22</value>
+  </data>
+  <data name="UreadManageMenuItem.Text" xml:space="preserve">
+    <value>未読管理(&amp;U)</value>
+  </data>
+  <data name="NotifyDispMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>187, 22</value>
+  </data>
+  <data name="NotifyDispMenuItem.Text" xml:space="preserve">
+    <value>新着通知表示(&amp;Q)</value>
+  </data>
+  <data name="SoundFileComboBox.Size" type="System.Drawing.Size, System.Drawing">
+    <value>121, 20</value>
+  </data>
+  <data name="SoundFileComboBox.ToolTipText" xml:space="preserve">
+    <value>再生するwavファイルを指定してください</value>
+  </data>
+  <data name="ToolStripSeparator18.Size" type="System.Drawing.Size, System.Drawing">
+    <value>184, 6</value>
+  </data>
+  <data name="FilterEditMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>187, 22</value>
+  </data>
+  <data name="FilterEditMenuItem.Text" xml:space="preserve">
+    <value>振り分けルール編集(&amp;F)...</value>
+  </data>
+  <data name="ToolStripSeparator19.Size" type="System.Drawing.Size, System.Drawing">
+    <value>184, 6</value>
+  </data>
+  <data name="ClearTabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>187, 22</value>
+  </data>
+  <data name="ClearTabMenuItem.Text" xml:space="preserve">
+    <value>このタブの発言をクリア</value>
+  </data>
+  <data name="ToolStripSeparator11.Size" type="System.Drawing.Size, System.Drawing">
+    <value>184, 6</value>
+  </data>
+  <data name="DeleteTabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>187, 22</value>
+  </data>
+  <data name="DeleteTabMenuItem.Text" xml:space="preserve">
+    <value>タブ削除(&amp;D)</value>
+  </data>
+  <data name="MenuItemTab.Size" type="System.Drawing.Size, System.Drawing">
+    <value>49, 20</value>
+  </data>
+  <data name="MenuItemTab.Text" xml:space="preserve">
+    <value>タブ(&amp;T)</value>
+  </data>
+  <data name="ContextMenuTabProperty.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 206</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuTabProperty.Name" xml:space="preserve">
+    <value>ContextMenuTabProperty</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuTabProperty.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="ListTab.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <metadata name="TabImage.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>123, 41</value>
+  </metadata>
+  <data name="TabImage.ImageSize" type="System.Drawing.Size, System.Drawing">
+    <value>16, 16</value>
+  </data>
+  <data name="ListTab.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Disable</value>
+  </data>
+  <data name="ListTab.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="ListTab.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>0, 0, 0, 0</value>
+  </data>
+  <data name="ListTab.Size" type="System.Drawing.Size, System.Drawing">
+    <value>457, 169</value>
+  </data>
+  <data name="ListTab.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;ListTab.Name" xml:space="preserve">
+    <value>ListTab</value>
+  </data>
+  <data name="&gt;&gt;ListTab.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ListTab.Parent" xml:space="preserve">
+    <value>SplitContainer1.Panel1</value>
+  </data>
+  <data name="&gt;&gt;ListTab.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel1.Name" xml:space="preserve">
+    <value>SplitContainer1.Panel1</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel1.Parent" xml:space="preserve">
+    <value>SplitContainer1</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="SplitContainer2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="SplitContainer2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="SplitContainer2.Orientation" type="System.Windows.Forms.Orientation, System.Windows.Forms">
+    <value>Horizontal</value>
+  </data>
+  <data name="TableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
+    <value>3</value>
+  </data>
+  <metadata name="ContextMenuStrip3.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 82</value>
+  </metadata>
+  <data name="IconNameToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>120, 22</value>
+  </data>
+  <data name="IconNameToolStripMenuItem.Text" xml:space="preserve">
+    <value>IconName</value>
+  </data>
+  <data name="ToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>117, 6</value>
+  </data>
+  <data name="SaveIconPictureToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>120, 22</value>
+  </data>
+  <data name="SaveIconPictureToolStripMenuItem.Text" xml:space="preserve">
+    <value>保存(&amp;I)...</value>
+  </data>
+  <data name="ContextMenuStrip3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>121, 54</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip3.Name" xml:space="preserve">
+    <value>ContextMenuStrip3</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="UserPicture.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Off</value>
+  </data>
+  <data name="UserPicture.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="UserPicture.Size" type="System.Drawing.Size, System.Drawing">
+    <value>50, 50</value>
+  </data>
+  <data name="UserPicture.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
+    <value>Zoom</value>
+  </data>
+  <data name="UserPicture.TabIndex" type="System.Int32, mscorlib">
+    <value>5</value>
+  </data>
+  <data name="&gt;&gt;UserPicture.Name" xml:space="preserve">
+    <value>UserPicture</value>
+  </data>
+  <data name="&gt;&gt;UserPicture.Type" xml:space="preserve">
+    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UserPicture.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;UserPicture.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="NameLabel.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="NameLabel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="NameLabel.Font" type="System.Drawing.Font, System.Drawing">
+    <value>MS UI Gothic, 9pt, style=Bold</value>
+  </data>
+  <data name="NameLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Off</value>
+  </data>
+  <data name="NameLabel.Location" type="System.Drawing.Point, System.Drawing">
+    <value>59, 3</value>
+  </data>
+  <data name="NameLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 0</value>
+  </data>
+  <data name="NameLabel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>266, 14</value>
+  </data>
+  <data name="NameLabel.TabIndex" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="NameLabel.Text" xml:space="preserve">
+    <value>LblName</value>
+  </data>
+  <data name="NameLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;NameLabel.Name" xml:space="preserve">
+    <value>NameLabel</value>
+  </data>
+  <data name="&gt;&gt;NameLabel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;NameLabel.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;NameLabel.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <metadata name="ContextMenuStrip4.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>337, 7</value>
+  </metadata>
+  <data name="SearchItem2ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>145, 22</value>
+  </data>
+  <data name="SearchItem2ToolStripMenuItem.Text" xml:space="preserve">
+    <value>Google</value>
+  </data>
+  <data name="SearchItem1ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>145, 22</value>
+  </data>
+  <data name="SearchItem1ToolStripMenuItem.Text" xml:space="preserve">
+    <value>Wikipedia</value>
+  </data>
+  <data name="SearchItem3ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>145, 22</value>
+  </data>
+  <data name="SearchItem3ToolStripMenuItem.Text" xml:space="preserve">
+    <value>Twitter検索</value>
+  </data>
+  <data name="SearchItem4ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>145, 22</value>
+  </data>
+  <data name="SearchItem4ToolStripMenuItem.Text" xml:space="preserve">
+    <value>Twitter Search</value>
+  </data>
+  <data name="CurrentTabToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>145, 22</value>
+  </data>
+  <data name="CurrentTabToolStripMenuItem.Text" xml:space="preserve">
+    <value>現在のタブ</value>
+  </data>
+  <data name="ToolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="ToolStripMenuItem2.Text" xml:space="preserve">
+    <value>選択文字列で検索</value>
+  </data>
+  <data name="ToolStripSeparator13.Size" type="System.Drawing.Size, System.Drawing">
+    <value>163, 6</value>
+  </data>
+  <data name="ToolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="ToolStripMenuItem3.Text" xml:space="preserve">
+    <value>選択文字列をコピー</value>
+  </data>
+  <data name="ToolStripMenuItem4.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="ToolStripMenuItem4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="ToolStripMenuItem4.Text" xml:space="preserve">
+    <value>URLをコピー</value>
+  </data>
+  <data name="ToolStripMenuItem5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="ToolStripMenuItem5.Text" xml:space="preserve">
+    <value>すべて選択</value>
+  </data>
+  <data name="ToolStripSeparator5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>163, 6</value>
+  </data>
+  <data name="FollowContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="FollowContextMenuItem.Text" xml:space="preserve">
+    <value>Follow</value>
+  </data>
+  <data name="RemoveContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="RemoveContextMenuItem.Text" xml:space="preserve">
+    <value>Remove</value>
+  </data>
+  <data name="FriendshipContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 22</value>
+  </data>
+  <data name="FriendshipContextMenuItem.Text" xml:space="preserve">
+    <value>ShowFriendship</value>
+  </data>
+  <data name="ContextMenuStrip4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>167, 170</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip4.Name" xml:space="preserve">
+    <value>ContextMenuStrip4</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="PostBrowser.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="PostBrowser.Location" type="System.Drawing.Point, System.Drawing">
+    <value>59, 20</value>
+  </data>
+  <data name="PostBrowser.Size" type="System.Drawing.Size, System.Drawing">
+    <value>395, 82</value>
+  </data>
+  <data name="PostBrowser.TabIndex" type="System.Int32, mscorlib">
+    <value>12</value>
+  </data>
+  <data name="&gt;&gt;PostBrowser.Name" xml:space="preserve">
+    <value>PostBrowser</value>
+  </data>
+  <data name="&gt;&gt;PostBrowser.Type" xml:space="preserve">
+    <value>System.Windows.Forms.WebBrowser, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;PostBrowser.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;PostBrowser.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="DateTimeLabel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Top, Bottom, Right</value>
+  </data>
+  <data name="DateTimeLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Off</value>
+  </data>
+  <data name="DateTimeLabel.Location" type="System.Drawing.Point, System.Drawing">
+    <value>331, 3</value>
+  </data>
+  <data name="DateTimeLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 0</value>
+  </data>
+  <data name="DateTimeLabel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>123, 14</value>
+  </data>
+  <data name="DateTimeLabel.TabIndex" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="DateTimeLabel.Text" xml:space="preserve">
+    <value>Label1</value>
+  </data>
+  <data name="DateTimeLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleRight</value>
+  </data>
+  <data name="&gt;&gt;DateTimeLabel.Name" xml:space="preserve">
+    <value>DateTimeLabel</value>
+  </data>
+  <data name="&gt;&gt;DateTimeLabel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;DateTimeLabel.Parent" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;DateTimeLabel.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="TableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="TableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="TableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="TableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>457, 105</value>
+  </data>
+  <data name="TableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
+    <value>20</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Name" xml:space="preserve">
+    <value>TableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.Parent" xml:space="preserve">
+    <value>SplitContainer2.Panel1</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="TableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="UserPicture" Row="0" RowSpan="2" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="NameLabel" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="PostBrowser" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="DateTimeLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Absolute,56,Percent,100,Absolute,129" /&gt;&lt;Rows Styles="Absolute,17,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel1.Name" xml:space="preserve">
+    <value>SplitContainer2.Panel1</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel1.Parent" xml:space="preserve">
+    <value>SplitContainer2</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="SplitContainer2.Panel1MinSize" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="StatusText.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="StatusText.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="StatusText.Size" type="System.Drawing.Size, System.Drawing">
+    <value>354, 19</value>
+  </data>
+  <data name="StatusText.TabIndex" type="System.Int32, mscorlib">
+    <value>25</value>
+  </data>
+  <data name="&gt;&gt;StatusText.Name" xml:space="preserve">
+    <value>StatusText</value>
+  </data>
+  <data name="&gt;&gt;StatusText.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StatusText.Parent" xml:space="preserve">
+    <value>SplitContainer2.Panel2</value>
+  </data>
+  <data name="&gt;&gt;StatusText.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="lblLen.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Right</value>
+  </data>
+  <data name="lblLen.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Off</value>
+  </data>
+  <data name="lblLen.Location" type="System.Drawing.Point, System.Drawing">
+    <value>354, 0</value>
+  </data>
+  <data name="lblLen.Size" type="System.Drawing.Size, System.Drawing">
+    <value>44, 21</value>
+  </data>
+  <data name="lblLen.TabIndex" type="System.Int32, mscorlib">
+    <value>24</value>
+  </data>
+  <data name="lblLen.Text" xml:space="preserve">
+    <value>999</value>
+  </data>
+  <data name="lblLen.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleCenter</value>
+  </data>
+  <data name="&gt;&gt;lblLen.Name" xml:space="preserve">
+    <value>lblLen</value>
+  </data>
+  <data name="&gt;&gt;lblLen.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;lblLen.Parent" xml:space="preserve">
+    <value>SplitContainer2.Panel2</value>
+  </data>
+  <data name="&gt;&gt;lblLen.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="PostButton.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Right</value>
+  </data>
+  <data name="PostButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Off</value>
+  </data>
+  <data name="PostButton.Location" type="System.Drawing.Point, System.Drawing">
+    <value>398, 0</value>
+  </data>
+  <data name="PostButton.Size" type="System.Drawing.Size, System.Drawing">
+    <value>44, 21</value>
+  </data>
+  <data name="PostButton.TabIndex" type="System.Int32, mscorlib">
+    <value>23</value>
+  </data>
+  <data name="PostButton.Text" xml:space="preserve">
+    <value>Post</value>
+  </data>
+  <data name="&gt;&gt;PostButton.Name" xml:space="preserve">
+    <value>PostButton</value>
+  </data>
+  <data name="&gt;&gt;PostButton.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;PostButton.Parent" xml:space="preserve">
+    <value>SplitContainer2.Panel2</value>
+  </data>
+  <data name="&gt;&gt;PostButton.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="ButtonPostMode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Right</value>
+  </data>
+  <data name="ButtonPostMode.Font" type="System.Drawing.Font, System.Drawing">
+    <value>Marlett, 6.75pt, style=Bold</value>
+  </data>
+  <data name="ButtonPostMode.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Off</value>
+  </data>
+  <data name="ButtonPostMode.Location" type="System.Drawing.Point, System.Drawing">
+    <value>442, 0</value>
+  </data>
+  <data name="ButtonPostMode.Size" type="System.Drawing.Size, System.Drawing">
+    <value>15, 21</value>
+  </data>
+  <data name="ButtonPostMode.TabIndex" type="System.Int32, mscorlib">
+    <value>26</value>
+  </data>
+  <data name="ButtonPostMode.Text" xml:space="preserve">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;ButtonPostMode.Name" xml:space="preserve">
+    <value>ButtonPostMode</value>
+  </data>
+  <data name="&gt;&gt;ButtonPostMode.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ButtonPostMode.Parent" xml:space="preserve">
+    <value>SplitContainer2.Panel2</value>
+  </data>
+  <data name="&gt;&gt;ButtonPostMode.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel2.Name" xml:space="preserve">
+    <value>SplitContainer2.Panel2</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel2.Parent" xml:space="preserve">
+    <value>SplitContainer2</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Panel2.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="SplitContainer2.Panel2MinSize" type="System.Int32, mscorlib">
+    <value>19</value>
+  </data>
+  <data name="SplitContainer2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>457, 128</value>
+  </data>
+  <data name="SplitContainer2.SplitterDistance" type="System.Int32, mscorlib">
+    <value>105</value>
+  </data>
+  <data name="SplitContainer2.SplitterWidth" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="SplitContainer2.TabIndex" type="System.Int32, mscorlib">
+    <value>19</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Name" xml:space="preserve">
+    <value>SplitContainer2</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.Parent" xml:space="preserve">
+    <value>SplitContainer1.Panel2</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer2.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel2.Name" xml:space="preserve">
+    <value>SplitContainer1.Panel2</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel2.Parent" xml:space="preserve">
+    <value>SplitContainer1</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Panel2.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="SplitContainer1.Panel2MinSize" type="System.Int32, mscorlib">
+    <value>23</value>
+  </data>
+  <data name="SplitContainer1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>461, 307</value>
+  </data>
+  <data name="SplitContainer1.SplitterDistance" type="System.Int32, mscorlib">
+    <value>173</value>
+  </data>
+  <data name="SplitContainer1.SplitterWidth" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="SplitContainer1.TabIndex" type="System.Int32, mscorlib">
+    <value>9</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Name" xml:space="preserve">
+    <value>SplitContainer1</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.SplitContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.Parent" xml:space="preserve">
+    <value>ToolStripContainer1.ContentPanel</value>
+  </data>
+  <data name="&gt;&gt;SplitContainer1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="ToolStripContainer1.ContentPanel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>461, 307</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.ContentPanel.Name" xml:space="preserve">
+    <value>ToolStripContainer1.ContentPanel</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.ContentPanel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripContentPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.ContentPanel.Parent" xml:space="preserve">
+    <value>ToolStripContainer1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.ContentPanel.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="ToolStripContainer1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.LeftToolStripPanel.Name" xml:space="preserve">
+    <value>ToolStripContainer1.LeftToolStripPanel</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.LeftToolStripPanel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.LeftToolStripPanel.Parent" xml:space="preserve">
+    <value>ToolStripContainer1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.LeftToolStripPanel.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="ToolStripContainer1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.RightToolStripPanel.Name" xml:space="preserve">
+    <value>ToolStripContainer1.RightToolStripPanel</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.RightToolStripPanel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.RightToolStripPanel.Parent" xml:space="preserve">
+    <value>ToolStripContainer1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.RightToolStripPanel.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="ToolStripContainer1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>461, 353</value>
+  </data>
+  <data name="ToolStripContainer1.TabIndex" type="System.Int32, mscorlib">
+    <value>11</value>
+  </data>
+  <data name="ToolStripContainer1.Text" xml:space="preserve">
+    <value>ToolStripContainer1</value>
+  </data>
+  <metadata name="MenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>0, 0</value>
+  </metadata>
+  <data name="MenuStrip1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>None</value>
+  </data>
+  <metadata name="ContextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>763, 0</value>
+  </metadata>
+  <data name="SettingStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>220, 22</value>
+  </data>
+  <data name="SettingStripMenuItem.Text" xml:space="preserve">
+    <value>設定(&amp;O)...</value>
+  </data>
+  <data name="ToolStripSeparator9.Size" type="System.Drawing.Size, System.Drawing">
+    <value>217, 6</value>
+  </data>
+  <data name="SaveLogMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>220, 22</value>
+  </data>
+  <data name="SaveLogMenuItem.Text" xml:space="preserve">
+    <value>ファイル保存(&amp;S)...</value>
+  </data>
+  <data name="ToolStripSeparator17.Size" type="System.Drawing.Size, System.Drawing">
+    <value>217, 6</value>
+  </data>
+  <data name="NewPostPopMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>220, 22</value>
+  </data>
+  <data name="NewPostPopMenuItem.Text" xml:space="preserve">
+    <value>新着通知(&amp;Q)</value>
+  </data>
+  <data name="PlaySoundMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>220, 22</value>
+  </data>
+  <data name="PlaySoundMenuItem.Text" xml:space="preserve">
+    <value>サウンド再生</value>
+  </data>
+  <data name="ListLockMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>220, 22</value>
+  </data>
+  <data name="ListLockMenuItem.Text" xml:space="preserve">
+    <value>新着時リスト固定(&amp;L)</value>
+  </data>
+  <data name="ToolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing">
+    <value>217, 6</value>
+  </data>
+  <data name="MultiLineMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+T</value>
+  </data>
+  <data name="MultiLineMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>220, 22</value>
+  </data>
+  <data name="MultiLineMenuItem.Text" xml:space="preserve">
+    <value>発言欄複数行入力(&amp;M)</value>
+  </data>
+  <data name="ToolStripSeparator21.Size" type="System.Drawing.Size, System.Drawing">
+    <value>217, 6</value>
+  </data>
+  <data name="EndToolStripMenuItem.ShowShortcutKeys" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="EndToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>220, 22</value>
+  </data>
+  <data name="EndToolStripMenuItem.Text" xml:space="preserve">
+    <value>終了(&amp;X)</value>
+  </data>
+  <data name="ContextMenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>221, 182</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip1.Name" xml:space="preserve">
+    <value>ContextMenuStrip1</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="MenuItemFile.Size" type="System.Drawing.Size, System.Drawing">
+    <value>66, 20</value>
+  </data>
+  <data name="MenuItemFile.Text" xml:space="preserve">
+    <value>ファイル(&amp;F)</value>
+  </data>
+  <data name="CopySTOTMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>214, 22</value>
+  </data>
+  <data name="CopySTOTMenuItem.Text" xml:space="preserve">
+    <value>コピー(STOT形式テキスト)(&amp;C)</value>
+  </data>
+  <data name="CopyURLMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>214, 22</value>
+  </data>
+  <data name="CopyURLMenuItem.Text" xml:space="preserve">
+    <value>コピー(ステータスURL)(&amp;S)</value>
+  </data>
+  <data name="ToolStripSeparator6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>211, 6</value>
+  </data>
+  <data name="MenuItemSubSearch.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+F</value>
+  </data>
+  <data name="MenuItemSubSearch.Size" type="System.Drawing.Size, System.Drawing">
+    <value>214, 22</value>
+  </data>
+  <data name="MenuItemSubSearch.Text" xml:space="preserve">
+    <value>検索(&amp;F)...</value>
+  </data>
+  <data name="MenuItemSearchNext.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>F3</value>
+  </data>
+  <data name="MenuItemSearchNext.Size" type="System.Drawing.Size, System.Drawing">
+    <value>214, 22</value>
+  </data>
+  <data name="MenuItemSearchNext.Text" xml:space="preserve">
+    <value>次を検索(&amp;X)</value>
+  </data>
+  <data name="MenuItemSearchPrev.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Shift+F3</value>
+  </data>
+  <data name="MenuItemSearchPrev.Size" type="System.Drawing.Size, System.Drawing">
+    <value>214, 22</value>
+  </data>
+  <data name="MenuItemSearchPrev.Text" xml:space="preserve">
+    <value>前を検索(&amp;P)</value>
+  </data>
+  <data name="MenuItemEdit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>56, 20</value>
+  </data>
+  <data name="MenuItemEdit.Text" xml:space="preserve">
+    <value>編集(&amp;E)</value>
+  </data>
+  <metadata name="ContextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>930, 0</value>
+  </metadata>
+  <data name="ReplyStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+R</value>
+  </data>
+  <data name="ReplyStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="ReplyStripMenuItem.Text" xml:space="preserve">
+    <value>@返信(&amp;R)</value>
+  </data>
+  <data name="ReplyAllStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+Shift+R</value>
+  </data>
+  <data name="ReplyAllStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="ReplyAllStripMenuItem.Text" xml:space="preserve">
+    <value>@返信ALL</value>
+  </data>
+  <data name="DMStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+M</value>
+  </data>
+  <data name="DMStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="DMStripMenuItem.Text" xml:space="preserve">
+    <value>DM送信(&amp;M)</value>
+  </data>
+  <data name="ReTweetOriginalStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Alt+R</value>
+  </data>
+  <data name="ReTweetOriginalStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="ReTweetOriginalStripMenuItem.Text" xml:space="preserve">
+    <value>ReTweet(元発言)</value>
+  </data>
+  <data name="ReTweetStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Alt+Shift+R</value>
+  </data>
+  <data name="ReTweetStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="ReTweetStripMenuItem.Text" xml:space="preserve">
+    <value>ReTweet</value>
+  </data>
+  <data name="ToolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>194, 6</value>
+  </data>
+  <data name="FavAddToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+S</value>
+  </data>
+  <data name="FavAddToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="FavAddToolStripMenuItem.Text" xml:space="preserve">
+    <value>Fav追加(&amp;F)</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+Shift+S</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="FavRemoveToolStripMenuItem.Text" xml:space="preserve">
+    <value>Fav削除</value>
+  </data>
+  <data name="MoveToHomeToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+H</value>
+  </data>
+  <data name="MoveToHomeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>227, 22</value>
+  </data>
+  <data name="MoveToHomeToolStripMenuItem.Text" xml:space="preserve">
+    <value>ホームを開く(&amp;H)</value>
+  </data>
+  <data name="MoveToFavToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+G</value>
+  </data>
+  <data name="MoveToFavToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>227, 22</value>
+  </data>
+  <data name="MoveToFavToolStripMenuItem.Text" xml:space="preserve">
+    <value>Favを開く(&amp;G)</value>
+  </data>
+  <data name="StatusOpenMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+O</value>
+  </data>
+  <data name="StatusOpenMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>227, 22</value>
+  </data>
+  <data name="StatusOpenMenuItem.Text" xml:space="preserve">
+    <value>ステータスを開く(&amp;O)</value>
+  </data>
+  <data name="RepliedStatusOpenMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+I</value>
+  </data>
+  <data name="RepliedStatusOpenMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>227, 22</value>
+  </data>
+  <data name="RepliedStatusOpenMenuItem.Text" xml:space="preserve">
+    <value>返信元ステータスを開く(&amp;I)</value>
+  </data>
+  <data name="FavorareMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+Shift+O</value>
+  </data>
+  <data name="FavorareMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>227, 22</value>
+  </data>
+  <data name="FavorareMenuItem.Text" xml:space="preserve">
+    <value>ふぁぼられを開く(&amp;P)</value>
+  </data>
+  <data name="OpenURLMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+E</value>
+  </data>
+  <data name="OpenURLMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>227, 22</value>
+  </data>
+  <data name="OpenURLMenuItem.Text" xml:space="preserve">
+    <value>発言内URLを開く(&amp;U)</value>
+  </data>
+  <data name="ToolStripMenuItem6.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="ToolStripMenuItem6.Text" xml:space="preserve">
+    <value>開く</value>
+  </data>
+  <data name="TabMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>205, 22</value>
+  </data>
+  <data name="TabMenuItem.Text" xml:space="preserve">
+    <value>タブ振り分けルール作成(&amp;N)...</value>
+  </data>
+  <data name="IDRuleMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>205, 22</value>
+  </data>
+  <data name="IDRuleMenuItem.Text" xml:space="preserve">
+    <value>ID振り分けルール作成...</value>
+  </data>
+  <data name="ToolStripMenuItem7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="ToolStripMenuItem7.Text" xml:space="preserve">
+    <value>振り分けルール作成</value>
+  </data>
+  <data name="ToolStripSeparator4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>194, 6</value>
+  </data>
+  <data name="ReadedStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+B</value>
+  </data>
+  <data name="ReadedStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>190, 22</value>
+  </data>
+  <data name="ReadedStripMenuItem.Text" xml:space="preserve">
+    <value>既読にする(&amp;B)</value>
+  </data>
+  <data name="UnreadStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+Shift+B</value>
+  </data>
+  <data name="UnreadStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>190, 22</value>
+  </data>
+  <data name="UnreadStripMenuItem.Text" xml:space="preserve">
+    <value>未読にする</value>
+  </data>
+  <data name="ToolStripMenuItem11.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="ToolStripMenuItem11.Text" xml:space="preserve">
+    <value>未読状態変更</value>
+  </data>
+  <data name="JumpUnreadMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="JumpUnreadMenuItem.Text" xml:space="preserve">
+    <value>未読へジャンプ</value>
+  </data>
+  <data name="ToolStripSeparator10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>194, 6</value>
+  </data>
+  <data name="SelectAllMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+A</value>
+  </data>
+  <data name="SelectAllMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="SelectAllMenuItem.Text" xml:space="preserve">
+    <value>全て選択(&amp;A)</value>
+  </data>
+  <data name="DeleteStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+D</value>
+  </data>
+  <data name="DeleteStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="DeleteStripMenuItem.Text" xml:space="preserve">
+    <value>削除(&amp;D)</value>
+  </data>
+  <data name="RefreshStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>F5</value>
+  </data>
+  <data name="RefreshStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>197, 22</value>
+  </data>
+  <data name="RefreshStripMenuItem.Text" xml:space="preserve">
+    <value>更新(&amp;U)</value>
+  </data>
+  <data name="ContextMenuStrip2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>198, 330</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip2.Name" xml:space="preserve">
+    <value>ContextMenuStrip2</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStrip2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="MenuItemOperate.Size" type="System.Drawing.Size, System.Drawing">
+    <value>57, 20</value>
+  </data>
+  <data name="MenuItemOperate.Text" xml:space="preserve">
+    <value>操作(&amp;O)</value>
+  </data>
+  <data name="UrlConvertAutoToolStripMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>Ctrl+L</value>
+  </data>
+  <data name="UrlConvertAutoToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="UrlConvertAutoToolStripMenuItem.Text" xml:space="preserve">
+    <value>短縮サービス自動選択</value>
+  </data>
+  <data name="UrlUndoToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="UrlUndoToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="UrlUndoToolStripMenuItem.Text" xml:space="preserve">
+    <value>元に戻す</value>
+  </data>
+  <data name="TinyURLToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="TinyURLToolStripMenuItem.Text" xml:space="preserve">
+    <value>TinyURL</value>
+  </data>
+  <data name="IsgdToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="IsgdToolStripMenuItem.Text" xml:space="preserve">
+    <value>is.gd</value>
+  </data>
+  <data name="TwurlnlToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="TwurlnlToolStripMenuItem.Text" xml:space="preserve">
+    <value>twurl.nl</value>
+  </data>
+  <data name="UnuToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="UnuToolStripMenuItem.Text" xml:space="preserve">
+    <value>u.nu</value>
+  </data>
+  <data name="BitlyToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="BitlyToolStripMenuItem.Text" xml:space="preserve">
+    <value>bit.ly</value>
+  </data>
+  <data name="JmpStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>215, 22</value>
+  </data>
+  <data name="JmpStripMenuItem.Text" xml:space="preserve">
+    <value>j.mp</value>
+  </data>
+  <data name="TinyUrlConvertToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>195, 22</value>
+  </data>
+  <data name="TinyUrlConvertToolStripMenuItem.Text" xml:space="preserve">
+    <value>入力欄のURLを短縮変換</value>
+  </data>
+  <data name="GetFollowersDiffToolStripMenuItem.Enabled" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="GetFollowersDiffToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="GetFollowersDiffToolStripMenuItem.Text" xml:space="preserve">
+    <value>現在からの増加分を取得</value>
+  </data>
+  <data name="GetFollowersAllToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="GetFollowersAllToolStripMenuItem.Text" xml:space="preserve">
+    <value>全て再取得</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>195, 22</value>
+  </data>
+  <data name="UpdateFollowersMenuItem1.Text" xml:space="preserve">
+    <value>片思いユーザーリスト取得</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>157, 22</value>
+  </data>
+  <data name="BlackFavAddToolStripMenuItem.Text" xml:space="preserve">
+    <value>BlackFav追加(&amp;F)</value>
+  </data>
+  <data name="ToolStripMenuItem10.Size" type="System.Drawing.Size, System.Drawing">
+    <value>195, 22</value>
+  </data>
+  <data name="ToolStripMenuItem10.Text" xml:space="preserve">
+    <value>BlackFav</value>
+  </data>
+  <data name="ToolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 6</value>
+  </data>
+  <data name="FollowCommandMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>195, 22</value>
+  </data>
+  <data name="FollowCommandMenuItem.Text" xml:space="preserve">
+    <value>Follow Command</value>
+  </data>
+  <data name="RemoveCommandMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>195, 22</value>
+  </data>
+  <data name="RemoveCommandMenuItem.Text" xml:space="preserve">
+    <value>Remove Command</value>
+  </data>
+  <data name="FriendshipMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>195, 22</value>
+  </data>
+  <data name="FriendshipMenuItem.Text" xml:space="preserve">
+    <value>Show Friendships</value>
+  </data>
+  <data name="ToolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
+    <value>192, 6</value>
+  </data>
+  <data name="OwnStatusMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>195, 22</value>
+  </data>
+  <data name="OwnStatusMenuItem.Text" xml:space="preserve">
+    <value>Show your status</value>
+  </data>
+  <data name="MenuItemCommand.Size" type="System.Drawing.Size, System.Drawing">
+    <value>88, 20</value>
+  </data>
+  <data name="MenuItemCommand.Text" xml:space="preserve">
+    <value>その他機能(&amp;C)</value>
+  </data>
+  <data name="MatomeMenuItem.ShortcutKeys" type="System.Windows.Forms.Keys, System.Windows.Forms">
+    <value>F1</value>
+  </data>
+  <data name="MatomeMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="MatomeMenuItem.Text" xml:space="preserve">
+    <value>Tweenまとめサイト(&amp;H)</value>
+  </data>
+  <data name="ToolStripSeparator16.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 6</value>
+  </data>
+  <data name="VerUpMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="VerUpMenuItem.Text" xml:space="preserve">
+    <value>最新版の取得(&amp;G)</value>
+  </data>
+  <data name="WedataMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="WedataMenuItem.Text" xml:space="preserve">
+    <value>解析キー情報更新</value>
+  </data>
+  <data name="ToolStripSeparator14.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 6</value>
+  </data>
+  <data name="ApiInfoMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="ApiInfoMenuItem.Text" xml:space="preserve">
+    <value>API情報</value>
+  </data>
+  <data name="InfoTwitterMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="InfoTwitterMenuItem.Text" xml:space="preserve">
+    <value>Twitterからのお知らせ(&amp;I)</value>
+  </data>
+  <data name="ToolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
+    <value>188, 6</value>
+  </data>
+  <data name="AboutMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="AboutMenuItem.Text" xml:space="preserve">
+    <value>Tweenについて(&amp;A)...</value>
+  </data>
+  <data name="DumpPostClassToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>159, 22</value>
+  </data>
+  <data name="DumpPostClassToolStripMenuItem.Text" xml:space="preserve">
+    <value>PostClassのダンプ</value>
+  </data>
+  <data name="TraceOutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>159, 22</value>
+  </data>
+  <data name="TraceOutToolStripMenuItem.Text" xml:space="preserve">
+    <value>TraceOut出力</value>
+  </data>
+  <data name="DebugModeToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>191, 22</value>
+  </data>
+  <data name="DebugModeToolStripMenuItem.Text" xml:space="preserve">
+    <value>デバッグモード</value>
+  </data>
+  <data name="DebugModeToolStripMenuItem.Visible" type="System.Boolean, mscorlib">
+    <value>False</value>
+  </data>
+  <data name="MenuItemHelp.Size" type="System.Drawing.Size, System.Drawing">
+    <value>62, 20</value>
+  </data>
+  <data name="MenuItemHelp.Text" xml:space="preserve">
+    <value>ヘルプ(&amp;H)</value>
+  </data>
+  <data name="MenuStrip1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="MenuStrip1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>461, 24</value>
+  </data>
+  <data name="MenuStrip1.TabIndex" type="System.Int32, mscorlib">
+    <value>10</value>
+  </data>
+  <data name="MenuStrip1.Text" xml:space="preserve">
+    <value>MenuStrip1</value>
+  </data>
+  <data name="&gt;&gt;MenuStrip1.Name" xml:space="preserve">
+    <value>MenuStrip1</value>
+  </data>
+  <data name="&gt;&gt;MenuStrip1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuStrip1.Parent" xml:space="preserve">
+    <value>ToolStripContainer1.TopToolStripPanel</value>
+  </data>
+  <data name="&gt;&gt;MenuStrip1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.TopToolStripPanel.Name" xml:space="preserve">
+    <value>ToolStripContainer1.TopToolStripPanel</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.TopToolStripPanel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.TopToolStripPanel.Parent" xml:space="preserve">
+    <value>ToolStripContainer1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.TopToolStripPanel.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.Name" xml:space="preserve">
+    <value>ToolStripContainer1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripContainer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;ToolStripContainer1.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <metadata name="ContextMenuStripPostMode.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>120, 0</value>
+  </metadata>
+  <data name="ToolStripMenuItemUrlMultibyteSplit.Size" type="System.Drawing.Size, System.Drawing">
+    <value>231, 22</value>
+  </data>
+  <data name="ToolStripMenuItemUrlMultibyteSplit.Text" xml:space="preserve">
+    <value>URLからの全角文字列の切り離し</value>
+  </data>
+  <data name="ToolStripMenuItemApiCommandEvasion.Size" type="System.Drawing.Size, System.Drawing">
+    <value>231, 22</value>
+  </data>
+  <data name="ToolStripMenuItemApiCommandEvasion.Text" xml:space="preserve">
+    <value>APIコマンドを回避する</value>
+  </data>
+  <data name="ToolStripMenuItemUrlAutoShorten.Size" type="System.Drawing.Size, System.Drawing">
+    <value>231, 22</value>
+  </data>
+  <data name="ToolStripMenuItemUrlAutoShorten.Text" xml:space="preserve">
+    <value>自動的にURLを短縮する</value>
+  </data>
+  <data name="IdeographicSpaceToSpaceToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
+    <value>231, 22</value>
+  </data>
+  <data name="IdeographicSpaceToSpaceToolStripMenuItem.Text" xml:space="preserve">
+    <value>全角スペースを半角スペースにする</value>
+  </data>
+  <data name="ContextMenuStripPostMode.Size" type="System.Drawing.Size, System.Drawing">
+    <value>232, 92</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStripPostMode.Name" xml:space="preserve">
+    <value>ContextMenuStripPostMode</value>
+  </data>
+  <data name="&gt;&gt;ContextMenuStripPostMode.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <metadata name="TimerTimeline.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>504, 0</value>
+  </metadata>
+  <metadata name="NotifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>642, 0</value>
+  </metadata>
+  <data name="NotifyIcon1.Text" xml:space="preserve">
+    <value>Tween</value>
+  </data>
+  <data name="NotifyIcon1.Visible" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <metadata name="TimerDM.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 41</value>
+  </metadata>
+  <metadata name="TimerColorize.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>441, 41</value>
+  </metadata>
+  <metadata name="SaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>575, 41</value>
+  </metadata>
+  <metadata name="TimerRefreshIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>721, 41</value>
+  </metadata>
+  <metadata name="OpenFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>880, 41</value>
+  </metadata>
+  <metadata name="TimerReply.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>169, 82</value>
+  </metadata>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>121</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>461, 353</value>
+  </data>
+  <data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>Off</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>Tween</value>
+  </data>
+  <data name="&gt;&gt;StatusLabelUrl.Name" xml:space="preserve">
+    <value>StatusLabelUrl</value>
+  </data>
+  <data name="&gt;&gt;StatusLabelUrl.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripStatusLabel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;AddTabMenuItem.Name" xml:space="preserve">
+    <value>AddTabMenuItem</value>
+  </data>
+  <data name="&gt;&gt;AddTabMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabRenameMenuItem.Name" xml:space="preserve">
+    <value>TabRenameMenuItem</value>
+  </data>
+  <data name="&gt;&gt;TabRenameMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator20.Name" xml:space="preserve">
+    <value>ToolStripSeparator20</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator20.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UreadManageMenuItem.Name" xml:space="preserve">
+    <value>UreadManageMenuItem</value>
+  </data>
+  <data name="&gt;&gt;UreadManageMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;NotifyDispMenuItem.Name" xml:space="preserve">
+    <value>NotifyDispMenuItem</value>
+  </data>
+  <data name="&gt;&gt;NotifyDispMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SoundFileComboBox.Name" xml:space="preserve">
+    <value>SoundFileComboBox</value>
+  </data>
+  <data name="&gt;&gt;SoundFileComboBox.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripComboBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator18.Name" xml:space="preserve">
+    <value>ToolStripSeparator18</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator18.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FilterEditMenuItem.Name" xml:space="preserve">
+    <value>FilterEditMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FilterEditMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator19.Name" xml:space="preserve">
+    <value>ToolStripSeparator19</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator19.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ClearTabMenuItem.Name" xml:space="preserve">
+    <value>ClearTabMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ClearTabMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator11.Name" xml:space="preserve">
+    <value>ToolStripSeparator11</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator11.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;DeleteTabMenuItem.Name" xml:space="preserve">
+    <value>DeleteTabMenuItem</value>
+  </data>
+  <data name="&gt;&gt;DeleteTabMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemTab.Name" xml:space="preserve">
+    <value>MenuItemTab</value>
+  </data>
+  <data name="&gt;&gt;MenuItemTab.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabImage.Name" xml:space="preserve">
+    <value>TabImage</value>
+  </data>
+  <data name="&gt;&gt;TabImage.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;IconNameToolStripMenuItem.Name" xml:space="preserve">
+    <value>IconNameToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;IconNameToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem1.Name" xml:space="preserve">
+    <value>ToolStripMenuItem1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SaveIconPictureToolStripMenuItem.Name" xml:space="preserve">
+    <value>SaveIconPictureToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SaveIconPictureToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem2.Name" xml:space="preserve">
+    <value>ToolStripMenuItem2</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SearchItem2ToolStripMenuItem.Name" xml:space="preserve">
+    <value>SearchItem2ToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SearchItem2ToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SearchItem1ToolStripMenuItem.Name" xml:space="preserve">
+    <value>SearchItem1ToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SearchItem1ToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SearchItem3ToolStripMenuItem.Name" xml:space="preserve">
+    <value>SearchItem3ToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SearchItem3ToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SearchItem4ToolStripMenuItem.Name" xml:space="preserve">
+    <value>SearchItem4ToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SearchItem4ToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CurrentTabToolStripMenuItem.Name" xml:space="preserve">
+    <value>CurrentTabToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;CurrentTabToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator13.Name" xml:space="preserve">
+    <value>ToolStripSeparator13</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator13.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem3.Name" xml:space="preserve">
+    <value>ToolStripMenuItem3</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem4.Name" xml:space="preserve">
+    <value>ToolStripMenuItem4</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem5.Name" xml:space="preserve">
+    <value>ToolStripMenuItem5</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem5.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator5.Name" xml:space="preserve">
+    <value>ToolStripSeparator5</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator5.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FollowContextMenuItem.Name" xml:space="preserve">
+    <value>FollowContextMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FollowContextMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RemoveContextMenuItem.Name" xml:space="preserve">
+    <value>RemoveContextMenuItem</value>
+  </data>
+  <data name="&gt;&gt;RemoveContextMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FriendshipContextMenuItem.Name" xml:space="preserve">
+    <value>FriendshipContextMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FriendshipContextMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemFile.Name" xml:space="preserve">
+    <value>MenuItemFile</value>
+  </data>
+  <data name="&gt;&gt;MenuItemFile.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SettingStripMenuItem.Name" xml:space="preserve">
+    <value>SettingStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SettingStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator9.Name" xml:space="preserve">
+    <value>ToolStripSeparator9</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator9.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SaveLogMenuItem.Name" xml:space="preserve">
+    <value>SaveLogMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SaveLogMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator17.Name" xml:space="preserve">
+    <value>ToolStripSeparator17</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator17.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;NewPostPopMenuItem.Name" xml:space="preserve">
+    <value>NewPostPopMenuItem</value>
+  </data>
+  <data name="&gt;&gt;NewPostPopMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;PlaySoundMenuItem.Name" xml:space="preserve">
+    <value>PlaySoundMenuItem</value>
+  </data>
+  <data name="&gt;&gt;PlaySoundMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ListLockMenuItem.Name" xml:space="preserve">
+    <value>ListLockMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ListLockMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator15.Name" xml:space="preserve">
+    <value>ToolStripSeparator15</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator15.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MultiLineMenuItem.Name" xml:space="preserve">
+    <value>MultiLineMenuItem</value>
+  </data>
+  <data name="&gt;&gt;MultiLineMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator21.Name" xml:space="preserve">
+    <value>ToolStripSeparator21</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator21.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;EndToolStripMenuItem.Name" xml:space="preserve">
+    <value>EndToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;EndToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemEdit.Name" xml:space="preserve">
+    <value>MenuItemEdit</value>
+  </data>
+  <data name="&gt;&gt;MenuItemEdit.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CopySTOTMenuItem.Name" xml:space="preserve">
+    <value>CopySTOTMenuItem</value>
+  </data>
+  <data name="&gt;&gt;CopySTOTMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;CopyURLMenuItem.Name" xml:space="preserve">
+    <value>CopyURLMenuItem</value>
+  </data>
+  <data name="&gt;&gt;CopyURLMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator6.Name" xml:space="preserve">
+    <value>ToolStripSeparator6</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator6.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemSubSearch.Name" xml:space="preserve">
+    <value>MenuItemSubSearch</value>
+  </data>
+  <data name="&gt;&gt;MenuItemSubSearch.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemSearchNext.Name" xml:space="preserve">
+    <value>MenuItemSearchNext</value>
+  </data>
+  <data name="&gt;&gt;MenuItemSearchNext.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemSearchPrev.Name" xml:space="preserve">
+    <value>MenuItemSearchPrev</value>
+  </data>
+  <data name="&gt;&gt;MenuItemSearchPrev.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemOperate.Name" xml:space="preserve">
+    <value>MenuItemOperate</value>
+  </data>
+  <data name="&gt;&gt;MenuItemOperate.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReplyStripMenuItem.Name" xml:space="preserve">
+    <value>ReplyStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ReplyStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReplyAllStripMenuItem.Name" xml:space="preserve">
+    <value>ReplyAllStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ReplyAllStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;DMStripMenuItem.Name" xml:space="preserve">
+    <value>DMStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;DMStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReTweetOriginalStripMenuItem.Name" xml:space="preserve">
+    <value>ReTweetOriginalStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ReTweetOriginalStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReTweetStripMenuItem.Name" xml:space="preserve">
+    <value>ReTweetStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ReTweetStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator2.Name" xml:space="preserve">
+    <value>ToolStripSeparator2</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator2.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FavAddToolStripMenuItem.Name" xml:space="preserve">
+    <value>FavAddToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FavAddToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FavRemoveToolStripMenuItem.Name" xml:space="preserve">
+    <value>FavRemoveToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FavRemoveToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem6.Name" xml:space="preserve">
+    <value>ToolStripMenuItem6</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem6.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MoveToHomeToolStripMenuItem.Name" xml:space="preserve">
+    <value>MoveToHomeToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;MoveToHomeToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MoveToFavToolStripMenuItem.Name" xml:space="preserve">
+    <value>MoveToFavToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;MoveToFavToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;StatusOpenMenuItem.Name" xml:space="preserve">
+    <value>StatusOpenMenuItem</value>
+  </data>
+  <data name="&gt;&gt;StatusOpenMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RepliedStatusOpenMenuItem.Name" xml:space="preserve">
+    <value>RepliedStatusOpenMenuItem</value>
+  </data>
+  <data name="&gt;&gt;RepliedStatusOpenMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FavorareMenuItem.Name" xml:space="preserve">
+    <value>FavorareMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FavorareMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OpenURLMenuItem.Name" xml:space="preserve">
+    <value>OpenURLMenuItem</value>
+  </data>
+  <data name="&gt;&gt;OpenURLMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem7.Name" xml:space="preserve">
+    <value>ToolStripMenuItem7</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem7.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TabMenuItem.Name" xml:space="preserve">
+    <value>TabMenuItem</value>
+  </data>
+  <data name="&gt;&gt;TabMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;IDRuleMenuItem.Name" xml:space="preserve">
+    <value>IDRuleMenuItem</value>
+  </data>
+  <data name="&gt;&gt;IDRuleMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator4.Name" xml:space="preserve">
+    <value>ToolStripSeparator4</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator4.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem11.Name" xml:space="preserve">
+    <value>ToolStripMenuItem11</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem11.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ReadedStripMenuItem.Name" xml:space="preserve">
+    <value>ReadedStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ReadedStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UnreadStripMenuItem.Name" xml:space="preserve">
+    <value>UnreadStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;UnreadStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;JumpUnreadMenuItem.Name" xml:space="preserve">
+    <value>JumpUnreadMenuItem</value>
+  </data>
+  <data name="&gt;&gt;JumpUnreadMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator10.Name" xml:space="preserve">
+    <value>ToolStripSeparator10</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator10.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SelectAllMenuItem.Name" xml:space="preserve">
+    <value>SelectAllMenuItem</value>
+  </data>
+  <data name="&gt;&gt;SelectAllMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;DeleteStripMenuItem.Name" xml:space="preserve">
+    <value>DeleteStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;DeleteStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RefreshStripMenuItem.Name" xml:space="preserve">
+    <value>RefreshStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;RefreshStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemCommand.Name" xml:space="preserve">
+    <value>MenuItemCommand</value>
+  </data>
+  <data name="&gt;&gt;MenuItemCommand.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TinyUrlConvertToolStripMenuItem.Name" xml:space="preserve">
+    <value>TinyUrlConvertToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;TinyUrlConvertToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UrlConvertAutoToolStripMenuItem.Name" xml:space="preserve">
+    <value>UrlConvertAutoToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;UrlConvertAutoToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UrlUndoToolStripMenuItem.Name" xml:space="preserve">
+    <value>UrlUndoToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;UrlUndoToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TinyURLToolStripMenuItem.Name" xml:space="preserve">
+    <value>TinyURLToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;TinyURLToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;IsgdToolStripMenuItem.Name" xml:space="preserve">
+    <value>IsgdToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;IsgdToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TwurlnlToolStripMenuItem.Name" xml:space="preserve">
+    <value>TwurlnlToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;TwurlnlToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UnuToolStripMenuItem.Name" xml:space="preserve">
+    <value>UnuToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;UnuToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;BitlyToolStripMenuItem.Name" xml:space="preserve">
+    <value>BitlyToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;BitlyToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;JmpStripMenuItem.Name" xml:space="preserve">
+    <value>JmpStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;JmpStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;UpdateFollowersMenuItem1.Name" xml:space="preserve">
+    <value>UpdateFollowersMenuItem1</value>
+  </data>
+  <data name="&gt;&gt;UpdateFollowersMenuItem1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GetFollowersDiffToolStripMenuItem.Name" xml:space="preserve">
+    <value>GetFollowersDiffToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;GetFollowersDiffToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;GetFollowersAllToolStripMenuItem.Name" xml:space="preserve">
+    <value>GetFollowersAllToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;GetFollowersAllToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem10.Name" xml:space="preserve">
+    <value>ToolStripMenuItem10</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItem10.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;BlackFavAddToolStripMenuItem.Name" xml:space="preserve">
+    <value>BlackFavAddToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;BlackFavAddToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator1.Name" xml:space="preserve">
+    <value>ToolStripSeparator1</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FollowCommandMenuItem.Name" xml:space="preserve">
+    <value>FollowCommandMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FollowCommandMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;RemoveCommandMenuItem.Name" xml:space="preserve">
+    <value>RemoveCommandMenuItem</value>
+  </data>
+  <data name="&gt;&gt;RemoveCommandMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;FriendshipMenuItem.Name" xml:space="preserve">
+    <value>FriendshipMenuItem</value>
+  </data>
+  <data name="&gt;&gt;FriendshipMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator3.Name" xml:space="preserve">
+    <value>ToolStripSeparator3</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator3.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OwnStatusMenuItem.Name" xml:space="preserve">
+    <value>OwnStatusMenuItem</value>
+  </data>
+  <data name="&gt;&gt;OwnStatusMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MenuItemHelp.Name" xml:space="preserve">
+    <value>MenuItemHelp</value>
+  </data>
+  <data name="&gt;&gt;MenuItemHelp.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;MatomeMenuItem.Name" xml:space="preserve">
+    <value>MatomeMenuItem</value>
+  </data>
+  <data name="&gt;&gt;MatomeMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator16.Name" xml:space="preserve">
+    <value>ToolStripSeparator16</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator16.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;VerUpMenuItem.Name" xml:space="preserve">
+    <value>VerUpMenuItem</value>
+  </data>
+  <data name="&gt;&gt;VerUpMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;WedataMenuItem.Name" xml:space="preserve">
+    <value>WedataMenuItem</value>
+  </data>
+  <data name="&gt;&gt;WedataMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator14.Name" xml:space="preserve">
+    <value>ToolStripSeparator14</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator14.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ApiInfoMenuItem.Name" xml:space="preserve">
+    <value>ApiInfoMenuItem</value>
+  </data>
+  <data name="&gt;&gt;ApiInfoMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;InfoTwitterMenuItem.Name" xml:space="preserve">
+    <value>InfoTwitterMenuItem</value>
+  </data>
+  <data name="&gt;&gt;InfoTwitterMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator7.Name" xml:space="preserve">
+    <value>ToolStripSeparator7</value>
+  </data>
+  <data name="&gt;&gt;ToolStripSeparator7.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;AboutMenuItem.Name" xml:space="preserve">
+    <value>AboutMenuItem</value>
+  </data>
+  <data name="&gt;&gt;AboutMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;DebugModeToolStripMenuItem.Name" xml:space="preserve">
+    <value>DebugModeToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;DebugModeToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;DumpPostClassToolStripMenuItem.Name" xml:space="preserve">
+    <value>DumpPostClassToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;DumpPostClassToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TraceOutToolStripMenuItem.Name" xml:space="preserve">
+    <value>TraceOutToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;TraceOutToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItemUrlMultibyteSplit.Name" xml:space="preserve">
+    <value>ToolStripMenuItemUrlMultibyteSplit</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItemUrlMultibyteSplit.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItemApiCommandEvasion.Name" xml:space="preserve">
+    <value>ToolStripMenuItemApiCommandEvasion</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItemApiCommandEvasion.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItemUrlAutoShorten.Name" xml:space="preserve">
+    <value>ToolStripMenuItemUrlAutoShorten</value>
+  </data>
+  <data name="&gt;&gt;ToolStripMenuItemUrlAutoShorten.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;IdeographicSpaceToSpaceToolStripMenuItem.Name" xml:space="preserve">
+    <value>IdeographicSpaceToSpaceToolStripMenuItem</value>
+  </data>
+  <data name="&gt;&gt;IdeographicSpaceToSpaceToolStripMenuItem.Type" xml:space="preserve">
+    <value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TimerTimeline.Name" xml:space="preserve">
+    <value>TimerTimeline</value>
+  </data>
+  <data name="&gt;&gt;TimerTimeline.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;NotifyIcon1.Name" xml:space="preserve">
+    <value>NotifyIcon1</value>
+  </data>
+  <data name="&gt;&gt;NotifyIcon1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TimerDM.Name" xml:space="preserve">
+    <value>TimerDM</value>
+  </data>
+  <data name="&gt;&gt;TimerDM.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TimerColorize.Name" xml:space="preserve">
+    <value>TimerColorize</value>
+  </data>
+  <data name="&gt;&gt;TimerColorize.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;SaveFileDialog1.Name" xml:space="preserve">
+    <value>SaveFileDialog1</value>
+  </data>
+  <data name="&gt;&gt;SaveFileDialog1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TimerRefreshIcon.Name" xml:space="preserve">
+    <value>TimerRefreshIcon</value>
+  </data>
+  <data name="&gt;&gt;TimerRefreshIcon.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OpenFileDialog1.Name" xml:space="preserve">
+    <value>OpenFileDialog1</value>
+  </data>
+  <data name="&gt;&gt;OpenFileDialog1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TimerReply.Name" xml:space="preserve">
+    <value>TimerReply</value>
+  </data>
+  <data name="&gt;&gt;TimerReply.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Timer, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>TweenMain</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/Tween.vb b/Tween/Tween.vb
new file mode 100644 (file)
index 0000000..061a053
--- /dev/null
@@ -0,0 +1,6660 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+'コンパイル後コマンド
+'"c:\Program Files\Microsoft.NET\SDK\v2.0\Bin\sgen.exe" /f /a:"$(TargetPath)"
+'"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\sgen.exe" /f /a:"$(TargetPath)"
+
+
+Imports System
+Imports System.Text
+Imports System.Text.RegularExpressions
+Imports Tween.TweenCustomControl
+Imports System.IO
+Imports System.Web
+Imports System.Reflection
+Imports System.ComponentModel
+Imports System.Diagnostics
+Imports Microsoft.Win32
+
+Public Class TweenMain
+
+    '各種設定
+    Private _username As String         'ユーザー名
+    Private _password As String         'パスワード(デクリプト済み)
+
+    Private _mySize As Size             '画面サイズ
+    Private _myLoc As Point             '画面位置
+    Private _mySpDis As Integer         '区切り位置
+    Private _mySpDis2 As Integer        '発言欄区切り位置
+    Private _iconSz As Integer            'アイコンサイズ(現在は16、24、48の3種類。将来直接数字指定可能とする 注:24x24の場合に26と指定しているのはMSゴシック系フォントのための仕様)
+    Private _iconCol As Boolean           '1列表示の時True(48サイズのとき)
+
+    '雑多なフラグ類
+    Private _initial As Boolean         'True:起動時処理中
+    Private _ignoreConfigSave As Boolean         'True:起動時処理中
+    'Private listViewItemSorter As ListViewItemComparer      'リストソート用カスタムクラス
+    Private _tabDrag As Boolean           'タブドラッグ中フラグ(DoDragDropを実行するかの判定用)
+    Private _rclickTabName As String      '右クリックしたタブの名前(Tabコントロール機能不足対応)
+    Private ReadOnly _syncObject As New Object()    'ロック用
+    Private Const detailHtmlFormatMono1 As String = "<html><head><style type=""text/css""><!-- pre {font-family: """
+    Private Const detailHtmlFormat2 As String = """, sans-serif; font-size: "
+    Private Const detailHtmlFormat3 As String = "pt; word-wrap: break-word; color:rgb("
+    Private Const detailHtmlFormat4 As String = ");} a:link, a:visited, a:active, a:hover {color:rgb("
+    Private Const detailHtmlFormat5 As String = "); } --></style></head><body style=""margin:0px; background-color:rgb("
+    Private Const detailHtmlFormatMono6 As String = ");""><pre>"
+    Private Const detailHtmlFormatMono7 As String = "</pre></body></html>"
+    Private Const detailHtmlFormat1 As String = "<html><head><style type=""text/css""><!-- p {font-family: """
+    Private Const detailHtmlFormat6 As String = ");""><p>"
+    Private Const detailHtmlFormat7 As String = "</p></body></html>"
+    Private detailHtmlFormatHeader As String
+    Private detailHtmlFormatFooter As String
+    Private _myStatusError As Boolean = False
+    Private _myStatusOnline As Boolean = False
+    Private soundfileListup As Boolean = False
+
+    '設定ファイル関連
+    'Private _cfg As SettingToConfig '旧
+    Private _cfgLocal As SettingLocal
+    Private _cfgCommon As SettingCommon
+    Private modifySettingLocal As Boolean = False
+    Private modifySettingCommon As Boolean = False
+    Private modifySettingAtId As Boolean = False
+
+    'サブ画面インスタンス
+    Private SettingDialog As New Setting()       '設定画面インスタンス
+    Private TabDialog As New TabsDialog()        'タブ選択ダイアログインスタンス
+    Private SearchDialog As New SearchWord()     '検索画面インスタンス
+    'Private _tabs As New List(Of TabStructure)() '要素TabStructureクラスのジェネリックリストインスタンス(タブ情報用)
+    Private fDialog As New FilterDialog() 'フィルター編集画面
+    Private UrlDialog As New OpenURL()
+    Private dialogAsShieldicon As New DialogAsShieldIcon() ' シールドアイコン付きダイアログ
+    Private AtIdSupl As AtIdSupplement    '@id補助
+
+    '表示フォント、色、アイコン
+    Private _fntUnread As Font            '未読用フォント
+    Private _clUnread As Color            '未読用文字色
+    Private _fntReaded As Font            '既読用フォント
+    Private _clReaded As Color            '既読用文字色
+    Private _clFav As Color               'Fav用文字色
+    Private _clOWL As Color               '片思い用文字色
+    Private _fntDetail As Font            '発言詳細部用フォント
+    Private _clDetail As Color              '発言詳細部用色
+    Private _clDetailLink As Color          '発言詳細部用リンク文字色
+    Private _clDetailBackcolor As Color     '発言詳細部用背景色
+    Private _clSelf As Color              '自分の発言用背景色
+    Private _clAtSelf As Color            '自分宛返信用背景色
+    Private _clTarget As Color            '選択発言者の他の発言用背景色
+    Private _clAtTarget As Color          '選択発言中の返信先用背景色
+    Private _clAtFromTarget As Color      '選択発言者への返信発言用背景色
+    Private _clAtTo As Color              '選択発言の唯一@先
+    Private _clListBackcolor As Color       'リスト部通常発言背景色
+    Private _clInputBackcolor As Color      '入力欄背景色
+    Private _clInputFont As Color           '入力欄文字色
+    Private _fntInputFont As Font           '入力欄フォント
+    'Private TIconList As ImageList        '発言詳細部用アイコン画像リスト
+    Private TIconDic As Dictionary(Of String, Image)        '発言詳細部用アイコン画像リスト
+    Private TIconSmallList As ImageList   'リスト表示用アイコン画像リスト
+    Private NIconAt As Icon               'At.ico             タスクトレイアイコン:通常時
+    Private NIconAtRed As Icon            'AtRed.ico          タスクトレイアイコン:通信エラー時
+    Private NIconAtSmoke As Icon          'AtSmoke.ico        タスクトレイアイコン:オフライン時
+    Private NIconRefresh(3) As Icon       'Refresh.ico        タスクトレイアイコン:更新中(アニメーション用に4種類を保持するリスト)
+    Private TabIcon As Icon               'Tab.ico            未読のあるタブ用アイコン
+    Private MainIcon As Icon              'Main.ico           画面左上のアイコン
+    Private ReplyIcon As Icon               '5g
+    Private ReplyIconBlink As Icon          '6g
+
+    Private _anchorPost As PostClass
+    Private _anchorFlag As Boolean        'True:関連発言移動中(関連移動以外のオペレーションをするとFalseへ。Trueだとリスト背景色をアンカー発言選択中として描画)
+
+    Private _history As New List(Of String)()   '発言履歴
+    Private _hisIdx As Integer                  '発言履歴カレントインデックス
+
+    '発言投稿時のAPI引数(発言編集時に設定。手書きreplyでは設定されない)
+    Private _reply_to_id As Long     ' リプライ先のステータスID 0の場合はリプライではない 注:複数あてのものはリプライではない
+    Private _reply_to_name As String    ' リプライ先ステータスの書き込み者の名前
+
+    '時速表示用
+    Private _postTimestamps As New List(Of Date)()
+    Private _favTimestamps As New List(Of Date)()
+    Private _tlTimestamps As New Dictionary(Of Date, Integer)()
+    Private _tlCount As Integer
+
+    ' 以下DrawItem関連
+    Private _brsHighLight As New SolidBrush(Color.FromKnownColor(KnownColor.Highlight))
+    Private _brsHighLightText As New SolidBrush(Color.FromKnownColor(KnownColor.HighlightText))
+    Private _brsForeColorUnread As SolidBrush
+    Private _brsForeColorReaded As SolidBrush
+    Private _brsForeColorFav As SolidBrush
+    Private _brsForeColorOWL As SolidBrush
+    Private _brsBackColorMine As SolidBrush
+    Private _brsBackColorAt As SolidBrush
+    Private _brsBackColorYou As SolidBrush
+    Private _brsBackColorAtYou As SolidBrush
+    Private _brsBackColorAtFromTarget As SolidBrush
+    Private _brsBackColorAtTo As SolidBrush
+    Private _brsBackColorNone As SolidBrush
+    Private _brsDeactiveSelection As New SolidBrush(Color.FromKnownColor(KnownColor.ButtonFace)) 'Listにフォーカスないときの選択行の背景色
+    Private sf As New StringFormat()
+    Private sfTab As New StringFormat()
+    'Private _columnIdx As Integer   'ListviewのDisplayIndex退避用(DrawItemで使用)
+    'Private _columnChangeFlag As Boolean
+
+    '''''''''''''''''''''''''''''''''''''''''''''''''''''
+    Private _statuses As TabInformations
+    Private _itemCache() As ListViewItem
+    Private _itemCacheIndex As Integer
+    Private _postCache() As PostClass
+    Private _curTab As TabPage
+    Private _curItemIndex As Integer
+    Private _curList As DetailsListView
+    Private _curPost As PostClass
+    'Private _waitFollower As Boolean = False
+    Private _waitTimeline As Boolean = False
+    Private _waitReply As Boolean = False
+    Private _waitDm As Boolean = False
+    Private _waitFav As Boolean = False
+    Private _bw(9) As BackgroundWorker
+    Private _bwFollower As BackgroundWorker
+    Private cMode As Integer
+    Private StatusLabel As New ToolStripLabelHistory
+    Private shield As New ShieldIcon
+    Private SecurityManager As InternetSecurityManager
+    '''''''''''''''''''''''''''''''''''''''''''''''''''''
+#If DEBUG Then
+    Private _drawcount As Long = 0
+    Private _drawtime As Long = 0
+#End If
+
+    'URL短縮のUndo用
+    Private Structure urlUndo
+        Public Before As String
+        Public After As String
+    End Structure
+
+    Private urlUndoBuffer As Generic.List(Of urlUndo) = Nothing
+
+    'Backgroundworkerの処理結果通知用引数構造体
+    Private Structure GetWorkerResult
+        Public retMsg As String                     '処理結果詳細メッセージ。エラー時に値がセットされる
+        'Public notifyPosts As List(Of PostClass) '取得した発言。Twitter.MyListItem構造体を要素としたジェネリックリスト
+        Public page As Integer                      '取得対象ページ番号
+        Public endPage As Integer                   '取得終了ページ番号(継続可能ならインクリメントされて返る。pageと比較して継続判定)
+        Public type As WORKERTYPE                   '処理種別
+        Public imgs As Dictionary(Of String, Image)                    '新規取得したアイコンイメージ
+        Public tName As String                      'Fav追加・削除時のタブ名
+        Public ids As List(Of Long)               'Fav追加・削除時のID
+        Public sIds As List(Of Long)                  'Fav追加・削除成功分のID
+        Public newDM As Boolean
+        'Public soundFile As String
+        Public addCount As Integer
+    End Structure
+
+    'Backgroundworkerへ処理内容を通知するための引数用構造体
+    Private Structure GetWorkerArg
+        Public page As Integer                      '処理対象ページ番号
+        Public endPage As Integer                   '処理終了ページ番号(起動時の読み込みページ数。通常時はpageと同じ値をセット)
+        Public type As WORKERTYPE                   '処理種別
+        Public status As String                     '発言POST時の発言内容
+        Public ids As List(Of Long)               'Fav追加・削除時のItemIndex
+        Public sIds As List(Of Long)              'Fav追加・削除成功分のItemIndex
+        Public tName As String                      'Fav追加・削除時のタブ名
+    End Structure
+
+    '検索処理タイプ
+    Private Enum SEARCHTYPE
+        DialogSearch
+        NextSearch
+        PrevSearch
+    End Enum
+
+    Private Sub TweenMain_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
+        '画面が他画面の裏に隠れると、アイコン画像が再描画されない問題の対応
+        If UserPicture.Image IsNot Nothing Then
+            UserPicture.Invalidate(False)
+        End If
+        '画面がアクティブになったら、発言欄の背景色戻す
+        If StatusText.Focused Then
+            Me.StatusText_Enter(Me.StatusText, System.EventArgs.Empty)
+        End If
+    End Sub
+
+    Private Sub TweenMain_Disposed(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Disposed
+        '後始末
+        SettingDialog.Dispose()
+        TabDialog.Dispose()
+        SearchDialog.Dispose()
+        fDialog.Dispose()
+        UrlDialog.Dispose()
+        dialogAsShieldicon.Dispose()
+        If TIconDic IsNot Nothing AndAlso TIconDic.Keys.Count > 0 Then
+            For Each key As String In TIconDic.Keys
+                TIconDic(key).Dispose()
+            Next
+            TIconDic.Clear()
+        End If
+        If TIconSmallList IsNot Nothing Then TIconSmallList.Dispose()
+        If NIconAt IsNot Nothing Then NIconAt.Dispose()
+        If NIconAtRed IsNot Nothing Then NIconAtRed.Dispose()
+        If NIconAtSmoke IsNot Nothing Then NIconAtSmoke.Dispose()
+        If NIconRefresh(0) IsNot Nothing Then NIconRefresh(0).Dispose()
+        If NIconRefresh(1) IsNot Nothing Then NIconRefresh(1).Dispose()
+        If NIconRefresh(2) IsNot Nothing Then NIconRefresh(2).Dispose()
+        If NIconRefresh(3) IsNot Nothing Then NIconRefresh(3).Dispose()
+        If TabIcon IsNot Nothing Then TabIcon.Dispose()
+        If MainIcon IsNot Nothing Then MainIcon.Dispose()
+        If ReplyIcon IsNot Nothing Then ReplyIcon.Dispose()
+        If ReplyIconBlink IsNot Nothing Then ReplyIconBlink.Dispose()
+        _brsHighLight.Dispose()
+        _brsHighLightText.Dispose()
+        If _brsForeColorUnread IsNot Nothing Then _brsForeColorUnread.Dispose()
+        If _brsForeColorReaded IsNot Nothing Then _brsForeColorReaded.Dispose()
+        If _brsForeColorFav IsNot Nothing Then _brsForeColorFav.Dispose()
+        If _brsForeColorOWL IsNot Nothing Then _brsForeColorOWL.Dispose()
+        If _brsBackColorMine IsNot Nothing Then _brsBackColorMine.Dispose()
+        If _brsBackColorAt IsNot Nothing Then _brsBackColorAt.Dispose()
+        If _brsBackColorYou IsNot Nothing Then _brsBackColorYou.Dispose()
+        If _brsBackColorAtYou IsNot Nothing Then _brsBackColorAtYou.Dispose()
+        If _brsBackColorAtFromTarget IsNot Nothing Then _brsBackColorAtFromTarget.Dispose()
+        If _brsBackColorAtTo IsNot Nothing Then _brsBackColorAtTo.Dispose()
+        If _brsBackColorNone IsNot Nothing Then _brsBackColorNone.Dispose()
+        If _brsDeactiveSelection IsNot Nothing Then _brsDeactiveSelection.Dispose()
+        shield.Dispose()
+        StatusLabel.Dispose()
+        sf.Dispose()
+        sfTab.Dispose()
+        For Each bw As BackgroundWorker In _bw
+            If bw IsNot Nothing Then
+                bw.Dispose()
+            End If
+        Next
+        If _bwFollower IsNot Nothing Then
+            _bwFollower.Dispose()
+        End If
+    End Sub
+
+    Private Sub LoadIcons()
+        '着せ替えアイコン対応
+        'タスクトレイ通常時アイコン
+        Dim dir As String = Application.StartupPath
+
+        NIconAt = My.Resources.At
+        NIconAtRed = My.Resources.AtRed
+        NIconAtSmoke = My.Resources.AtSmoke
+        NIconRefresh(0) = My.Resources.Refresh
+        NIconRefresh(1) = My.Resources.Refresh2
+        NIconRefresh(2) = My.Resources.Refresh3
+        NIconRefresh(3) = My.Resources.Refresh4
+        TabIcon = My.Resources.TabIcon
+        MainIcon = My.Resources.MIcon
+        ReplyIcon = My.Resources.Reply
+        ReplyIconBlink = My.Resources.ReplyBlink
+
+        If Not Directory.Exists(Path.Combine(dir, "Icons")) Then
+            Exit Sub
+        End If
+
+        If File.Exists(Path.Combine(dir, "Icons\At.ico")) Then
+            Try
+                NIconAt = New Icon(Path.Combine(dir, "Icons\At.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        'タスクトレイエラー時アイコン
+        If File.Exists(Path.Combine(dir, "Icons\AtRed.ico")) Then
+            Try
+                NIconAtRed = New Icon(Path.Combine(dir, "Icons\AtRed.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        'タスクトレイオフライン時アイコン
+        If File.Exists(Path.Combine(dir, "Icons\AtSmoke.ico")) Then
+            Try
+                NIconAtSmoke = New Icon(Path.Combine(dir, "Icons\AtSmoke.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        'タスクトレイ更新中アイコン
+        'アニメーション対応により4種類読み込み
+        If File.Exists(Path.Combine(dir, "Icons\Refresh.ico")) Then
+            Try
+                NIconRefresh(0) = New Icon(Path.Combine(dir, "Icons\Refresh.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        If File.Exists(Path.Combine(dir, "Icons\Refresh2.ico")) Then
+            Try
+                NIconRefresh(1) = New Icon(Path.Combine(dir, "Icons\Refresh2.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        If File.Exists(Path.Combine(dir, "Icons\Refresh3.ico")) Then
+            Try
+                NIconRefresh(2) = New Icon(Path.Combine(dir, "Icons\Refresh3.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        If File.Exists(Path.Combine(dir, "Icons\Refresh4.ico")) Then
+            Try
+                NIconRefresh(3) = New Icon(Path.Combine(dir, "Icons\Refresh4.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        'タブ見出し未読表示アイコン
+        If File.Exists(Path.Combine(dir, "Icons\Tab.ico")) Then
+            Try
+                TabIcon = New Icon(Path.Combine(dir, "Icons\Tab.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        '画面のアイコン
+        If File.Exists(Path.Combine(dir, "Icons\MIcon.ico")) Then
+            Try
+                MainIcon = New Icon(Path.Combine(dir, "Icons\MIcon.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        'Replyのアイコン
+        If File.Exists(Path.Combine(dir, "Icons\Reply.ico")) Then
+            Try
+                ReplyIcon = New Icon(Path.Combine(dir, "Icons\Reply.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+        'Reply点滅のアイコン
+        If File.Exists(Path.Combine(dir, "Icons\ReplyBlink.ico")) Then
+            Try
+                ReplyIconBlink = New Icon(Path.Combine(dir, "Icons\ReplyBlink.ico"))
+            Catch ex As Exception
+            End Try
+        End If
+    End Sub
+
+    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+        _ignoreConfigSave = True
+        Me.Visible = False
+        SecurityManager = New InternetSecurityManager(PostBrowser)
+
+        VerUpMenuItem.Image = shield.Icon
+        If Not My.Application.CommandLineArgs.Count = 0 AndAlso My.Application.CommandLineArgs.Contains("/d") Then TraceFlag = True
+        Me.StatusStrip1.Items.Add(StatusLabel)
+
+        fileVersion = _
+            System.Diagnostics.FileVersionInfo.GetVersionInfo( _
+            System.Reflection.Assembly.GetExecutingAssembly().Location).FileVersion
+
+        LoadIcons() ' アイコン読み込み
+
+        '発言保持クラス
+        _statuses = TabInformations.GetInstance()
+
+        'アイコン設定
+        Me.Icon = MainIcon              'メインフォーム(TweenMain)
+        NotifyIcon1.Icon = NIconAt      'タスクトレイ
+        TabImage.Images.Add(TabIcon)    'タブ見出し
+
+        ContextMenuStrip1.OwnerItem = Nothing
+        ContextMenuStrip2.OwnerItem = Nothing
+        ContextMenuTabProperty.OwnerItem = Nothing
+
+        SettingDialog.Owner = Me
+        SearchDialog.Owner = Me
+        fDialog.Owner = Me
+        TabDialog.Owner = Me
+        UrlDialog.Owner = Me
+
+        _history.Add("")
+        _hisIdx = 0
+        _reply_to_id = 0
+        _reply_to_name = ""
+
+        '<<<<<<<<<設定関連>>>>>>>>>
+        '設定コンバージョン
+        ConvertConfig()
+
+        ''設定読み出し
+        'ユーザー名とパスワードの取得
+        _username = _cfgCommon.UserName
+        _password = _cfgCommon.Password
+        '新着バルーン通知のチェック状態設定
+        NewPostPopMenuItem.Checked = _cfgCommon.NewAllPop
+
+        'フォント&文字色&背景色保持
+        _fntUnread = _cfgLocal.FontUnread
+        _clUnread = _cfgLocal.ColorUnread
+        _fntReaded = _cfgLocal.FontRead
+        _clReaded = _cfgLocal.ColorRead
+        _clFav = _cfgLocal.ColorFav
+        _clOWL = _cfgLocal.ColorOWL
+        _fntDetail = _cfgLocal.FontDetail
+        _clDetail = _cfgLocal.ColorDetail
+        _clDetailLink = _cfgLocal.ColorDetailLink
+        _clDetailBackcolor = _cfgLocal.ColorDetailBackcolor
+        _clSelf = _cfgLocal.ColorSelf
+        _clAtSelf = _cfgLocal.ColorAtSelf
+        _clTarget = _cfgLocal.ColorTarget
+        _clAtTarget = _cfgLocal.ColorAtTarget
+        _clAtFromTarget = _cfgLocal.ColorAtFromTarget
+        _clAtTo = _cfgLocal.ColorAtTo
+        _clListBackcolor = _cfgLocal.ColorListBackcolor
+        _clInputBackcolor = _cfgLocal.ColorInputBackcolor
+        _clInputFont = _cfgLocal.ColorInputFont
+        _fntInputFont = _cfgLocal.FontInputFont
+
+        _brsForeColorUnread = New SolidBrush(_clUnread)
+        _brsForeColorReaded = New SolidBrush(_clReaded)
+        _brsForeColorFav = New SolidBrush(_clFav)
+        _brsForeColorOWL = New SolidBrush(_clOWL)
+        _brsBackColorMine = New SolidBrush(_clSelf)
+        _brsBackColorAt = New SolidBrush(_clAtSelf)
+        _brsBackColorYou = New SolidBrush(_clTarget)
+        _brsBackColorAtYou = New SolidBrush(_clAtTarget)
+        _brsBackColorAtFromTarget = New SolidBrush(_clAtFromTarget)
+        _brsBackColorAtTo = New SolidBrush(_clAtTo)
+        '_brsBackColorNone = New SolidBrush(Color.FromKnownColor(KnownColor.Window))
+        _brsBackColorNone = New SolidBrush(_clListBackcolor)
+
+        ' StringFormatオブジェクトへの事前設定
+        sf.Alignment = StringAlignment.Near
+        sf.LineAlignment = StringAlignment.Near
+        sfTab.Alignment = StringAlignment.Center
+        sfTab.LineAlignment = StringAlignment.Center
+
+        '設定画面への反映
+        SettingDialog.UserID = _username                                'ユーザ名
+        SettingDialog.PasswordStr = _password                           'パスワード
+        SettingDialog.TimelinePeriodInt = _cfgCommon.TimelinePeriod
+        SettingDialog.ReplyPeriodInt = _cfgCommon.ReplyPeriod
+        SettingDialog.DMPeriodInt = _cfgCommon.DMPeriod
+        SettingDialog.NextPageThreshold = _cfgCommon.NextPageThreshold
+        SettingDialog.NextPagesInt = _cfgCommon.NextPages
+        SettingDialog.MaxPostNum = _cfgCommon.MaxPostNum
+
+        '起動時読み込みページ数
+        SettingDialog.ReadPages = _cfgCommon.ReadPages
+        SettingDialog.ReadPagesReply = _cfgCommon.ReadPagesReply
+        SettingDialog.ReadPagesDM = _cfgCommon.ReadPagesDM
+
+        '起動時読み込み分を既読にするか。Trueなら既読として処理
+        SettingDialog.Readed = _cfgCommon.Read
+        '新着取得時のリストスクロールをするか。Trueならスクロールしない
+        ListLockMenuItem.Checked = _cfgCommon.ListLock
+        SettingDialog.IconSz = _cfgCommon.IconSize
+        '文末ステータス
+        SettingDialog.Status = _cfgLocal.StatusText
+        '未読管理。Trueなら未読管理する
+        SettingDialog.UnreadManage = _cfgCommon.UnreadManage
+        'サウンド再生(タブ別設定より優先)
+        SettingDialog.PlaySound = _cfgCommon.PlaySound
+        PlaySoundMenuItem.Checked = SettingDialog.PlaySound
+        '片思い表示。Trueなら片思い表示する
+        SettingDialog.OneWayLove = _cfgCommon.OneWayLove
+        'フォント&文字色&背景色
+        SettingDialog.FontUnread = _fntUnread
+        SettingDialog.ColorUnread = _clUnread
+        SettingDialog.FontReaded = _fntReaded
+        SettingDialog.ColorReaded = _clReaded
+        SettingDialog.ColorFav = _clFav
+        SettingDialog.ColorOWL = _clOWL
+        SettingDialog.FontDetail = _fntDetail
+        SettingDialog.ColorDetail = _clDetail
+        SettingDialog.ColorDetailLink = _clDetailLink
+        SettingDialog.ColorDetailBackcolor = _clDetailBackcolor
+        SettingDialog.ColorSelf = _clSelf
+        SettingDialog.ColorAtSelf = _clAtSelf
+        SettingDialog.ColorTarget = _clTarget
+        SettingDialog.ColorAtTarget = _clAtTarget
+        SettingDialog.ColorAtFromTarget = _clAtFromTarget
+        SettingDialog.ColorAtTo = _clAtTo
+        SettingDialog.ColorListBackcolor = _clListBackcolor
+        SettingDialog.ColorInputBackcolor = _clInputBackcolor
+        SettingDialog.ColorInputFont = _clInputFont
+        SettingDialog.FontInputFont = _fntInputFont
+
+        SettingDialog.NameBalloon = _cfgCommon.NameBalloon
+        SettingDialog.PostCtrlEnter = _cfgCommon.PostCtrlEnter
+        SettingDialog.UseAPI = _cfgCommon.UseApi
+        SettingDialog.CountApi = _cfgCommon.CountApi
+        SettingDialog.UsePostMethod = False
+        SettingDialog.HubServer = _cfgCommon.HubServer
+        SettingDialog.BrowserPath = _cfgLocal.BrowserPath
+        SettingDialog.CheckReply = _cfgCommon.CheckReply
+        SettingDialog.PostAndGet = _cfgCommon.PostAndGet
+        SettingDialog.UseRecommendStatus = _cfgLocal.UseRecommendStatus
+        SettingDialog.DispUsername = _cfgCommon.DispUsername
+        SettingDialog.CloseToExit = _cfgCommon.CloseToExit
+        SettingDialog.MinimizeToTray = _cfgCommon.MinimizeToTray
+        SettingDialog.DispLatestPost = _cfgCommon.DispLatestPost
+        SettingDialog.SortOrderLock = _cfgCommon.SortOrderLock
+        SettingDialog.TinyUrlResolve = _cfgCommon.TinyUrlResolve
+
+        SettingDialog.SelectedProxyType = _cfgLocal.ProxyType
+        SettingDialog.ProxyAddress = _cfgLocal.ProxyAddress
+        SettingDialog.ProxyPort = _cfgLocal.ProxyPort
+        SettingDialog.ProxyUser = _cfgLocal.ProxyUser
+        SettingDialog.ProxyPassword = _cfgLocal.ProxyPassword
+
+        SettingDialog.PeriodAdjust = _cfgCommon.PeriodAdjust
+        SettingDialog.StartupVersion = _cfgCommon.StartupVersion
+        SettingDialog.StartupKey = _cfgCommon.StartupKey
+        SettingDialog.StartupFollowers = _cfgCommon.StartupFollowers
+        SettingDialog.StartupAPImodeNoWarning = _cfgCommon.StartupApiModeNoWarning
+        SettingDialog.RestrictFavCheck = _cfgCommon.RestrictFavCheck
+        SettingDialog.AlwaysTop = _cfgCommon.AlwaysTop
+        SettingDialog.UrlConvertAuto = _cfgCommon.UrlConvertAuto
+
+        SettingDialog.OutputzEnabled = _cfgCommon.Outputz
+        SettingDialog.OutputzKey = _cfgCommon.OutputzKey
+        SettingDialog.OutputzUrlmode = _cfgCommon.OutputzUrlMode
+
+        SettingDialog.UseUnreadStyle = _cfgCommon.UseUnreadStyle
+        SettingDialog.DefaultTimeOut = _cfgCommon.DefaultTimeOut
+        SettingDialog.ProtectNotInclude = _cfgCommon.ProtectNotInclude
+        SettingDialog.PlaySound = _cfgCommon.PlaySound
+        SettingDialog.DateTimeFormat = _cfgCommon.DateTimeFormat
+        SettingDialog.LimitBalloon = _cfgCommon.LimitBalloon
+        SettingDialog.AutoShortUrlFirst = _cfgCommon.AutoShortUrlFirst
+        SettingDialog.TabIconDisp = _cfgCommon.TabIconDisp
+        SettingDialog.ReplyIconState = _cfgCommon.ReplyIconState
+        SettingDialog.ReadOwnPost = _cfgCommon.ReadOwnPost
+        SettingDialog.GetFav = _cfgCommon.GetFav
+        SettingDialog.ReadOldPosts = _cfgCommon.ReadOldPosts
+        SettingDialog.UseSsl = _cfgCommon.UseSsl
+        SettingDialog.BitlyUser = _cfgCommon.BilyUser
+        SettingDialog.BitlyPwd = _cfgCommon.BitlyPwd
+        SettingDialog.ShowGrid = _cfgCommon.ShowGrid
+        SettingDialog.UseAtIdSupplement = _cfgCommon.UseAtIdSupplement
+        If SettingDialog.UseAtIdSupplement Then
+            AtIdSupl = New AtIdSupplement(SettingAtIdList.Load().AtIdList)
+        End If
+
+        SettingDialog.IsMonospace = _cfgCommon.IsMonospace
+        If SettingDialog.IsMonospace Then
+            detailHtmlFormatHeader = detailHtmlFormatMono1
+            detailHtmlFormatFooter = detailHtmlFormatMono7
+        Else
+            detailHtmlFormatHeader = detailHtmlFormat1
+            detailHtmlFormatFooter = detailHtmlFormat7
+        End If
+        detailHtmlFormatHeader += _fntDetail.Name + detailHtmlFormat2 + _fntDetail.Size.ToString() + detailHtmlFormat3 + _clDetail.R.ToString + "," + _clDetail.G.ToString + "," + _clDetail.B.ToString + detailHtmlFormat4 + _clDetailLink.R.ToString + "," + _clDetailLink.G.ToString + "," + _clDetailLink.B.ToString + detailHtmlFormat5 + _clDetailBackcolor.R.ToString + "," + _clDetailBackcolor.G.ToString + "," + _clDetailBackcolor.B.ToString
+        If SettingDialog.IsMonospace Then
+            detailHtmlFormatHeader += detailHtmlFormatMono6
+        Else
+            detailHtmlFormatHeader += detailHtmlFormat6
+        End If
+        Me.IdeographicSpaceToSpaceToolStripMenuItem.Checked = _cfgCommon.WideSpaceConvert
+
+        Dim statregex As New Regex("^0*")
+        SettingDialog.RecommendStatusText = " [TWNv" + statregex.Replace(fileVersion.Replace(".", ""), "") + "]"
+
+        '書式指定文字列エラーチェック
+        Try
+            If DateTime.Now.ToString(SettingDialog.DateTimeFormat).Length = 0 Then
+                ' このブロックは絶対に実行されないはず
+                ' 変換が成功した場合にLengthが0にならない
+                SettingDialog.DateTimeFormat = "yyyy/MM/dd H:mm:ss"
+            End If
+        Catch ex As FormatException
+            ' FormatExceptionが発生したら初期値を設定 (=yyyy/MM/dd H:mm:ssとみなされる)
+            SettingDialog.DateTimeFormat = "yyyy/MM/dd H:mm:ss"
+        End Try
+
+        Outputz.key = SettingDialog.OutputzKey
+        Outputz.Enabled = SettingDialog.OutputzEnabled
+        Select Case SettingDialog.OutputzUrlmode
+            Case OutputzUrlmode.twittercom
+                Outputz.url = "http://twitter.com/"
+            Case OutputzUrlmode.twittercomWithUsername
+                Outputz.url = "http://twitter.com/" + SettingDialog.UserID
+        End Select
+
+        _initial = True
+
+        'ユーザー名、パスワードが未設定なら設定画面を表示(初回起動時など)
+        If _username = "" Or _password = "" Then
+            '設定せずにキャンセルされた場合はプログラム終了
+            If SettingDialog.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
+                Application.Exit()  '強制終了
+                Exit Sub
+            End If
+            _username = SettingDialog.UserID
+            _password = SettingDialog.PasswordStr
+            '設定されたが、依然ユーザー名とパスワードが未設定ならプログラム終了
+            If _username = "" Or _password = "" Then
+                Application.Exit()  '強制終了
+                Exit Sub
+            End If
+            '新しい設定を反映
+            'フォント&文字色&背景色保持
+            _fntUnread = SettingDialog.FontUnread
+            _clUnread = SettingDialog.ColorUnread
+            _fntReaded = SettingDialog.FontReaded
+            _clReaded = SettingDialog.ColorReaded
+            _clFav = SettingDialog.ColorFav
+            _clOWL = SettingDialog.ColorOWL
+            _fntDetail = SettingDialog.FontDetail
+            _clDetail = SettingDialog.ColorDetail
+            _clDetailLink = SettingDialog.ColorDetailLink
+            _clDetailBackcolor = SettingDialog.ColorDetailBackcolor
+            _clSelf = SettingDialog.ColorSelf
+            _clAtSelf = SettingDialog.ColorAtSelf
+            _clTarget = SettingDialog.ColorTarget
+            _clAtTarget = SettingDialog.ColorAtTarget
+            _clAtFromTarget = SettingDialog.ColorAtFromTarget
+            _clAtTo = SettingDialog.ColorAtTo
+            _clListBackcolor = SettingDialog.ColorListBackcolor
+            _clInputBackcolor = SettingDialog.ColorInputBackcolor
+            _clInputFont = SettingDialog.ColorInputFont
+            _fntInputFont = SettingDialog.FontInputFont
+            _brsForeColorUnread.Dispose()
+            _brsForeColorReaded.Dispose()
+            _brsForeColorFav.Dispose()
+            _brsForeColorOWL.Dispose()
+            _brsForeColorUnread = New SolidBrush(_clUnread)
+            _brsForeColorReaded = New SolidBrush(_clReaded)
+            _brsForeColorFav = New SolidBrush(_clFav)
+            _brsForeColorOWL = New SolidBrush(_clOWL)
+            _brsBackColorMine.Dispose()
+            _brsBackColorAt.Dispose()
+            _brsBackColorYou.Dispose()
+            _brsBackColorAtYou.Dispose()
+            _brsBackColorAtFromTarget.Dispose()
+            _brsBackColorAtTo.Dispose()
+            _brsBackColorNone.Dispose()
+            _brsBackColorMine = New SolidBrush(_clSelf)
+            _brsBackColorAt = New SolidBrush(_clAtSelf)
+            _brsBackColorYou = New SolidBrush(_clTarget)
+            _brsBackColorAtYou = New SolidBrush(_clAtTarget)
+            _brsBackColorAtFromTarget = New SolidBrush(_clAtFromTarget)
+            _brsBackColorAtTo = New SolidBrush(_clAtTo)
+            _brsBackColorNone = New SolidBrush(_clListBackcolor)
+
+            If SettingDialog.IsMonospace Then
+                detailHtmlFormatHeader = detailHtmlFormatMono1
+                detailHtmlFormatFooter = detailHtmlFormatMono7
+            Else
+                detailHtmlFormatHeader = detailHtmlFormat1
+                detailHtmlFormatFooter = detailHtmlFormat7
+            End If
+            detailHtmlFormatHeader += _fntDetail.Name + detailHtmlFormat2 + _fntDetail.Size.ToString() + detailHtmlFormat3 + _clDetail.R.ToString + "," + _clDetail.G.ToString + "," + _clDetail.B.ToString + detailHtmlFormat4 + _clDetailLink.R.ToString + "," + _clDetailLink.G.ToString + "," + _clDetailLink.B.ToString + detailHtmlFormat5 + _clDetailBackcolor.R.ToString + "," + _clDetailBackcolor.G.ToString + "," + _clDetailBackcolor.B.ToString
+            If SettingDialog.IsMonospace Then
+                detailHtmlFormatHeader += detailHtmlFormatMono6
+            Else
+                detailHtmlFormatHeader += detailHtmlFormat6
+            End If
+            '他の設定項目は、随時設定画面で保持している値を読み出して使用
+        End If
+
+        'Twitter用通信クラス初期化
+        Twitter.Username = _username
+        Twitter.Password = _password
+        Twitter.SelectedProxyType = SettingDialog.SelectedProxyType
+        Twitter.ProxyAddress = SettingDialog.ProxyAddress
+        Twitter.ProxyPort = SettingDialog.ProxyPort
+        Twitter.ProxyUser = SettingDialog.ProxyUser
+        Twitter.ProxyPassword = SettingDialog.ProxyPassword
+        Twitter.NextThreshold = SettingDialog.NextPageThreshold   '次頁取得閾値
+        Twitter.NextPages = SettingDialog.NextPagesInt    '閾値オーバー時の読み込みページ数(未使用)
+        Twitter.DefaultTimeOut = SettingDialog.DefaultTimeOut
+        Twitter.CountApi = SettingDialog.CountApi
+        Twitter.UseAPI = SettingDialog.UseAPI
+        Twitter.UsePostMethod = False
+        Twitter.HubServer = SettingDialog.HubServer
+        Twitter.RestrictFavCheck = SettingDialog.RestrictFavCheck
+        Twitter.ReadOwnPost = SettingDialog.ReadOwnPost
+        Twitter.UseSsl = SettingDialog.UseSsl
+        Twitter.BitlyId = SettingDialog.BitlyUser
+        Twitter.BitlyKey = SettingDialog.BitlyPwd
+        If IsNetworkAvailable() Then
+            If SettingDialog.StartupFollowers Then
+                '_waitFollower = True
+                GetTimeline(WORKERTYPE.Follower, 0, 0)
+            End If
+        End If
+
+        'ウィンドウ設定
+        Me.ClientSize = _cfgLocal.FormSize
+        _mySize = Me.ClientSize                     'サイズ保持(最小化・最大化されたまま終了した場合の対応用)
+        Me.DesktopLocation = _cfgLocal.FormLocation
+        _myLoc = Me.DesktopLocation                        '位置保持(最小化・最大化されたまま終了した場合の対応用)
+        'タイトルバー領域
+        Dim tbarRect As New Rectangle(Me.Location, New Size(_mySize.Width, SystemInformation.CaptionHeight))
+        Dim outOfScreen As Boolean = True
+        For Each scr As Screen In Screen.AllScreens
+            If Not Rectangle.Intersect(tbarRect, scr.Bounds).IsEmpty Then
+                outOfScreen = False
+                Exit For
+            End If
+        Next
+        If outOfScreen Then
+            Me.DesktopLocation = New Point(0, 0)
+            _myLoc = Me.DesktopLocation
+        End If
+        Me.TopMost = SettingDialog.AlwaysTop
+        _mySpDis = _cfgLocal.SplitterDistance
+        _mySpDis2 = _cfgLocal.StatusTextHeight
+        MultiLineMenuItem.Checked = _cfgLocal.StatusMultiline
+        Me.Tween_ClientSizeChanged(Me, Nothing)
+        PlaySoundMenuItem.Checked = SettingDialog.PlaySound
+        '入力欄
+        StatusText.Font = _fntInputFont
+        StatusText.ForeColor = _clInputFont
+
+        '全新着通知のチェック状態により、Reply&DMの新着通知有効無効切り替え(タブ別設定にするため削除予定)
+        If SettingDialog.UnreadManage = False Then
+            ReadedStripMenuItem.Enabled = False
+            UnreadStripMenuItem.Enabled = False
+        End If
+
+        'タイマー設定
+        'Recent取得間隔
+        If SettingDialog.TimelinePeriodInt > 0 Then
+            TimerTimeline.Interval = SettingDialog.TimelinePeriodInt * 1000
+        Else
+            TimerTimeline.Interval = 600000
+        End If
+        'Reply取得間隔
+        If SettingDialog.ReplyPeriodInt > 0 Then
+            TimerReply.Interval = SettingDialog.ReplyPeriodInt * 1000
+        Else
+            TimerReply.Interval = 6000000
+        End If
+        'DM取得間隔
+        If SettingDialog.DMPeriodInt > 0 Then
+            TimerDM.Interval = SettingDialog.DMPeriodInt * 1000
+        Else
+            TimerDM.Interval = 6000000
+        End If
+        '更新中アイコンアニメーション間隔
+        TimerRefreshIcon.Interval = 85
+        TimerRefreshIcon.Enabled = True
+
+        '状態表示部の初期化(画面右下)
+        StatusLabel.Text = ""
+        '文字カウンタ初期化
+        lblLen.Text = GetRestStatusCount(True, False).ToString()
+
+        If SettingDialog.StartupKey Then
+            Twitter.GetWedata()
+        End If
+
+        ''''''''''''''''''''''''''''''''''''''''
+        _statuses.SortOrder = DirectCast(_cfgCommon.SortOrder, System.Windows.Forms.SortOrder)
+        Dim mode As IdComparerClass.ComparerMode
+        Select Case _cfgCommon.SortColumn
+            Case 0, 5, 6    '0:アイコン,5:未読マーク,6:プロテクト・フィルターマーク
+                'ソートしない
+                mode = IdComparerClass.ComparerMode.Id  'Idソートに読み替え
+            Case 1  'ニックネーム
+                mode = IdComparerClass.ComparerMode.Nickname
+            Case 2  '本文
+                mode = IdComparerClass.ComparerMode.Data
+            Case 3  '時刻=発言Id
+                mode = IdComparerClass.ComparerMode.Id
+            Case 4  '名前
+                mode = IdComparerClass.ComparerMode.Name
+            Case 7  'Source
+                mode = IdComparerClass.ComparerMode.Source
+        End Select
+        _statuses.SortMode = mode
+        ''''''''''''''''''''''''''''''''''''''''
+
+        Select Case SettingDialog.IconSz
+            Case IconSizes.IconNone
+                _iconSz = 0
+            Case IconSizes.Icon16
+                _iconSz = 16
+            Case IconSizes.Icon24
+                _iconSz = 26
+            Case IconSizes.Icon48
+                _iconSz = 48
+            Case IconSizes.Icon48_2
+                _iconSz = 48
+                _iconCol = True
+        End Select
+        If _iconSz = 0 Then
+            Twitter.GetIcon = False
+        Else
+            Twitter.GetIcon = True
+            Twitter.IconSize = _iconSz
+        End If
+        Twitter.TinyUrlResolve = SettingDialog.TinyUrlResolve
+
+        '発言詳細部アイコンをリストアイコンにサイズ変更
+        Dim sz As Integer = _iconSz
+        If _iconSz = 0 Then
+            sz = 16
+        End If
+        TIconSmallList = New ImageList
+        TIconSmallList.ImageSize = New Size(sz, sz)
+        TIconSmallList.ColorDepth = ColorDepth.Depth32Bit
+        '発言詳細部のアイコンリスト作成
+        TIconDic = New Dictionary(Of String, Image)
+
+        Twitter.ListIcon = TIconSmallList
+        Twitter.DetailIcon = TIconDic
+
+        StatusLabel.Text = My.Resources.Form1_LoadText1       '画面右下の状態表示を変更
+        StatusLabelUrl.Text = ""            '画面左下のリンク先URL表示部を初期化
+        PostBrowser.DocumentText = ""       '発言詳細部初期化
+        NameLabel.Text = ""                 '発言詳細部名前ラベル初期化
+        DateTimeLabel.Text = ""             '発言詳細部日時ラベル初期化
+
+        '<<<<<<<<タブ関連>>>>>>>
+        'デフォルトタブの存在チェック、ない場合には追加
+        If _statuses.GetTabByType(TabUsageType.Home) Is Nothing Then
+            If Not _statuses.Tabs.ContainsKey(DEFAULTTAB.RECENT) Then
+                _statuses.AddTab(DEFAULTTAB.RECENT, TabUsageType.Home)
+            Else
+                _statuses.Tabs(DEFAULTTAB.RECENT).TabType = TabUsageType.Home
+            End If
+        End If
+        If _statuses.GetTabByType(TabUsageType.Mentions) Is Nothing Then
+            If Not _statuses.Tabs.ContainsKey(DEFAULTTAB.REPLY) Then
+                _statuses.AddTab(DEFAULTTAB.REPLY, TabUsageType.Mentions)
+            Else
+                _statuses.Tabs(DEFAULTTAB.REPLY).TabType = TabUsageType.Mentions
+            End If
+        End If
+        If _statuses.GetTabByType(TabUsageType.DirectMessage) Is Nothing Then
+            If Not _statuses.Tabs.ContainsKey(DEFAULTTAB.DM) Then
+                _statuses.AddTab(DEFAULTTAB.DM, TabUsageType.DirectMessage)
+            Else
+                _statuses.Tabs(DEFAULTTAB.DM).TabType = TabUsageType.DirectMessage
+            End If
+        End If
+        If _statuses.GetTabByType(TabUsageType.Favorites) Is Nothing Then
+            If Not _statuses.Tabs.ContainsKey(DEFAULTTAB.FAV) Then
+                _statuses.AddTab(DEFAULTTAB.FAV, TabUsageType.Favorites)
+            Else
+                _statuses.Tabs(DEFAULTTAB.FAV).TabType = TabUsageType.Favorites
+            End If
+        End If
+        For Each tn As String In _statuses.Tabs.Keys
+            If _statuses.Tabs(tn).TabType = TabUsageType.Undefined Then
+                _statuses.Tabs(tn).TabType = TabUsageType.UserDefined
+            End If
+            If Not AddNewTab(tn, True) Then Throw New Exception("タブ作成エラー")
+        Next
+
+        JumpUnreadMenuItem.ShortcutKeyDisplayString = "Space"
+        CopySTOTMenuItem.ShortcutKeyDisplayString = "Ctrl+C"
+        CopyURLMenuItem.ShortcutKeyDisplayString = "Ctrl+Shift+C"
+        'MenuItemSubSearch.ShortcutKeyDisplayString = "/"
+        'ReadedStripMenuItem.ShortcutKeyDisplayString = "B"
+        'UnreadStripMenuItem.ShortcutKeyDisplayString = "Shift+B"
+
+        AddHandler My.Computer.Network.NetworkAvailabilityChanged, AddressOf Network_NetworkAvailabilityChanged
+        If SettingDialog.MinimizeToTray = False OrElse Me.WindowState <> FormWindowState.Minimized Then
+            Me.Visible = True
+        End If
+        _curTab = ListTab.SelectedTab
+        _curItemIndex = -1
+        _curList = DirectCast(_curTab.Controls(0), DetailsListView)
+        SetMainWindowTitle()
+        SetNotifyIconText()
+
+        If SettingDialog.TabIconDisp Then
+            ListTab.DrawMode = TabDrawMode.Normal
+        Else
+            ListTab.DrawMode = TabDrawMode.OwnerDrawFixed
+            AddHandler ListTab.DrawItem, AddressOf ListTab_DrawItem
+            ListTab.ImageList = Nothing
+        End If
+
+        TimerColorize.Interval = 200
+        TimerColorize.Start()
+        _ignoreConfigSave = False
+        SaveConfigsAll(False)
+    End Sub
+
+    Private Sub ListTab_DrawItem( _
+            ByVal sender As Object, ByVal e As DrawItemEventArgs)
+        Dim txt As String
+        Try
+            txt = ListTab.TabPages(e.Index).Text
+        Catch ex As Exception
+            Exit Sub
+        End Try
+
+        e.Graphics.FillRectangle(System.Drawing.SystemBrushes.Control, e.Bounds)
+        If e.State = DrawItemState.Selected Then
+            e.DrawFocusRectangle()
+        End If
+        Dim fore As Brush
+        Try
+            If _statuses.Tabs(txt).UnreadCount > 0 Then
+                fore = Brushes.Red
+            Else
+                fore = System.Drawing.SystemBrushes.ControlText
+            End If
+        Catch ex As Exception
+            fore = System.Drawing.SystemBrushes.ControlText
+        End Try
+        e.Graphics.DrawString(txt, e.Font, fore, e.Bounds, sfTab)
+    End Sub
+
+    Private Function LoadConfig() As Boolean
+        Dim needToSave As Boolean = False
+        _cfgCommon = SettingCommon.Load()
+        _cfgLocal = SettingLocal.Load()
+        If _cfgCommon.TabList.Count > 0 Then
+            For Each tabName As String In _cfgCommon.TabList
+                _statuses.Tabs.Add(tabName, SettingTab.Load(tabName).Tab)
+                If tabName <> ReplaceInvalidFilename(tabName) Then
+                    Dim tb As TabClass = _statuses.Tabs(tabName)
+                    _statuses.RemoveTab(tabName)
+                    tb.TabName = ReplaceInvalidFilename(tabName)
+                    _statuses.Tabs.Add(ReplaceInvalidFilename(tabName), tb)
+                    Dim tabSetting As New SettingTab
+                    tabSetting.Tab = tb
+                    tabSetting.Save()
+                    needToSave = True
+                End If
+            Next
+        Else
+            _statuses.AddTab(DEFAULTTAB.RECENT, TabUsageType.Home)
+            _statuses.AddTab(DEFAULTTAB.REPLY, TabUsageType.Mentions)
+            _statuses.AddTab(DEFAULTTAB.DM, TabUsageType.DirectMessage)
+            _statuses.AddTab(DEFAULTTAB.FAV, TabUsageType.Favorites)
+        End If
+        If needToSave Then
+            _cfgCommon.TabList.Clear()
+            For Each tabName As String In _statuses.Tabs.Keys
+                _cfgCommon.TabList.Add(tabName)
+            Next
+            _cfgCommon.Save()
+        End If
+
+        If System.IO.File.Exists(SettingCommon.GetSettingFilePath("")) Then
+            Return True
+        Else
+            Return False
+        End If
+    End Function
+
+    Private Sub ConvertConfig()
+        If LoadConfig() Then Exit Sub
+
+        '_cfg = SettingToConfig.Load()
+        'If _cfg Is Nothing Then Exit Sub
+
+        ''新設定ファイルへ変換
+        ''新しくエントリを増設する場合はここに書く必要はない
+        '_cfgCommon.AlwaysTop = _cfg.AlwaysTop
+        '_cfgCommon.AutoShortUrlFirst = _cfg.AutoShortUrlFirst
+        '_cfgLocal.BrowserPath = _cfg.BrowserPath
+        '_cfgCommon.CheckReply = _cfg.CheckReply
+        '_cfgCommon.CloseToExit = _cfg.CloseToExit
+        '_cfgLocal.ColorAtFromTarget = _cfg.ColorAtFromTarget
+        '_cfgLocal.ColorAtSelf = _cfg.ColorAtSelf
+        '_cfgLocal.ColorAtTarget = _cfg.ColorAtTarget
+        '_cfgLocal.ColorFav = _cfg.ColorFav
+        '_cfgLocal.ColorOWL = _cfg.ColorOWL
+        '_cfgLocal.ColorRead = _cfg.ColorRead
+        '_cfgLocal.ColorSelf = _cfg.ColorSelf
+        '_cfgLocal.ColorTarget = _cfg.ColorTarget
+        '_cfgLocal.ColorUnread = _cfg.ColorUnread
+        '_cfgLocal.ColorInputBackcolor = _cfg.ColorInputBackcolor
+        '_cfgLocal.ColorInputFont = _cfg.ColorInputFont
+        '_cfgCommon.CountApi = _cfg.CountApi
+        '_cfgCommon.CultureCode = _cfg.cultureCode
+        '_cfgCommon.DateTimeFormat = _cfg.DateTimeFormat
+        '_cfgCommon.DefaultTimeOut = _cfg.DefaultTimeOut
+        '_cfgCommon.DispLatestPost = _cfg.DispLatestPost
+        '_cfgLocal.DisplayIndex1 = _cfg.DisplayIndex1
+        '_cfgLocal.DisplayIndex2 = _cfg.DisplayIndex2
+        '_cfgLocal.DisplayIndex3 = _cfg.DisplayIndex3
+        '_cfgLocal.DisplayIndex4 = _cfg.DisplayIndex4
+        '_cfgLocal.DisplayIndex5 = _cfg.DisplayIndex5
+        '_cfgLocal.DisplayIndex6 = _cfg.DisplayIndex6
+        '_cfgLocal.DisplayIndex7 = _cfg.DisplayIndex7
+        '_cfgLocal.DisplayIndex8 = _cfg.DisplayIndex8
+        '_cfgCommon.DispUsername = _cfg.DispUsername
+        '_cfgCommon.DMPeriod = _cfg.DMPeriod
+        '_cfgLocal.FontDetail = _cfg.FontDetail
+        '_cfgLocal.FontRead = _cfg.FontRead
+        '_cfgLocal.FontUnread = _cfg.FontUnread
+        '_cfgLocal.FontInputFont = _cfg.FontInputFont
+        '_cfgLocal.FormLocation = _cfg.FormLocation
+        '_cfgLocal.FormSize = _cfg.FormSize
+        '_cfgCommon.HubServer = _cfg.HubServer
+        '_cfgCommon.IconSize = _cfg.IconSize
+        '_cfgCommon.LimitBalloon = _cfg.LimitBalloon
+        '_cfgCommon.ListLock = _cfg.ListLock
+        '_cfgCommon.MaxPostNum = _cfg.MaxPostNum
+        '_cfgCommon.MinimizeToTray = _cfg.MinimizeToTray
+        '_cfgCommon.NameBalloon = _cfg.NameBalloon
+        '_cfgCommon.NewAllPop = _cfg.NewAllPop
+        '_cfgCommon.NextPages = _cfg.NextPages
+        '_cfgCommon.NextPageThreshold = _cfg.NextPageThreshold
+        '_cfgCommon.OneWayLove = _cfg.OneWayLove
+        '_cfgCommon.Outputz = _cfg.Outputz
+        '_cfgCommon.OutputzKey = _cfg.OutputzKey
+        '_cfgCommon.OutputzUrlMode = _cfg.OutputzUrlmode
+        '_cfgCommon.Password = _cfg.Password
+        '_cfgCommon.PeriodAdjust = _cfg.PeriodAdjust
+        '_cfgCommon.PlaySound = _cfg.PlaySound
+        '_cfgCommon.PostAndGet = _cfg.PostAndGet
+        '_cfgCommon.PostCtrlEnter = _cfg.PostCtrlEnter
+        '_cfgCommon.ProtectNotInclude = _cfg.ProtectNotInclude
+        '_cfgLocal.ProxyAddress = _cfg.ProxyAddress
+        '_cfgLocal.ProxyPassword = _cfg.ProxyPassword
+        '_cfgLocal.ProxyPort = _cfg.ProxyPort
+        '_cfgLocal.ProxyType = _cfg.ProxyType
+        '_cfgLocal.ProxyUser = _cfg.ProxyUser
+        '_cfgCommon.Read = _cfg.Read
+        '_cfgCommon.ReadPages = _cfg.ReadPages
+        '_cfgCommon.ReadPagesDM = _cfg.ReadPagesDM
+        '_cfgCommon.ReadPagesReply = _cfg.ReadPagesReply
+        '_cfgCommon.RestrictFavCheck = _cfg.RestrictFavCheck
+        '_cfgCommon.SortColumn = _cfg.SortColumn
+        '_cfgCommon.SortOrder = _cfg.SortOrder
+        '_cfgCommon.SortOrderLock = _cfg.SortOrderLock
+        '_cfgLocal.SplitterDistance = _cfg.SplitterDistance
+        '_cfgCommon.StartupFollowers = _cfg.StartupFollowers
+        '_cfgCommon.StartupKey = _cfg.StartupKey
+        '_cfgCommon.StartupVersion = _cfg.StartupVersion
+        '_cfgCommon.StartupApiModeNoWarning = _cfg.StartupAPImodeNoWarning
+        '_cfgLocal.StatusMultiline = _cfg.StatusMultiline
+        '_cfgLocal.StatusText = _cfg.StatusText
+        '_cfgLocal.StatusTextHeight = _cfg.StatusTextHeight
+
+        'For Each item As KeyValuePair(Of String, TabClass) In _cfg.Tabs
+        '    Dim tabSetting As New SettingTab
+        '    item.Value.TabName = ReplaceInvalidFilename(item.Value.TabName)
+        '    tabSetting.Tab = item.Value
+        '    tabSetting.Save()
+        '    _cfgCommon.TabList.Add(ReplaceInvalidFilename(item.Key))
+        '    If Not _statuses.Tabs.ContainsKey(tabSetting.Tab.TabName) Then
+        '        _statuses.Tabs.Add(tabSetting.Tab.TabName, tabSetting.Tab)
+        '    ElseIf tabSetting.Tab.TabName = DEFAULTTAB.REPLY Then
+        '        _statuses.Tabs(DEFAULTTAB.REPLY) = tabSetting.Tab
+        '    End If
+        'Next
+        '_cfgCommon.TimelinePeriod = _cfg.TimelinePeriod
+        '_cfgCommon.TinyUrlResolve = _cfg.TinyURLResolve
+        '_cfgCommon.UnreadManage = _cfg.UnreadManage
+        '_cfgCommon.UrlConvertAuto = _cfg.UrlConvertAuto
+        '_cfgCommon.UseApi = _cfg.UseAPI
+        '_cfgCommon.UsePostMethod = _cfg.UsePostMethod
+        '_cfgLocal.UseRecommendStatus = _cfg.UseRecommendStatus
+        '_cfgCommon.UserName = _cfg.UserName
+        '_cfgCommon.UseUnreadStyle = _cfg.UseUnreadStyle
+        '_cfgLocal.Width1 = _cfg.Width1
+        '_cfgLocal.Width2 = _cfg.Width2
+        '_cfgLocal.Width3 = _cfg.Width3
+        '_cfgLocal.Width4 = _cfg.Width4
+        '_cfgLocal.Width5 = _cfg.Width5
+        '_cfgLocal.Width6 = _cfg.Width6
+        '_cfgLocal.Width7 = _cfg.Width7
+        '_cfgLocal.Width8 = _cfg.Width8
+        ''念のため保存
+        '_cfgCommon.Save()
+        '_cfgLocal.Save()
+    End Sub
+
+    Private Sub Network_NetworkAvailabilityChanged(ByVal sender As Object, ByVal e As Devices.NetworkAvailableEventArgs)
+        If e.IsNetworkAvailable Then
+            Dim args As New GetWorkerArg()
+            PostButton.Enabled = True
+            FavAddToolStripMenuItem.Enabled = True
+            FavRemoveToolStripMenuItem.Enabled = True
+            MoveToHomeToolStripMenuItem.Enabled = True
+            MoveToFavToolStripMenuItem.Enabled = True
+            DeleteStripMenuItem.Enabled = True
+            RefreshStripMenuItem.Enabled = True
+            _myStatusOnline = True
+            If Not _initial Then
+                'If SettingDialog.DMPeriodInt > 0 Then TimerDM.Enabled = True
+                'If SettingDialog.TimelinePeriodInt > 0 Then TimerTimeline.Enabled = True
+                'If SettingDialog.ReplyPeriodInt > 0 Then TimerReply.Enabled = True
+            Else
+                GetTimeline(WORKERTYPE.DirectMessegeRcv, 1, 0)
+            End If
+        Else
+            _myStatusOnline = False
+            PostButton.Enabled = False
+            FavAddToolStripMenuItem.Enabled = False
+            FavRemoveToolStripMenuItem.Enabled = False
+            MoveToHomeToolStripMenuItem.Enabled = False
+            MoveToFavToolStripMenuItem.Enabled = False
+            DeleteStripMenuItem.Enabled = False
+            RefreshStripMenuItem.Enabled = False
+        End If
+    End Sub
+
+    Private Sub TimerTimeline_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerTimeline.Tick
+
+        If Not IsNetworkAvailable() Then Exit Sub
+
+        GetTimeline(WORKERTYPE.Timeline, 1, 0)
+    End Sub
+
+    Private Sub TimerDM_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerDM.Tick
+        GC.Collect()
+
+        If Not IsNetworkAvailable() Then Exit Sub
+
+        GetTimeline(WORKERTYPE.DirectMessegeRcv, 1, 0)
+    End Sub
+
+    Private Sub TimerReply_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerReply.Tick
+        If Not IsNetworkAvailable() Then Exit Sub
+
+        GetTimeline(WORKERTYPE.Reply, 1, 0)
+    End Sub
+
+    Private Sub RefreshTimeline()
+        'スクロール制御準備
+        Dim smode As Integer = -1    '-1:制御しない,-2:最新へ,その他:topitem使用
+        Dim topId As Long = GetScrollPos(smode)
+        Dim befCnt As Integer = _curList.VirtualListSize
+
+        '現在の選択状態を退避
+        Dim selId As New Dictionary(Of String, Long())
+        Dim focusedId As New Dictionary(Of String, Long)
+        SaveSelectedStatus(selId, focusedId)
+
+        '更新確定
+        Dim notifyPosts() As PostClass = Nothing
+        Dim soundFile As String = ""
+        Dim addCount As Integer = 0
+        addCount = _statuses.SubmitUpdate(soundFile, notifyPosts)
+
+        If _endingFlag Then Exit Sub
+
+        'リストに反映&選択状態復元
+        Try
+            For Each tab As TabPage In ListTab.TabPages
+                Dim lst As DetailsListView = DirectCast(tab.Controls(0), DetailsListView)
+                Dim tabInfo As TabClass = _statuses.Tabs(tab.Text)
+                lst.BeginUpdate()
+                If lst.VirtualListSize <> tabInfo.AllCount Then
+                    If lst.Equals(_curList) Then
+                        _itemCache = Nothing
+                        _postCache = Nothing
+                    End If
+                    lst.VirtualListSize = tabInfo.AllCount 'リスト件数更新
+                    Me.SelectListItem(lst, _
+                                      _statuses.IndexOf(tab.Text, selId(tab.Text)), _
+                                      _statuses.IndexOf(tab.Text, focusedId(tab.Text)))
+                End If
+                lst.EndUpdate()
+                If tabInfo.UnreadCount > 0 Then
+                    If SettingDialog.TabIconDisp Then
+                        If tab.ImageIndex = -1 Then tab.ImageIndex = 0 'タブアイコン
+                    End If
+                End If
+            Next
+            If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+        Catch ex As Exception
+            'ex.Data("Msg") = "Ref1, UseAPI=" + SettingDialog.UseAPI.ToString
+            'Throw
+        End Try
+
+        'スクロール制御後処理
+        Try
+            If befCnt <> _curList.VirtualListSize Then
+                Select Case smode
+                    Case -3
+                        '最上行
+                        _curList.EnsureVisible(0)
+                    Case -2
+                        '最下行へ
+                        _curList.EnsureVisible(_curList.VirtualListSize - 1)
+                    Case -1
+                        '制御しない
+                    Case Else
+                        '表示位置キープ
+                        If _curList.VirtualListSize > 0 Then
+                            _curList.EnsureVisible(_curList.VirtualListSize - 1)
+                            _curList.EnsureVisible(_statuses.IndexOf(_curTab.Text, topId))
+                        End If
+                End Select
+            End If
+        Catch ex As Exception
+            ex.Data("Msg") = "Ref2, UseAPI=" + SettingDialog.UseAPI.ToString
+            Throw
+        End Try
+
+        '新着通知
+        NotifyNewPosts(notifyPosts, soundFile, addCount)
+
+        SetMainWindowTitle()
+        If Not StatusLabelUrl.Text.StartsWith("http") Then SetStatusLabel()
+    End Sub
+
+    Private Function GetScrollPos(ByRef smode As Integer) As Long
+        Dim topId As Long = -1
+        If _curList.VirtualListSize > 0 Then
+            If _statuses.SortMode = IdComparerClass.ComparerMode.Id Then
+                If _statuses.SortOrder = SortOrder.Ascending Then
+                    'Id昇順
+                    If ListLockMenuItem.Checked Then
+                        '制御しない
+                        'smode = -1
+                        '現在表示位置へ強制スクロール
+                        topId = _statuses.GetId(_curTab.Text, _curList.TopItem.Index)
+                        smode = 0
+                    Else
+                        '最下行が表示されていたら、最下行へ強制スクロール。最下行が表示されていなかったら制御しない
+                        Dim _item As ListViewItem
+                        _item = _curList.GetItemAt(0, _curList.ClientSize.Height - 1)   '一番下
+                        If _item Is Nothing Then _item = _curList.Items(_curList.Items.Count - 1)
+                        If _item.Index = _curList.Items.Count - 1 Then
+                            smode = -2
+                        Else
+                            'smode = -1
+                            topId = _statuses.GetId(_curTab.Text, _curList.TopItem.Index)
+                            smode = 0
+                        End If
+                    End If
+                Else
+                    'Id降順
+                    If ListLockMenuItem.Checked Then
+                        '現在表示位置へ強制スクロール
+                        topId = _statuses.GetId(_curTab.Text, _curList.TopItem.Index)
+                        smode = 0
+                    Else
+                        '最上行が表示されていたら、制御しない。最上行が表示されていなかったら、現在表示位置へ強制スクロール
+                        Dim _item As ListViewItem
+
+                        _item = _curList.GetItemAt(0, 10)     '一番上
+                        If _item Is Nothing Then _item = _curList.Items(0)
+                        If _item.Index = 0 Then
+                            smode = -3  '最上行
+                        Else
+                            topId = _statuses.GetId(_curTab.Text, _curList.TopItem.Index)
+                            smode = 0
+                        End If
+                    End If
+                End If
+            Else
+                '現在表示位置へ強制スクロール
+                topId = _statuses.GetId(_curTab.Text, _curList.TopItem.Index)
+                smode = 0
+            End If
+        Else
+            smode = -1
+        End If
+        Return topId
+    End Function
+
+    Private Sub SaveSelectedStatus(ByVal selId As Dictionary(Of String, Long()), ByVal focusedId As Dictionary(Of String, Long))
+        If _endingFlag Then Exit Sub
+        For Each tab As TabPage In ListTab.TabPages
+            Dim lst As DetailsListView = DirectCast(tab.Controls(0), DetailsListView)
+            If lst.SelectedIndices.Count > 0 AndAlso lst.SelectedIndices.Count < 31 Then
+                selId.Add(tab.Text, _statuses.GetId(tab.Text, lst.SelectedIndices))
+            Else
+                selId.Add(tab.Text, New Long(0) {-1})
+            End If
+            If lst.FocusedItem IsNot Nothing Then
+                focusedId.Add(tab.Text, _statuses.GetId(tab.Text, lst.FocusedItem.Index))
+            Else
+                focusedId.Add(tab.Text, -1)
+            End If
+        Next
+
+    End Sub
+
+    Private Sub NotifyNewPosts(ByVal notifyPosts() As PostClass, ByVal soundFile As String, ByVal addCount As Integer)
+        '新着通知
+        If (NewPostPopMenuItem.Checked AndAlso _
+               notifyPosts IsNot Nothing AndAlso notifyPosts.Length > 0 AndAlso _
+               Not _initial AndAlso _
+               ((SettingDialog.LimitBalloon AndAlso _
+                 (Me.WindowState = FormWindowState.Minimized OrElse Not Me.Visible OrElse Form.ActiveForm Is Nothing)) _
+                OrElse Not SettingDialog.LimitBalloon)) AndAlso Not IsScreenSaverRunning() Then
+            Dim sb As New StringBuilder
+            Dim reply As Boolean = False
+            Dim dm As Boolean = False
+            For Each post As PostClass In notifyPosts
+                If post.IsReply Then reply = True
+                If post.IsDm Then dm = True
+                If sb.Length > 0 Then sb.Append(System.Environment.NewLine)
+                Select Case SettingDialog.NameBalloon
+                    Case NameBalloonEnum.UserID
+                        sb.Append(post.Name).Append(" : ")
+                    Case NameBalloonEnum.NickName
+                        sb.Append(post.Nickname).Append(" : ")
+                End Select
+                sb.Append(post.Data)
+            Next
+            If SettingDialog.DispUsername Then NotifyIcon1.BalloonTipTitle = _username + " - " Else NotifyIcon1.BalloonTipTitle = ""
+            If dm Then
+                NotifyIcon1.BalloonTipIcon = ToolTipIcon.Warning
+                NotifyIcon1.BalloonTipTitle += "Tween [DM] " + My.Resources.RefreshDirectMessageText1 + " " + addCount.ToString() + My.Resources.RefreshDirectMessageText2
+            ElseIf reply Then
+                NotifyIcon1.BalloonTipIcon = ToolTipIcon.Warning
+                NotifyIcon1.BalloonTipTitle += "Tween [Reply!] " + My.Resources.RefreshTimelineText1 + " " + addCount.ToString() + My.Resources.RefreshTimelineText2
+            Else
+                NotifyIcon1.BalloonTipIcon = ToolTipIcon.Info
+                NotifyIcon1.BalloonTipTitle += "Tween " + My.Resources.RefreshTimelineText1 + " " + addCount.ToString() + My.Resources.RefreshTimelineText2
+            End If
+            Dim bText As String = sb.ToString
+            If String.IsNullOrEmpty(bText) Then Exit Sub
+            NotifyIcon1.BalloonTipText = sb.ToString()
+            NotifyIcon1.ShowBalloonTip(500)
+        End If
+
+        'サウンド再生
+        If Not _initial AndAlso SettingDialog.PlaySound AndAlso soundFile <> "" Then
+            Try
+                My.Computer.Audio.Play(Path.Combine(My.Application.Info.DirectoryPath.ToString(), soundFile), AudioPlayMode.Background)
+            Catch ex As Exception
+
+            End Try
+        End If
+    End Sub
+
+    Private Sub Mylist_Scrolled(ByVal sender As Object, ByVal e As System.EventArgs)
+        'TimerColorize.Stop()
+        'TimerColorize.Start()
+    End Sub
+
+    Private Sub MyList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
+        If _curList.SelectedIndices.Count <> 1 Then Exit Sub
+        'If _curList.SelectedIndices.Count = 0 Then Exit Sub
+
+        _curItemIndex = _curList.SelectedIndices(0)
+        _curPost = GetCurTabPost(_curItemIndex)
+        If SettingDialog.UnreadManage Then _statuses.SetRead(True, _curTab.Text, _curItemIndex)
+        'MyList.RedrawItems(MyList.SelectedIndices(0), MyList.SelectedIndices(0), False)   'RetrieveVirtualItemが発生することを期待
+        'キャッシュの書き換え
+        ChangeCacheStyleRead(True, _curItemIndex, _curTab)   '既読へ(フォント、文字色)
+
+        'ColorizeList(-1)    '全キャッシュ更新(背景色)
+        'DispSelectedPost()
+        ColorizeList()
+        TimerColorize.Stop()
+        TimerColorize.Start()
+        'cMode = 1
+    End Sub
+
+    Private Sub ChangeCacheStyleRead(ByVal Read As Boolean, ByVal Index As Integer, ByVal Tab As TabPage)
+        'Read:True=既読 False=未読
+        '未読管理していなかったら既読として扱う
+        If Not _statuses.Tabs(_curTab.Text).UnreadManage OrElse _
+           Not SettingDialog.UnreadManage Then Read = True
+
+        '対象の特定
+        Dim itm As ListViewItem
+        Dim post As PostClass
+        If Tab.Equals(_curTab) AndAlso _itemCache IsNot Nothing AndAlso Index >= _itemCacheIndex AndAlso Index < _itemCacheIndex + _itemCache.Length Then
+            itm = _itemCache(Index - _itemCacheIndex)
+            post = _postCache(Index - _itemCacheIndex)
+        Else
+            itm = DirectCast(Tab.Controls(0), DetailsListView).Items(Index)
+            post = _statuses.Item(Tab.Text, Index)
+        End If
+
+        ChangeItemStyleRead(Read, itm, post, DirectCast(Tab.Controls(0), DetailsListView))
+    End Sub
+
+    Private Sub ChangeItemStyleRead(ByVal Read As Boolean, ByVal Item As ListViewItem, ByVal Post As PostClass, ByVal DList As DetailsListView)
+        Dim fnt As Font
+        'フォント
+        If Read Then
+            fnt = _fntReaded
+            Item.SubItems(5).Text = ""
+        Else
+            fnt = _fntUnread
+            Item.SubItems(5).Text = "★"
+        End If
+        '文字色
+        Dim cl As Color
+        If Post.IsFav Then
+            cl = _clFav
+        ElseIf Post.IsOwl AndAlso (Post.IsDm OrElse SettingDialog.OneWayLove) Then
+            cl = _clOWL
+        ElseIf Read OrElse Not SettingDialog.UseUnreadStyle Then
+            cl = _clReaded
+        Else
+            cl = _clUnread
+        End If
+        If DList Is Nothing OrElse Item.Index = -1 Then
+            Item.ForeColor = cl
+            If SettingDialog.UseUnreadStyle Then
+                Item.Font = fnt
+            End If
+        Else
+            DList.Update()
+            If SettingDialog.UseUnreadStyle Then
+                DList.ChangeItemFontAndColor(Item.Index, cl, fnt)
+            Else
+                DList.ChangeItemForeColor(Item.Index, cl)
+            End If
+            'If _itemCache IsNot Nothing Then DList.RedrawItems(_itemCacheIndex, _itemCacheIndex + _itemCache.Length - 1, False)
+        End If
+    End Sub
+
+    Private Sub ColorizeList()
+        'Index:更新対象のListviewItem.Index。Colorを返す。
+        '-1は全キャッシュ。Colorは返さない(ダミーを戻す)
+        Dim _post As PostClass
+        If _anchorFlag Then
+            _post = _anchorPost
+        Else
+            _post = _curPost
+        End If
+
+        If _itemCache Is Nothing Then Exit Sub
+
+        'For cnt As Integer = 0 To _itemCache.Length - 1
+        '    If Not _postCache(cnt).IsRead AndAlso SettingDialog.UnreadManage AndAlso _statuses.Tabs(_curTab.Text).UnreadManage Then
+        '        _itemCache(cnt).Font = _fntUnread
+        '    Else
+        '        _itemCache(cnt).Font = _fntReaded
+        '    End If
+        'Next
+
+        If _post Is Nothing Then Exit Sub
+
+        Try
+            For cnt As Integer = 0 To _itemCache.Length - 1
+                '_itemCache(cnt).BackColor = JudgeColor(_post, _postCache(cnt))
+                _curList.ChangeItemBackColor(_itemCacheIndex + cnt, JudgeColor(_post, _postCache(cnt)))
+            Next
+        Catch ex As Exception
+        End Try
+    End Sub
+
+    Private Sub ColorizeList(ByVal Item As ListViewItem, ByVal Index As Integer)
+        'Index:更新対象のListviewItem.Index。Colorを返す。
+        '-1は全キャッシュ。Colorは返さない(ダミーを戻す)
+        Dim _post As PostClass
+        If _anchorFlag Then
+            _post = _anchorPost
+        Else
+            _post = _curPost
+        End If
+
+        Dim tPost As PostClass = GetCurTabPost(Index)
+
+        'If Not tPost.IsRead AndAlso SettingDialog.UnreadManage AndAlso _statuses.Tabs(_curTab.Text).UnreadManage Then
+        '    Item.Font = _fntUnread
+        'Else
+        '    Item.Font = _fntReaded
+        'End If
+
+        If _post Is Nothing Then Exit Sub
+
+        If Item.Index = -1 Then
+            Item.BackColor = JudgeColor(_post, tPost)
+        Else
+            _curList.ChangeItemBackColor(Item.Index, JudgeColor(_post, tPost))
+        End If
+    End Sub
+
+    Private Function JudgeColor(ByVal BasePost As PostClass, ByVal TargetPost As PostClass) As Color
+        Dim cl As Color
+        If TargetPost.Id = BasePost.InReplyToId Then
+            '@先
+            cl = _clAtTo
+        ElseIf TargetPost.IsMe Then
+            '自分=発言者
+            cl = _clSelf
+        ElseIf TargetPost.Name.Equals(BasePost.Name, StringComparison.OrdinalIgnoreCase) Then
+            '発言者
+            cl = _clTarget
+        ElseIf TargetPost.IsReply Then
+            '自分宛返信
+            cl = _clAtSelf
+        ElseIf BasePost.ReplyToList.Contains(TargetPost.Name.ToLower()) Then
+            '返信先
+            cl = _clAtFromTarget
+        ElseIf TargetPost.ReplyToList.Contains(BasePost.Name.ToLower()) Then
+            'その人への返信
+            cl = _clAtTarget
+        Else
+            'その他
+            'cl = System.Drawing.SystemColors.Window
+            cl = _clListBackcolor
+        End If
+        Return cl
+    End Function
+
+    Private Sub PostButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PostButton.Click
+        If StatusText.Text.Trim.Length = 0 Then
+            DoRefresh()
+            Exit Sub
+        End If
+
+        _history(_history.Count - 1) = StatusText.Text.Trim
+
+        If SettingDialog.UrlConvertAuto Then UrlConvertAutoToolStripMenuItem_Click(Nothing, Nothing)
+        Dim args As New GetWorkerArg()
+        args.page = 0
+        args.endPage = 0
+        args.type = WORKERTYPE.PostMessage
+        CheckReplyTo(StatusText.Text)
+
+        '整形によって増加する文字数を取得
+        Dim adjustCount As Integer = 0
+        Dim tmpStatus As String = StatusText.Text.Trim
+        If ToolStripMenuItemApiCommandEvasion.Checked Then
+            ' APIコマンド回避
+            Dim regex As New Regex("^[+\-\[\]\s\\.,*/(){}^~|='&%$#""<>?]*(get|g|fav|follow|f|on|off|stop|quit|leave|l|whois|w|nudge|n|stats|invite|track|untrack|tracks|tracking|\*)([+\-\[\]\s\\.,*/(){}^~|='&%$#""<>?]+|$)", RegexOptions.IgnoreCase)
+            If regex.IsMatch(tmpStatus) AndAlso tmpStatus.EndsWith(" .") = False Then adjustCount += 2
+        End If
+
+        If ToolStripMenuItemUrlMultibyteSplit.Checked Then
+            ' URLと全角文字の切り離し
+            Dim regex2 As New Regex("https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+")
+            adjustCount += regex2.Matches(tmpStatus).Count
+        End If
+
+        If IdeographicSpaceToSpaceToolStripMenuItem.Checked Then
+            ' 文中の全角スペースを半角スペース2個にする
+            For i As Integer = 0 To tmpStatus.Length - 1
+                If tmpStatus.Substring(i, 1) = " " Then adjustCount += 1
+            Next
+        End If
+
+
+        Dim isCutOff As Boolean = False
+        Dim isRemoveFooter As Boolean = My.Computer.Keyboard.ShiftKeyDown
+        If StatusText.Multiline AndAlso Not SettingDialog.PostCtrlEnter Then
+            '複数行でEnter投稿の場合、Ctrlも押されていたらフッタ付加しない
+            isRemoveFooter = My.Computer.Keyboard.CtrlKeyDown
+        End If
+        If GetRestStatusCount(False, Not isRemoveFooter) - adjustCount < 0 Then
+            If MessageBox.Show(My.Resources.PostLengthOverMessage1, My.Resources.PostLengthOverMessage2, MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.OK Then
+                isCutOff = True
+                If Not SettingDialog.UrlConvertAuto Then UrlConvertAutoToolStripMenuItem_Click(Nothing, Nothing)
+                If GetRestStatusCount(False, Not isRemoveFooter) - adjustCount < 0 Then
+                    isRemoveFooter = True
+                End If
+            Else
+                Exit Sub
+            End If
+        End If
+
+        If (StatusText.Text.StartsWith("D ")) OrElse isRemoveFooter Then
+            args.status = StatusText.Text.Trim
+        ElseIf SettingDialog.UseRecommendStatus() Then
+            ' 推奨ステータスを使用する
+            args.status = StatusText.Text.Trim() + SettingDialog.RecommendStatusText
+        Else
+            ' テキストボックスに入力されている文字列を使用する
+            args.status = StatusText.Text.Trim() + " " + SettingDialog.Status.Trim()
+        End If
+
+        If ToolStripMenuItemApiCommandEvasion.Checked Then
+            ' APIコマンド回避
+            Dim regex As New Regex("^[+\-\[\]\s\\.,*/(){}^~|='&%$#""<>?]*(get|g|fav|follow|f|on|off|stop|quit|leave|l|whois|w|nudge|n|stats|invite|track|untrack|tracks|tracking|\*)([+\-\[\]\s\\.,*/(){}^~|='&%$#""<>?]+|$)", RegexOptions.IgnoreCase)
+            If regex.IsMatch(args.status) AndAlso args.status.EndsWith(" .") = False Then args.status += " ."
+        End If
+
+        If ToolStripMenuItemUrlMultibyteSplit.Checked Then
+            ' URLと全角文字の切り離し
+            Dim regex2 As New Regex("https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+")
+            Dim mc2 As Match = regex2.Match(args.status)
+            If mc2.Success Then args.status = regex2.Replace(args.status, "$& ")
+        End If
+
+        If IdeographicSpaceToSpaceToolStripMenuItem.Checked Then
+            ' 文中の全角スペースを半角スペース2個にする
+            args.status = args.status.Replace(" ", "  ")
+        End If
+
+        If isCutOff AndAlso args.status.Length > 140 Then args.status = args.status.Substring(0, 140)
+
+        RunAsync(args)
+
+        ListTab.SelectedTab.Controls(0).Focus()
+    End Sub
+
+    Private Sub EndToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EndToolStripMenuItem.Click
+        _endingFlag = True
+        Me.Close()
+    End Sub
+
+    Private Sub Tween_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
+        If Not SettingDialog.CloseToExit AndAlso e.CloseReason = CloseReason.UserClosing AndAlso _endingFlag = False Then
+            '_endingFlag=False:フォームの×ボタン
+            e.Cancel = True
+            Me.Visible = False
+        Else
+            _ignoreConfigSave = True
+            _endingFlag = True
+            TimerTimeline.Enabled = False
+            TimerReply.Enabled = False
+            TimerDM.Enabled = False
+            TimerColorize.Enabled = False
+            TimerRefreshIcon.Enabled = False
+        End If
+    End Sub
+
+    Private Sub NotifyIcon1_BalloonTipClicked(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NotifyIcon1.BalloonTipClicked
+        Me.Visible = True
+        If Me.WindowState = FormWindowState.Minimized Then
+            Me.WindowState = FormWindowState.Normal
+        End If
+        Me.Activate()
+    End Sub
+
+    Private Sub GetTimelineWorker_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
+        Dim bw As BackgroundWorker = DirectCast(sender, BackgroundWorker)
+        If bw.CancellationPending OrElse _endingFlag Then
+            e.Cancel = True
+            Exit Sub
+        End If
+
+        Threading.Thread.CurrentThread.Priority = Threading.ThreadPriority.BelowNormal
+
+        'My.Application.InitCulture()
+        Dim ret As String = ""
+        Dim rslt As New GetWorkerResult()
+
+        Dim read As Boolean = Not SettingDialog.UnreadManage
+        If _initial AndAlso SettingDialog.UnreadManage Then read = SettingDialog.Readed
+
+        Dim args As GetWorkerArg = DirectCast(e.Argument, GetWorkerArg)
+
+
+        If args.type <> WORKERTYPE.OpenUri Then bw.ReportProgress(0, "") 'Notifyアイコンアニメーション開始
+        Select Case args.type
+            Case WORKERTYPE.Timeline, WORKERTYPE.Reply
+                bw.ReportProgress(50, MakeStatusMessage(args, False))
+                If SettingDialog.UseAPI Then
+                    ret = Twitter.GetTimelineApi(read, args.type)
+                Else
+                    ret = Twitter.GetTimeline(args.page, read, args.endPage, args.type, rslt.newDM)
+                End If
+                '新着時未読クリア
+                If ret = "" AndAlso args.type = WORKERTYPE.Timeline AndAlso SettingDialog.ReadOldPosts Then
+                    _statuses.SetRead()
+                End If
+                rslt.addCount = _statuses.DistributePosts()
+            Case WORKERTYPE.DirectMessegeRcv    '送信分もまとめて取得
+                bw.ReportProgress(50, MakeStatusMessage(args, False))
+                If SettingDialog.UseAPI Then
+                    ret = Twitter.GetDirectMessageApi(read, WORKERTYPE.DirectMessegeRcv)
+                    If ret = "" Then ret = Twitter.GetDirectMessageApi(read, WORKERTYPE.DirectMessegeSnt)
+                Else
+                    ret = Twitter.GetDirectMessage(args.page, read, args.endPage, args.type)
+                End If
+                rslt.addCount = _statuses.DistributePosts()
+            Case WORKERTYPE.FavAdd
+                'スレッド処理はしない
+                For i As Integer = 0 To args.ids.Count - 1
+                    Dim post As PostClass = _statuses.Item(args.ids(i))
+                    args.page = i + 1
+                    bw.ReportProgress(50, MakeStatusMessage(args, False))
+                    If Not post.IsFav Then
+                        ret = Twitter.PostFavAdd(post.Id)
+                        If ret.Length = 0 Then
+                            args.sIds.Add(post.Id)
+                            post.IsFav = True    'リスト再描画必要
+                            _favTimestamps.Add(Now)
+                            _statuses.GetTabByType(TabUsageType.Favorites).Add(post.Id, post.IsRead, False)
+                        End If
+                    End If
+                Next
+                rslt.sIds = args.sIds
+            Case WORKERTYPE.FavRemove
+                'スレッド処理はしない
+                For i As Integer = 0 To args.ids.Count - 1
+                    Dim post As PostClass = _statuses.Item(args.ids(i))
+                    args.page = i + 1
+                    bw.ReportProgress(50, MakeStatusMessage(args, False))
+                    If post.IsFav Then
+                        ret = Twitter.PostFavRemove(post.Id)
+                        If ret.Length = 0 Then
+                            args.sIds.Add(post.Id)
+                            post.IsFav = False    'リスト再描画必要
+                        End If
+                    End If
+                Next
+                rslt.sIds = args.sIds
+                ' Contributed by shuyoko <http://twitter.com/shuyoko> BEGIN:
+            Case WORKERTYPE.BlackFavAdd
+                'スレッド処理はしない
+                For i As Integer = 0 To args.ids.Count - 1
+                    Dim post As PostClass = _statuses.Item(args.ids(i))
+                    Dim blackid As Long = 0
+                    args.page = i + 1
+                    bw.ReportProgress(50, MakeStatusMessage(args, False))
+                    If Not post.IsFav Then
+                        ret = Twitter.GetBlackFavId(post.Id, blackid)
+                        If ret.Length = 0 Then
+                            ret = Twitter.PostFavAdd(blackid)
+                            If ret.Length = 0 Then
+                                args.sIds.Add(post.Id)
+                                post.IsFav = True    'リスト再描画必要
+                                _favTimestamps.Add(Now)
+                            End If
+                        End If
+                    End If
+                Next
+                rslt.sIds = args.sIds
+                ' Contributed by shuyoko <http://twitter.com/shuyoko> END.
+            Case WORKERTYPE.PostMessage
+                bw.ReportProgress(200)
+                For i As Integer = 0 To 1
+                    ret = Twitter.PostStatus(args.status, _reply_to_id)
+                    If ret = "" OrElse ret.StartsWith("Outputz:") Then Exit For
+                Next
+                _reply_to_id = 0
+                _reply_to_name = ""
+                bw.ReportProgress(300)
+            Case WORKERTYPE.Follower
+                bw.ReportProgress(50, My.Resources.UpdateFollowersMenuItem1_ClickText1)
+                If SettingDialog.UseAPI Then
+                    ret = Twitter.GetFollowersApi()
+                Else
+                    ret = Twitter.GetFollowers(False)       ' Followersリストキャッシュ有効
+                End If
+                Twitter.RefreshOwl()    '洗い換え
+            Case WORKERTYPE.OpenUri
+                Dim myPath As String = Convert.ToString(args.status)
+
+                Try
+                    If SettingDialog.BrowserPath <> "" Then
+                        'Shell(SettingDialog.BrowserPath & " " & myPath)
+                        If SettingDialog.BrowserPath.StartsWith("""") AndAlso SettingDialog.BrowserPath.Length > 2 AndAlso SettingDialog.BrowserPath.IndexOf("""", 2) > -1 Then
+                            Dim sep As Integer = SettingDialog.BrowserPath.IndexOf("""", 2)
+                            Dim browserPath As String = SettingDialog.BrowserPath.Substring(1, sep - 1)
+                            Dim arg As String = ""
+                            If sep < SettingDialog.BrowserPath.Length - 1 Then
+                                arg = SettingDialog.BrowserPath.Substring(sep + 1)
+                            End If
+                            myPath = arg + " " + myPath
+                            System.Diagnostics.Process.Start(browserPath, myPath)
+                        Else
+                            System.Diagnostics.Process.Start(SettingDialog.BrowserPath, myPath)
+                        End If
+                    Else
+                        System.Diagnostics.Process.Start(myPath)
+                    End If
+                Catch ex As Exception
+                    '                MessageBox.Show("ブラウザの起動に失敗、またはタイムアウトしました。" + ex.ToString())
+                End Try
+            Case WORKERTYPE.Favorites
+                bw.ReportProgress(50, MakeStatusMessage(args, False))
+                If SettingDialog.UseAPI Then
+                    ret = Twitter.GetFavoritesApi(read, args.type)
+                Else
+                    ret = Twitter.GetFavorites(args.page, read, args.endPage, args.type, rslt.newDM)
+                End If
+                rslt.addCount = _statuses.DistributePosts()
+        End Select
+        'キャンセル要求
+        If bw.CancellationPending Then
+            e.Cancel = True
+            Exit Sub
+        End If
+
+        '時速表示用
+        If args.type = WORKERTYPE.FavAdd OrElse args.type = WORKERTYPE.BlackFavAdd Then
+            Dim oneHour As Date = Now.Subtract(New TimeSpan(1, 0, 0))
+            For i As Integer = _favTimestamps.Count - 1 To 0 Step -1
+                If _favTimestamps(i).CompareTo(oneHour) < 0 Then
+                    _favTimestamps.RemoveAt(i)
+                End If
+            Next
+        End If
+        If args.type = WORKERTYPE.Timeline AndAlso Not _initial Then
+            SyncLock _syncObject
+                Dim tm As Date = Now
+                If _tlTimestamps.ContainsKey(tm) Then
+                    _tlTimestamps(tm) += rslt.addCount
+                Else
+                    _tlTimestamps.Add(Now, rslt.addCount)
+                End If
+                Dim oneHour As Date = Now.Subtract(New TimeSpan(1, 0, 0))
+                Dim keys As New List(Of Date)
+                _tlCount = 0
+                For Each key As Date In _tlTimestamps.Keys
+                    If key.CompareTo(oneHour) < 0 Then
+                        keys.Add(key)
+                    Else
+                        _tlCount += _tlTimestamps(key)
+                    End If
+                Next
+                For Each key As Date In keys
+                    _tlTimestamps.Remove(key)
+                Next
+                keys.Clear()
+            End SyncLock
+        End If
+
+        '終了ステータス
+        If args.type <> WORKERTYPE.OpenUri Then bw.ReportProgress(100, MakeStatusMessage(args, True)) 'ステータス書き換え、Notifyアイコンアニメーション開始
+
+        rslt.retMsg = ret
+        rslt.type = args.type
+        rslt.tName = args.tName
+        If args.type = WORKERTYPE.DirectMessegeRcv OrElse _
+           args.type = WORKERTYPE.DirectMessegeSnt OrElse _
+           args.type = WORKERTYPE.Reply OrElse _
+           args.type = WORKERTYPE.Timeline OrElse _
+           args.type = WORKERTYPE.Favorites Then
+            rslt.page = args.page - 1   '値が正しいか後でチェック。10ページ毎の継続確認
+        End If
+
+        e.Result = rslt
+
+    End Sub
+
+    Private Function MakeStatusMessage(ByVal AsyncArg As GetWorkerArg, ByVal Finish As Boolean) As String
+        Dim smsg As String = ""
+        If Not Finish Then
+            '継続中メッセージ
+            Select Case AsyncArg.type
+                Case WORKERTYPE.Timeline
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText5 + AsyncArg.page.ToString() + My.Resources.GetTimelineWorker_RunWorkerCompletedText6
+                Case WORKERTYPE.Reply
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText4 + AsyncArg.page.ToString() + My.Resources.GetTimelineWorker_RunWorkerCompletedText6
+                Case WORKERTYPE.DirectMessegeRcv
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText8 + AsyncArg.page.ToString() + My.Resources.GetTimelineWorker_RunWorkerCompletedText6
+                    'Case WORKERTYPE.DirectMessegeSnt
+                    '    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText12 + AsyncArg.page.ToString() + My.Resources.GetTimelineWorker_RunWorkerCompletedText6
+                Case WORKERTYPE.FavAdd
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText15 + AsyncArg.page.ToString() + "/" + AsyncArg.ids.Count.ToString() + _
+                                        My.Resources.GetTimelineWorker_RunWorkerCompletedText16 + (AsyncArg.page - AsyncArg.sIds.Count - 1).ToString()
+                Case WORKERTYPE.FavRemove
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText17 + AsyncArg.page.ToString() + "/" + AsyncArg.ids.Count.ToString() + _
+                                        My.Resources.GetTimelineWorker_RunWorkerCompletedText18 + (AsyncArg.page - AsyncArg.sIds.Count - 1).ToString()
+                Case WORKERTYPE.BlackFavAdd
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText15_black + AsyncArg.page.ToString() + "/" + AsyncArg.ids.Count.ToString() + _
+                                        My.Resources.GetTimelineWorker_RunWorkerCompletedText16 + (AsyncArg.page - AsyncArg.sIds.Count - 1).ToString()
+                Case WORKERTYPE.Favorites
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText19
+            End Select
+        Else
+            '完了メッセージ
+            Select Case AsyncArg.type
+                Case WORKERTYPE.Timeline
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText1
+                Case WORKERTYPE.Reply
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText9
+                Case WORKERTYPE.DirectMessegeRcv
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText11
+                Case WORKERTYPE.DirectMessegeSnt
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText13
+                Case WORKERTYPE.FavAdd
+                    '進捗メッセージ残す
+                Case WORKERTYPE.FavRemove
+                    '進捗メッセージ残す
+                Case WORKERTYPE.BlackFavAdd
+                    '進捗メッセージ残す
+                Case WORKERTYPE.Favorites
+                    smsg = My.Resources.GetTimelineWorker_RunWorkerCompletedText20
+                Case WORKERTYPE.Follower
+                    smsg = My.Resources.UpdateFollowersMenuItem1_ClickText3
+            End Select
+        End If
+        Return smsg
+    End Function
+
+    Private Sub GetTimelineWorker_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs)
+        If _endingFlag Then Exit Sub
+        If e.ProgressPercentage > 100 Then
+            '発言投稿
+            If e.ProgressPercentage = 200 Then    '開始
+                StatusLabel.Text = "Posting..."
+                StatusText.Enabled = False
+                PostButton.Enabled = False
+                ReplyStripMenuItem.Enabled = False
+                DMStripMenuItem.Enabled = False
+            End If
+            If e.ProgressPercentage = 300 Then  '終了
+                StatusLabel.Text = My.Resources.PostWorker_RunWorkerCompletedText4
+                StatusText.Enabled = True
+                PostButton.Enabled = True
+                ReplyStripMenuItem.Enabled = True
+                DMStripMenuItem.Enabled = True
+            End If
+        Else
+            Dim smsg As String = DirectCast(e.UserState, String)
+            If smsg.Length > 0 Then StatusLabel.Text = smsg
+        End If
+    End Sub
+
+    Private Sub GetTimelineWorker_RunWorkerCompleted(ByVal sender As System.Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs)
+
+        If _endingFlag OrElse e.Cancelled Then Exit Sub 'キャンセル
+
+        IsNetworkAvailable()
+
+        'If _myStatusOnline Then
+        '    'タイマー再始動
+        '    If SettingDialog.TimelinePeriodInt > 0 AndAlso Not TimerTimeline.Enabled Then TimerTimeline.Enabled = True
+        '    If SettingDialog.DMPeriodInt > 0 AndAlso Not TimerDM.Enabled Then TimerDM.Enabled = True
+        '    If SettingDialog.ReplyPeriodInt > 0 AndAlso Not TimerReply.Enabled Then TimerReply.Enabled = True
+        'End If
+
+        If e.Error IsNot Nothing Then
+            _myStatusError = True
+            _waitTimeline = False
+            _waitReply = False
+            _waitDm = False
+            _waitFav = False
+            Throw New Exception("BackgroundWorker Exception", e.Error)
+            Exit Sub
+        End If
+
+        Dim rslt As GetWorkerResult = DirectCast(e.Result, GetWorkerResult)
+        Dim args As New GetWorkerArg()
+
+        If rslt.type = WORKERTYPE.OpenUri Then Exit Sub
+
+        'エラー
+        If rslt.retMsg.Length > 0 Then
+            _myStatusError = True
+            StatusLabel.Text = rslt.retMsg
+            'If Twitter.AccountState = ACCOUNT_STATE.Invalid Then
+            '    Try
+            '        Twitter.AccountState = ACCOUNT_STATE.Validating
+            '        SettingStripMenuItem_Click(Nothing, Nothing)
+            '        Twitter.AccountState = ACCOUNT_STATE.Valid
+            '    Catch ex As Exception
+            '        Twitter.AccountState = ACCOUNT_STATE.Invalid
+            '    End Try
+            'End If
+        End If
+
+        If rslt.type = WORKERTYPE.FavRemove Then
+            DispSelectedPost()          ' 詳細画面書き直し
+            Dim favTabName As String = _statuses.GetTabByType(TabUsageType.Favorites).TabName
+            For Each i As Long In rslt.sIds
+                _statuses.RemovePost(favTabName, i)
+            Next
+            If _curTab.Text.Equals(favTabName) Then
+                _itemCache = Nothing    'キャッシュ破棄
+                _postCache = Nothing
+                _curPost = Nothing
+                _curItemIndex = -1
+            End If
+            For Each tp As TabPage In ListTab.TabPages
+                If tp.Text = favTabName Then
+                    DirectCast(tp.Controls(0), DetailsListView).VirtualListSize = _statuses.Tabs(favTabName).AllCount
+                    Exit For
+                End If
+            Next
+        End If
+
+        'リストに反映
+        Dim busy As Boolean = False
+        For Each bw As BackgroundWorker In _bw
+            If bw IsNot Nothing AndAlso bw.IsBusy Then
+                busy = True
+                Exit For
+            End If
+        Next
+        If Not busy Then RefreshTimeline() 'background処理なければ、リスト反映
+
+        Select Case rslt.type
+            Case WORKERTYPE.Timeline
+                _waitTimeline = False
+                If Not _initial Then
+                    '通常時
+                    '自動調整
+                    If Not SettingDialog.UseAPI Then
+                        If SettingDialog.PeriodAdjust AndAlso SettingDialog.TimelinePeriodInt > 0 Then
+                            If rslt.addCount >= 20 Then
+                                Dim itv As Integer = TimerTimeline.Interval
+                                itv -= 5000
+                                If itv < 15000 Then itv = 15000
+                                TimerTimeline.Interval = itv
+                            Else
+                                TimerTimeline.Interval += 1000
+                                If TimerTimeline.Interval > SettingDialog.TimelinePeriodInt * 1000 Then TimerTimeline.Interval = SettingDialog.TimelinePeriodInt * 1000
+                            End If
+                        End If
+                        If rslt.newDM Then
+                            GetTimeline(WORKERTYPE.DirectMessegeRcv, 1, 0)
+                        End If
+                    Else
+                        'API使用時の取得調整は別途考える(カウント調整?)
+                    End If
+                End If
+            Case WORKERTYPE.Reply
+                _waitReply = False
+                If rslt.newDM AndAlso Not _initial Then
+                    GetTimeline(WORKERTYPE.DirectMessegeRcv, 1, 0)
+                End If
+            Case WORKERTYPE.Favorites
+                _waitFav = False
+            Case WORKERTYPE.DirectMessegeRcv
+                _waitDm = False
+            Case WORKERTYPE.FavAdd, WORKERTYPE.BlackFavAdd, WORKERTYPE.FavRemove
+                _curList.BeginUpdate()
+                If rslt.type = WORKERTYPE.FavRemove AndAlso _statuses.Tabs(_curTab.Text).TabType = TabUsageType.Favorites Then
+                    '色変えは不要
+                Else
+                    For i As Integer = 0 To rslt.sIds.Count - 1
+                        If _curTab.Text.Equals(rslt.tName) Then
+                            Dim idx As Integer = _statuses.Tabs(rslt.tName).IndexOf(rslt.sIds(i))
+                            If idx > -1 Then
+                                Dim post As PostClass = _statuses.Item(rslt.sIds(i))
+                                ChangeCacheStyleRead(post.IsRead, idx, _curTab)
+                                If idx = _curItemIndex Then DispSelectedPost() '選択アイテム再表示
+                            End If
+                        End If
+                    Next
+                End If
+                _curList.EndUpdate()
+            Case WORKERTYPE.PostMessage
+                urlUndoBuffer = Nothing
+                UrlUndoToolStripMenuItem.Enabled = False  'Undoをできないように設定
+
+                If rslt.retMsg.Length > 0 AndAlso Not rslt.retMsg.StartsWith("Outputz") Then
+                    StatusLabel.Text = rslt.retMsg
+                Else
+                    _postTimestamps.Add(Now)
+                    Dim oneHour As Date = Now.Subtract(New TimeSpan(1, 0, 0))
+                    For i As Integer = _postTimestamps.Count - 1 To 0 Step -1
+                        If _postTimestamps(i).CompareTo(oneHour) < 0 Then
+                            _postTimestamps.RemoveAt(i)
+                        End If
+                    Next
+
+                    If rslt.retMsg.Length > 0 Then StatusLabel.Text = rslt.retMsg 'Outputz失敗時
+
+                    StatusText.Text = ""
+                    _history.Add("")
+                    _hisIdx = _history.Count - 1
+                    SetMainWindowTitle()
+                End If
+                If rslt.retMsg.Length = 0 AndAlso SettingDialog.PostAndGet Then GetTimeline(WORKERTYPE.Timeline, 1, 0)
+            Case WORKERTYPE.Follower
+                '_waitFollower = False
+                _itemCache = Nothing
+                _postCache = Nothing
+                _curList.Refresh()
+        End Select
+
+    End Sub
+
+    Private Sub GetTimeline(ByVal WkType As WORKERTYPE, ByVal fromPage As Integer, ByVal toPage As Integer)
+        'toPage=0:通常モード
+        If Not IsNetworkAvailable() Then Exit Sub
+        'タイマー停止
+        If SettingDialog.UseAPI Then
+            Select Case WkType
+                Case WORKERTYPE.Timeline
+                    'TimerTimeline.Enabled = False
+                Case WORKERTYPE.Reply
+                    'TimerReply.Enabled = False
+                Case WORKERTYPE.DirectMessegeRcv, WORKERTYPE.DirectMessegeSnt
+                    'TimerDM.Enabled = False
+            End Select
+        Else
+            Select Case WkType
+                Case WORKERTYPE.Timeline
+                    'TimerTimeline.Enabled = False
+                Case WORKERTYPE.Reply
+                    'TimerReply.Enabled = False
+                Case WORKERTYPE.DirectMessegeRcv, WORKERTYPE.DirectMessegeSnt
+                    'TimerDM.Enabled = False
+            End Select
+        End If
+        '非同期実行引数設定
+        Dim args As New GetWorkerArg
+        args.page = fromPage
+        args.endPage = toPage
+        args.type = WkType
+
+        RunAsync(args)
+
+        'Timeline取得モードの場合はReplyも同時に取得
+        If Not SettingDialog.UseAPI AndAlso _
+           Not _initial AndAlso _
+           WkType = WORKERTYPE.Timeline AndAlso _
+           SettingDialog.CheckReply Then
+            TimerReply.Enabled = False
+            Dim _args As New GetWorkerArg
+            _args.page = fromPage
+            _args.endPage = toPage
+            _args.type = WORKERTYPE.Reply
+            RunAsync(_args)
+        End If
+    End Sub
+
+    Private Function NextPageMessage(ByVal page As Integer) As DialogResult
+        Dim flashRslt As Integer = Win32Api.FlashWindow(Me.Handle.ToInt32, 1)
+        Return MessageBox.Show((page * 20).ToString + My.Resources.GetTimelineWorker_RunWorkerCompletedText2, _
+                           My.Resources.GetTimelineWorker_RunWorkerCompletedText3, _
+                           MessageBoxButtons.YesNo, _
+                           MessageBoxIcon.Question)
+    End Function
+
+    Private Sub NotifyIcon1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseClick
+        If e.Button = Windows.Forms.MouseButtons.Left Then
+            Me.Visible = True
+            If Me.WindowState = FormWindowState.Minimized Then
+                Me.WindowState = FormWindowState.Normal
+            End If
+            Me.Activate()
+        End If
+    End Sub
+
+    Private Sub MyList_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs)
+        MakeReplyOrDirectStatus()
+    End Sub
+
+    Private Sub FavAddToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FavAddToolStripMenuItem.Click
+        If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage OrElse _curList.SelectedIndices.Count = 0 Then Exit Sub
+
+        '複数fav確認msg
+        If _curList.SelectedIndices.Count > 1 Then
+            If MessageBox.Show(My.Resources.FavAddToolStripMenuItem_ClickText1, My.Resources.FavAddToolStripMenuItem_ClickText2, _
+                               MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then
+                Exit Sub
+            End If
+        End If
+
+        Dim args As New GetWorkerArg
+        args.ids = New List(Of Long)
+        args.sIds = New List(Of Long)
+        args.tName = _curTab.Text
+        args.type = WORKERTYPE.FavAdd
+        For Each idx As Integer In _curList.SelectedIndices
+            Dim post As PostClass = GetCurTabPost(idx)
+            If Not post.IsFav Then args.ids.Add(post.Id)
+        Next
+        If args.ids.Count = 0 Then
+            StatusLabel.Text = My.Resources.FavAddToolStripMenuItem_ClickText4
+            Exit Sub
+        End If
+
+        RunAsync(args)
+    End Sub
+
+    Private Sub FavRemoveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FavRemoveToolStripMenuItem.Click
+        If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage OrElse _curList.SelectedIndices.Count = 0 Then Exit Sub
+
+        If _curList.SelectedIndices.Count > 1 Then
+            If MessageBox.Show(My.Resources.FavRemoveToolStripMenuItem_ClickText1, My.Resources.FavRemoveToolStripMenuItem_ClickText2, _
+                               MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then
+                Exit Sub
+            End If
+        End If
+
+        Dim args As New GetWorkerArg()
+        args.ids = New List(Of Long)()
+        args.sIds = New List(Of Long)()
+        args.tName = _curTab.Text
+        args.type = WORKERTYPE.FavRemove
+        For Each idx As Integer In _curList.SelectedIndices
+            Dim post As PostClass = GetCurTabPost(idx)
+            If post.IsFav Then args.ids.Add(post.Id)
+        Next
+        If args.ids.Count = 0 Then
+            StatusLabel.Text = My.Resources.FavRemoveToolStripMenuItem_ClickText4
+            Exit Sub
+        End If
+
+        RunAsync(args)
+    End Sub
+
+    Private Function GetCurTabPost(ByVal Index As Integer) As PostClass
+        If _postCache IsNot Nothing AndAlso Index >= _itemCacheIndex AndAlso Index < _itemCacheIndex + _postCache.Length Then
+            Return _postCache(Index - _itemCacheIndex)
+        Else
+            Return _statuses.Item(_curTab.Text, Index)
+        End If
+    End Function
+
+
+    Private Sub MoveToHomeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MoveToHomeToolStripMenuItem.Click
+        If _curList.SelectedIndices.Count > 0 Then
+            OpenUriAsync("http://twitter.com/" + GetCurTabPost(_curList.SelectedIndices(0)).Name)
+        End If
+    End Sub
+
+    Private Sub MoveToFavToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MoveToFavToolStripMenuItem.Click
+        If _curList.SelectedIndices.Count > 0 Then
+            OpenUriAsync("http://twitter.com/" + GetCurTabPost(_curList.SelectedIndices(0)).Name + "/favorites")
+        End If
+    End Sub
+
+    Private Sub Tween_ClientSizeChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.ClientSizeChanged
+        'ショートカットから最小化状態で起動した際の対応
+        Static initialize As Boolean = False
+
+        If Me.WindowState <> FormWindowState.Minimized Then
+            If initialize Then
+                If Me.WindowState = FormWindowState.Normal Then
+                    _mySize = Me.ClientSize
+                    _mySpDis = Me.SplitContainer1.SplitterDistance
+                    If StatusText.Multiline Then _mySpDis2 = Me.StatusText.Height
+                    modifySettingLocal = True
+                End If
+            ElseIf _cfgLocal IsNot Nothing Then
+                '初回フォームレイアウト復元
+                Try
+                    Me.SplitContainer1.SplitterDistance = _cfgLocal.SplitterDistance     'Splitterの位置設定
+                    '発言欄複数行
+                    StatusText.Multiline = _cfgLocal.StatusMultiline
+                    If StatusText.Multiline Then
+                        SplitContainer2.SplitterDistance = SplitContainer2.Height - _cfgLocal.StatusTextHeight - SplitContainer2.SplitterWidth
+                    Else
+                        SplitContainer2.SplitterDistance = SplitContainer2.Height - SplitContainer2.Panel2MinSize - SplitContainer2.SplitterWidth
+                    End If
+                    initialize = True
+                Catch ex As Exception
+                End Try
+            End If
+        End If
+    End Sub
+
+    Private Sub MyList_ColumnClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ColumnClickEventArgs)
+        If SettingDialog.SortOrderLock Then Exit Sub
+        Dim mode As IdComparerClass.ComparerMode
+        If _iconCol Then
+            mode = IdComparerClass.ComparerMode.Id
+        Else
+            Select Case e.Column
+                Case 0, 5, 6    '0:アイコン,5:未読マーク,6:プロテクト・フィルターマーク
+                    'ソートしない
+                    Exit Sub
+                Case 1  'ニックネーム
+                    mode = IdComparerClass.ComparerMode.Nickname
+                Case 2  '本文
+                    mode = IdComparerClass.ComparerMode.Data
+                Case 3  '時刻=発言Id
+                    mode = IdComparerClass.ComparerMode.Id
+                Case 4  '名前
+                    mode = IdComparerClass.ComparerMode.Name
+                Case 7  'Source
+                    mode = IdComparerClass.ComparerMode.Source
+            End Select
+        End If
+        _statuses.ToggleSortOrder(mode)
+        _itemCache = Nothing
+        _postCache = Nothing
+        _curList.Refresh()
+        modifySettingCommon = True
+    End Sub
+
+    Private Sub Tween_LocationChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LocationChanged
+        If Me.WindowState = FormWindowState.Normal Then
+            _myLoc = Me.DesktopLocation
+            modifySettingLocal = True
+        End If
+    End Sub
+
+    Private Sub ContextMenuStrip2_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip2.Opening
+        If _statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.DirectMessage Then
+            FavAddToolStripMenuItem.Enabled = False
+            FavRemoveToolStripMenuItem.Enabled = False
+            StatusOpenMenuItem.Enabled = False
+            FavorareMenuItem.Enabled = False
+            BlackFavAddToolStripMenuItem.Enabled = False
+            'BlackFavRemoveToolStripMenuItem.Enabled = False
+        Else
+            If IsNetworkAvailable() Then
+                FavAddToolStripMenuItem.Enabled = True
+                FavRemoveToolStripMenuItem.Enabled = True
+                StatusOpenMenuItem.Enabled = True
+                FavorareMenuItem.Enabled = True
+                BlackFavAddToolStripMenuItem.Enabled = True
+                'BlackFavRemoveToolStripMenuItem.Enabled = True
+            End If
+        End If
+        If _curPost Is Nothing OrElse _curPost.IsDm Then
+            ReTweetStripMenuItem.Enabled = False
+            ReTweetOriginalStripMenuItem.Enabled = False
+        Else
+            ReTweetStripMenuItem.Enabled = True
+            ReTweetOriginalStripMenuItem.Enabled = True
+        End If
+    End Sub
+
+    Private Sub ReplyStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReplyStripMenuItem.Click
+        MakeReplyOrDirectStatus(False, True)
+    End Sub
+
+    Private Sub DMStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DMStripMenuItem.Click
+        MakeReplyOrDirectStatus(False, False)
+    End Sub
+
+    Private Sub DeleteStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteStripMenuItem.Click
+        If _curTab Is Nothing OrElse _curList Is Nothing Then Exit Sub
+        If _statuses.Tabs(_curTab.Text).TabType <> TabUsageType.DirectMessage Then
+            Dim myPost As Boolean = False
+            For Each idx As Integer In _curList.SelectedIndices
+                If GetCurTabPost(idx).IsMe Then
+                    myPost = True
+                    Exit For
+                End If
+            Next
+            If Not myPost Then Exit Sub
+        End If
+
+        Dim tmp As String = String.Format(My.Resources.DeleteStripMenuItem_ClickText1, Environment.NewLine)
+
+        If MessageBox.Show(tmp, My.Resources.DeleteStripMenuItem_ClickText2, _
+              MessageBoxButtons.OKCancel, _
+              MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then Exit Sub
+
+        Dim fidx As Integer
+        If _curList.FocusedItem IsNot Nothing Then
+            fidx = _curList.FocusedItem.Index
+        ElseIf _curList.TopItem IsNot Nothing Then
+            fidx = _curList.TopItem.Index
+        Else
+            fidx = 0
+        End If
+
+        Try
+            Me.Cursor = Cursors.WaitCursor
+
+            Dim rslt As Boolean = True
+            For Each Id As Long In _statuses.GetId(_curTab.Text, _curList.SelectedIndices)
+                Dim rtn As String = ""
+                If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage Then
+                    rtn = Twitter.RemoveDirectMessage(Id)
+                Else
+                    If _statuses.Item(Id).IsMe Then
+                        rtn = Twitter.RemoveStatus(Id)
+                    Else
+                        Continue For
+                    End If
+                End If
+                If rtn.Length > 0 Then
+                    'エラー
+                    rslt = False
+                Else
+                    _statuses.RemovePost(Id)
+                End If
+            Next
+
+            If Not rslt Then
+                StatusLabel.Text = My.Resources.DeleteStripMenuItem_ClickText3  '失敗
+            Else
+                StatusLabel.Text = My.Resources.DeleteStripMenuItem_ClickText4  '成功
+            End If
+
+            _itemCache = Nothing    'キャッシュ破棄
+            _postCache = Nothing
+            _curPost = Nothing
+            _curItemIndex = -1
+            For Each tb As TabPage In ListTab.TabPages
+                DirectCast(tb.Controls(0), DetailsListView).VirtualListSize = _statuses.Tabs(tb.Text).AllCount
+                If _curTab.Equals(tb) Then
+                    _curList.SelectedIndices.Clear()
+                    If _statuses.Tabs(tb.Text).AllCount > 0 Then
+                        If _statuses.Tabs(tb.Text).AllCount - 1 > fidx AndAlso fidx > -1 Then
+                            _curList.SelectedIndices.Add(fidx)
+                        Else
+                            _curList.SelectedIndices.Add(_statuses.Tabs(tb.Text).AllCount - 1)
+                        End If
+                        If _curList.SelectedIndices.Count > 0 Then
+                            _curList.EnsureVisible(_curList.SelectedIndices(0))
+                            _curList.FocusedItem = _curList.Items(_curList.SelectedIndices(0))
+                        End If
+                    End If
+                End If
+                If _statuses.Tabs(tb.Text).UnreadCount = 0 Then
+                    If SettingDialog.TabIconDisp Then
+                        If tb.ImageIndex = 0 Then tb.ImageIndex = -1 'タブアイコン
+                    End If
+                End If
+            Next
+            If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+        Finally
+            Me.Cursor = Cursors.Default
+        End Try
+    End Sub
+
+    Private Sub ReadedStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReadedStripMenuItem.Click
+        _curList.BeginUpdate()
+        If SettingDialog.UnreadManage Then
+            For Each idx As Integer In _curList.SelectedIndices
+                _statuses.SetRead(True, _curTab.Text, idx)
+            Next
+        End If
+        For Each idx As Integer In _curList.SelectedIndices
+            ChangeCacheStyleRead(True, idx, _curTab)
+        Next
+        ColorizeList()
+        _curList.EndUpdate()
+        For Each tb As TabPage In ListTab.TabPages
+            If _statuses.Tabs(tb.Text).UnreadCount = 0 Then
+                If SettingDialog.TabIconDisp Then
+                    If tb.ImageIndex = 0 Then tb.ImageIndex = -1 'タブアイコン
+                End If
+            End If
+        Next
+        If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+    End Sub
+
+    Private Sub UnreadStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UnreadStripMenuItem.Click
+        _curList.BeginUpdate()
+        If SettingDialog.UnreadManage Then
+            For Each idx As Integer In _curList.SelectedIndices
+                _statuses.SetRead(False, _curTab.Text, idx)
+            Next
+        End If
+        For Each idx As Integer In _curList.SelectedIndices
+            ChangeCacheStyleRead(False, idx, _curTab)
+        Next
+        ColorizeList()
+        _curList.EndUpdate()
+        For Each tb As TabPage In ListTab.TabPages
+            If _statuses.Tabs(tb.Text).UnreadCount > 0 Then
+                If SettingDialog.TabIconDisp Then
+                    If tb.ImageIndex = -1 Then tb.ImageIndex = 0 'タブアイコン
+                End If
+            End If
+        Next
+        If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+    End Sub
+
+    Private Sub RefreshStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshStripMenuItem.Click
+        DoRefresh()
+    End Sub
+
+    Private Sub DoRefresh()
+        If _curTab IsNot Nothing Then
+            Select Case _statuses.Tabs(_curTab.Text).TabType
+                Case TabUsageType.Mentions
+                    GetTimeline(WORKERTYPE.Reply, 1, 0)
+                Case TabUsageType.DirectMessage
+                    GetTimeline(WORKERTYPE.DirectMessegeRcv, 1, 0)
+                Case TabUsageType.Favorites
+                    GetTimeline(WORKERTYPE.Favorites, 1, 0)
+                    'Case TabUsageType.Profile
+                    '' TODO
+                    'Case TabUsageType.PublicSearch
+                    '' TODO
+                Case Else
+                    GetTimeline(WORKERTYPE.Timeline, 1, 0)
+            End Select
+        Else
+            GetTimeline(WORKERTYPE.Timeline, 1, 0)
+        End If
+    End Sub
+
+    Private Sub SettingStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SettingStripMenuItem.Click
+        Dim chgUseApi As Boolean = False
+        Dim result As DialogResult
+
+        Try
+            result = SettingDialog.ShowDialog()
+        Catch ex As Exception
+            Exit Sub
+        End Try
+        If result = Windows.Forms.DialogResult.OK Then
+            SyncLock _syncObject
+                _username = SettingDialog.UserID
+                _password = SettingDialog.PasswordStr
+                Twitter.Username = _username
+                Twitter.Password = _password
+                Try
+                    If SettingDialog.TimelinePeriodInt > 0 Then
+                        If SettingDialog.PeriodAdjust AndAlso Not SettingDialog.UseAPI Then
+                            If SettingDialog.TimelinePeriodInt * 1000 < TimerTimeline.Interval Then
+                                TimerTimeline.Interval = SettingDialog.TimelinePeriodInt * 1000
+                            End If
+                        Else
+                            TimerTimeline.Interval = SettingDialog.TimelinePeriodInt * 1000
+                        End If
+                        TimerTimeline.Enabled = True
+                    Else
+                        TimerTimeline.Interval = 600000
+                        TimerTimeline.Enabled = False
+                    End If
+                    If SettingDialog.ReplyPeriodInt > 0 Then
+                        TimerReply.Interval = SettingDialog.ReplyPeriodInt * 1000
+                        TimerReply.Enabled = True
+                    Else
+                        TimerReply.Interval = 6000000
+                        TimerReply.Enabled = False
+                    End If
+                    If SettingDialog.DMPeriodInt > 0 Then
+                        TimerDM.Interval = SettingDialog.DMPeriodInt * 1000
+                        TimerDM.Enabled = True
+                    Else
+                        TimerDM.Interval = 6000000
+                        TimerDM.Enabled = False
+                    End If
+                Catch ex As Exception
+                    ex.Data("Instance") = "Set Timers"
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+                Twitter.NextThreshold = SettingDialog.NextPageThreshold
+                Twitter.NextPages = SettingDialog.NextPagesInt
+                If Twitter.UseAPI <> SettingDialog.UseAPI AndAlso Not _initial Then
+                    chgUseApi = True
+                End If
+                Twitter.UseAPI = SettingDialog.UseAPI
+                Twitter.CountApi = SettingDialog.CountApi
+                Twitter.UsePostMethod = False
+                Twitter.HubServer = SettingDialog.HubServer
+                Twitter.TinyUrlResolve = SettingDialog.TinyUrlResolve
+                Twitter.RestrictFavCheck = SettingDialog.RestrictFavCheck
+                Twitter.ReadOwnPost = SettingDialog.ReadOwnPost
+                Twitter.UseSsl = SettingDialog.UseSsl
+                Twitter.BitlyId = SettingDialog.BitlyUser
+                Twitter.BitlyKey = SettingDialog.BitlyPwd
+
+                Twitter.SelectedProxyType = SettingDialog.SelectedProxyType
+                Twitter.ProxyAddress = SettingDialog.ProxyAddress
+                Twitter.ProxyPort = SettingDialog.ProxyPort
+                Twitter.ProxyUser = SettingDialog.ProxyUser
+                Twitter.ProxyPassword = SettingDialog.ProxyPassword
+                Try
+                    If SettingDialog.TabIconDisp Then
+                        RemoveHandler ListTab.DrawItem, AddressOf ListTab_DrawItem
+                        ListTab.DrawMode = TabDrawMode.Normal
+                        ListTab.ImageList = Me.TabImage
+                    Else
+                        RemoveHandler ListTab.DrawItem, AddressOf ListTab_DrawItem
+                        AddHandler ListTab.DrawItem, AddressOf ListTab_DrawItem
+                        ListTab.DrawMode = TabDrawMode.OwnerDrawFixed
+                        ListTab.ImageList = Nothing
+                    End If
+                Catch ex As Exception
+                    ex.Data("Instance") = "ListTab(TabIconDisp)"
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+
+                Try
+                    If Not SettingDialog.UnreadManage Then
+                        ReadedStripMenuItem.Enabled = False
+                        UnreadStripMenuItem.Enabled = False
+                        If SettingDialog.TabIconDisp Then
+                            For Each myTab As TabPage In ListTab.TabPages
+                                myTab.ImageIndex = -1
+                            Next
+                        End If
+                    Else
+                        ReadedStripMenuItem.Enabled = True
+                        UnreadStripMenuItem.Enabled = True
+                    End If
+                Catch ex As Exception
+                    ex.Data("Instance") = "ListTab(UnreadManage)"
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+
+                Try
+                    For Each mytab As TabPage In ListTab.TabPages
+                        Dim lst As DetailsListView = DirectCast(mytab.Controls(0), DetailsListView)
+                        lst.GridLines = SettingDialog.ShowGrid
+                    Next
+                Catch ex As Exception
+                    ex.Data("Instance") = "ListTab(ShowGrid)"
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+
+                PlaySoundMenuItem.Checked = SettingDialog.PlaySound
+                _fntUnread = SettingDialog.FontUnread
+                _clUnread = SettingDialog.ColorUnread
+                _fntReaded = SettingDialog.FontReaded
+                _clReaded = SettingDialog.ColorReaded
+                _clFav = SettingDialog.ColorFav
+                _clOWL = SettingDialog.ColorOWL
+                _fntDetail = SettingDialog.FontDetail
+                _clDetail = SettingDialog.ColorDetail
+                _clDetailLink = SettingDialog.ColorDetailLink
+                _clDetailBackcolor = SettingDialog.ColorDetailBackcolor
+                _clSelf = SettingDialog.ColorSelf
+                _clAtSelf = SettingDialog.ColorAtSelf
+                _clTarget = SettingDialog.ColorTarget
+                _clAtTarget = SettingDialog.ColorAtTarget
+                _clAtFromTarget = SettingDialog.ColorAtFromTarget
+                _clAtTo = SettingDialog.ColorAtTo
+                _clListBackcolor = SettingDialog.ColorListBackcolor
+                _clInputBackcolor = SettingDialog.ColorInputBackcolor
+                _clInputFont = SettingDialog.ColorInputFont
+                _fntInputFont = SettingDialog.FontInputFont
+                Try
+                    If StatusText.Focused Then StatusText.BackColor = _clInputBackcolor
+                    StatusText.Font = _fntInputFont
+                    StatusText.ForeColor = _clInputFont
+                Catch ex As Exception
+                    MessageBox.Show(ex.Message)
+                End Try
+
+                _brsForeColorUnread.Dispose()
+                _brsForeColorReaded.Dispose()
+                _brsForeColorFav.Dispose()
+                _brsForeColorOWL.Dispose()
+                _brsForeColorUnread = New SolidBrush(_clUnread)
+                _brsForeColorReaded = New SolidBrush(_clReaded)
+                _brsForeColorFav = New SolidBrush(_clFav)
+                _brsForeColorOWL = New SolidBrush(_clOWL)
+                _brsBackColorMine.Dispose()
+                _brsBackColorAt.Dispose()
+                _brsBackColorYou.Dispose()
+                _brsBackColorAtYou.Dispose()
+                _brsBackColorAtFromTarget.Dispose()
+                _brsBackColorAtTo.Dispose()
+                _brsBackColorNone.Dispose()
+                _brsBackColorMine = New SolidBrush(_clSelf)
+                _brsBackColorAt = New SolidBrush(_clAtSelf)
+                _brsBackColorYou = New SolidBrush(_clTarget)
+                _brsBackColorAtYou = New SolidBrush(_clAtTarget)
+                _brsBackColorAtFromTarget = New SolidBrush(_clAtFromTarget)
+                _brsBackColorAtTo = New SolidBrush(_clAtTo)
+                _brsBackColorNone = New SolidBrush(_clListBackcolor)
+                Try
+                    If SettingDialog.IsMonospace Then
+                        detailHtmlFormatHeader = detailHtmlFormatMono1
+                        detailHtmlFormatFooter = detailHtmlFormatMono7
+                    Else
+                        detailHtmlFormatHeader = detailHtmlFormat1
+                        detailHtmlFormatFooter = detailHtmlFormat7
+                    End If
+                    detailHtmlFormatHeader += _fntDetail.Name + detailHtmlFormat2 + _fntDetail.Size.ToString() + detailHtmlFormat3 + _clDetail.R.ToString + "," + _clDetail.G.ToString + "," + _clDetail.B.ToString + detailHtmlFormat4 + _clDetailLink.R.ToString + "," + _clDetailLink.G.ToString + "," + _clDetailLink.B.ToString + detailHtmlFormat5 + _clDetailBackcolor.R.ToString + "," + _clDetailBackcolor.G.ToString + "," + _clDetailBackcolor.B.ToString
+                    If SettingDialog.IsMonospace Then
+                        detailHtmlFormatHeader += detailHtmlFormatMono6
+                    Else
+                        detailHtmlFormatHeader += detailHtmlFormat6
+                    End If
+                Catch ex As Exception
+                    ex.Data("Instance") = "Font"
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+                Try
+                    _statuses.SetUnreadManage(SettingDialog.UnreadManage)
+                Catch ex As Exception
+                    ex.Data("Instance") = "_statuses"
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+
+                Try
+                    For Each tb As TabPage In ListTab.TabPages
+                        If SettingDialog.TabIconDisp Then
+                            If _statuses.Tabs(tb.Text).UnreadCount = 0 Then
+                                tb.ImageIndex = -1
+                            Else
+                                tb.ImageIndex = 0
+                            End If
+                        End If
+                        If tb.Controls IsNot Nothing AndAlso tb.Controls.Count > 0 Then
+                            DirectCast(tb.Controls(0), DetailsListView).Font = _fntReaded
+                            DirectCast(tb.Controls(0), DetailsListView).BackColor = _clListBackcolor
+                        End If
+                    Next
+                Catch ex As Exception
+                    ex.Data("Instance") = "ListTab(TabIconDisp no2)"
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+                If SettingDialog.UseAtIdSupplement AndAlso AtIdSupl Is Nothing Then
+                    AtIdSupl = New AtIdSupplement(SettingAtIdList.Load().AtIdList)
+                End If
+                If Not SettingDialog.UseAtIdSupplement AndAlso AtIdSupl IsNot Nothing Then
+                    AtIdSupl = Nothing
+                End If
+                SetMainWindowTitle()
+                SetNotifyIconText()
+
+                _itemCache = Nothing
+                _postCache = Nothing
+                If _curList IsNot Nothing Then _curList.Refresh()
+                ListTab.Refresh()
+            End SyncLock
+        End If
+
+        Twitter.AccountState = ACCOUNT_STATE.Valid
+
+        Me.TopMost = SettingDialog.AlwaysTop
+        SaveConfigsAll(False)
+
+        If chgUseApi AndAlso SettingDialog.OneWayLove Then doGetFollowersMenu(False) 'API使用を切り替えたら取り直し
+    End Sub
+
+    Private Sub PostBrowser_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles PostBrowser.Navigated
+        If e.Url.AbsoluteUri <> "about:blank" Then
+            DispSelectedPost()
+            OpenUriAsync(e.Url.AbsoluteUri)
+        End If
+    End Sub
+
+    Private Sub PostBrowser_Navigating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserNavigatingEventArgs) Handles PostBrowser.Navigating
+        If e.Url.Scheme = "data" Then
+            StatusLabelUrl.Text = PostBrowser.StatusText.Replace("&", "&&")
+        ElseIf e.Url.AbsoluteUri <> "about:blank" Then
+            e.Cancel = True
+            OpenUriAsync(e.Url.AbsoluteUri)
+        End If
+    End Sub
+
+    Public Function AddNewTab(ByVal tabName As String, ByVal startup As Boolean) As Boolean
+        '重複チェック
+        For Each tb As TabPage In ListTab.TabPages
+            If tb.Text = tabName Then Return False
+        Next
+
+        '新規タブ名チェック
+        If tabName = My.Resources.AddNewTabText1 Then Return False
+        If tabName <> ReplaceInvalidFilename(tabName) Then Return False
+
+        'Dim myTab As New TabStructure()
+
+        Dim _tabPage As TabPage = New TabPage
+        Dim _listCustom As DetailsListView = New DetailsListView
+        Dim _colHd1 As ColumnHeader = New ColumnHeader()  'アイコン
+        Dim _colHd2 As ColumnHeader = New ColumnHeader()   'ニックネーム
+        Dim _colHd3 As ColumnHeader = New ColumnHeader()   '本文
+        Dim _colHd4 As ColumnHeader = New ColumnHeader()   '日付
+        Dim _colHd5 As ColumnHeader = New ColumnHeader()   'ユーザID
+        Dim _colHd6 As ColumnHeader = New ColumnHeader()   '未読
+        Dim _colHd7 As ColumnHeader = New ColumnHeader()   'マーク&プロテクト
+        Dim _colHd8 As ColumnHeader = New ColumnHeader()   'ソース
+        'If Not _iconCol Then
+        '_colHd2 = New ColumnHeader()
+        '_colHd3 = New ColumnHeader()
+        '_colHd4 = New ColumnHeader()
+        '_colHd5 = New ColumnHeader()
+        '_colHd6 = New ColumnHeader()
+        '_colHd7 = New ColumnHeader()
+        '_colHd8 = New ColumnHeader()
+        '_colHd9 = New ColumnHeader()
+        'End If
+
+        'If Not startup Then _section.ListElement.Add(New ListElement(tabName))
+
+        Dim cnt As Integer = ListTab.TabPages.Count
+
+        Me.SplitContainer1.Panel1.SuspendLayout()
+        Me.SplitContainer1.Panel2.SuspendLayout()
+        Me.SplitContainer1.SuspendLayout()
+        Me.ListTab.SuspendLayout()
+        Me.SuspendLayout()
+
+        _tabPage.SuspendLayout()
+
+        Me.ListTab.Controls.Add(_tabPage)
+
+        _tabPage.Controls.Add(_listCustom)
+        _tabPage.Location = New Point(4, 4)
+        _tabPage.Name = "CTab" + cnt.ToString()
+        _tabPage.Size = New Size(380, 260)
+        _tabPage.TabIndex = 2 + cnt
+        _tabPage.Text = tabName
+        _tabPage.UseVisualStyleBackColor = True
+
+        _listCustom.AllowColumnReorder = True
+        If Not _iconCol Then
+            _listCustom.Columns.AddRange(New ColumnHeader() {_colHd1, _colHd2, _colHd3, _colHd4, _colHd5, _colHd6, _colHd7, _colHd8})
+        Else
+            _listCustom.Columns.AddRange(New ColumnHeader() {_colHd1, _colHd3})
+        End If
+        _listCustom.ContextMenuStrip = Me.ContextMenuStrip2
+        _listCustom.Dock = DockStyle.Fill
+        _listCustom.FullRowSelect = True
+        _listCustom.HideSelection = False
+        _listCustom.Location = New Point(0, 0)
+        _listCustom.Margin = New Padding(0)
+        _listCustom.Name = "CList" + Environment.TickCount.ToString()
+        _listCustom.ShowItemToolTips = True
+        _listCustom.Size = New Size(380, 260)
+        _listCustom.TabIndex = 4                                   'これ大丈夫?
+        _listCustom.UseCompatibleStateImageBehavior = False
+        _listCustom.View = View.Details
+        _listCustom.OwnerDraw = True
+        _listCustom.VirtualMode = True
+        _listCustom.Font = _fntReaded
+        _listCustom.BackColor = _clListBackcolor
+
+        _listCustom.GridLines = SettingDialog.ShowGrid
+
+        AddHandler _listCustom.SelectedIndexChanged, AddressOf MyList_SelectedIndexChanged
+        AddHandler _listCustom.MouseDoubleClick, AddressOf MyList_MouseDoubleClick
+        AddHandler _listCustom.ColumnClick, AddressOf MyList_ColumnClick
+        AddHandler _listCustom.DrawColumnHeader, AddressOf MyList_DrawColumnHeader
+
+        Select Case _iconSz
+            Case 26, 48
+                AddHandler _listCustom.DrawItem, AddressOf MyList_DrawItem
+            Case Else
+                AddHandler _listCustom.DrawItem, AddressOf MyList_DrawItemDefault
+        End Select
+
+        AddHandler _listCustom.Scrolled, AddressOf Mylist_Scrolled
+        AddHandler _listCustom.MouseClick, AddressOf MyList_MouseClick
+        AddHandler _listCustom.ColumnReordered, AddressOf MyList_ColumnReordered
+        AddHandler _listCustom.ColumnWidthChanged, AddressOf MyList_ColumnWidthChanged
+        AddHandler _listCustom.CacheVirtualItems, AddressOf MyList_CacheVirtualItems
+        AddHandler _listCustom.RetrieveVirtualItem, AddressOf MyList_RetrieveVirtualItem
+        AddHandler _listCustom.DrawSubItem, AddressOf MyList_DrawSubItem
+
+        _colHd1.Text = ""
+        _colHd1.Width = 48
+        'If Not _iconCol Then
+        _colHd2.Text = My.Resources.AddNewTabText2
+        _colHd2.Width = 80
+        _colHd3.Text = My.Resources.AddNewTabText3
+        _colHd3.Width = 300
+        If SettingDialog.UseAPI Then
+            _colHd4.Text = My.Resources.AddNewTabText4_2
+        Else
+            _colHd4.Text = My.Resources.AddNewTabText4
+        End If
+        _colHd4.Width = 50
+        _colHd5.Text = My.Resources.AddNewTabText5
+        _colHd5.Width = 50
+        _colHd6.Text = ""
+        _colHd6.Width = 16
+        _colHd7.Text = ""
+        _colHd7.Width = 16
+        _colHd8.Text = "Source"
+        _colHd8.Width = 50
+        'End If
+
+        If _statuses.Tabs(tabName).TabType = TabUsageType.Mentions OrElse Not _statuses.IsDefaultTab(tabName) Then
+            TabDialog.AddTab(tabName)
+        End If
+
+        _listCustom.SmallImageList = TIconSmallList
+        '_listCustom.ListViewItemSorter = listViewItemSorter
+        Dim dispOrder(7) As Integer
+        If Not startup Then
+            For i As Integer = 0 To _curList.Columns.Count - 1
+                For j As Integer = 0 To _curList.Columns.Count - 1
+                    If _curList.Columns(j).DisplayIndex = i Then
+                        dispOrder(i) = j
+                        Exit For
+                    End If
+                Next
+            Next
+            For i As Integer = 0 To _curList.Columns.Count - 1
+                _listCustom.Columns(i).Width = _curList.Columns(i).Width
+                _listCustom.Columns(dispOrder(i)).DisplayIndex = i
+            Next
+        Else
+            If _iconCol Then
+                _listCustom.Columns(0).Width = _cfgLocal.Width1
+                _listCustom.Columns(1).Width = _cfgLocal.Width3
+                _listCustom.Columns(0).DisplayIndex = 0
+                _listCustom.Columns(1).DisplayIndex = 1
+            Else
+                For i As Integer = 0 To 7
+                    If _cfgLocal.DisplayIndex1 = i Then
+                        dispOrder(i) = 0
+                    ElseIf _cfgLocal.DisplayIndex2 = i Then
+                        dispOrder(i) = 1
+                    ElseIf _cfgLocal.DisplayIndex3 = i Then
+                        dispOrder(i) = 2
+                    ElseIf _cfgLocal.DisplayIndex4 = i Then
+                        dispOrder(i) = 3
+                    ElseIf _cfgLocal.DisplayIndex5 = i Then
+                        dispOrder(i) = 4
+                    ElseIf _cfgLocal.DisplayIndex6 = i Then
+                        dispOrder(i) = 5
+                    ElseIf _cfgLocal.DisplayIndex7 = i Then
+                        dispOrder(i) = 6
+                    ElseIf _cfgLocal.DisplayIndex8 = i Then
+                        dispOrder(i) = 7
+                    End If
+                Next
+                _listCustom.Columns(0).Width = _cfgLocal.Width1
+                _listCustom.Columns(1).Width = _cfgLocal.Width2
+                _listCustom.Columns(2).Width = _cfgLocal.Width3
+                _listCustom.Columns(3).Width = _cfgLocal.Width4
+                _listCustom.Columns(4).Width = _cfgLocal.Width5
+                _listCustom.Columns(5).Width = _cfgLocal.Width6
+                _listCustom.Columns(6).Width = _cfgLocal.Width7
+                _listCustom.Columns(7).Width = _cfgLocal.Width8
+                For i As Integer = 0 To 7
+                    _listCustom.Columns(dispOrder(i)).DisplayIndex = i
+                Next
+            End If
+        End If
+
+        _tabPage.ResumeLayout(False)
+
+        Me.SplitContainer1.Panel1.ResumeLayout(False)
+        Me.SplitContainer1.Panel2.ResumeLayout(False)
+        Me.SplitContainer1.ResumeLayout(False)
+        Me.ListTab.ResumeLayout(False)
+        Me.ResumeLayout(False)
+        Me.PerformLayout()
+        Return True
+    End Function
+
+    Public Function RemoveSpecifiedTab(ByVal TabName As String) As Boolean
+        Dim idx As Integer = 0
+        For idx = 0 To ListTab.TabPages.Count - 1
+            If ListTab.TabPages(idx).Text = TabName Then Exit For
+        Next
+
+        If _statuses.IsDefaultTab(TabName) Then Return False
+
+        Dim tmp As String = String.Format(My.Resources.RemoveSpecifiedTabText1, Environment.NewLine)
+        If MessageBox.Show(tmp, My.Resources.RemoveSpecifiedTabText2, _
+                         MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then
+            Return False
+        End If
+
+        SetListProperty()   '他のタブに列幅等を反映
+
+        'オブジェクトインスタンスの削除
+        Me.SplitContainer1.Panel1.SuspendLayout()
+        Me.SplitContainer1.Panel2.SuspendLayout()
+        Me.SplitContainer1.SuspendLayout()
+        Me.ListTab.SuspendLayout()
+        Me.SuspendLayout()
+
+        Dim _tabPage As TabPage = ListTab.TabPages(idx)
+        Dim _listCustom As DetailsListView = DirectCast(_tabPage.Controls(0), DetailsListView)
+
+        _tabPage.SuspendLayout()
+
+        Me.ListTab.Controls.Remove(_tabPage)
+        _tabPage.Controls.Remove(_listCustom)
+        _listCustom.Columns.Clear()
+        _listCustom.ContextMenuStrip = Nothing
+
+        RemoveHandler _listCustom.SelectedIndexChanged, AddressOf MyList_SelectedIndexChanged
+        RemoveHandler _listCustom.MouseDoubleClick, AddressOf MyList_MouseDoubleClick
+        RemoveHandler _listCustom.ColumnClick, AddressOf MyList_ColumnClick
+        RemoveHandler _listCustom.DrawColumnHeader, AddressOf MyList_DrawColumnHeader
+
+        Select Case _iconSz
+            Case 26, 48
+                RemoveHandler _listCustom.DrawItem, AddressOf MyList_DrawItem
+            Case Else
+                RemoveHandler _listCustom.DrawItem, AddressOf MyList_DrawItemDefault
+        End Select
+
+        RemoveHandler _listCustom.Scrolled, AddressOf Mylist_Scrolled
+        RemoveHandler _listCustom.MouseClick, AddressOf MyList_MouseClick
+        RemoveHandler _listCustom.ColumnReordered, AddressOf MyList_ColumnReordered
+        RemoveHandler _listCustom.ColumnWidthChanged, AddressOf MyList_ColumnWidthChanged
+        RemoveHandler _listCustom.CacheVirtualItems, AddressOf MyList_CacheVirtualItems
+        RemoveHandler _listCustom.RetrieveVirtualItem, AddressOf MyList_RetrieveVirtualItem
+        RemoveHandler _listCustom.DrawSubItem, AddressOf MyList_DrawSubItem
+
+        TabDialog.RemoveTab(TabName)
+
+        _listCustom.SmallImageList = Nothing
+        _listCustom.ListViewItemSorter = Nothing
+
+        'キャッシュのクリア
+        If _curTab.Equals(_tabPage) Then
+            _curTab = Nothing
+            _curItemIndex = -1
+            _curList = Nothing
+            _curPost = Nothing
+        End If
+        _itemCache = Nothing
+        _itemCacheIndex = -1
+        _postCache = Nothing
+
+        _tabPage.ResumeLayout(False)
+
+        Me.SplitContainer1.Panel1.ResumeLayout(False)
+        Me.SplitContainer1.Panel2.ResumeLayout(False)
+        Me.SplitContainer1.ResumeLayout(False)
+        Me.ListTab.ResumeLayout(False)
+        Me.ResumeLayout(False)
+        Me.PerformLayout()
+
+        _tabPage.Dispose()
+        _listCustom.Dispose()
+        _statuses.RemoveTab(TabName)
+
+        'SaveConfigsCommon()
+        'SaveConfigsTab(False)
+
+        For Each tp As TabPage In ListTab.TabPages
+            Dim lst As DetailsListView = DirectCast(tp.Controls(0), DetailsListView)
+            If lst.VirtualListSize <> _statuses.Tabs(tp.Text).AllCount Then
+                lst.VirtualListSize = _statuses.Tabs(tp.Text).AllCount
+            End If
+        Next
+        Return True
+    End Function
+
+    Private Sub ListTab_Deselected(ByVal sender As Object, ByVal e As System.Windows.Forms.TabControlEventArgs) Handles ListTab.Deselected
+        _itemCache = Nothing
+        _itemCacheIndex = -1
+        _postCache = Nothing
+    End Sub
+
+    Private Sub ListTab_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListTab.MouseMove
+        'タブのD&D
+        Dim cpos As New Point(e.X, e.Y)
+
+        If e.Button = Windows.Forms.MouseButtons.Left AndAlso _tabDrag Then
+            Dim tn As String = ""
+            For i As Integer = 0 To ListTab.TabPages.Count - 1
+                Dim rect As Rectangle = ListTab.GetTabRect(i)
+                If rect.Left <= cpos.X AndAlso cpos.X <= rect.Right AndAlso _
+                   rect.Top <= cpos.Y AndAlso cpos.Y <= rect.Bottom Then
+                    tn = ListTab.TabPages(i).Text
+                    Exit For
+                End If
+            Next
+
+            If tn = "" Then Exit Sub
+
+            For Each tb As TabPage In ListTab.TabPages
+                If tb.Text = tn Then
+                    ListTab.DoDragDrop(tb, DragDropEffects.All)
+                    Exit For
+                End If
+            Next
+        Else
+            _tabDrag = False
+        End If
+
+        For i As Integer = 0 To ListTab.TabPages.Count - 1
+            Dim rect As Rectangle = ListTab.GetTabRect(i)
+            If rect.Left <= cpos.X And cpos.X <= rect.Right And _
+               rect.Top <= cpos.Y And cpos.Y <= rect.Bottom Then
+                _rclickTabName = ListTab.TabPages(i).Text
+                Exit For
+            End If
+        Next
+    End Sub
+
+    Private Sub ListTab_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListTab.SelectedIndexChanged
+        '_curList.Refresh()
+        DispSelectedPost()
+        SetMainWindowTitle()
+        SetStatusLabel()
+    End Sub
+
+    Private Sub SetListProperty()
+        '削除などで見つからない場合は処理せず
+        If _curList Is Nothing Then Exit Sub
+
+        Dim dispOrder(_curList.Columns.Count - 1) As Integer
+        For i As Integer = 0 To _curList.Columns.Count - 1
+            For j As Integer = 0 To _curList.Columns.Count - 1
+                If _curList.Columns(j).DisplayIndex = i Then
+                    dispOrder(i) = j
+                    Exit For
+                End If
+            Next
+        Next
+
+        '列幅、列並びを他のタブに設定
+        For Each tb As TabPage In ListTab.TabPages
+            If Not tb.Equals(_curTab) Then
+                If tb IsNot Nothing AndAlso tb.Controls.Count > 0 Then
+                    Dim lst As DetailsListView = DirectCast(tb.Controls(0), DetailsListView)
+                    For i As Integer = 0 To lst.Columns.Count - 1
+                        lst.Columns(dispOrder(i)).DisplayIndex = i
+                        lst.Columns(i).Width = _curList.Columns(i).Width
+                    Next
+                End If
+            End If
+        Next
+    End Sub
+
+    Private Sub PostBrowser_StatusTextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles PostBrowser.StatusTextChanged
+        If PostBrowser.StatusText.StartsWith("http") OrElse PostBrowser.StatusText.StartsWith("ftp") _
+                OrElse PostBrowser.StatusText.StartsWith("data") Then
+            StatusLabelUrl.Text = PostBrowser.StatusText.Replace("&", "&&")
+        End If
+        If PostBrowser.StatusText = "" Then
+            SetStatusLabel()
+        End If
+    End Sub
+
+    Private Sub StatusText_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles StatusText.KeyPress
+        If Not SettingDialog.UseAtIdSupplement OrElse AtIdSupl Is Nothing Then Exit Sub
+        If e.KeyChar = "@" Then
+            '@マーク
+            AtIdSupl.ShowDialog()
+            Me.TopMost = SettingDialog.AlwaysTop
+            If AtIdSupl.inputId <> "" Then
+                Dim fHalf As String = ""
+                Dim eHalf As String = ""
+                Dim selStart As Integer = StatusText.SelectionStart
+                If selStart > 1 Then
+                    fHalf = StatusText.Text.Substring(0, selStart)
+                End If
+                If selStart < StatusText.Text.Length Then
+                    eHalf = StatusText.Text.Substring(selStart)
+                End If
+                StatusText.Text = fHalf + AtIdSupl.inputId + eHalf
+                StatusText.SelectionStart = selStart + AtIdSupl.inputId.Length
+            Else
+                ''入力なし&Backspaceで戻ったら、入力欄の@も消す
+                'If AtIdSupl.isBack Then
+                '    Dim fHalf As String = ""
+                '    Dim eHalf As String = ""
+                '    Dim selStart As Integer = StatusText.SelectionStart
+                '    If selStart > 1 Then
+                '        fHalf = StatusText.Text.Substring(0, selStart - 1)
+                '    End If
+                '    If selStart < StatusText.Text.Length Then
+                '        eHalf = StatusText.Text.Substring(selStart)
+                '    End If
+                '    StatusText.Text = fHalf + eHalf
+                '    If selStart > 0 Then
+                '        StatusText.SelectionStart = selStart - 1
+                '    End If
+                'End If
+            End If
+            e.Handled = True
+        End If
+    End Sub
+
+    Private Sub StatusText_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles StatusText.KeyUp
+        'スペースキーで未読ジャンプ
+        If Not e.Alt AndAlso Not e.Control AndAlso Not e.Shift Then
+            If e.KeyCode = Keys.Space OrElse e.KeyCode = Keys.ProcessKey Then
+                If StatusText.Text = " " OrElse StatusText.Text = " " Then
+                    e.Handled = True
+                    StatusText.Text = ""
+                    JumpUnreadMenuItem_Click(Nothing, Nothing)
+                End If
+            End If
+        End If
+        Me.StatusText_TextChanged(Nothing, Nothing)
+    End Sub
+
+    Private Sub StatusText_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusText.TextChanged
+        '文字数カウント
+        Dim pLen As Integer = GetRestStatusCount(True, False)
+        lblLen.Text = pLen.ToString()
+        If pLen < 0 Then
+            StatusText.ForeColor = Color.Red
+        Else
+            StatusText.ForeColor = _clInputFont
+        End If
+        If StatusText.Text = "" Then
+            _reply_to_id = 0
+            _reply_to_name = ""
+        End If
+    End Sub
+
+    Private Function GetRestStatusCount(ByVal isAuto As Boolean, ByVal isAddFooter As Boolean) As Integer
+        '文字数カウント
+        Dim pLen As Integer = 140 - StatusText.Text.Length
+        If (isAuto AndAlso Not My.Computer.Keyboard.ShiftKeyDown) OrElse _
+           (Not isAuto AndAlso isAddFooter) Then
+            If SettingDialog.UseRecommendStatus Then
+                pLen -= SettingDialog.RecommendStatusText.Length
+            ElseIf SettingDialog.Status.Length > 0 Then
+                pLen -= SettingDialog.Status.Length + 1
+            End If
+        End If
+        Return pLen
+    End Function
+
+    Private Sub MyList_CacheVirtualItems(ByVal sender As System.Object, ByVal e As System.Windows.Forms.CacheVirtualItemsEventArgs)
+        If _itemCache IsNot Nothing AndAlso _
+           e.StartIndex >= _itemCacheIndex AndAlso _
+           e.EndIndex < _itemCacheIndex + _itemCache.Length AndAlso _
+           _curList.Equals(sender) Then
+            'If the newly requested cache is a subset of the old cache, 
+            'no need to rebuild everything, so do nothing.
+            Return
+        End If
+
+        'Now we need to rebuild the cache.
+        If _curList.Equals(sender) Then CreateCache(e.StartIndex, e.EndIndex)
+    End Sub
+
+    Private Sub MyList_RetrieveVirtualItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.RetrieveVirtualItemEventArgs)
+        If _itemCache IsNot Nothing AndAlso e.ItemIndex >= _itemCacheIndex AndAlso e.ItemIndex < _itemCacheIndex + _itemCache.Length AndAlso _curList.Equals(sender) Then
+            'A cache hit, so get the ListViewItem from the cache instead of making a new one.
+            e.Item = _itemCache(e.ItemIndex - _itemCacheIndex)
+        Else
+            'A cache miss, so create a new ListViewItem and pass it back.
+            Dim tb As TabPage = DirectCast(DirectCast(sender, Tween.TweenCustomControl.DetailsListView).Parent, TabPage)
+            Try
+                e.Item = CreateItem(tb, _
+                                    _statuses.Item(tb.Text, e.ItemIndex), _
+                                    e.ItemIndex)
+            Catch ex As Exception
+                '不正な要求に対する間に合わせの応答
+                Dim sitem() As String = {"", "", "", "", "", "", "", ""}
+                e.Item = New ListViewItem(sitem, -1)
+            End Try
+        End If
+    End Sub
+
+    Private Sub CreateCache(ByVal StartIndex As Integer, ByVal EndIndex As Integer)
+        Try
+            'キャッシュ要求(要求範囲±30を作成)
+            StartIndex -= 30
+            If StartIndex < 0 Then StartIndex = 0
+            EndIndex += 30
+            If EndIndex >= _statuses.Tabs(_curTab.Text).AllCount Then EndIndex = _statuses.Tabs(_curTab.Text).AllCount - 1
+            _postCache = _statuses.Item(_curTab.Text, StartIndex, EndIndex) '配列で取得
+            _itemCacheIndex = StartIndex
+
+            _itemCache = New ListViewItem(_postCache.Length - 1) {}
+            For i As Integer = 0 To _postCache.Length - 1
+                _itemCache(i) = CreateItem(_curTab, _postCache(i), StartIndex + i)
+            Next i
+        Catch ex As Exception
+            'キャッシュ要求が実データとずれるため(イベントの遅延?)
+            _postCache = Nothing
+            _itemCache = Nothing
+        End Try
+    End Sub
+
+    Private Function CreateItem(ByVal Tab As TabPage, ByVal Post As PostClass, ByVal Index As Integer) As ListViewItem
+        Dim mk As String = ""
+        If Post.IsMark Then mk += "♪"
+        If Post.IsProtect Then mk += "Ю"
+        If Post.InReplyToId > 0 Then mk += "⇒"
+        Dim sitem() As String = {"", Post.Nickname, Post.Data, Post.PDate.ToString(SettingDialog.DateTimeFormat), Post.Name, "", mk, Post.Source}
+        Dim itm As ListViewItem = New ListViewItem(sitem, Post.ImageIndex)
+        Dim read As Boolean = Post.IsRead
+        '未読管理していなかったら既読として扱う
+        If Not _statuses.Tabs(Tab.Text).UnreadManage OrElse _
+           Not SettingDialog.UnreadManage Then read = True
+        ChangeItemStyleRead(read, itm, Post, Nothing)
+        If Tab.Equals(_curTab) Then ColorizeList(itm, Index)
+        Return itm
+    End Function
+
+    Private Sub MyList_DrawColumnHeader(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawListViewColumnHeaderEventArgs)
+        e.DrawDefault = True
+    End Sub
+
+    Private Sub MyList_DrawItemDefault(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawListViewItemEventArgs)
+        e.DrawDefault = True
+    End Sub
+
+    Private Sub MyList_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawListViewItemEventArgs)
+        'アイコンサイズ26,48はオーナードロー(DrawSubItem発生させる)
+        If e.State = 0 Then Exit Sub
+        e.DrawDefault = False
+        If Not e.Item.Selected Then     'e.ItemStateでうまく判定できない???
+            Dim brs2 As SolidBrush = Nothing
+            Select Case e.Item.BackColor
+                Case _clSelf
+                    brs2 = _brsBackColorMine
+                Case _clAtSelf
+                    brs2 = _brsBackColorAt
+                Case _clTarget
+                    brs2 = _brsBackColorYou
+                Case _clAtTarget
+                    brs2 = _brsBackColorAtYou
+                Case _clAtFromTarget
+                    brs2 = _brsBackColorAtFromTarget
+                Case _clAtTo
+                    brs2 = _brsBackColorAtTo
+                Case Else
+                    brs2 = _brsBackColorNone
+            End Select
+            e.Graphics.FillRectangle(brs2, e.Bounds)
+        Else
+            '選択中の行
+            If DirectCast(sender, Windows.Forms.Control).Focused Then
+                e.Graphics.FillRectangle(_brsHighLight, e.Bounds)
+            Else
+                e.Graphics.FillRectangle(_brsDeactiveSelection, e.Bounds)
+            End If
+        End If
+        If (e.State And ListViewItemStates.Focused) = ListViewItemStates.Focused Then e.DrawFocusRectangle()
+    End Sub
+
+    Private Sub MyList_DrawSubItem(ByVal sender As Object, ByVal e As DrawListViewSubItemEventArgs)
+        If e.ItemState = 0 Then Exit Sub
+        If e.ColumnIndex > 0 Then
+            Dim rct As RectangleF = e.Bounds
+            Dim rctB As RectangleF = e.Bounds
+            rct.Width = e.Header.Width
+            rctB.Width = e.Header.Width
+            If _iconCol Then rct.Height = 12
+            'アイコン以外の列
+            If Not e.Item.Selected Then     'e.ItemStateでうまく判定できない???
+                '選択されていない行
+                '文字色
+                Dim brs As SolidBrush = Nothing
+                Select Case e.Item.ForeColor
+                    Case _clUnread
+                        brs = _brsForeColorUnread
+                    Case _clReaded
+                        brs = _brsForeColorReaded
+                    Case _clFav
+                        brs = _brsForeColorFav
+                    Case _clOWL
+                        brs = _brsForeColorOWL
+                    Case Else
+                        brs = New SolidBrush(e.Item.ForeColor)
+                End Select
+                If rct.Width > 0 Then
+                    If _iconCol Then
+                        e.Graphics.DrawString(System.Environment.NewLine + e.Item.SubItems(2).Text, e.Item.Font, brs, rctB, sf)
+                        e.Graphics.DrawString(e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") <" + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + "> from " + e.Item.SubItems(7).Text, New Font(e.Item.Font, FontStyle.Bold), brs, rct, sf)
+                    Else
+                        e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, brs, rct, sf)
+                    End If
+                End If
+            Else
+                If rct.Width > 0 Then
+                    '選択中の行
+                    If DirectCast(sender, Windows.Forms.Control).Focused Then
+                        If _iconCol Then
+                            e.Graphics.DrawString(System.Environment.NewLine + e.Item.SubItems(2).Text, e.Item.Font, _brsHighLightText, rctB, sf)
+                            e.Graphics.DrawString(e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") <" + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + "> from " + e.Item.SubItems(7).Text, New Font(e.Item.Font, FontStyle.Bold), _brsHighLightText, rct, sf)
+                        Else
+                            e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, _brsHighLightText, rct, sf)
+                        End If
+                    Else
+                        If _iconCol Then
+                            e.Graphics.DrawString(System.Environment.NewLine + e.Item.SubItems(2).Text, e.Item.Font, _brsForeColorUnread, rctB, sf)
+                            e.Graphics.DrawString(e.Item.SubItems(4).Text + " / " + e.Item.SubItems(1).Text + " (" + e.Item.SubItems(3).Text + ") <" + e.Item.SubItems(5).Text + e.Item.SubItems(6).Text + "> from " + e.Item.SubItems(7).Text, New Font(e.Item.Font, FontStyle.Bold), _brsForeColorUnread, rct, sf)
+                        Else
+                            e.Graphics.DrawString(e.SubItem.Text, e.Item.Font, _brsForeColorUnread, rct, sf)
+                        End If
+                    End If
+                End If
+            End If
+        Else
+            'アイコン列はデフォルト描画
+            e.DrawDefault = True
+        End If
+    End Sub
+
+    Private Sub DoTabSearch(ByVal _word As String, _
+                            ByVal CaseSensitive As Boolean, _
+                            ByVal UseRegex As Boolean, _
+                            ByVal SType As SEARCHTYPE)
+        'Dim myList As DetailsListView = DirectCast(ListTab.SelectedTab.Controls(0), DetailsListView)
+        Dim cidx As Integer = 0
+        Dim fnd As Boolean = False
+        Dim toIdx As Integer
+        Dim stp As Integer = 1
+
+        If _curList.VirtualListSize = 0 Then
+            MessageBox.Show(My.Resources.DoTabSearchText2, My.Resources.DoTabSearchText3, MessageBoxButtons.OK, MessageBoxIcon.Information)
+        End If
+
+        If _curList.SelectedIndices.Count > 0 Then
+            cidx = _curList.SelectedIndices(0)
+        End If
+        toIdx = _curList.VirtualListSize - 1
+
+        Select Case SType
+            Case SEARCHTYPE.DialogSearch    'ダイアログからの検索
+                If _curList.SelectedIndices.Count > 0 Then
+                    cidx = _curList.SelectedIndices(0)
+                Else
+                    cidx = 0
+                End If
+            Case SEARCHTYPE.NextSearch      '次を検索
+                If _curList.SelectedIndices.Count > 0 Then
+                    cidx = _curList.SelectedIndices(0) + 1
+                    If cidx > toIdx Then cidx = toIdx
+                Else
+                    cidx = 0
+                End If
+            Case SEARCHTYPE.PrevSearch      '前を検索
+                If _curList.SelectedIndices.Count > 0 Then
+                    cidx = _curList.SelectedIndices(0) - 1
+                    If cidx < 0 Then cidx = 0
+                Else
+                    cidx = toIdx
+                End If
+                toIdx = 0
+                stp = -1
+        End Select
+
+        Dim regOpt As RegexOptions = RegexOptions.None
+        Dim fndOpt As StringComparison = StringComparison.Ordinal
+        If Not CaseSensitive Then
+            regOpt = RegexOptions.IgnoreCase
+            fndOpt = StringComparison.OrdinalIgnoreCase
+        End If
+        Try
+RETRY:
+            If UseRegex Then
+                ' 正規表現検索
+                Dim _search As Regex
+                Try
+                    _search = New Regex(_word)
+                    For idx As Integer = cidx To toIdx Step stp
+                        Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+                        If _search.IsMatch(post.Nickname, regOpt) _
+                            OrElse _search.IsMatch(post.Data, regOpt) _
+                            OrElse _search.IsMatch(post.Name, regOpt) _
+                        Then
+                            SelectListItem(_curList, idx)
+                            _curList.EnsureVisible(idx)
+                            Exit Sub
+                        End If
+                    Next
+                Catch ex As ArgumentException
+                    MsgBox(My.Resources.DoTabSearchText1, MsgBoxStyle.Critical)
+                    Exit Sub
+                End Try
+            Else
+                ' 通常検索
+                For idx As Integer = cidx To toIdx Step stp
+                    Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+                    If post.Nickname.IndexOf(_word, fndOpt) > -1 _
+                        OrElse post.Data.IndexOf(_word, fndOpt) > -1 _
+                        OrElse post.Name.IndexOf(_word, fndOpt) > -1 _
+                    Then
+                        SelectListItem(_curList, idx)
+                        _curList.EnsureVisible(idx)
+                        Exit Sub
+                    End If
+                Next
+            End If
+
+            If Not fnd Then
+                Select Case SType
+                    Case SEARCHTYPE.DialogSearch, SEARCHTYPE.NextSearch
+                        toIdx = cidx
+                        cidx = 0
+                    Case SEARCHTYPE.PrevSearch
+                        toIdx = cidx
+                        cidx = _curList.Items.Count - 1
+                End Select
+                fnd = True
+                GoTo RETRY
+            End If
+        Catch ex As ArgumentOutOfRangeException
+
+        End Try
+        MessageBox.Show(My.Resources.DoTabSearchText2, My.Resources.DoTabSearchText3, MessageBoxButtons.OK, MessageBoxIcon.Information)
+    End Sub
+
+    Private Sub MenuItemSubSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemSubSearch.Click
+        '検索メニュー
+        SearchDialog.Owner = Me
+        If SearchDialog.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
+            Me.TopMost = SettingDialog.AlwaysTop
+            Exit Sub
+        End If
+        Me.TopMost = SettingDialog.AlwaysTop
+
+        If SearchDialog.SWord <> "" Then
+            DoTabSearch(SearchDialog.SWord, _
+                        SearchDialog.CheckCaseSensitive, _
+                        SearchDialog.CheckRegex, _
+                        SEARCHTYPE.DialogSearch)
+        End If
+    End Sub
+
+    Private Sub MenuItemSearchNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemSearchNext.Click
+        '次を検索
+        If SearchDialog.SWord = "" Then
+            If SearchDialog.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
+                Me.TopMost = SettingDialog.AlwaysTop
+                Exit Sub
+            End If
+            Me.TopMost = SettingDialog.AlwaysTop
+            If SearchDialog.SWord = "" Then Exit Sub
+
+            DoTabSearch(SearchDialog.SWord, _
+                        SearchDialog.CheckCaseSensitive, _
+                        SearchDialog.CheckRegex, _
+                        SEARCHTYPE.DialogSearch)
+        Else
+            DoTabSearch(SearchDialog.SWord, _
+                        SearchDialog.CheckCaseSensitive, _
+                        SearchDialog.CheckRegex, _
+                        SEARCHTYPE.NextSearch)
+        End If
+    End Sub
+
+    Private Sub MenuItemSearchPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemSearchPrev.Click
+        '前を検索
+        If SearchDialog.SWord = "" Then
+            If SearchDialog.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
+                Me.TopMost = SettingDialog.AlwaysTop
+                Exit Sub
+            End If
+            Me.TopMost = SettingDialog.AlwaysTop
+            If SearchDialog.SWord = "" Then Exit Sub
+        End If
+
+        DoTabSearch(SearchDialog.SWord, _
+                    SearchDialog.CheckCaseSensitive, _
+                    SearchDialog.CheckRegex, _
+                    SEARCHTYPE.PrevSearch)
+    End Sub
+
+    Private Sub AboutMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutMenuItem.Click
+        TweenAboutBox.ShowDialog()
+        Me.TopMost = SettingDialog.AlwaysTop
+    End Sub
+
+    Private Sub JumpUnreadMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JumpUnreadMenuItem.Click
+        Dim bgnIdx As Integer = ListTab.TabPages.IndexOf(_curTab)
+        Dim idx As Integer = -1
+        Dim lst As DetailsListView = Nothing
+
+        '現在タブから最終タブまで探索
+        For i As Integer = bgnIdx To ListTab.TabPages.Count - 1
+            '未読Index取得
+            idx = _statuses.GetOldestUnreadId(ListTab.TabPages(i).Text)
+            If idx > -1 Then
+                ListTab.SelectedIndex = i
+                lst = DirectCast(ListTab.TabPages(i).Controls(0), DetailsListView)
+                Exit For
+            End If
+        Next
+
+        '未読みつからず&現在タブが先頭ではなかったら、先頭タブから現在タブの手前まで探索
+        If idx = -1 AndAlso bgnIdx > 0 Then
+            For i As Integer = 0 To bgnIdx - 1
+                idx = _statuses.GetOldestUnreadId(ListTab.TabPages(i).Text)
+                If idx > -1 Then
+                    ListTab.SelectedIndex = i
+                    lst = DirectCast(ListTab.TabPages(i).Controls(0), DetailsListView)
+                    Exit For
+                End If
+            Next
+        End If
+
+        '全部調べたが未読見つからず→先頭タブの最新発言へ
+        If idx = -1 Then
+            ListTab.SelectedIndex = 0
+            lst = DirectCast(ListTab.TabPages(0).Controls(0), DetailsListView)
+            If _statuses.SortOrder = SortOrder.Ascending Then
+                idx = lst.VirtualListSize - 1
+            Else
+                idx = 0
+            End If
+        End If
+
+        If lst.VirtualListSize > 0 AndAlso idx > -1 AndAlso lst.VirtualListSize > idx Then
+            SelectListItem(lst, idx)
+            If _statuses.SortMode = IdComparerClass.ComparerMode.Id Then
+                If _statuses.SortOrder = SortOrder.Ascending AndAlso lst.Items(idx).Position.Y > lst.ClientSize.Height - _iconSz - 10 OrElse _
+                   _statuses.SortOrder = SortOrder.Descending AndAlso lst.Items(idx).Position.Y < _iconSz + 10 Then
+                    MoveTop()
+                Else
+                    lst.EnsureVisible(idx)
+                End If
+            Else
+                lst.EnsureVisible(idx)
+            End If
+        End If
+        lst.Focus()
+    End Sub
+
+    Private Sub StatusOpenMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusOpenMenuItem.Click
+        If _curList.SelectedIndices.Count > 0 AndAlso _statuses.Tabs(_curTab.Text).TabType <> TabUsageType.DirectMessage Then
+            Dim post As PostClass = _statuses.Item(_curTab.Text, _curList.SelectedIndices(0))
+            OpenUriAsync("http://twitter.com/" + post.Name + "/statuses/" + post.Id.ToString)
+        End If
+    End Sub
+
+    Private Sub FavorareMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles FavorareMenuItem.Click
+        If _curList.SelectedIndices.Count > 0 Then
+            Dim post As PostClass = _statuses.Item(_curTab.Text, _curList.SelectedIndices(0))
+            OpenUriAsync("http://favotter.matope.com/user.php?user=" + post.Name)
+        End If
+    End Sub
+
+    Private Sub VerUpMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerUpMenuItem.Click
+        CheckNewVersion()
+    End Sub
+
+    Private Sub RunTweenUp()
+
+        Dim pinfo As New ProcessStartInfo
+        pinfo.UseShellExecute = True
+        pinfo.WorkingDirectory = Application.StartupPath
+        pinfo.FileName = Path.Combine(Application.StartupPath(), "TweenUp.exe")
+        Try
+            Process.Start(pinfo)
+        Catch ex As Exception
+            MsgBox("Failed to execute TweenUp.exe.")
+        End Try
+    End Sub
+
+    Private Sub CheckNewVersion(Optional ByVal startup As Boolean = False)
+        Dim retMsg As String = ""
+        Dim strVer As String
+        Dim forceUpdate As Boolean = My.Computer.Keyboard.ShiftKeyDown
+
+        Try
+            retMsg = Twitter.GetVersionInfo()
+        Catch ex As Exception
+            StatusLabel.Text = My.Resources.CheckNewVersionText9
+            If Not startup Then MessageBox.Show(My.Resources.CheckNewVersionText10, My.Resources.CheckNewVersionText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+            Exit Sub
+        End Try
+        If retMsg.Length > 0 Then
+            strVer = retMsg.Substring(0, 4)
+            If strVer.CompareTo(fileVersion.Replace(".", "")) > 0 Then
+                Dim tmp As String = String.Format(My.Resources.CheckNewVersionText3, strVer)
+                If dialogAsShieldicon.Show(tmp, My.Resources.CheckNewVersionText1, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
+                    retMsg = Twitter.GetTweenBinary(strVer)
+                    If retMsg.Length = 0 Then
+                        retMsg = Twitter.GetTweenUpBinary()
+                        If retMsg.Length = 0 Then
+                            RunTweenUp()
+                            'If startup Then
+                            '    Application.Exit()
+                            'Else
+                            _endingFlag = True
+                            Me.Close()
+                            'End If
+                            Exit Sub
+                        Else
+                            If Not startup Then MessageBox.Show(My.Resources.CheckNewVersionText4 + System.Environment.NewLine + retMsg, My.Resources.CheckNewVersionText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                        End If
+                    Else
+                        If Not startup Then MessageBox.Show(My.Resources.CheckNewVersionText5 + System.Environment.NewLine + retMsg, My.Resources.CheckNewVersionText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                    End If
+                End If
+            Else
+                If forceUpdate Then
+                    Dim tmp As String = String.Format(My.Resources.CheckNewVersionText6, strVer)
+                    If dialogAsShieldicon.Show(tmp, My.Resources.CheckNewVersionText1, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
+                        retMsg = Twitter.GetTweenBinary(strVer)
+                        If retMsg.Length = 0 Then
+                            retMsg = Twitter.GetTweenUpBinary()
+                            If retMsg.Length = 0 Then
+                                RunTweenUp()
+                                'If startup Then
+                                '    Application.Exit()
+                                'Else
+                                _endingFlag = True
+                                Me.Close()
+                                'End If
+                                Exit Sub
+                            Else
+                                If Not startup Then MessageBox.Show(My.Resources.CheckNewVersionText4 + System.Environment.NewLine + retMsg, My.Resources.CheckNewVersionText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                            End If
+                        Else
+                            If Not startup Then MessageBox.Show(My.Resources.CheckNewVersionText5 + System.Environment.NewLine + retMsg, My.Resources.CheckNewVersionText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                        End If
+                    End If
+                ElseIf Not startup Then
+                    MessageBox.Show(My.Resources.CheckNewVersionText7 + fileVersion.Replace(".", "") + My.Resources.CheckNewVersionText8 + strVer, My.Resources.CheckNewVersionText2, MessageBoxButtons.OK, MessageBoxIcon.Information)
+                End If
+            End If
+        Else
+            StatusLabel.Text = My.Resources.CheckNewVersionText9
+            If Not startup Then MessageBox.Show(My.Resources.CheckNewVersionText10, My.Resources.CheckNewVersionText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+        End If
+    End Sub
+
+    Private Sub TimerColorize_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerColorize.Tick
+        If TimerColorize.Enabled = False Then Exit Sub
+
+        TimerColorize.Stop()
+        TimerColorize.Enabled = False
+        TimerColorize.Interval = 200
+        DispSelectedPost()
+        '件数関連の場合、タイトル即時書き換え
+        If SettingDialog.DispLatestPost <> DispTitleEnum.None AndAlso _
+           SettingDialog.DispLatestPost <> DispTitleEnum.Post AndAlso _
+           SettingDialog.DispLatestPost <> DispTitleEnum.Ver Then
+            SetMainWindowTitle()
+        End If
+        If Not StatusLabelUrl.Text.StartsWith("http") Then SetStatusLabel()
+        For Each tb As TabPage In ListTab.TabPages
+            If _statuses.Tabs(tb.Text).UnreadCount = 0 Then
+                If SettingDialog.TabIconDisp Then
+                    If tb.ImageIndex = 0 Then tb.ImageIndex = -1
+                End If
+            End If
+        Next
+        If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+    End Sub
+
+    Private Sub DispSelectedPost()
+
+        If _curList.SelectedIndices.Count = 0 OrElse _curPost Is Nothing Then Exit Sub
+
+        Dim dTxt As String = detailHtmlFormatHeader + _curPost.OriginalData + detailHtmlFormatFooter
+        If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage AndAlso _curPost.IsOwl Then
+            NameLabel.Text = "DM TO -> "
+        ElseIf _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage Then
+            NameLabel.Text = "DM FROM <- "
+        Else
+            NameLabel.Text = ""
+        End If
+        NameLabel.Text += _curPost.Name + "/" + _curPost.Nickname
+        'If UserPicture.Image IsNot Nothing Then UserPicture.Image.Dispose()
+        If _curPost.ImageIndex > -1 Then
+            UserPicture.Image = TIconDic(_curPost.ImageUrl)
+        Else
+            UserPicture.Image = Nothing
+        End If
+        'UserPicture.Refresh()
+
+        NameLabel.ForeColor = System.Drawing.SystemColors.ControlText
+        DateTimeLabel.Text = _curPost.PDate.ToString()
+        If _curPost.IsOwl AndAlso (SettingDialog.OneWayLove OrElse _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage) Then NameLabel.ForeColor = _clOWL
+        If _curPost.IsFav Then NameLabel.ForeColor = _clFav
+
+        If DumpPostClassToolStripMenuItem.Checked Then
+            Dim sb As New StringBuilder(512)
+
+            sb.Append("-----Start PostClass Dump<br>")
+            sb.AppendFormat("Data           : {0}<br>", _curPost.Data)
+            sb.AppendFormat("(PlainText)    : <xmp>{0}</xmp><br>", _curPost.Data)
+            sb.AppendFormat("Id             : {0}<br>", _curPost.Id.ToString)
+            sb.AppendFormat("ImageIndex     : {0}<br>", _curPost.ImageIndex.ToString)
+            sb.AppendFormat("ImageUrl       : {0}<br>", _curPost.ImageUrl)
+            sb.AppendFormat("InReplyToId    : {0}<br>", _curPost.InReplyToId.ToString)
+            sb.AppendFormat("InReplyToUser  : {0}<br>", _curPost.InReplyToUser)
+            sb.AppendFormat("IsDM           : {0}<br>", _curPost.IsDm.ToString)
+            sb.AppendFormat("IsFav          : {0}<br>", _curPost.IsFav.ToString)
+            sb.AppendFormat("IsMark         : {0}<br>", _curPost.IsMark.ToString)
+            sb.AppendFormat("IsMe           : {0}<br>", _curPost.IsMe.ToString)
+            sb.AppendFormat("IsOwl          : {0}<br>", _curPost.IsOwl.ToString)
+            sb.AppendFormat("IsProtect      : {0}<br>", _curPost.IsProtect.ToString)
+            sb.AppendFormat("IsRead         : {0}<br>", _curPost.IsRead.ToString)
+            sb.AppendFormat("IsReply        : {0}<br>", _curPost.IsReply.ToString)
+
+            For Each nm As String In _curPost.ReplyToList
+                sb.AppendFormat("ReplyToList    : {0}<br>", nm)
+            Next
+
+            sb.AppendFormat("Name           : {0}<br>", _curPost.Name)
+            sb.AppendFormat("NickName       : {0}<br>", _curPost.Nickname)
+            sb.AppendFormat("OriginalData   : {0}<br>", _curPost.OriginalData)
+            sb.AppendFormat("(PlainText)    : <xmp>{0}</xmp><br>", _curPost.OriginalData)
+            sb.AppendFormat("PDate          : {0}<br>", _curPost.PDate.ToString)
+            sb.AppendFormat("Source         : {0}<br>", _curPost.Source)
+            sb.Append("-----End PostClass Dump<br>")
+
+            PostBrowser.Visible = False
+            PostBrowser.DocumentText = detailHtmlFormatHeader + sb.ToString + detailHtmlFormatFooter
+            PostBrowser.Visible = True
+        ElseIf PostBrowser.DocumentText <> dTxt Then
+            PostBrowser.Visible = False
+            PostBrowser.DocumentText = dTxt
+            PostBrowser.Visible = True
+        End If
+    End Sub
+
+    Private Sub MatomeMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MatomeMenuItem.Click
+        OpenUriAsync("http://sourceforge.jp/projects/tween/wiki/FrontPage")
+    End Sub
+
+    Private Sub ListTab_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListTab.KeyDown
+        If e.Modifiers = Keys.None Then
+            ' ModifierKeyが押されていない場合
+            If e.KeyCode = Keys.N OrElse e.KeyCode = Keys.Right Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoRelPost(True)
+                Exit Sub
+            End If
+            If e.KeyCode = Keys.P OrElse e.KeyCode = Keys.Left Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoRelPost(False)
+                Exit Sub
+            End If
+            If e.KeyCode = Keys.OemPeriod Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoAnchor()
+                Exit Sub
+            End If
+            _anchorFlag = False
+            If e.KeyCode = Keys.Space OrElse e.KeyCode = Keys.ProcessKey Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                JumpUnreadMenuItem_Click(Nothing, Nothing)
+            End If
+            If e.KeyCode = Keys.Enter OrElse e.KeyCode = Keys.Return Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                MakeReplyOrDirectStatus()
+            End If
+            If e.KeyCode = Keys.L Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoPost(True)
+            End If
+            If e.KeyCode = Keys.H Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoPost(False)
+            End If
+            If e.KeyCode = Keys.Z Or e.KeyCode = Keys.Oemcomma Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                MoveTop()
+            End If
+            If e.KeyCode = Keys.R Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                DoRefresh()
+            End If
+            If e.KeyCode = Keys.S Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                SendKeys.Send("^{PGDN}")
+            End If
+            If e.KeyCode = Keys.A Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                SendKeys.Send("^{PGUP}")
+            End If
+            'If e.KeyCode = Keys.OemQuestion Then
+            '    e.Handled = True
+            '    e.SuppressKeyPress = True
+            '    MenuItemSubSearch_Click(Nothing, Nothing)   '/検索
+            'End If
+            If e.KeyCode = Keys.F Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                SendKeys.Send("{PGDN}")
+            End If
+            If e.KeyCode = Keys.B Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                SendKeys.Send("{PGUP}")
+            End If
+        End If
+        _anchorFlag = False
+        If e.Control AndAlso Not e.Alt AndAlso Not e.Shift Then
+            ' CTRLキーが押されている場合
+            If e.KeyCode = Keys.Home OrElse e.KeyCode = Keys.End Then
+                TimerColorize.Stop()
+                TimerColorize.Start()
+            End If
+            If e.KeyCode = Keys.N Then SendKeys.Send("^{PGDN}")
+            If e.KeyCode = Keys.P Then SendKeys.Send("^{PGUP}")
+            'If e.KeyCode = Keys.F Then
+            '    e.Handled = True
+            '    e.SuppressKeyPress = True
+            '    MovePageScroll(True)
+            'End If
+            'If e.KeyCode = Keys.B Then
+            '    e.Handled = True
+            '    e.SuppressKeyPress = True
+            '    MovePageScroll(False)
+            'End If
+        End If
+        If Not e.Control AndAlso e.Alt AndAlso Not e.Shift Then
+            ' ALTキーが押されている場合
+            ' 別タブの同じ書き込みへ(ALT+←/→)
+            If e.KeyCode = Keys.Right Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoSamePostToAnotherTab(False)
+            End If
+            If e.KeyCode = Keys.Left Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoSamePostToAnotherTab(True)
+            End If
+        End If
+        If e.Shift AndAlso Not e.Control AndAlso Not e.Alt Then
+            ' SHIFTキーが押されている場合
+            If e.KeyCode = Keys.H Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoTopEnd(True)
+            End If
+            If e.KeyCode = Keys.L Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoTopEnd(False)
+            End If
+            If e.KeyCode = Keys.M Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoMiddle()
+            End If
+            If e.KeyCode = Keys.G Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoLast()
+            End If
+            If e.KeyCode = Keys.Z Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                MoveMiddle()
+            End If
+
+            ' お気に入り前後ジャンプ(SHIFT+N←/P→)
+            If e.KeyCode = Keys.N OrElse e.KeyCode = Keys.Right Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoFav(True)
+            End If
+            If e.KeyCode = Keys.P OrElse e.KeyCode = Keys.Left Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                GoFav(False)
+            End If
+            'If e.KeyCode = Keys.B Then
+            '    e.Handled = True
+            '    e.SuppressKeyPress = True
+            '    UnreadStripMenuItem_Click(Nothing, Nothing)
+            'End If
+        End If
+        If Not e.Alt Then
+            If e.KeyCode = Keys.J Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                SendKeys.Send("{DOWN}")
+            End If
+            If e.KeyCode = Keys.K Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                SendKeys.Send("{UP}")
+            End If
+        End If
+        If e.KeyCode = Keys.C Then
+            Dim clstr As String = ""
+            If e.Control AndAlso Not e.Alt AndAlso Not e.Shift Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                CopyStot()
+            End If
+            If e.Control AndAlso e.Shift AndAlso Not e.Alt Then
+                e.Handled = True
+                e.SuppressKeyPress = True
+                CopyIdUri()
+            End If
+        End If
+    End Sub
+
+    Private Sub CopyStot()
+        Dim clstr As String = ""
+        Dim sb As New StringBuilder()
+        For Each idx As Integer In _curList.SelectedIndices
+            Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+            If post.IsProtect AndAlso SettingDialog.ProtectNotInclude Then Continue For
+            sb.AppendFormat("{0}:{1} [http://twitter.com/{0}/statuses/{2}]{3}", post.Name, post.Data, post.Id, Environment.NewLine)
+        Next
+        If sb.Length > 0 Then
+            clstr = sb.ToString()
+            Clipboard.SetDataObject(clstr, False, 5, 100)
+        End If
+    End Sub
+
+    Private Sub CopyIdUri()
+        Dim clstr As String = ""
+        Dim sb As New StringBuilder()
+        For Each idx As Integer In _curList.SelectedIndices
+            Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+            sb.AppendFormat("http://twitter.com/{0}/statuses/{1}{2}", post.Name, post.Id, Environment.NewLine)
+        Next
+        If sb.Length > 0 Then
+            clstr = sb.ToString()
+            Clipboard.SetDataObject(clstr, False, 5, 100)
+        End If
+    End Sub
+
+    Private Sub GoFav(ByVal forward As Boolean)
+        If _curList.VirtualListSize = 0 Then Exit Sub
+        Dim fIdx As Integer = 0
+        Dim toIdx As Integer = 0
+        Dim stp As Integer = 1
+
+        If forward Then
+            If _curList.SelectedIndices.Count = 0 Then
+                fIdx = 0
+            Else
+                fIdx = _curList.SelectedIndices(0) + 1
+                If fIdx > _curList.VirtualListSize - 1 Then Exit Sub
+            End If
+            toIdx = _curList.VirtualListSize - 1
+            stp = 1
+        Else
+            If _curList.SelectedIndices.Count = 0 Then
+                fIdx = _curList.VirtualListSize - 1
+            Else
+                fIdx = _curList.SelectedIndices(0) - 1
+                If fIdx < 0 Then Exit Sub
+            End If
+            toIdx = 0
+            stp = -1
+        End If
+
+        For idx As Integer = fIdx To toIdx Step stp
+            If _statuses.Item(_curTab.Text, idx).IsFav Then
+                SelectListItem(_curList, idx)
+                _curList.EnsureVisible(idx)
+                Exit For
+            End If
+        Next
+    End Sub
+
+    Private Sub GoSamePostToAnotherTab(ByVal left As Boolean)
+        If _curList.VirtualListSize = 0 Then Exit Sub
+        Dim fIdx As Integer = 0
+        Dim toIdx As Integer = 0
+        Dim stp As Integer = 1
+        Dim targetId As Long = 0
+
+        If _statuses.Tabs(_curTab.Text).TabType = TabUsageType.DirectMessage Then Exit Sub ' Directタブは対象外(見つかるはずがない)
+        If _curList.SelectedIndices.Count = 0 Then Exit Sub '未選択も処理しない
+
+        targetId = GetCurTabPost(_curList.SelectedIndices(0)).Id
+
+        If left Then
+            ' 左のタブへ
+            If ListTab.SelectedIndex = 0 Then
+                Exit Sub
+            Else
+                fIdx = ListTab.SelectedIndex - 1
+            End If
+            toIdx = 0
+            stp = -1
+        Else
+            ' 右のタブへ
+            If ListTab.SelectedIndex = ListTab.TabCount - 1 Then
+                Exit Sub
+            Else
+                fIdx = ListTab.SelectedIndex + 1
+            End If
+            toIdx = ListTab.TabCount - 1
+            stp = 1
+        End If
+
+        Dim found As Boolean = False
+        For tabidx As Integer = fIdx To toIdx Step stp
+            If _statuses.Tabs(ListTab.TabPages(tabidx).Text).TabType = TabUsageType.DirectMessage Then Continue For ' Directタブは対象外
+            '_itemCache = Nothing
+            '_postCache = Nothing
+            For idx As Integer = 0 To DirectCast(ListTab.TabPages(tabidx).Controls(0), DetailsListView).VirtualListSize - 1
+                If _statuses.Item(ListTab.TabPages(tabidx).Text, idx).Id = targetId Then
+                    ListTab.SelectedIndex = tabidx
+                    ListTabSelect(ListTab.TabPages(tabidx))
+                    SelectListItem(_curList, idx)
+                    _curList.EnsureVisible(idx)
+                    found = True
+                    Exit For
+                End If
+            Next
+            If found Then Exit For
+        Next
+        '_itemCache = Nothing
+        '_postCache = Nothing
+    End Sub
+
+    Private Sub GoPost(ByVal forward As Boolean)
+        If _curList.SelectedIndices.Count = 0 OrElse _curPost Is Nothing Then Exit Sub
+        Dim fIdx As Integer = 0
+        Dim toIdx As Integer = 0
+        Dim stp As Integer = 1
+
+        If forward Then
+            fIdx = _curList.SelectedIndices(0) + 1
+            If fIdx > _curList.VirtualListSize - 1 Then Exit Sub
+            toIdx = _curList.VirtualListSize - 1
+            stp = 1
+        Else
+            fIdx = _curList.SelectedIndices(0) - 1
+            If fIdx < 0 Then Exit Sub
+            toIdx = 0
+            stp = -1
+        End If
+
+        For idx As Integer = fIdx To toIdx Step stp
+            If _statuses.Item(_curTab.Text, idx).Name = _curPost.Name Then
+                SelectListItem(_curList, idx)
+                _curList.EnsureVisible(idx)
+                Exit For
+            End If
+        Next
+    End Sub
+
+    Private Sub GoRelPost(ByVal forward As Boolean)
+        If _curList.SelectedIndices.Count = 0 Then Exit Sub
+
+        Dim fIdx As Integer = 0
+        Dim toIdx As Integer = 0
+        Dim stp As Integer = 1
+        If forward Then
+            fIdx = _curList.SelectedIndices(0) + 1
+            If fIdx > _curList.VirtualListSize - 1 Then Exit Sub
+            toIdx = _curList.VirtualListSize - 1
+            stp = 1
+        Else
+            fIdx = _curList.SelectedIndices(0) - 1
+            If fIdx < 0 Then Exit Sub
+            toIdx = 0
+            stp = -1
+        End If
+
+        If Not _anchorFlag Then
+            If _curPost Is Nothing Then Exit Sub
+            _anchorPost = _curPost
+            _anchorFlag = True
+        Else
+            If _anchorPost Is Nothing Then Exit Sub
+        End If
+
+        For idx As Integer = fIdx To toIdx Step stp
+            Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+            If post.Name = _anchorPost.Name OrElse _
+               _anchorPost.ReplyToList.Contains(post.Name.ToLower()) OrElse _
+               post.ReplyToList.Contains(_anchorPost.Name.ToLower()) Then
+                SelectListItem(_curList, idx)
+                _curList.EnsureVisible(idx)
+                Exit For
+            End If
+        Next
+    End Sub
+
+    Private Sub GoAnchor()
+        If _anchorPost Is Nothing Then Exit Sub
+        Dim idx As Integer = _statuses.Tabs(_curTab.Text).IndexOf(_anchorPost.Id)
+        If idx = -1 Then Exit Sub
+
+        SelectListItem(_curList, idx)
+        _curList.EnsureVisible(idx)
+    End Sub
+
+    Private Sub GoTopEnd(ByVal GoTop As Boolean)
+        Dim _item As ListViewItem
+        Dim idx As Integer
+
+        If GoTop Then
+            _item = _curList.GetItemAt(0, 25)
+            If _item Is Nothing Then
+                idx = 0
+            Else
+                idx = _item.Index
+            End If
+        Else
+            _item = _curList.GetItemAt(0, _curList.ClientSize.Height - 1)
+            If _item Is Nothing Then
+                idx = _curList.VirtualListSize - 1
+            Else
+                idx = _item.Index
+            End If
+        End If
+        SelectListItem(_curList, idx)
+    End Sub
+
+    Private Sub GoMiddle()
+        Dim _item As ListViewItem
+        Dim idx1 As Integer
+        Dim idx2 As Integer
+        Dim idx3 As Integer
+
+        _item = _curList.GetItemAt(0, 0)
+        If _item Is Nothing Then
+            idx1 = 0
+        Else
+            idx1 = _item.Index
+        End If
+        _item = _curList.GetItemAt(0, _curList.ClientSize.Height - 1)
+        If _item Is Nothing Then
+            idx2 = _curList.VirtualListSize - 1
+        Else
+            idx2 = _item.Index
+        End If
+        idx3 = (idx1 + idx2) \ 2
+
+        SelectListItem(_curList, idx3)
+    End Sub
+
+    Private Sub GoLast()
+        If _curList.VirtualListSize = 0 Then Exit Sub
+
+        If _statuses.SortOrder = SortOrder.Ascending Then
+            SelectListItem(_curList, _curList.VirtualListSize - 1)
+            _curList.EnsureVisible(_curList.VirtualListSize - 1)
+        Else
+            SelectListItem(_curList, 0)
+            _curList.EnsureVisible(0)
+        End If
+    End Sub
+
+    Private Sub MoveTop()
+        If _curList.SelectedIndices.Count = 0 Then Exit Sub
+        Dim idx As Integer = _curList.SelectedIndices(0)
+        If _statuses.SortOrder = SortOrder.Ascending Then
+            _curList.EnsureVisible(_curList.VirtualListSize - 1)
+        Else
+            _curList.EnsureVisible(0)
+        End If
+        _curList.EnsureVisible(idx)
+    End Sub
+
+    'Private Sub MovePageScroll(ByVal down As Boolean)
+    '    Dim _item As ListViewItem
+    '    Dim idx As Integer
+
+    '    If down Then
+    '        _item = _curList.GetItemAt(0, _curList.ClientSize.Height - 25)
+    '        If _item Is Nothing Then
+    '            If _curList.VirtualListSize > 0 Then
+    '                SelectListItem(_curList, _curList.VirtualListSize - 1)
+    '                _curList.EnsureVisible(_curList.VirtualListSize - 1)
+    '            End If
+    '            Exit Sub
+    '        End If
+
+    '        idx = _item.Index
+    '        Dim idx2 As Integer = -1
+    '        If _curList.Focused Then
+    '            idx2 = _curList.FocusedItem.Index
+    '        End If
+    '        If idx2 >= idx Then
+    '            'スクロール
+    '            Dim idx3 As Integer = 0
+    '            _item = _curList.GetItemAt(0, 25)
+    '            If _item IsNot Nothing Then
+    '                idx3 = _item.Index
+    '            End If
+    '            Dim rowCount As Integer = idx - idx3
+    '            Dim toIndex As Integer = 0
+    '            If idx2 + rowCount > _curList.VirtualListSize - 1 Then
+    '                toIndex = _curList.VirtualListSize - 1
+    '            Else
+    '                toIndex = idx2 + rowCount
+    '            End If
+    '            SelectListItem(_curList, toIndex)
+    '            _curList.EnsureVisible(toIndex)
+    '        Else
+    '            '最下行を選択
+    '            SelectListItem(_curList, idx)
+    '        End If
+    '    Else
+    '        _item = _curList.GetItemAt(0, 25)
+    '        If _item Is Nothing Then
+    '            If _curList.VirtualListSize > 0 Then
+    '                SelectListItem(_curList, 0)
+    '                _curList.EnsureVisible(0)
+    '            End If
+    '            Exit Sub
+    '        End If
+
+    '        idx = _item.Index
+    '        Dim idx2 As Integer = -1
+    '        If _curList.Focused Then
+    '            idx2 = _curList.FocusedItem.Index
+    '        End If
+    '        If idx2 <= idx Then
+    '            'スクロール
+    '            Dim idx3 As Integer = 0
+    '            _item = _curList.GetItemAt(0, _curList.ClientSize.Height - 25)
+    '            If _item IsNot Nothing Then
+    '                idx3 = _item.Index
+    '            End If
+    '            Dim rowCount As Integer = idx3 - idx
+    '            Dim toIndex As Integer = 0
+    '            If idx2 - rowCount < 0 Then
+    '                toIndex = 0
+    '            Else
+    '                toIndex = idx2 - rowCount
+    '            End If
+    '            SelectListItem(_curList, toIndex)
+    '            _curList.EnsureVisible(toIndex)
+    '        Else
+    '            '最上行を選択
+    '            SelectListItem(_curList, idx)
+    '        End If
+    '    End If
+
+    'End Sub
+
+    Private Sub MyList_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
+        _anchorFlag = False
+    End Sub
+
+    Private Sub StatusText_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusText.Enter
+        ' フォーカスの戻り先を StatusText に設定
+        Me.Tag = StatusText
+        StatusText.BackColor = _clInputBackcolor
+    End Sub
+
+    Private Sub StatusText_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusText.Leave
+        ' フォーカスがメニューに遷移しないならばフォーカスはタブに移ることを期待
+        If ListTab.SelectedTab IsNot Nothing AndAlso MenuStrip1.Tag Is Nothing Then Me.Tag = ListTab.SelectedTab.Controls(0)
+        StatusText.BackColor = Color.FromKnownColor(KnownColor.Window)
+    End Sub
+
+    Private Sub StatusText_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles StatusText.KeyDown
+        If e.Control AndAlso Not e.Alt AndAlso Not e.Shift Then
+            If e.KeyCode = Keys.A Then
+                StatusText.SelectAll()
+            ElseIf e.KeyCode = Keys.Up OrElse e.KeyCode = Keys.Down Then
+                If StatusText.Text.Trim() <> "" Then _history(_hisIdx) = StatusText.Text
+                If e.KeyCode = Keys.Up Then
+                    _hisIdx -= 1
+                    If _hisIdx < 0 Then _hisIdx = 0
+                Else
+                    _hisIdx += 1
+                    If _hisIdx > _history.Count - 1 Then _hisIdx = _history.Count - 1
+                End If
+                StatusText.Text = _history(_hisIdx)
+                StatusText.SelectionStart = StatusText.Text.Length
+                e.Handled = True
+                e.SuppressKeyPress = True
+            ElseIf e.KeyCode = Keys.PageUp Then
+                If ListTab.SelectedIndex = 0 Then
+                    ListTab.SelectedIndex = ListTab.TabCount - 1
+                Else
+                    ListTab.SelectedIndex -= 1
+                End If
+                e.Handled = True
+                e.SuppressKeyPress = True
+                StatusText.Focus()
+            ElseIf e.KeyCode = Keys.PageDown Then
+                If ListTab.SelectedIndex = ListTab.TabCount - 1 Then
+                    ListTab.SelectedIndex = 0
+                Else
+                    ListTab.SelectedIndex += 1
+                End If
+                e.Handled = True
+                e.SuppressKeyPress = True
+                StatusText.Focus()
+            End If
+        End If
+        Me.StatusText_TextChanged(Nothing, Nothing)
+    End Sub
+
+    Private Sub SaveConfigsAll(ByVal ifModified As Boolean)
+        If Not ifModified Then
+            SaveConfigsCommon()
+            SaveConfigsLocal()
+            SaveConfigsTab(True)    'True:事前に設定ファイル削除
+        Else
+            If modifySettingCommon Then SaveConfigsCommon()
+            If modifySettingLocal Then SaveConfigsLocal()
+            If modifySettingAtId AndAlso SettingDialog.UseAtIdSupplement AndAlso AtIdSupl IsNot Nothing Then
+                modifySettingAtId = False
+                Dim cfgAtId As New SettingAtIdList(AtIdSupl.GetIdList)
+                cfgAtId.Save()
+            End If
+        End If
+    End Sub
+
+    Private Sub SaveConfigsCommon()
+        If _ignoreConfigSave Then Exit Sub
+
+        If _username <> "" AndAlso _password <> "" Then
+            modifySettingCommon = False
+            SyncLock _syncObject
+                _cfgCommon.UserName = _username
+                _cfgCommon.Password = _password
+                _cfgCommon.NextPageThreshold = SettingDialog.NextPageThreshold
+                _cfgCommon.NextPages = SettingDialog.NextPagesInt
+                _cfgCommon.TimelinePeriod = SettingDialog.TimelinePeriodInt
+                _cfgCommon.ReplyPeriod = SettingDialog.ReplyPeriodInt
+                _cfgCommon.DMPeriod = SettingDialog.DMPeriodInt
+                _cfgCommon.MaxPostNum = SettingDialog.MaxPostNum
+                _cfgCommon.ReadPages = SettingDialog.ReadPages
+                _cfgCommon.ReadPagesReply = SettingDialog.ReadPagesReply
+                _cfgCommon.ReadPagesDM = SettingDialog.ReadPagesDM
+                _cfgCommon.Read = SettingDialog.Readed
+                _cfgCommon.IconSize = SettingDialog.IconSz
+                _cfgCommon.UnreadManage = SettingDialog.UnreadManage
+                _cfgCommon.PlaySound = SettingDialog.PlaySound
+                _cfgCommon.OneWayLove = SettingDialog.OneWayLove
+
+                _cfgCommon.NameBalloon = SettingDialog.NameBalloon
+                _cfgCommon.PostCtrlEnter = SettingDialog.PostCtrlEnter
+                _cfgCommon.UseApi = SettingDialog.UseAPI
+                _cfgCommon.CountApi = SettingDialog.CountApi
+                _cfgCommon.UsePostMethod = False
+                _cfgCommon.HubServer = SettingDialog.HubServer
+                _cfgCommon.CheckReply = SettingDialog.CheckReply
+                _cfgCommon.PostAndGet = SettingDialog.PostAndGet
+                _cfgCommon.DispUsername = SettingDialog.DispUsername
+                _cfgCommon.MinimizeToTray = SettingDialog.MinimizeToTray
+                _cfgCommon.CloseToExit = SettingDialog.CloseToExit
+                _cfgCommon.DispLatestPost = SettingDialog.DispLatestPost
+                _cfgCommon.SortOrderLock = SettingDialog.SortOrderLock
+                _cfgCommon.TinyUrlResolve = SettingDialog.TinyUrlResolve
+                _cfgCommon.PeriodAdjust = SettingDialog.PeriodAdjust
+                _cfgCommon.StartupVersion = SettingDialog.StartupVersion
+                _cfgCommon.StartupKey = SettingDialog.StartupKey
+                _cfgCommon.StartupFollowers = SettingDialog.StartupFollowers
+                _cfgCommon.StartupApiModeNoWarning = SettingDialog.StartupAPImodeNoWarning
+                _cfgCommon.RestrictFavCheck = SettingDialog.RestrictFavCheck
+                _cfgCommon.AlwaysTop = SettingDialog.AlwaysTop
+                _cfgCommon.UrlConvertAuto = SettingDialog.UrlConvertAuto
+                _cfgCommon.Outputz = SettingDialog.OutputzEnabled
+                _cfgCommon.OutputzKey = SettingDialog.OutputzKey
+                _cfgCommon.OutputzUrlMode = SettingDialog.OutputzUrlmode
+                _cfgCommon.UseUnreadStyle = SettingDialog.UseUnreadStyle
+                _cfgCommon.DateTimeFormat = SettingDialog.DateTimeFormat
+                _cfgCommon.DefaultTimeOut = SettingDialog.DefaultTimeOut
+                _cfgCommon.ProtectNotInclude = SettingDialog.ProtectNotInclude
+                _cfgCommon.LimitBalloon = SettingDialog.LimitBalloon
+                _cfgCommon.AutoShortUrlFirst = SettingDialog.AutoShortUrlFirst
+                _cfgCommon.TabIconDisp = SettingDialog.TabIconDisp
+                _cfgCommon.ReplyIconState = SettingDialog.ReplyIconState
+                _cfgCommon.ReadOwnPost = SettingDialog.ReadOwnPost
+                _cfgCommon.GetFav = SettingDialog.GetFav
+                _cfgCommon.IsMonospace = SettingDialog.IsMonospace
+                If IdeographicSpaceToSpaceToolStripMenuItem IsNot Nothing AndAlso _
+                   IdeographicSpaceToSpaceToolStripMenuItem.IsDisposed = False Then
+                    _cfgCommon.WideSpaceConvert = Me.IdeographicSpaceToSpaceToolStripMenuItem.Checked
+                End If
+                _cfgCommon.ReadOldPosts = SettingDialog.ReadOldPosts
+                _cfgCommon.UseSsl = SettingDialog.UseSsl
+                _cfgCommon.BilyUser = SettingDialog.BitlyUser
+                _cfgCommon.BitlyPwd = SettingDialog.BitlyPwd
+                _cfgCommon.ShowGrid = SettingDialog.ShowGrid
+                _cfgCommon.UseAtIdSupplement = SettingDialog.UseAtIdSupplement
+
+                _cfgCommon.SortOrder = _statuses.SortOrder
+                Select Case _statuses.SortMode
+                    Case IdComparerClass.ComparerMode.Nickname  'ニックネーム
+                        _cfgCommon.SortColumn = 1
+                    Case IdComparerClass.ComparerMode.Data  '本文
+                        _cfgCommon.SortColumn = 2
+                    Case IdComparerClass.ComparerMode.Id  '時刻=発言Id
+                        _cfgCommon.SortColumn = 3
+                    Case IdComparerClass.ComparerMode.Name  '名前
+                        _cfgCommon.SortColumn = 4
+                    Case IdComparerClass.ComparerMode.Source  'Source
+                        _cfgCommon.SortColumn = 7
+                End Select
+
+                _cfgCommon.TabList.Clear()
+                For i As Integer = 0 To ListTab.TabPages.Count - 1
+                    _cfgCommon.TabList.Add(ListTab.TabPages(i).Text)
+                Next
+
+                _cfgCommon.Save()
+            End SyncLock
+        End If
+    End Sub
+
+    Private Sub SaveConfigsLocal()
+        If _ignoreConfigSave Then Exit Sub
+        SyncLock _syncObject
+            modifySettingLocal = False
+            _cfgLocal.FormSize = _mySize
+            _cfgLocal.FormLocation = _myLoc
+            _cfgLocal.SplitterDistance = _mySpDis
+            _cfgLocal.StatusMultiline = StatusText.Multiline
+            _cfgLocal.StatusTextHeight = _mySpDis2
+            _cfgLocal.StatusText = SettingDialog.Status
+
+            _cfgLocal.FontUnread = _fntUnread
+            _cfgLocal.ColorUnread = _clUnread
+            _cfgLocal.FontRead = _fntReaded
+            _cfgLocal.ColorRead = _clReaded
+            _cfgLocal.FontDetail = _fntDetail
+            _cfgLocal.ColorDetail = _clDetail
+            _cfgLocal.ColorDetailBackcolor = _clDetailBackcolor
+            _cfgLocal.ColorDetailLink = _clDetailLink
+            _cfgLocal.ColorFav = _clFav
+            _cfgLocal.ColorOWL = _clOWL
+            _cfgLocal.ColorSelf = _clSelf
+            _cfgLocal.ColorAtSelf = _clAtSelf
+            _cfgLocal.ColorTarget = _clTarget
+            _cfgLocal.ColorAtTarget = _clAtTarget
+            _cfgLocal.ColorAtFromTarget = _clAtFromTarget
+            _cfgLocal.ColorAtTo = _clAtTo
+            _cfgLocal.ColorListBackcolor = _clListBackcolor
+            _cfgLocal.ColorInputBackcolor = _clInputBackcolor
+            _cfgLocal.ColorInputFont = _clInputFont
+            _cfgLocal.FontInputFont = _fntInputFont
+
+            _cfgLocal.BrowserPath = SettingDialog.BrowserPath
+            _cfgLocal.UseRecommendStatus = SettingDialog.UseRecommendStatus
+            _cfgLocal.ProxyType = SettingDialog.SelectedProxyType
+            _cfgLocal.ProxyAddress = SettingDialog.ProxyAddress
+            _cfgLocal.ProxyPort = SettingDialog.ProxyPort
+            _cfgLocal.ProxyUser = SettingDialog.ProxyUser
+            _cfgLocal.ProxyPassword = SettingDialog.ProxyPassword
+            If _ignoreConfigSave Then Exit Sub
+            _cfgLocal.Save()
+        End SyncLock
+    End Sub
+
+    Private Sub SaveConfigsTab(ByVal DeleteBefore As Boolean)
+        If _ignoreConfigSave Then Exit Sub
+        Dim cnt As Integer = 0
+        If ListTab IsNot Nothing AndAlso _
+           ListTab.TabPages IsNot Nothing AndAlso _
+           ListTab.TabPages.Count > 0 Then
+            If DeleteBefore Then SettingTab.DeleteConfigFile() '旧設定ファイル削除
+            For cnt = 0 To ListTab.TabPages.Count - 1
+                SaveConfigsTab(ListTab.TabPages(cnt).Text)
+            Next
+        End If
+    End Sub
+
+    Private Sub SaveConfigsTab(ByVal tabName As String)
+        If _ignoreConfigSave Then Exit Sub
+        SyncLock _syncObject
+            Dim tabSetting As New SettingTab
+            tabSetting.Tab = _statuses.Tabs(tabName)
+            tabSetting.Save()
+        End SyncLock
+    End Sub
+
+    Private Sub SaveLogMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveLogMenuItem.Click
+        Dim rslt As DialogResult = MessageBox.Show(String.Format(My.Resources.SaveLogMenuItem_ClickText1, Environment.NewLine), _
+                My.Resources.SaveLogMenuItem_ClickText2, _
+                MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
+        If rslt = Windows.Forms.DialogResult.Cancel Then Exit Sub
+
+        SaveFileDialog1.FileName = "TweenPosts" + Format(Now, "yyMMdd-HHmmss") + ".tsv"
+        SaveFileDialog1.InitialDirectory = My.Application.Info.DirectoryPath
+        SaveFileDialog1.Filter = My.Resources.SaveLogMenuItem_ClickText3
+        SaveFileDialog1.FilterIndex = 0
+        SaveFileDialog1.Title = My.Resources.SaveLogMenuItem_ClickText4
+        SaveFileDialog1.RestoreDirectory = True
+
+        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
+            If Not SaveFileDialog1.ValidateNames Then Exit Sub
+            Using sw As StreamWriter = New StreamWriter(SaveFileDialog1.FileName, False, Encoding.UTF8)
+                If rslt = Windows.Forms.DialogResult.Yes Then
+                    'All
+                    For idx As Integer = 0 To _curList.VirtualListSize - 1
+                        Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+                        sw.WriteLine(post.Nickname & vbTab & _
+                                 """" & post.Data.Replace(vbLf, "").Replace("""", """""") + """" & vbTab & _
+                                 post.PDate.ToString() & vbTab & _
+                                 post.Name & vbTab & _
+                                 post.Id.ToString() & vbTab & _
+                                 post.ImageUrl & vbTab & _
+                                 """" & post.OriginalData.Replace(vbLf, "").Replace("""", """""") + """")
+                    Next
+                Else
+                    For Each idx As Integer In _curList.SelectedIndices
+                        Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+                        sw.WriteLine(post.Nickname & vbTab & _
+                                 """" & post.Data.Replace(vbLf, "").Replace("""", """""") + """" & vbTab & _
+                                 post.PDate.ToString() & vbTab & _
+                                 post.Name & vbTab & _
+                                 post.Id.ToString() & vbTab & _
+                                 post.ImageUrl & vbTab & _
+                                 """" & post.OriginalData.Replace(vbLf, "").Replace("""", """""") + """")
+                    Next
+                End If
+            End Using
+        End If
+        Me.TopMost = SettingDialog.AlwaysTop
+    End Sub
+
+    Private Sub PostBrowser_PreviewKeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles PostBrowser.PreviewKeyDown
+        If e.KeyCode = Keys.F5 OrElse e.KeyCode = Keys.R Then
+            e.IsInputKey = True
+            DoRefresh()
+        End If
+        If e.Modifiers = Keys.None AndAlso (e.KeyCode = Keys.Space OrElse e.KeyCode = Keys.ProcessKey) Then
+            e.IsInputKey = True
+            JumpUnreadMenuItem_Click(Nothing, Nothing)
+        End If
+    End Sub
+
+    Public Function TabRename(ByRef tabName As String) As Boolean
+        'タブ名変更
+        'If _statuses.IsDefaultTab(tabName) Then Return False
+        Dim newTabText As String = Nothing
+        Using inputName As New InputTabName()
+            inputName.TabName = tabName
+            inputName.ShowDialog()
+            newTabText = inputName.TabName
+        End Using
+        Me.TopMost = SettingDialog.AlwaysTop
+        If newTabText <> "" Then
+            '新タブ名存在チェック
+            For i As Integer = 0 To ListTab.TabCount - 1
+                If ListTab.TabPages(i).Text = newTabText OrElse _
+                   newTabText <> ReplaceInvalidFilename(newTabText) Then
+                    Dim tmp As String = String.Format(My.Resources.Tabs_DoubleClickText1, newTabText)
+                    MessageBox.Show(tmp, My.Resources.Tabs_DoubleClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                    Return False
+                End If
+            Next
+            'タブ名のリスト作り直し(デフォルトタブ以外は再作成)
+            For i As Integer = 0 To ListTab.TabCount - 1
+                If _statuses.Tabs(ListTab.TabPages(i).Text).TabType = TabUsageType.Mentions OrElse Not _statuses.IsDefaultTab(ListTab.TabPages(i).Text) Then
+                    TabDialog.RemoveTab(ListTab.TabPages(i).Text)
+                End If
+            Next
+            _statuses.RenameTab(tabName, newTabText)
+
+            For i As Integer = 0 To ListTab.TabCount - 1
+                If _statuses.Tabs(ListTab.TabPages(i).Text).TabType = TabUsageType.Mentions OrElse Not _statuses.IsDefaultTab(ListTab.TabPages(i).Text) Then
+                    If ListTab.TabPages(i).Text = tabName Then
+                        ListTab.TabPages(i).Text = newTabText
+                    End If
+                    TabDialog.AddTab(ListTab.TabPages(i).Text)
+                End If
+            Next
+            SaveConfigsCommon()
+            SaveConfigsTab(newTabText)
+            _rclickTabName = newTabText
+            tabName = newTabText
+            Return True
+        End If
+    End Function
+
+    Private Sub Tabs_DoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListTab.MouseDoubleClick
+        Dim tn As String = ListTab.SelectedTab.Text
+        TabRename(tn)
+    End Sub
+
+    Private Sub Tabs_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListTab.MouseDown
+        Dim cpos As New Point(e.X, e.Y)
+        If e.Button = Windows.Forms.MouseButtons.Left Then
+            For i As Integer = 0 To ListTab.TabPages.Count - 1
+                Dim rect As Rectangle = ListTab.GetTabRect(i)
+                If rect.Left <= cpos.X AndAlso cpos.X <= rect.Right AndAlso _
+                   rect.Top <= cpos.Y AndAlso cpos.Y <= rect.Bottom Then
+                    _tabDrag = True
+                    Exit For
+                End If
+            Next
+        Else
+            _tabDrag = False
+        End If
+    End Sub
+
+    Private Sub Tabs_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListTab.DragEnter
+        If e.Data.GetDataPresent(GetType(TabPage)) Then
+            e.Effect = DragDropEffects.Move
+        Else
+            e.Effect = DragDropEffects.None
+        End If
+    End Sub
+
+    Private Sub Tabs_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListTab.DragDrop
+        If Not e.Data.GetDataPresent(GetType(TabPage)) Then Exit Sub
+
+        _tabDrag = False
+        Dim tn As String = ""
+        Dim bef As Boolean
+        Dim cpos As New Point(e.X, e.Y)
+        Dim spos As Point = ListTab.PointToClient(cpos)
+        Dim i As Integer
+        For i = 0 To ListTab.TabPages.Count - 1
+            Dim rect As Rectangle = ListTab.GetTabRect(i)
+            If rect.Left <= spos.X AndAlso spos.X <= rect.Right AndAlso _
+               rect.Top <= spos.Y AndAlso spos.Y <= rect.Bottom Then
+                tn = ListTab.TabPages(i).Text
+                If spos.X <= (rect.Left + rect.Right) / 2 Then
+                    bef = True
+                Else
+                    bef = False
+                End If
+                Exit For
+            End If
+        Next
+
+        'タブのないところにドロップ->最後尾へ移動
+        If tn = "" Then
+            tn = ListTab.TabPages(ListTab.TabPages.Count - 1).Text
+            bef = False
+            i = ListTab.TabPages.Count - 1
+        End If
+
+        Dim tp As TabPage = DirectCast(e.Data.GetData(GetType(TabPage)), TabPage)
+        If tp.Text = tn Then Exit Sub
+
+        ReOrderTab(tp.Text, tn, bef)
+    End Sub
+
+    Public Sub ReOrderTab(ByVal targetTabText As String, ByVal baseTabText As String, ByVal isBeforeBaseTab As Boolean)
+        Dim baseIndex As Integer = 0
+        For baseIndex = 0 To ListTab.TabPages.Count - 1
+            If ListTab.TabPages(baseIndex).Text = baseTabText Then Exit For
+        Next
+
+        ListTab.SuspendLayout()
+
+        Dim mTp As TabPage = Nothing
+        For j As Integer = 0 To ListTab.TabPages.Count - 1
+            If ListTab.TabPages(j).Text = targetTabText Then
+                mTp = ListTab.TabPages(j)
+                ListTab.TabPages.Remove(mTp)
+                If j < baseIndex Then baseIndex -= 1
+                Exit For
+            End If
+        Next
+        If isBeforeBaseTab Then
+            ListTab.TabPages.Insert(baseIndex, mTp)
+        Else
+            ListTab.TabPages.Insert(baseIndex + 1, mTp)
+        End If
+
+        ListTab.ResumeLayout()
+
+        modifySettingCommon = True
+    End Sub
+
+    Private Sub MakeReplyOrDirectStatus(Optional ByVal isAuto As Boolean = True, Optional ByVal isReply As Boolean = True, Optional ByVal isAll As Boolean = False)
+        'isAuto:True=先頭に挿入、False=カーソル位置に挿入
+        'isReply:True=@,False=DM
+        If Not StatusText.Enabled Then Exit Sub
+        If _curList Is Nothing Then Exit Sub
+        If _curTab Is Nothing Then Exit Sub
+        If _curPost Is Nothing Then Exit Sub
+
+        ' 複数あてリプライはReplyではなく通常ポスト
+        '↑仕様変更で全部リプライ扱いでOK(先頭ドット付加しない)
+        '090403暫定でドットを付加しないようにだけ修正。単独と複数の処理は統合できると思われる。
+        '090513 all @ replies 廃止の仕様変更によりドット付加に戻し(syo68k)
+
+        If _curList.SelectedIndices.Count > 0 Then
+            ' アイテムが1件以上選択されている
+            If _curList.SelectedIndices.Count = 1 AndAlso Not isAll AndAlso _curPost IsNot Nothing Then
+                ' 単独ユーザー宛リプライまたはDM
+                If (_statuses.Tabs(ListTab.SelectedTab.Text).TabType = TabUsageType.DirectMessage AndAlso isAuto) OrElse (Not isAuto AndAlso Not isReply) Then
+                    ' ダイレクトメッセージ
+                    StatusText.Text = "D " + _curPost.Name + " " + StatusText.Text
+                    StatusText.SelectionStart = StatusText.Text.Length
+                    StatusText.Focus()
+                    _reply_to_id = 0
+                    _reply_to_name = ""
+                    Exit Sub
+                End If
+                If StatusText.Text = "" Then
+                    '空の場合
+
+                    ' ステータステキストが入力されていない場合先頭に@ユーザー名を追加する
+                    StatusText.Text = "@" + _curPost.Name + " "
+                    _reply_to_id = _curPost.Id
+                    _reply_to_name = _curPost.Name
+                Else
+                    '何か入力済の場合
+
+                    If isAuto Then
+                        '1件選んでEnter or DoubleClick
+                        If StatusText.Text.Contains("@" + _curPost.Name + " ") Then
+                            If _reply_to_id > 0 AndAlso _reply_to_name = _curPost.Name Then
+                                '返信先書き換え
+                                _reply_to_id = _curPost.Id
+                                _reply_to_name = _curPost.Name
+                            End If
+                            Exit Sub
+                        End If
+                        If Not StatusText.Text.StartsWith("@") Then
+                            '文頭@以外
+                            If StatusText.Text.StartsWith(". ") Then
+                                ' 複数リプライ
+                                StatusText.Text = StatusText.Text.Insert(2, "@" + _curPost.Name + " ")
+                                _reply_to_id = 0
+                                _reply_to_name = ""
+                            Else
+                                ' 単独リプライ
+                                StatusText.Text = "@" + _curPost.Name + " " + StatusText.Text
+                                _reply_to_id = _curPost.Id
+                                _reply_to_name = _curPost.Name
+                            End If
+                        Else
+                            '文頭@
+                            ' 複数リプライ
+                            StatusText.Text = ". @" + _curPost.Name + " " + StatusText.Text
+                            'StatusText.Text = "@" + _curPost.Name + " " + StatusText.Text
+                            _reply_to_id = 0
+                            _reply_to_name = ""
+                        End If
+                    Else
+                        '1件選んでCtrl-Rの場合(返信先操作せず)
+                        Dim sidx As Integer = StatusText.SelectionStart
+                        Dim id As String = "@" + _curPost.Name + " "
+                        If sidx > 0 Then
+                            If StatusText.Text.Substring(sidx - 1, 1) <> " " Then
+                                id = " " + id
+                            End If
+                        End If
+                        StatusText.Text = StatusText.Text.Insert(sidx, id)
+                        sidx += id.Length
+                        'If StatusText.Text.StartsWith("@") Then
+                        '    '複数リプライ
+                        '    StatusText.Text = ". " + StatusText.Text.Insert(sidx, " @" + _curPost.Name + " ")
+                        '    sidx += 5 + _curPost.Name.Length
+                        'Else
+                        '    ' 複数リプライ
+                        '    StatusText.Text = StatusText.Text.Insert(sidx, " @" + _curPost.Name + " ")
+                        '    sidx += 3 + _curPost.Name.Length
+                        'End If
+                        StatusText.SelectionStart = sidx
+                        StatusText.Focus()
+                        '_reply_to_id = 0
+                        '_reply_to_name = Nothing
+                        Exit Sub
+                    End If
+                End If
+            Else
+                ' 複数リプライ
+                If Not isAuto AndAlso Not isReply Then Exit Sub
+
+                'C-S-rか、複数の宛先を選択中にEnter/DoubleClick/C-r/C-S-r
+
+                If isAuto Then
+                    'Enter or DoubleClick
+
+                    Dim sTxt As String = StatusText.Text
+                    If Not sTxt.StartsWith(". ") Then
+                        sTxt = ". " + sTxt
+                        _reply_to_id = 0
+                        _reply_to_name = ""
+                    End If
+                    For cnt As Integer = 0 To _curList.SelectedIndices.Count - 1
+                        Dim post As PostClass = _statuses.Item(_curTab.Text, _curList.SelectedIndices(cnt))
+                        If Not sTxt.Contains("@" + post.Name + " ") Then
+                            sTxt = sTxt.Insert(2, "@" + post.Name + " ")
+                            'sTxt = "@" + post.Name + " " + sTxt
+                        End If
+                    Next
+                    StatusText.Text = sTxt
+                Else
+                    'C-S-r or C-r
+                    If _curList.SelectedIndices.Count > 1 Then
+                        '複数ポスト選択
+
+                        Dim ids As String = ""
+                        Dim sidx As Integer = StatusText.SelectionStart
+                        For cnt As Integer = 0 To _curList.SelectedIndices.Count - 1
+                            Dim post As PostClass = _statuses.Item(_curTab.Text, _curList.SelectedIndices(cnt))
+                            If Not ids.Contains("@" + post.Name + " ") AndAlso _
+                               Not post.Name.Equals(_username, StringComparison.CurrentCultureIgnoreCase) Then
+                                ids += "@" + post.Name + " "
+                            End If
+                            If isAll Then
+                                For Each nm As String In post.ReplyToList
+                                    If Not ids.Contains("@" + nm + " ") AndAlso _
+                                       Not nm.Equals(_username, StringComparison.CurrentCultureIgnoreCase) Then
+                                        ids += "@" + nm + " "
+                                    End If
+                                Next
+                            End If
+                        Next
+                        If ids.Length = 0 Then Exit Sub
+                        If Not StatusText.Text.StartsWith(". ") Then
+                            StatusText.Text = ". " + StatusText.Text
+                            sidx += 2
+                            _reply_to_id = 0
+                            _reply_to_name = ""
+                        End If
+                        If sidx > 0 Then
+                            If StatusText.Text.Substring(sidx - 1, 1) <> " " Then
+                                ids = " " + ids
+                            End If
+                        End If
+                        StatusText.Text = StatusText.Text.Insert(sidx, ids)
+                        sidx += ids.Length
+                        'If StatusText.Text.StartsWith("@") Then
+                        '    StatusText.Text = ". " + StatusText.Text.Insert(sidx, ids)
+                        '    sidx += 2 + ids.Length
+                        'Else
+                        '    StatusText.Text = StatusText.Text.Insert(sidx, ids)
+                        '    sidx += 1 + ids.Length
+                        'End If
+                        StatusText.SelectionStart = sidx
+                        StatusText.Focus()
+                        Exit Sub
+                    Else
+                        '1件のみ選択のC-S-r(返信元付加する可能性あり)
+
+                        Dim ids As String = ""
+                        Dim sidx As Integer = StatusText.SelectionStart
+                        Dim post As PostClass = _curPost
+                        If Not ids.Contains("@" + post.Name + " ") AndAlso _
+                           Not post.Name.Equals(_username, StringComparison.CurrentCultureIgnoreCase) Then
+                            ids += "@" + post.Name + " "
+                        End If
+                        For Each nm As String In post.ReplyToList
+                            If Not ids.Contains("@" + nm + " ") AndAlso _
+                               Not nm.Equals(_username, StringComparison.CurrentCultureIgnoreCase) Then
+                                ids += "@" + nm + " "
+                            End If
+                        Next
+                        If ids.Length = 0 Then Exit Sub
+                        If StatusText.Text = "" Then
+                            '未入力の場合のみ返信先付加
+                            StatusText.Text = ids
+                            StatusText.SelectionStart = ids.Length
+                            StatusText.Focus()
+                            _reply_to_id = post.Id
+                            _reply_to_name = post.Name
+                            Exit Sub
+                        End If
+
+                        If sidx > 0 Then
+                            If StatusText.Text.Substring(sidx - 1, 1) <> " " Then
+                                ids = " " + ids
+                            End If
+                        End If
+                        StatusText.Text = StatusText.Text.Insert(sidx, ids)
+                        sidx += ids.Length
+                        StatusText.SelectionStart = sidx
+                        StatusText.Focus()
+                        Exit Sub
+                    End If
+                End If
+            End If
+            StatusText.SelectionStart = StatusText.Text.Length
+            StatusText.Focus()
+        End If
+    End Sub
+
+    Private Sub ListTab_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListTab.MouseUp
+        _tabDrag = False
+    End Sub
+
+    Private Sub TimerRefreshIcon_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerRefreshIcon.Tick
+        If Not TimerRefreshIcon.Enabled Then Exit Sub
+        Static iconCnt As Integer = 0
+        Static blinkCnt As Integer = 0
+        Static blink As Boolean = False
+        Static idle As Boolean = False
+
+        iconCnt += 1
+        blinkCnt += 1
+
+        Dim busy As Boolean = False
+        For Each bw As BackgroundWorker In Me._bw
+            If bw IsNot Nothing AndAlso bw.IsBusy Then
+                busy = True
+                Exit For
+            End If
+        Next
+
+        If iconCnt > 3 Then
+            iconCnt = 0
+        End If
+        If blinkCnt > 10 Then
+            blinkCnt = 0
+            '未保存の変更を保存
+            SaveConfigsAll(True)
+        End If
+
+        If busy Then
+            NotifyIcon1.Icon = NIconRefresh(iconCnt)
+            idle = False
+            _myStatusError = False
+            Exit Sub
+        End If
+
+        If SettingDialog.ReplyIconState <> REPLY_ICONSTATE.None AndAlso _statuses.GetTabByType(TabUsageType.Mentions).UnreadCount > 0 Then
+            If blinkCnt > 0 Then Exit Sub
+            blink = Not blink
+            If blink OrElse SettingDialog.ReplyIconState = REPLY_ICONSTATE.StaticIcon Then
+                NotifyIcon1.Icon = ReplyIcon
+            Else
+                NotifyIcon1.Icon = ReplyIconBlink
+            End If
+            idle = False
+            Exit Sub
+        End If
+
+        If idle Then Exit Sub
+        idle = True
+        '優先度:エラー→オフライン→アイドル
+        'エラーは更新アイコンでクリアされる
+        If _myStatusError Then
+            NotifyIcon1.Icon = NIconAtRed
+            Exit Sub
+        End If
+        If _myStatusOnline Then
+            NotifyIcon1.Icon = NIconAt
+        Else
+            NotifyIcon1.Icon = NIconAtSmoke
+        End If
+    End Sub
+
+    Private Sub ContextMenuTabProperty_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuTabProperty.Opening
+        '右クリックの場合はタブ名が設定済。アプリケーションキーの場合は現在のタブを対象とする
+        If _rclickTabName = "" OrElse ContextMenuTabProperty.OwnerItem IsNot Nothing Then _rclickTabName = ListTab.SelectedTab.Text
+        If _statuses Is Nothing Then Exit Sub
+        If _statuses.Tabs Is Nothing Then Exit Sub
+
+        Dim tb As TabClass = _statuses.Tabs(_rclickTabName)
+        If tb Is Nothing Then Exit Sub
+
+        NotifyDispMenuItem.Checked = tb.Notify
+
+        soundfileListup = True
+        SoundFileComboBox.Items.Clear()
+        SoundFileComboBox.Items.Add("")
+        Dim oDir As IO.DirectoryInfo = New IO.DirectoryInfo(My.Application.Info.DirectoryPath)
+        For Each oFile As IO.FileInfo In oDir.GetFiles("*.wav")
+            SoundFileComboBox.Items.Add(oFile.Name)
+        Next
+        Dim idx As Integer = SoundFileComboBox.Items.IndexOf(tb.SoundFile)
+        If idx = -1 Then idx = 0
+        SoundFileComboBox.SelectedIndex = idx
+        soundfileListup = False
+        UreadManageMenuItem.Checked = tb.UnreadManage
+        If _statuses.Tabs(_rclickTabName).TabType <> TabUsageType.Mentions AndAlso _statuses.IsDefaultTab(_rclickTabName) Then
+            FilterEditMenuItem.Enabled = True
+            DeleteTabMenuItem.Enabled = False
+        ElseIf _statuses.Tabs(_rclickTabName).TabType = TabUsageType.Mentions Then
+            FilterEditMenuItem.Enabled = True
+            DeleteTabMenuItem.Enabled = False
+        Else
+            FilterEditMenuItem.Enabled = True
+            DeleteTabMenuItem.Enabled = True
+        End If
+    End Sub
+
+    Private Sub UreadManageMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UreadManageMenuItem.Click
+        If _rclickTabName = "" Then Exit Sub
+
+        ChangeTabUnreadManage(_rclickTabName, UreadManageMenuItem.Checked)
+
+        SaveConfigsTab(_rclickTabName)
+    End Sub
+
+    Public Sub ChangeTabUnreadManage(ByVal tabName As String, ByVal isManage As Boolean)
+
+        Dim idx As Integer
+        For idx = 0 To ListTab.TabCount
+            If ListTab.TabPages(idx).Text = tabName Then Exit For
+        Next
+
+        _statuses.SetTabUnreadManage(tabName, isManage)
+        If SettingDialog.TabIconDisp Then
+            If _statuses.Tabs(tabName).UnreadCount > 0 Then
+                ListTab.TabPages(idx).ImageIndex = 0
+            Else
+                ListTab.TabPages(idx).ImageIndex = -1
+            End If
+        End If
+
+        If _curTab.Text = tabName Then
+            _itemCache = Nothing
+            _postCache = Nothing
+            _curList.Refresh()
+        End If
+
+        SetMainWindowTitle()
+        SetStatusLabel()
+        If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+    End Sub
+
+    Private Sub NotifyDispMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NotifyDispMenuItem.Click
+        If _rclickTabName = "" Then Exit Sub
+
+        _statuses.Tabs(_rclickTabName).Notify = NotifyDispMenuItem.Checked
+
+        SaveConfigsTab(_rclickTabName)
+    End Sub
+
+    Private Sub SoundFileComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SoundFileComboBox.SelectedIndexChanged
+        If soundfileListup OrElse _rclickTabName = "" Then Exit Sub
+
+        _statuses.Tabs(_rclickTabName).SoundFile = DirectCast(SoundFileComboBox.SelectedItem, String)
+
+        SaveConfigsTab(_rclickTabName)
+    End Sub
+
+    Private Sub DeleteTabMenuItem_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DeleteTabMenuItem.Click
+        If _rclickTabName = "" Then Exit Sub
+
+        RemoveSpecifiedTab(_rclickTabName)
+        _rclickTabName = ""
+        SaveConfigsCommon()
+        SaveConfigsTab(False)
+    End Sub
+
+    Private Sub FilterEditMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FilterEditMenuItem.Click
+        'If _rclickTabName = "" OrElse _rclickTabName = DEFAULTTAB.RECENT OrElse _rclickTabName = DEFAULTTAB.DM _
+        '        OrElse _rclickTabName = DEFAULTTAB.FAV Then Exit Sub
+
+        If _rclickTabName = "" Then _rclickTabName = _statuses.GetTabByType(TabUsageType.Home).TabName
+        fDialog.SetCurrent(_rclickTabName)
+        fDialog.ShowDialog()
+        Me.TopMost = SettingDialog.AlwaysTop
+
+        Try
+            Me.Cursor = Cursors.WaitCursor
+            _itemCache = Nothing
+            _postCache = Nothing
+            _curPost = Nothing
+            _curItemIndex = -1
+            _statuses.FilterAll()
+            For Each tb As TabPage In ListTab.TabPages
+                DirectCast(tb.Controls(0), DetailsListView).VirtualListSize = _statuses.Tabs(tb.Text).AllCount
+                If _statuses.Tabs(tb.Text).UnreadCount > 0 Then
+                    If SettingDialog.TabIconDisp Then
+                        tb.ImageIndex = 0
+                    End If
+                Else
+                    If SettingDialog.TabIconDisp Then
+                        tb.ImageIndex = -1
+                    End If
+                End If
+            Next
+            If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+        Finally
+            Me.Cursor = Cursors.Default
+        End Try
+        SaveConfigsTab(False)
+    End Sub
+
+    Private Sub AddTabMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddTabMenuItem.Click
+        Dim tabName As String = Nothing
+        Using inputName As New InputTabName()
+            inputName.TabName = "MyTab" + (ListTab.TabPages.Count + 1).ToString
+            inputName.ShowDialog()
+            tabName = inputName.TabName
+        End Using
+        Me.TopMost = SettingDialog.AlwaysTop
+        If tabName <> "" Then
+            If Not AddNewTab(tabName, False) Then
+                Dim tmp As String = String.Format(My.Resources.AddTabMenuItem_ClickText1, tabName)
+                MessageBox.Show(tmp, My.Resources.AddTabMenuItem_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+            Else
+                '成功
+                _statuses.AddTab(tabName, TabUsageType.UserDefined)
+                SaveConfigsCommon()
+                SaveConfigsTab(False)
+            End If
+        End If
+    End Sub
+
+    Private Sub TabMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabMenuItem.Click
+        '選択発言を元にフィルタ追加
+        For Each idx As Integer In _curList.SelectedIndices
+            Dim tabName As String = ""
+            Do
+                '振り分け先タブ選択
+                If TabDialog.ShowDialog = Windows.Forms.DialogResult.Cancel Then
+                    Me.TopMost = SettingDialog.AlwaysTop
+                    Exit For
+                End If
+                Me.TopMost = SettingDialog.AlwaysTop
+                tabName = TabDialog.SelectedTabName
+
+                ListTab.SelectedTab.Focus()
+                '新規タブが選択→タブ追加
+                If tabName = My.Resources.TabMenuItem_ClickText1 Then
+                    Using inputName As New InputTabName()
+                        inputName.TabName = "MyTab" + ListTab.TabPages.Count.ToString
+                        inputName.ShowDialog()
+                        tabName = inputName.TabName
+                    End Using
+                    Me.TopMost = SettingDialog.AlwaysTop
+                    If tabName.Length > 0 Then
+                        If Not AddNewTab(tabName, False) Then
+                            Dim tmp As String = String.Format(My.Resources.TabMenuItem_ClickText2, tabName)
+                            MessageBox.Show(tmp, My.Resources.TabMenuItem_ClickText3, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                        Else
+                            _statuses.AddTab(tabName, TabUsageType.UserDefined)
+                            Exit Do
+                        End If
+                    End If
+                Else
+                    Exit Do
+                End If
+            Loop While True
+            fDialog.SetCurrent(tabName)
+            fDialog.AddNewFilter(_statuses.Item(_curTab.Text, idx).Name, _statuses.Item(_curTab.Text, idx).Data)
+            fDialog.ShowDialog()
+            Me.TopMost = SettingDialog.AlwaysTop
+        Next
+
+        Try
+            Me.Cursor = Cursors.WaitCursor
+            _itemCache = Nothing
+            _postCache = Nothing
+            _curPost = Nothing
+            _curItemIndex = -1
+            _statuses.FilterAll()
+            For Each tb As TabPage In ListTab.TabPages
+                DirectCast(tb.Controls(0), DetailsListView).VirtualListSize = _statuses.Tabs(tb.Text).AllCount
+                If _statuses.Tabs(tb.Text).UnreadCount > 0 Then
+                    If SettingDialog.TabIconDisp Then
+                        tb.ImageIndex = 0
+                    End If
+                Else
+                    If SettingDialog.TabIconDisp Then
+                        tb.ImageIndex = -1
+                    End If
+                End If
+            Next
+            If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+        Finally
+            Me.Cursor = Cursors.Default
+        End Try
+        SaveConfigsCommon()
+        SaveConfigsTab(False)
+    End Sub
+
+    Protected Overrides Function ProcessDialogKey( _
+        ByVal keyData As Keys) As Boolean
+        'TextBox1でEnterを押してもビープ音が鳴らないようにする
+        If StatusText.Focused AndAlso _
+            (keyData And Keys.KeyCode) = Keys.Enter Then
+            '改行
+            If StatusText.Multiline AndAlso _
+               (keyData And Keys.Shift) = Keys.Shift AndAlso _
+               (keyData And Keys.Control) <> Keys.Control Then
+                Dim pos1 As Integer = StatusText.SelectionStart
+                If StatusText.SelectionLength > 0 Then
+                    StatusText.Text = StatusText.Text.Remove(pos1, StatusText.SelectionLength)  '選択状態文字列削除
+                End If
+                StatusText.Text = StatusText.Text.Insert(pos1, Environment.NewLine)  '改行挿入
+                StatusText.SelectionStart = pos1 + Environment.NewLine.Length    'カーソルを改行の次の文字へ移動
+                Return True
+            End If
+            '投稿
+            If (Not StatusText.Multiline AndAlso _
+                    ((keyData And Keys.Control) = Keys.Control AndAlso SettingDialog.PostCtrlEnter) OrElse _
+                    ((keyData And Keys.Control) <> Keys.Control AndAlso Not SettingDialog.PostCtrlEnter)) OrElse _
+               (StatusText.Multiline AndAlso _
+                    (Not SettingDialog.PostCtrlEnter AndAlso _
+                        ((keyData And Keys.Control) <> Keys.Control AndAlso (keyData And Keys.Shift) <> Keys.Shift) OrElse _
+                        ((keyData And Keys.Control) = Keys.Control AndAlso (keyData And Keys.Shift) = Keys.Shift)) OrElse _
+                    (SettingDialog.PostCtrlEnter AndAlso (keyData And Keys.Control) = Keys.Control)) Then
+                PostButton_Click(Nothing, Nothing)
+                Return True
+            End If
+        End If
+        Return MyBase.ProcessDialogKey(keyData)
+    End Function
+
+    Private Sub InfoTwitterMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InfoTwitterMenuItem.Click
+        If Twitter.InfoTwitter.Trim() = "" Then
+            MessageBox.Show(My.Resources.InfoTwitterMenuItem_ClickText1, My.Resources.InfoTwitterMenuItem_ClickText2, MessageBoxButtons.OK, MessageBoxIcon.Information)
+        Else
+            Dim inf As String = Twitter.InfoTwitter.Trim()
+            inf = "<html><head></head><body>" + inf + "</body></html>"
+            PostBrowser.Visible = False
+            PostBrowser.DocumentText = inf
+            PostBrowser.Visible = True
+        End If
+    End Sub
+
+    Private Sub ReplyAllStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReplyAllStripMenuItem.Click
+        MakeReplyOrDirectStatus(False, True, True)
+    End Sub
+
+    Private Sub IDRuleMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IDRuleMenuItem.Click
+        Dim tabName As String = ""
+
+        '未選択なら処理終了
+        If _curList.SelectedIndices.Count = 0 Then Exit Sub
+
+        Do
+            '振り分け先タブ選択
+            If TabDialog.ShowDialog = Windows.Forms.DialogResult.Cancel Then
+                Me.TopMost = SettingDialog.AlwaysTop
+                Exit Sub
+            End If
+            Me.TopMost = SettingDialog.AlwaysTop
+            tabName = TabDialog.SelectedTabName
+
+            ListTab.SelectedTab.Focus()
+            '新規タブを選択→タブ作成
+            If tabName = My.Resources.IDRuleMenuItem_ClickText1 Then
+                Using inputName As New InputTabName()
+                    inputName.TabName = "MyTab" + ListTab.TabPages.Count.ToString
+                    inputName.ShowDialog()
+                    tabName = inputName.TabName
+                End Using
+                Me.TopMost = SettingDialog.AlwaysTop
+                If tabName <> "" Then
+                    If Not AddNewTab(tabName, False) Then
+                        Dim tmp As String = String.Format(My.Resources.IDRuleMenuItem_ClickText2, tabName)
+                        MessageBox.Show(tmp, My.Resources.IDRuleMenuItem_ClickText3, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
+                    Else
+                        _statuses.AddTab(tabName, TabUsageType.UserDefined)
+                        Exit Do
+                    End If
+                End If
+            Else
+                '既存タブを選択
+                Exit Do
+            End If
+        Loop While True
+        Dim mv As Boolean = False
+        With Block
+            '移動するか?
+            Dim _tmp As String = String.Format(My.Resources.IDRuleMenuItem_ClickText4, Environment.NewLine)
+            If MessageBox.Show(_tmp, My.Resources.IDRuleMenuItem_ClickText5, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
+                mv = False
+            Else
+                mv = True
+            End If
+        End With
+        Dim mk As Boolean = False
+        If Not mv Then
+            'マークするか?
+            Dim _tmp As String = String.Format(My.Resources.IDRuleMenuItem_ClickText6, vbCrLf)
+            If MessageBox.Show(_tmp, My.Resources.IDRuleMenuItem_ClickText7, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
+                mk = True
+            Else
+                mk = False
+            End If
+        End If
+        Dim ids As New List(Of String)
+        For Each idx As Integer In _curList.SelectedIndices
+            Dim post As PostClass = _statuses.Item(_curTab.Text, idx)
+            If Not ids.Contains(post.Name) Then
+                Dim fc As New FiltersClass
+                ids.Add(post.Name)
+                fc.NameFilter = post.Name
+                fc.SearchBoth = True
+                fc.MoveFrom = mv
+                fc.SetMark = mk
+                fc.UseRegex = False
+                fc.SearchUrl = False
+                _statuses.Tabs(tabName).AddFilter(fc)
+            End If
+        Next
+
+        Try
+            Me.Cursor = Cursors.WaitCursor
+            _itemCache = Nothing
+            _postCache = Nothing
+            _curPost = Nothing
+            _curItemIndex = -1
+            _statuses.FilterAll()
+            For Each tb As TabPage In ListTab.TabPages
+                DirectCast(tb.Controls(0), DetailsListView).VirtualListSize = _statuses.Tabs(tb.Text).AllCount
+                If _statuses.Tabs(tb.Text).UnreadCount > 0 Then
+                    If SettingDialog.TabIconDisp Then
+                        tb.ImageIndex = 0
+                    End If
+                Else
+                    If SettingDialog.TabIconDisp Then
+                        tb.ImageIndex = -1
+                    End If
+                End If
+            Next
+            If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+        Finally
+            Me.Cursor = Cursors.Default
+        End Try
+        SaveConfigsCommon()
+        SaveConfigsTab(False)
+    End Sub
+
+    Private Sub CopySTOTMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopySTOTMenuItem.Click
+        Me.CopyStot()
+    End Sub
+
+    Private Sub CopyURLMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CopyURLMenuItem.Click
+        Me.CopyIdUri()
+    End Sub
+
+    Private Sub SelectAllMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SelectAllMenuItem.Click
+        If StatusText.Focused Then
+            ' 発言欄でのCtrl+A
+            StatusText.SelectAll()
+        Else
+            ' ListView上でのCtrl+A
+            For i As Integer = 0 To _curList.VirtualListSize - 1
+                _curList.SelectedIndices.Add(i)
+            Next
+        End If
+    End Sub
+
+    Private Sub MoveMiddle()
+        Dim _item As ListViewItem
+        Dim idx1 As Integer
+        Dim idx2 As Integer
+
+        If _curList.SelectedIndices.Count = 0 Then Exit Sub
+
+        Dim idx As Integer = _curList.SelectedIndices(0)
+
+        _item = _curList.GetItemAt(0, 25)
+        If _item Is Nothing Then
+            idx1 = 0
+        Else
+            idx1 = _item.Index
+        End If
+        _item = _curList.GetItemAt(0, _curList.ClientSize.Height - 1)
+        If _item Is Nothing Then
+            idx2 = _curList.VirtualListSize - 1
+        Else
+            idx2 = _item.Index
+        End If
+
+        idx -= Math.Abs(idx1 - idx2) \ 2
+        If idx < 0 Then idx = 0
+
+        _curList.EnsureVisible(_curList.VirtualListSize - 1)
+        _curList.EnsureVisible(idx)
+    End Sub
+
+    Private Sub WedataMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WedataMenuItem.Click
+        Twitter.GetWedata()
+    End Sub
+
+    Private Sub OpenURLMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenURLMenuItem.Click
+        If PostBrowser.Document.Links.Count > 0 Then
+            UrlDialog.ClearUrl()
+
+            Dim openUrlStr As String = ""
+
+            If PostBrowser.Document.Links.Count = 1 Then
+                Dim urlStr As String = ""
+                Try
+                    urlStr = IDNDecode(PostBrowser.Document.Links(0).GetAttribute("href"))
+                Catch ex As ArgumentException
+                    '変なHTML?
+                    Exit Sub
+                End Try
+                If String.IsNullOrEmpty(urlStr) Then Exit Sub
+                openUrlStr = urlEncodeMultibyteChar(urlStr)
+            Else
+                For Each linkElm As HtmlElement In PostBrowser.Document.Links
+                    Dim urlStr As String = ""
+                    Try
+                        urlStr = IDNDecode(linkElm.GetAttribute("href"))
+                    Catch ex As ArgumentException
+                        '変なHTML?
+                        Exit Sub
+                    End Try
+                    If String.IsNullOrEmpty(urlStr) Then Continue For
+                    UrlDialog.AddUrl(urlEncodeMultibyteChar(urlStr))
+                Next
+                If UrlDialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
+                    openUrlStr = UrlDialog.SelectedUrl
+                End If
+                Me.TopMost = SettingDialog.AlwaysTop
+            End If
+            If String.IsNullOrEmpty(openUrlStr) Then Exit Sub
+            openUrlStr = openUrlStr.Replace("://twitter.com/search?q=#", "://twitter.com/search?q=%23")
+            OpenUriAsync(openUrlStr)
+        End If
+    End Sub
+
+    Private Sub ClearTabMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearTabMenuItem.Click
+        If _rclickTabName = "" Then Exit Sub
+        Dim tmp As String = String.Format(My.Resources.ClearTabMenuItem_ClickText1, Environment.NewLine)
+        If MessageBox.Show(tmp, My.Resources.ClearTabMenuItem_ClickText2, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then
+            Exit Sub
+        End If
+
+        _statuses.ClearTabIds(_rclickTabName)
+        If ListTab.SelectedTab.Text = _rclickTabName Then
+            _anchorPost = Nothing
+            _anchorFlag = False
+            _itemCache = Nothing
+            _postCache = Nothing
+            _itemCacheIndex = -1
+            _curItemIndex = -1
+            _curPost = Nothing
+        End If
+        For Each tb As TabPage In ListTab.TabPages
+            If tb.Text = _rclickTabName Then
+                tb.ImageIndex = -1
+                DirectCast(tb.Controls(0), DetailsListView).VirtualListSize = 0
+                Exit For
+            End If
+        Next
+        If Not SettingDialog.TabIconDisp Then ListTab.Refresh()
+
+        SetMainWindowTitle()
+        SetStatusLabel()
+    End Sub
+
+    Private Sub SetMainWindowTitle()
+        'メインウインドウタイトルの書き換え
+        Dim ttl As New StringBuilder(256)
+        Dim ur As Integer = 0
+        Dim al As Integer = 0
+        Static myVer As String = fileVersion
+        If SettingDialog.DispLatestPost <> DispTitleEnum.None AndAlso _
+           SettingDialog.DispLatestPost <> DispTitleEnum.Post AndAlso _
+           SettingDialog.DispLatestPost <> DispTitleEnum.Ver Then
+            For Each key As String In _statuses.Tabs.Keys
+                ur += _statuses.Tabs(key).UnreadCount
+                al += _statuses.Tabs(key).AllCount
+            Next
+        End If
+
+        If SettingDialog.DispUsername Then ttl.Append(_username).Append(" - ")
+        ttl.Append("Tween  ")
+        Select Case SettingDialog.DispLatestPost
+            Case DispTitleEnum.Ver
+                ttl.Append("Ver:").Append(myVer)
+            Case DispTitleEnum.Post
+                If _history IsNot Nothing AndAlso _history.Count > 1 Then
+                    ttl.Append(_history(_history.Count - 2).Replace(vbCrLf, ""))
+                End If
+            Case DispTitleEnum.UnreadRepCount
+                ttl.AppendFormat(My.Resources.SetMainWindowTitleText1, _statuses.GetTabByType(TabUsageType.Mentions).UnreadCount + _statuses.GetTabByType(TabUsageType.DirectMessage).UnreadCount)
+            Case DispTitleEnum.UnreadAllCount
+                ttl.AppendFormat(My.Resources.SetMainWindowTitleText2, ur)
+            Case DispTitleEnum.UnreadAllRepCount
+                ttl.AppendFormat(My.Resources.SetMainWindowTitleText3, ur, _statuses.GetTabByType(TabUsageType.Mentions).UnreadCount + _statuses.GetTabByType(TabUsageType.DirectMessage).UnreadCount)
+            Case DispTitleEnum.UnreadCountAllCount
+                ttl.AppendFormat(My.Resources.SetMainWindowTitleText4, ur, al)
+        End Select
+
+        Try
+            Me.Text = ttl.ToString()
+        Catch ex As AccessViolationException
+            '原因不明。ポスト内容に依存か?たまーに発生するが再現せず。
+        End Try
+    End Sub
+
+    Private Sub SetStatusLabel()
+        'ステータス欄にカウント表示
+        'タブ未読数/タブ発言数 全未読数/総発言数 (未読@+未読DM数)
+        If _statuses Is Nothing Then Exit Sub
+        Dim urat As Integer = _statuses.GetTabByType(TabUsageType.Mentions).UnreadCount + _statuses.GetTabByType(TabUsageType.DirectMessage).UnreadCount
+        Dim ur As Integer = 0
+        Dim al As Integer = 0
+        Dim tur As Integer = 0
+        Dim tal As Integer = 0
+        Dim slbl As StringBuilder = New StringBuilder(256)
+        For Each key As String In _statuses.Tabs.Keys
+            ur += _statuses.Tabs(key).UnreadCount
+            al += _statuses.Tabs(key).AllCount
+            If key.Equals(_curTab.Text) Then
+                tur = _statuses.Tabs(key).UnreadCount
+                tal = _statuses.Tabs(key).AllCount
+            End If
+        Next
+
+        slbl.AppendFormat(My.Resources.SetStatusLabelText1, tur, tal, ur, al, urat, _postTimestamps.Count, _favTimestamps.Count, _tlCount)
+        If SettingDialog.TimelinePeriodInt = 0 Then
+            slbl.Append(My.Resources.SetStatusLabelText2)
+        Else
+            slbl.Append((TimerTimeline.Interval / 1000).ToString() + My.Resources.SetStatusLabelText3)
+        End If
+        If Twitter.RemainCountApi > -1 AndAlso SettingDialog.UseAPI Then
+            slbl.Append(" [API: " + Twitter.RemainCountApi.ToString + "]")
+        End If
+
+        StatusLabelUrl.Text = slbl.ToString()
+    End Sub
+
+    Private Sub SetNotifyIconText()
+        ' タスクトレイアイコンのツールチップテキスト書き換え
+        If SettingDialog.DispUsername Then
+            NotifyIcon1.Text = _username + " - Tween"
+        Else
+            NotifyIcon1.Text = "Tween"
+        End If
+    End Sub
+
+    Friend Sub CheckReplyTo(ByVal StatusText As String)
+        ' 本当にリプライ先指定すべきかどうかの判定
+        Dim id As New Regex("(^|[ -/:-@[-^`{-~])@[a-zA-Z0-9_]+")
+        Dim m As MatchCollection
+
+        m = id.Matches(StatusText)
+
+        If AtIdSupl IsNot Nothing Then
+            Dim bCnt As Integer = AtIdSupl.IdCount
+            For Each mid As Match In m
+                AtIdSupl.AddId(mid.ToString)
+            Next
+            If bCnt <> AtIdSupl.IdCount Then modifySettingAtId = True
+        End If
+
+        ' リプライ先ステータスIDの指定がない場合は指定しない
+        If _reply_to_id = 0 Then Exit Sub
+
+        ' リプライ先ユーザー名がない場合も指定しない
+        If _reply_to_name = "" Then
+            _reply_to_id = 0
+            Exit Sub
+        End If
+
+        ' 通常Reply
+        ' 次の条件を満たす場合に in_reply_to_status_id 指定
+        ' 1. Twitterによりリンクと判定される @idが文中に1つ含まれる (2009/5/28 リンク化される@IDのみカウントするように修正)
+        ' 2. リプライ先ステータスIDが設定されている(リストをダブルクリックで返信している)
+        ' 3. 文中に含まれた@idがリプライ先のポスト者のIDと一致する
+
+        If m IsNot Nothing AndAlso Not StatusText.StartsWith(". ") Then
+            For Each mid As Match In m
+                If mid.ToString = "@" + _reply_to_name Then
+                    Exit Sub
+                End If
+            Next
+        End If
+        'If m IsNot Nothing AndAlso m.Count = 1 AndAlso m.Item(0).Value = "@" + _reply_to_name AndAlso Not StatusText.StartsWith(". ") Then
+        '    Exit Sub
+        'End If
+
+        _reply_to_id = 0
+        _reply_to_name = ""
+
+    End Sub
+
+    Private Sub TweenMain_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
+        If SettingDialog.MinimizeToTray AndAlso WindowState = FormWindowState.Minimized Then
+            Me.Visible = False
+        End If
+    End Sub
+
+    Private Sub PlaySoundMenuItem_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlaySoundMenuItem.CheckedChanged
+        If PlaySoundMenuItem.Checked Then
+            SettingDialog.PlaySound = True
+        Else
+            SettingDialog.PlaySound = False
+        End If
+        modifySettingCommon = True
+        'SaveConfigsCommon()
+    End Sub
+
+    Private Sub SplitContainer1_SplitterMoved(ByVal sender As Object, ByVal e As System.Windows.Forms.SplitterEventArgs) Handles SplitContainer1.SplitterMoved
+        If Me.WindowState = FormWindowState.Normal Then
+            _mySpDis = SplitContainer1.SplitterDistance
+            If StatusText.Multiline Then _mySpDis2 = StatusText.Height
+            modifySettingLocal = True
+        End If
+    End Sub
+
+    Private Sub RepliedStatusOpenMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RepliedStatusOpenMenuItem.Click
+        If _curPost IsNot Nothing AndAlso _curPost.InReplyToUser IsNot Nothing AndAlso _curPost.InReplyToId > 0 Then
+            If _statuses.ContainsKey(_curPost.InReplyToId) Then
+                Dim repPost As PostClass = _statuses.Item(_curPost.InReplyToId)
+                MessageBox.Show(repPost.Name + " / " + repPost.Nickname + "   (" + repPost.PDate.ToString() + ")" + Environment.NewLine + repPost.Data)
+            Else
+                OpenUriAsync("http://twitter.com/" + _curPost.InReplyToUser + "/statuses/" + _curPost.InReplyToId.ToString())
+            End If
+        End If
+    End Sub
+
+    Private Sub ContextMenuStrip3_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip3.Opening
+        '発言詳細のアイコン右クリック時のメニュー制御
+        If _curList.SelectedIndices.Count > 0 AndAlso _curPost IsNot Nothing Then
+            Dim name As String = _curPost.ImageUrl
+            If name.Length > 0 Then
+                name = IO.Path.GetFileNameWithoutExtension(name.Substring(name.LastIndexOf("/"c)))
+                name = name.Substring(0, name.Length - 7) ' "_normal".Length
+                Me.IconNameToolStripMenuItem.Enabled = True
+                If Me.TIconDic.ContainsKey(_curPost.ImageUrl) AndAlso Me.TIconDic(_curPost.ImageUrl) IsNot Nothing Then
+                    Me.SaveIconPictureToolStripMenuItem.Enabled = True
+                Else
+                    Me.SaveIconPictureToolStripMenuItem.Enabled = False
+                End If
+                Me.IconNameToolStripMenuItem.Text = name
+            Else
+                Me.IconNameToolStripMenuItem.Enabled = False
+                Me.SaveIconPictureToolStripMenuItem.Enabled = False
+                Me.IconNameToolStripMenuItem.Text = My.Resources.ContextMenuStrip3_OpeningText1
+            End If
+        Else
+            Me.IconNameToolStripMenuItem.Enabled = False
+            Me.SaveIconPictureToolStripMenuItem.Enabled = False
+            Me.IconNameToolStripMenuItem.Text = My.Resources.ContextMenuStrip3_OpeningText2
+        End If
+    End Sub
+
+    Private Sub IconNameToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IconNameToolStripMenuItem.Click
+        If _curPost Is Nothing Then Exit Sub
+        Dim name As String = _curPost.ImageUrl
+        OpenUriAsync(name.Remove(name.LastIndexOf("_normal"), 7)) ' "_normal".Length
+    End Sub
+
+    Private Sub SaveOriginalSizeIconPictureToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
+        If _curPost Is Nothing Then Exit Sub
+        Dim name As String = _curPost.ImageUrl
+        name = IO.Path.GetFileNameWithoutExtension(name.Substring(name.LastIndexOf("/"c)))
+
+        Me.SaveFileDialog1.FileName = name.Substring(0, name.Length - 8) ' "_normal".Length + 1
+
+        If Me.SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
+            ' STUB
+        End If
+    End Sub
+
+    Private Sub SaveIconPictureToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveIconPictureToolStripMenuItem.Click
+        If _curPost Is Nothing Then Exit Sub
+        Dim name As String = _curPost.ImageUrl
+
+        Me.SaveFileDialog1.FileName = name.Substring(name.LastIndexOf("/"c) + 1)
+
+        If Me.SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
+            Using bmp2 As New Bitmap(TIconDic(name).Size.Width, TIconDic(name).Size.Height)
+                Using g As Graphics = Graphics.FromImage(bmp2)
+                    g.InterpolationMode = Drawing2D.InterpolationMode.High
+                    g.DrawImage(TIconDic(name), 0, 0, TIconDic(name).Size.Width, TIconDic(name).Size.Height)
+                End Using
+                bmp2.Save(Me.SaveFileDialog1.FileName)
+            End Using
+        End If
+    End Sub
+
+    Private Sub SplitContainer2_Panel2_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SplitContainer2.Panel2.Resize
+        Me.StatusText.Multiline = Me.SplitContainer2.Panel2.Height > Me.SplitContainer2.Panel2MinSize + 2
+        MultiLineMenuItem.Checked = Me.StatusText.Multiline
+        modifySettingLocal = True
+    End Sub
+
+    Private Sub StatusText_MultilineChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StatusText.MultilineChanged
+        If Me.StatusText.Multiline Then
+            Me.StatusText.ScrollBars = ScrollBars.Vertical
+        Else
+            Me.StatusText.ScrollBars = ScrollBars.None
+        End If
+        modifySettingLocal = True
+    End Sub
+
+    Private Sub MultiLineMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MultiLineMenuItem.Click
+        '発言欄複数行
+        StatusText.Multiline = MultiLineMenuItem.Checked
+        _cfgLocal.StatusMultiline = MultiLineMenuItem.Checked
+        If MultiLineMenuItem.Checked Then
+            If SplitContainer2.Height - _mySpDis2 - SplitContainer2.SplitterWidth < 0 Then
+                SplitContainer2.SplitterDistance = 0
+            Else
+                SplitContainer2.SplitterDistance = SplitContainer2.Height - _mySpDis2 - SplitContainer2.SplitterWidth
+            End If
+        Else
+            SplitContainer2.SplitterDistance = SplitContainer2.Height - SplitContainer2.Panel2MinSize - SplitContainer2.SplitterWidth
+        End If
+        modifySettingLocal = True
+    End Sub
+
+    Private Function UrlConvert(ByVal Converter_Type As UrlConverter) As Boolean
+        Dim result As String = ""
+        Dim url As Regex = New Regex("(?<![0-9A-Za-z])(?:https?|shttp)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f" + _
+                                     "][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)" + _
+                                     "*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\." + _
+                                     "[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f]" + _
+                                     "[0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-" + _
+                                     "Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f" + _
+                                     "])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)" + _
+                                     "*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])" + _
+                                     "*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?")
+
+
+        If StatusText.SelectionLength > 0 Then
+            Dim tmp As String = StatusText.SelectedText
+            ' httpから始まらない場合、ExcludeStringで指定された文字列で始まる場合は対象としない
+            If tmp.StartsWith("http") Then
+                ' 文字列が選択されている場合はその文字列について処理
+
+                '短縮URL変換 日本語を含むかもしれないのでURLエンコードする
+                result = Twitter.MakeShortUrl(Converter_Type, StatusText.SelectedText)
+
+                If result.Equals("Can't convert") Then
+                    StatusLabel.Text = result.Insert(0, Converter_Type.ToString() + ":")
+                    Return False
+                End If
+
+                If Not result = "" Then
+                    Dim undotmp As New urlUndo
+
+                    StatusText.Select(StatusText.Text.IndexOf(tmp, StringComparison.Ordinal), tmp.Length)
+                    StatusText.SelectedText = result
+
+                    'undoバッファにセット
+                    undotmp.Before = tmp
+                    undotmp.After = result
+
+                    If urlUndoBuffer Is Nothing Then
+                        urlUndoBuffer = New List(Of urlUndo)
+                        UrlUndoToolStripMenuItem.Enabled = True
+                    End If
+
+                    urlUndoBuffer.Add(undotmp)
+                End If
+            End If
+        Else
+            Dim urls As RegularExpressions.MatchCollection = Nothing
+            urls = url.Matches(StatusText.Text)
+
+            ' 正規表現にマッチしたURL文字列をtinyurl化
+            For Each tmp2 As Match In urls
+                Dim tmp As String = tmp2.ToString
+                Dim undotmp As New urlUndo
+
+                '選んだURLを選択(?)
+                StatusText.Select(StatusText.Text.IndexOf(tmp, StringComparison.Ordinal), tmp.Length)
+
+                '短縮URL変換
+                result = Twitter.MakeShortUrl(Converter_Type, StatusText.SelectedText)
+
+                If result.Equals("Can't convert") Then
+                    StatusLabel.Text = result.Insert(0, Converter_Type.ToString() + ":")
+                    Continue For
+                End If
+
+                If Not result = "" Then
+                    StatusText.Select(StatusText.Text.IndexOf(tmp, StringComparison.Ordinal), tmp.Length)
+                    StatusText.SelectedText = result
+                    'undoバッファにセット
+                    undotmp.Before = tmp
+                    undotmp.After = result
+
+                    If urlUndoBuffer Is Nothing Then
+                        urlUndoBuffer = New List(Of urlUndo)
+                        UrlUndoToolStripMenuItem.Enabled = True
+                    End If
+
+                    urlUndoBuffer.Add(undotmp)
+                End If
+            Next
+        End If
+
+        Return True
+
+    End Function
+
+    Private Sub doUrlUndo()
+        If urlUndoBuffer IsNot Nothing Then
+            Dim tmp As String = StatusText.Text
+            For Each data As urlUndo In urlUndoBuffer
+                tmp = tmp.Replace(data.After, data.Before)
+            Next
+            StatusText.Text = tmp
+            urlUndoBuffer = Nothing
+            UrlUndoToolStripMenuItem.Enabled = False
+        End If
+    End Sub
+
+    Private Sub TinyURLToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TinyURLToolStripMenuItem.Click
+        UrlConvert(UrlConverter.TinyUrl)
+    End Sub
+
+    Private Sub IsgdToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IsgdToolStripMenuItem.Click
+        UrlConvert(UrlConverter.Isgd)
+    End Sub
+
+    Private Sub TwurlnlToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TwurlnlToolStripMenuItem.Click
+        UrlConvert(UrlConverter.Twurl)
+    End Sub
+
+    Private Sub UrlConvertAutoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UrlConvertAutoToolStripMenuItem.Click
+        If Not UrlConvert(SettingDialog.AutoShortUrlFirst) Then
+            Dim svc As UrlConverter = SettingDialog.AutoShortUrlFirst
+            Dim rnd As New Random()
+            ' 前回使用した短縮URLサービス以外を選択する
+            Do
+                svc = CType(rnd.Next(System.Enum.GetNames(GetType(UrlConverter)).Length), UrlConverter)
+            Loop Until svc <> SettingDialog.AutoShortUrlFirst
+            UrlConvert(svc)
+        End If
+    End Sub
+
+    Private Sub UrlUndoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UrlUndoToolStripMenuItem.Click
+        doUrlUndo()
+    End Sub
+
+    Private Sub NewPostPopMenuItem_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles NewPostPopMenuItem.CheckStateChanged
+        _cfgCommon.NewAllPop = NewPostPopMenuItem.Checked
+        'SaveConfigsCommon()
+    End Sub
+
+    Private Sub ListLockMenuItem_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListLockMenuItem.CheckStateChanged
+        _cfgCommon.ListLock = ListLockMenuItem.Checked
+        'SaveConfigsCommon()
+    End Sub
+
+    Private Sub MenuStrip1_MenuActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuStrip1.MenuActivate
+        ' フォーカスがメニューに移る (MenuStrip1.Tag フラグを立てる)
+        MenuStrip1.Tag = New Object()
+        MenuStrip1.Select() ' StatusText がフォーカスを持っている場合 Leave が発生
+    End Sub
+
+    Private Sub MenuStrip1_MenuDeactivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuStrip1.MenuDeactivate
+        If Me.Tag IsNot Nothing Then ' 設定された戻り先へ遷移
+            DirectCast(Me.Tag, Control).Select()
+        Else ' 戻り先が指定されていない (初期状態) 場合はタブに遷移
+            If ListTab.SelectedIndex > -1 AndAlso ListTab.SelectedTab.HasChildren Then
+                Me.Tag = ListTab.SelectedTab.Controls(0)
+                DirectCast(Me.Tag, Control).Select()
+            End If
+        End If
+        ' フォーカスがメニューに遷移したかどうかを表すフラグを降ろす
+        MenuStrip1.Tag = Nothing
+    End Sub
+
+    Private Sub MyList_ColumnReordered(ByVal sender As System.Object, ByVal e As ColumnReorderedEventArgs)
+        Dim lst As DetailsListView = DirectCast(sender, DetailsListView)
+        If _cfgLocal Is Nothing Then Exit Sub
+
+        If _iconCol Then
+            _cfgLocal.Width1 = lst.Columns(0).Width
+            _cfgLocal.Width3 = lst.Columns(1).Width
+        Else
+            Dim darr(lst.Columns.Count - 1) As Integer
+            For i As Integer = 0 To lst.Columns.Count - 1
+                darr(lst.Columns(i).DisplayIndex) = i
+            Next
+            MoveArrayItem(darr, e.OldDisplayIndex, e.NewDisplayIndex)
+
+            For i As Integer = 0 To lst.Columns.Count - 1
+                Select Case darr(i)
+                    Case 0
+                        _cfgLocal.DisplayIndex1 = i
+                    Case 1
+                        _cfgLocal.DisplayIndex2 = i
+                    Case 2
+                        _cfgLocal.DisplayIndex3 = i
+                    Case 3
+                        _cfgLocal.DisplayIndex4 = i
+                    Case 4
+                        _cfgLocal.DisplayIndex5 = i
+                    Case 5
+                        _cfgLocal.DisplayIndex6 = i
+                    Case 6
+                        _cfgLocal.DisplayIndex7 = i
+                    Case 7
+                        _cfgLocal.DisplayIndex8 = i
+                End Select
+            Next
+            _cfgLocal.Width1 = lst.Columns(0).Width
+            _cfgLocal.Width2 = lst.Columns(1).Width
+            _cfgLocal.Width3 = lst.Columns(2).Width
+            _cfgLocal.Width4 = lst.Columns(3).Width
+            _cfgLocal.Width5 = lst.Columns(4).Width
+            _cfgLocal.Width6 = lst.Columns(5).Width
+            _cfgLocal.Width7 = lst.Columns(6).Width
+            _cfgLocal.Width8 = lst.Columns(7).Width
+        End If
+        modifySettingLocal = True
+        'SaveConfigsLocal()
+    End Sub
+
+    Private Sub MyList_ColumnWidthChanged(ByVal sender As System.Object, ByVal e As ColumnWidthChangedEventArgs)
+        Dim lst As DetailsListView = DirectCast(sender, DetailsListView)
+        'Dim changed As Boolean = False
+        If _cfgLocal Is Nothing Then Exit Sub
+        If _iconCol Then
+            If _cfgLocal.Width1 <> lst.Columns(0).Width Then
+                _cfgLocal.Width1 = lst.Columns(0).Width
+            End If
+            If _cfgLocal.Width3 <> lst.Columns(1).Width Then
+                _cfgLocal.Width3 = lst.Columns(1).Width
+            End If
+        Else
+            If _cfgLocal.Width1 <> lst.Columns(0).Width Then
+                _cfgLocal.Width1 = lst.Columns(0).Width
+            End If
+            If _cfgLocal.Width2 <> lst.Columns(1).Width Then
+                _cfgLocal.Width2 = lst.Columns(1).Width
+            End If
+            If _cfgLocal.Width3 <> lst.Columns(2).Width Then
+                _cfgLocal.Width3 = lst.Columns(2).Width
+            End If
+            If _cfgLocal.Width4 <> lst.Columns(3).Width Then
+                _cfgLocal.Width4 = lst.Columns(3).Width
+            End If
+            If _cfgLocal.Width5 <> lst.Columns(4).Width Then
+                _cfgLocal.Width5 = lst.Columns(4).Width
+            End If
+            If _cfgLocal.Width6 <> lst.Columns(5).Width Then
+                _cfgLocal.Width6 = lst.Columns(5).Width
+            End If
+            If _cfgLocal.Width7 <> lst.Columns(6).Width Then
+                _cfgLocal.Width7 = lst.Columns(6).Width
+            End If
+            If _cfgLocal.Width8 <> lst.Columns(7).Width Then
+                _cfgLocal.Width8 = lst.Columns(7).Width
+            End If
+        End If
+        modifySettingLocal = True
+        ' 非表示の時にColumnChangedが呼ばれた場合はForm初期化処理中なので保存しない
+        'If changed Then
+        '    SaveConfigsLocal()
+        'End If
+    End Sub
+
+    Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click
+        '発言詳細で「選択文字列をコピー」
+        'PostBrowser.Document.ExecCommand("Copy", False, Nothing)
+        'SendKeys.Send("^c")
+        Dim typ As Type = PostBrowser.ActiveXInstance.GetType()
+        Dim _SelObj As Object = typ.InvokeMember("selection", BindingFlags.GetProperty, Nothing, PostBrowser.Document.DomDocument, Nothing)
+        Dim _objRange As Object = _SelObj.GetType().InvokeMember("createRange", BindingFlags.InvokeMethod, Nothing, _SelObj, Nothing)
+        Dim _selText As String = DirectCast(_objRange.GetType().InvokeMember("text", BindingFlags.GetProperty, Nothing, _objRange, Nothing), String)
+        Clipboard.SetDataObject(_selText, False, 5, 100)
+    End Sub
+
+    Private Sub doSearchToolStrip(ByVal url As String)
+        '発言詳細で「選択文字列で検索」(選択文字列取得)
+        Dim typ As Type = PostBrowser.ActiveXInstance.GetType()
+        Dim _SelObj As Object = typ.InvokeMember("selection", BindingFlags.GetProperty, Nothing, PostBrowser.Document.DomDocument, Nothing)
+        Dim _objRange As Object = _SelObj.GetType().InvokeMember("createRange", BindingFlags.InvokeMethod, Nothing, _SelObj, Nothing)
+        Dim _selText As String = DirectCast(_objRange.GetType().InvokeMember("text", BindingFlags.GetProperty, Nothing, _objRange, Nothing), String)
+        Dim tmp As String
+
+        If _selText IsNot Nothing Then
+            tmp = String.Format(url, HttpUtility.UrlEncode(_selText))
+            OpenUriAsync(tmp)
+        End If
+    End Sub
+
+    Private Sub ToolStripMenuItem5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem5.Click
+        '発言詳細ですべて選択
+        PostBrowser.Document.ExecCommand("SelectAll", False, Nothing)
+    End Sub
+
+    Private Sub SearchItem1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchItem1ToolStripMenuItem.Click
+        doSearchToolStrip(My.Resources.SearchItem1Url)
+    End Sub
+
+    Private Sub SearchItem2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchItem2ToolStripMenuItem.Click
+        doSearchToolStrip(My.Resources.SearchItem2Url)
+    End Sub
+
+    Private Sub SearchItem3ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchItem3ToolStripMenuItem.Click
+        doSearchToolStrip(My.Resources.SearchItem3Url)
+    End Sub
+
+    Private Sub SearchItem4ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SearchItem4ToolStripMenuItem.Click
+        doSearchToolStrip(My.Resources.SearchItem4Url)
+    End Sub
+
+    Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
+        'URLをコピー
+        'If PostBrowser.StatusText.StartsWith("http") Then   '念のため
+        Clipboard.SetDataObject(PostBrowser.StatusText, False, 5, 100)
+        'End If
+    End Sub
+
+    Private Sub ContextMenuStrip4_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip4.Opening
+        ' URLコピーの項目の表示/非表示
+        If PostBrowser.StatusText.StartsWith("http") Then
+            ToolStripMenuItem4.Enabled = True
+            If Regex.IsMatch(PostBrowser.StatusText, "^https?://twitter.com/[a-zA-Z0-9_]+$") Then
+                FollowContextMenuItem.Enabled = True
+                RemoveContextMenuItem.Enabled = True
+                FriendshipContextMenuItem.Enabled = True
+            Else
+                FollowContextMenuItem.Enabled = False
+                RemoveContextMenuItem.Enabled = False
+                FriendshipContextMenuItem.Enabled = False
+            End If
+        Else
+            ToolStripMenuItem4.Enabled = False
+            FollowContextMenuItem.Enabled = False
+            RemoveContextMenuItem.Enabled = False
+            FriendshipContextMenuItem.Enabled = False
+        End If
+        ' 文字列選択されていないときは選択文字列関係の項目を非表示に
+        Dim _selText As String = PostBrowser_GetSelectionText()
+        If _selText Is Nothing Then
+            ToolStripMenuItem2.Enabled = False
+            ToolStripMenuItem3.Enabled = False
+        Else
+            ToolStripMenuItem2.Enabled = True
+            ToolStripMenuItem3.Enabled = True
+        End If
+        e.Cancel = False
+    End Sub
+
+    Private Function PostBrowser_GetSelectionText() As String
+        Dim typ As Type = PostBrowser.ActiveXInstance.GetType()
+        Dim _SelObj As Object = typ.InvokeMember("selection", BindingFlags.GetProperty, Nothing, PostBrowser.Document.DomDocument, Nothing)
+        Dim _objRange As Object = _SelObj.GetType().InvokeMember("createRange", BindingFlags.InvokeMethod, Nothing, _SelObj, Nothing)
+        Return DirectCast(_objRange.GetType().InvokeMember("text", BindingFlags.GetProperty, Nothing, _objRange, Nothing), String)
+    End Function
+
+    Private Sub CurrentTabToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CurrentTabToolStripMenuItem.Click
+        '発言詳細の選択文字列で現在のタブを検索
+        Dim _selText As String = PostBrowser_GetSelectionText()
+
+        If _selText IsNot Nothing Then
+            SearchDialog.SWord = _selText
+            SearchDialog.CheckCaseSensitive = False
+            SearchDialog.CheckRegex = False
+
+            DoTabSearch(SearchDialog.SWord, _
+                        SearchDialog.CheckCaseSensitive, _
+                        SearchDialog.CheckRegex, _
+                        SEARCHTYPE.NextSearch)
+        End If
+    End Sub
+
+    Private Sub SplitContainer2_SplitterMoved(ByVal sender As Object, ByVal e As System.Windows.Forms.SplitterEventArgs) Handles SplitContainer2.SplitterMoved
+        If StatusText.Multiline Then _mySpDis2 = StatusText.Height
+        modifySettingLocal = True
+    End Sub
+
+    Private Sub TweenMain_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop
+        Dim data As String = TryCast(e.Data.GetData(DataFormats.StringFormat, True), String)
+        If data IsNot Nothing Then
+            StatusText.Text += data
+        End If
+    End Sub
+
+    Private Sub TweenMain_DragOver(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragOver
+        Dim data As String = TryCast(e.Data.GetData(DataFormats.StringFormat, True), String)
+        If data IsNot Nothing Then
+            e.Effect = DragDropEffects.Copy
+        Else
+            e.Effect = DragDropEffects.None
+        End If
+    End Sub
+
+    ' Contributed by shuyoko <http://twitter.com/shuyoko> BEGIN:
+    Private Sub BlackFavAddToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BlackFavAddToolStripMenuItem.Click
+
+        Dim cnt As Integer = 0
+        'Dim MyList As DetailsListView = DirectCast(ListTab.SelectedTab.Controls(0), DetailsListView)
+
+        If _statuses.GetTabByType(TabUsageType.DirectMessage).TabName = _curTab.Text OrElse _curList.SelectedIndices.Count = 0 Then Exit Sub
+
+        If _curList.SelectedIndices.Count > 1 Then
+            If MessageBox.Show(My.Resources.BlackFavAddToolStripMenuItem_ClickText1, My.Resources.BlackFavAddToolStripMenuItem_ClickText2, _
+                               MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Cancel Then
+                Exit Sub
+            End If
+        End If
+
+        Dim args As New GetWorkerArg()
+        args.ids = New List(Of Long)
+        args.sIds = New List(Of Long)
+        args.tName = _curTab.Text
+        For Each idx As Integer In _curList.SelectedIndices
+            If Not _statuses.Item(_curTab.Text, idx).IsFav Then
+                args.ids.Add(_statuses.Item(_curTab.Text, idx).Id)
+            End If
+        Next
+        args.type = WORKERTYPE.BlackFavAdd
+        If args.ids.Count = 0 Then
+            StatusLabel.Text = My.Resources.BlackFavAddToolStripMenuItem_ClickText4
+            Exit Sub
+        End If
+
+        RunAsync(args)
+    End Sub
+
+    Private Function IsNetworkAvailable() As Boolean
+        Dim nw As Boolean = True
+        Try
+            nw = My.Computer.Network.IsAvailable
+        Catch ex As Exception
+            nw = True
+        End Try
+        _myStatusOnline = nw
+        Return nw
+    End Function
+
+    Private Sub OpenUriAsync(ByVal UriString As String)
+        Dim args As New GetWorkerArg
+        args.type = WORKERTYPE.OpenUri
+        args.status = UriString
+
+        RunAsync(args)
+    End Sub
+
+    Private Sub ListTabSelect(ByVal _tab As TabPage)
+        SetListProperty()
+
+        _itemCache = Nothing
+        _itemCacheIndex = -1
+        _postCache = Nothing
+        _curTab = _tab
+        _curList = DirectCast(_tab.Controls(0), DetailsListView)
+        If _curList.SelectedIndices.Count > 0 Then
+            _curItemIndex = _curList.SelectedIndices(0)
+            _curPost = GetCurTabPost(_curItemIndex)
+        Else
+            _curItemIndex = -1
+            _curPost = Nothing
+        End If
+
+        _anchorPost = Nothing
+        _anchorFlag = False
+    End Sub
+
+    Private Sub ListTab_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabControlCancelEventArgs) Handles ListTab.Selecting
+        ListTabSelect(e.TabPage)
+    End Sub
+
+    Private Sub SelectListItem(ByVal LView As DetailsListView, ByVal Index As Integer)
+        '単一
+        Dim bnd As Rectangle
+        Dim flg As Boolean = False
+        If LView.FocusedItem IsNot Nothing Then
+            bnd = LView.FocusedItem.Bounds
+            flg = True
+        End If
+
+        LView.SelectedIndices.Clear()
+        LView.Items(Index).Selected = True
+        LView.Items(Index).Focused = True
+        If flg Then LView.Invalidate(bnd)
+    End Sub
+
+    Private Sub SelectListItem(ByVal LView As DetailsListView, ByVal Index() As Integer, ByVal FocusedIndex As Integer)
+        '複数
+        Dim bnd As Rectangle
+        Dim flg As Boolean = False
+        If LView.FocusedItem IsNot Nothing Then
+            bnd = LView.FocusedItem.Bounds
+            flg = True
+        End If
+
+        If Index IsNot Nothing AndAlso Index(0) > -1 Then
+            LView.SelectedIndices.Clear()
+            For Each idx As Integer In Index
+                LView.SelectedIndices.Add(idx)
+            Next
+        End If
+        If FocusedIndex > -1 Then
+            LView.Items(FocusedIndex).Focused = True
+        End If
+        If flg Then LView.Invalidate(bnd)
+    End Sub
+
+    Private Sub RunAsync(ByVal args As GetWorkerArg)
+        Dim bw As BackgroundWorker = Nothing
+        If args.type <> WORKERTYPE.Follower Then
+            For i As Integer = 0 To _bw.Length - 1
+                If _bw(i) IsNot Nothing AndAlso Not _bw(i).IsBusy Then
+                    bw = _bw(i)
+                    Exit For
+                End If
+            Next
+            If bw Is Nothing Then
+                For i As Integer = 0 To _bw.Length - 1
+                    If _bw(i) Is Nothing Then
+                        _bw(i) = New BackgroundWorker
+                        bw = _bw(i)
+                        bw.WorkerReportsProgress = True
+                        bw.WorkerSupportsCancellation = True
+                        AddHandler bw.DoWork, AddressOf GetTimelineWorker_DoWork
+                        AddHandler bw.ProgressChanged, AddressOf GetTimelineWorker_ProgressChanged
+                        AddHandler bw.RunWorkerCompleted, AddressOf GetTimelineWorker_RunWorkerCompleted
+                        Exit For
+                    End If
+                Next
+            End If
+        Else
+            If _bwFollower Is Nothing Then
+                _bwFollower = New BackgroundWorker
+                bw = _bwFollower
+                bw.WorkerReportsProgress = True
+                bw.WorkerSupportsCancellation = True
+                AddHandler bw.DoWork, AddressOf GetTimelineWorker_DoWork
+                AddHandler bw.ProgressChanged, AddressOf GetTimelineWorker_ProgressChanged
+                AddHandler bw.RunWorkerCompleted, AddressOf GetTimelineWorker_RunWorkerCompleted
+            Else
+                If _bwFollower.IsBusy = False Then
+                    bw = _bwFollower
+                End If
+            End If
+        End If
+        If bw Is Nothing Then Exit Sub
+
+        bw.RunWorkerAsync(args)
+    End Sub
+
+    Private Sub TweenMain_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
+        If IsNetworkAvailable() Then
+            If SettingDialog.ReadPages > 0 Then
+                _waitTimeline = True
+                GetTimeline(WORKERTYPE.Timeline, 1, SettingDialog.ReadPages)
+            End If
+            If SettingDialog.ReadPagesReply > 0 Then
+                _waitReply = True
+                GetTimeline(WORKERTYPE.Reply, 1, SettingDialog.ReadPagesReply)
+            End If
+            If SettingDialog.ReadPagesDM > 0 Then
+                _waitDm = True
+                GetTimeline(WORKERTYPE.DirectMessegeRcv, 1, SettingDialog.ReadPagesDM)
+            End If
+            If SettingDialog.GetFav Then
+                _waitFav = True
+                GetTimeline(WORKERTYPE.Favorites, 1, 1)
+            End If
+            Dim i As Integer = 0
+            Do While (_waitTimeline OrElse _waitReply OrElse _waitDm OrElse _waitFav) AndAlso Not _endingFlag
+                System.Threading.Thread.Sleep(100)
+                My.Application.DoEvents()
+                i += 1
+                If i > 50 Then
+                    If Not _endingFlag Then
+                        _statuses.DistributePosts()
+                        RefreshTimeline()
+                    Else
+                        Exit Sub
+                    End If
+                    i = 0
+                End If
+            Loop
+
+            If _endingFlag Then Exit Sub
+
+            _statuses.DistributePosts()
+            RefreshTimeline()
+
+            'バージョンチェック(引数:起動時チェックの場合はTrue・・・チェック結果のメッセージを表示しない)
+            If SettingDialog.StartupVersion Then
+                CheckNewVersion(True)
+            End If
+
+            ' Webモードで起動した場合に警告する
+            If Not SettingDialog.StartupAPImodeNoWarning AndAlso Not SettingDialog.UseAPI Then
+                If MessageBox.Show(My.Resources.WebModeWarning1 + Environment.NewLine + My.Resources.WebModeWarning2 + Environment.NewLine + My.Resources.WebModeWarning3 + Environment.NewLine + My.Resources.WebModeWarning4, My.Resources.WebModeWarning5, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) = Windows.Forms.DialogResult.OK Then
+                    SettingDialog.UseAPI = True
+                    'SaveConfigsCommon()
+                    MessageBox.Show(My.Resources.WebModeWarning6)
+                Else
+                    MessageBox.Show(My.Resources.WebModeWarning7)
+                    'MessageBox.Show("取得間隔に注意してください。タイムライン取得系APIはRecent,Reply,DMの合計で1時間に" + GetMaxCountApi.ToString() + "回までしか使えません。", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning)
+                End If
+            End If
+
+        Else
+            PostButton.Enabled = False
+            FavAddToolStripMenuItem.Enabled = False
+            FavRemoveToolStripMenuItem.Enabled = False
+            MoveToHomeToolStripMenuItem.Enabled = False
+            MoveToFavToolStripMenuItem.Enabled = False
+            DeleteStripMenuItem.Enabled = False
+            RefreshStripMenuItem.Enabled = False
+        End If
+        _initial = False
+        TimerTimeline.Enabled = True
+        TimerReply.Enabled = True
+        TimerDM.Enabled = True
+    End Sub
+
+    Private Sub doGetFollowersMenu(ByVal CacheInvalidate As Boolean)
+        GetTimeline(WORKERTYPE.Follower, 1, 0)
+        'Try
+        '    StatusLabel.Text = My.Resources.UpdateFollowersMenuItem1_ClickText1
+        '    My.Application.DoEvents()
+        '    Me.Cursor = Cursors.WaitCursor
+        '    Dim ret As String
+        '    If SettingDialog.UseAPI Then
+        '        ret = Twitter.GetFollowersApi()
+        '    Else
+        '        ret = Twitter.GetFollowers(CacheInvalidate)
+        '    End If
+        '    If ret <> "" Then
+        '        StatusLabel.Text = My.Resources.UpdateFollowersMenuItem1_ClickText2 & ret
+        '        Exit Sub
+        '    End If
+        '    StatusLabel.Text = My.Resources.UpdateFollowersMenuItem1_ClickText3
+        'Finally
+        '    Me.Cursor = Cursors.Default
+        'End Try
+    End Sub
+
+    Private Sub GetFollowersDiffToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetFollowersDiffToolStripMenuItem.Click
+        doGetFollowersMenu(False)       ' Followersリストキャッシュ有効
+    End Sub
+
+    Private Sub GetFollowersAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetFollowersAllToolStripMenuItem.Click
+        doGetFollowersMenu(True)        ' Followersリストキャッシュ無効
+    End Sub
+
+    Private Sub ReTweetStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReTweetStripMenuItem.Click
+        'RT @id:内容
+        If _curPost IsNot Nothing Then
+            If _curPost.IsDm OrElse _
+               Not StatusText.Enabled Then Exit Sub
+
+            If SettingDialog.ProtectNotInclude AndAlso _curPost.IsProtect Then
+                MessageBox.Show("Protected.")
+                Exit Sub
+            End If
+            Dim rtdata As String = _curPost.OriginalData
+            rtdata = CreateRetweet(rtdata)
+
+            StatusText.Text = "RT @" + _curPost.Name + ": " + HttpUtility.HtmlDecode(rtdata)
+
+            StatusText.SelectionStart = 0
+            StatusText.Focus()
+        End If
+    End Sub
+
+    Private Sub ReTweetOriginalStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReTweetOriginalStripMenuItem.Click
+        'RT @id:内容
+        '元発言のみRT
+        If _curPost IsNot Nothing Then
+            If _curPost.IsDm OrElse _
+               Not StatusText.Enabled Then Exit Sub
+
+            If SettingDialog.ProtectNotInclude AndAlso _curPost.IsProtect Then
+                MessageBox.Show("Protected.")
+                Exit Sub
+            End If
+
+            Dim rtdata As String = _curPost.OriginalData
+            rtdata = CreateRetweet(rtdata)
+
+            Dim rx As New Regex("^(?<multi>(RT @[0-9a-zA-Z_]+\s?:\s?)*)(?<org>RT @[0-9a-zA-Z_]+\s?:)")
+            If rx.IsMatch(rtdata) Then
+                StatusText.Text = HttpUtility.HtmlDecode(rx.Replace(rtdata, "${org}"))
+            Else
+                StatusText.Text = "RT @" + _curPost.Name + ": " + HttpUtility.HtmlDecode(rtdata)
+            End If
+
+            StatusText.SelectionStart = 0
+            StatusText.Focus()
+        End If
+    End Sub
+
+    Private Function CreateRetweet(ByVal status As String) As String
+
+        ' Twitterにより省略されているURLを含むaタグをキャプチャしてリンク先URLへ置き換える
+        '展開しないように変更
+        '展開するか判定
+        Dim isUrl As Boolean = False
+        Dim rx As Regex = New Regex("<a target=""_self"" href=""(?<url>[^""]+)""[^>]*>(?<link>(https?|shttp|ftps?)://[^<]+)</a>")
+        Dim ms As MatchCollection = rx.Matches(status)
+        For Each m As Match In ms
+            If m.Result("${link}").EndsWith("...") Then
+                isUrl = True
+                Exit For
+            End If
+        Next
+        If isUrl Then
+            status = rx.Replace(status, "${url}")
+        Else
+            status = rx.Replace(status, "${link}")
+        End If
+
+        'その他のリンク(@IDなど)を置き換える
+        rx = New Regex("@<a target=""_self"" href=""https?://twitter.com/(?<url>[^""]+)""[^>]*>(?<link>[^<]+)</a>")
+        status = rx.Replace(status, "@${url}")
+        'ハッシュタグ
+        rx = New Regex("<a target=""_self"" href=""(?<url>[^""]+)""[^>]*>(?<link>[^<]+)</a>")
+        status = rx.Replace(status, "${link}")
+        '<br>タグ除去
+        If StatusText.Multiline Then
+            status = Regex.Replace(status, "(\r\n|\n|\r)?<br>", vbCrLf, RegexOptions.IgnoreCase Or RegexOptions.Multiline)
+        Else
+            status = Regex.Replace(status, "(\r\n|\n|\r)?<br>", "", RegexOptions.IgnoreCase Or RegexOptions.Multiline)
+        End If
+
+        _reply_to_id = 0
+        _reply_to_name = ""
+
+        Return status
+    End Function
+
+    Private Sub DumpPostClassToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DumpPostClassToolStripMenuItem.Click
+        If _curPost IsNot Nothing Then
+            DispSelectedPost()
+        End If
+    End Sub
+
+    Private Sub MenuItemHelp_DropDownOpening(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItemHelp.DropDownOpening
+        If DebugBuild OrElse My.Computer.Keyboard.CapsLock AndAlso My.Computer.Keyboard.CtrlKeyDown AndAlso My.Computer.Keyboard.ShiftKeyDown Then
+            DebugModeToolStripMenuItem.Visible = True
+        Else
+            DebugModeToolStripMenuItem.Visible = False
+        End If
+    End Sub
+
+    Private Sub ButtonPostMode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPostMode.Click
+        ContextMenuStripPostMode.Show(ButtonPostMode, position:=New Point(0, ButtonPostMode.Height))
+    End Sub
+
+    Private Sub ToolStripMenuItemUrlAutoShorten_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItemUrlAutoShorten.CheckedChanged
+        SettingDialog.UrlConvertAuto = ToolStripMenuItemUrlAutoShorten.Checked
+        'SaveConfigsCommon()
+    End Sub
+
+    Private Sub ContextMenuStripPostMode_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStripPostMode.Opening
+        ToolStripMenuItemUrlAutoShorten.Checked = SettingDialog.UrlConvertAuto
+    End Sub
+
+    Private Sub TraceOutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TraceOutToolStripMenuItem.Click
+        If TraceOutToolStripMenuItem.Checked Then
+            TraceFlag = True
+        Else
+            TraceFlag = False
+        End If
+    End Sub
+
+    Private Sub TweenMain_Deactivate(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Deactivate
+        '画面が非アクティブになったら、発言欄の背景色をデフォルトへ
+        Me.StatusText_Leave(StatusText, System.EventArgs.Empty)
+    End Sub
+
+    Private Sub TabRenameMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabRenameMenuItem.Click
+        If _rclickTabName = "" Then Exit Sub
+        TabRename(_rclickTabName)
+    End Sub
+
+    Private Sub UnuToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UnuToolStripMenuItem.Click
+        UrlConvert(UrlConverter.Unu)
+    End Sub
+
+    Private Sub BitlyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BitlyToolStripMenuItem.Click
+        UrlConvert(UrlConverter.Bitly)
+    End Sub
+
+    Private Sub JmpToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JmpStripMenuItem.Click
+        UrlConvert(UrlConverter.Jmp)
+    End Sub
+
+    Private Sub ApiInfoMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ApiInfoMenuItem.Click
+        Dim info As New ApiInfo
+        Dim tmp As String
+
+        If GetInfoApi(info) Then
+            tmp = My.Resources.ApiInfo1 + info.MaxCount.ToString() + Environment.NewLine + _
+                My.Resources.ApiInfo2 + info.RemainCount.ToString + Environment.NewLine + _
+                My.Resources.ApiInfo3 + info.ResetTime.ToString()
+        Else
+            tmp = My.Resources.ApiInfo5
+        End If
+        MessageBox.Show(tmp, My.Resources.ApiInfo4, MessageBoxButtons.OK, MessageBoxIcon.Information)
+    End Sub
+
+    Private Sub FollowCommandMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FollowCommandMenuItem.Click
+        Dim id As String = ""
+        If _curPost IsNot Nothing Then id = _curPost.Name
+        FollowCommand(id)
+    End Sub
+
+    Private Sub FollowCommand(ByVal id As String)
+        Using inputName As New InputTabName()
+            inputName.FormTitle = "Follow"
+            inputName.FormDescription = My.Resources.FRMessage1
+            inputName.TabName = id
+            If inputName.ShowDialog() = Windows.Forms.DialogResult.OK AndAlso _
+               Not String.IsNullOrEmpty(inputName.TabName.Trim()) Then
+                Dim ret As String = Twitter.PostFollowCommand(inputName.TabName.Trim())
+                If Not String.IsNullOrEmpty(ret) Then
+                    MessageBox.Show(My.Resources.FRMessage2 + ret)
+                Else
+                    MessageBox.Show(My.Resources.FRMessage3)
+                End If
+            End If
+        End Using
+    End Sub
+
+    Private Sub RemoveCommandMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveCommandMenuItem.Click
+        Dim id As String = ""
+        If _curPost IsNot Nothing Then id = _curPost.Name
+        RemoveCommand(id)
+    End Sub
+
+    Private Sub RemoveCommand(ByVal id As String)
+        Using inputName As New InputTabName()
+            inputName.FormTitle = "Remove"
+            inputName.FormDescription = My.Resources.FRMessage1
+            inputName.TabName = id
+            If inputName.ShowDialog() = Windows.Forms.DialogResult.OK AndAlso _
+               Not String.IsNullOrEmpty(inputName.TabName.Trim()) Then
+                Dim ret As String = Twitter.PostRemoveCommand(inputName.TabName.Trim())
+                If Not String.IsNullOrEmpty(ret) Then
+                    MessageBox.Show(My.Resources.FRMessage2 + ret)
+                Else
+                    MessageBox.Show(My.Resources.FRMessage3)
+                End If
+            End If
+        End Using
+    End Sub
+
+    Private Sub FriendshipMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FriendshipMenuItem.Click
+        Dim id As String = ""
+        If _curPost IsNot Nothing Then
+            id = _curPost.Name
+        End If
+        ShowFriendship(id)
+    End Sub
+
+    Private Sub ShowFriendship(ByVal id As String)
+        Using inputName As New InputTabName()
+            inputName.FormTitle = "Show Friendships"
+            inputName.FormDescription = My.Resources.FRMessage1
+            inputName.TabName = id
+            If inputName.ShowDialog() = Windows.Forms.DialogResult.OK AndAlso _
+               Not String.IsNullOrEmpty(inputName.TabName.Trim()) Then
+                Dim ret As String = Twitter.GetFriendshipInfo(inputName.TabName.Trim())
+                MessageBox.Show(ret)
+            End If
+        End Using
+    End Sub
+
+    Private Sub OwnStatusMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OwnStatusMenuItem.Click
+        Dim loc As String = ""
+        Dim bio As String = ""
+        If Not String.IsNullOrEmpty(Twitter.Location) Then
+            loc = Twitter.Location
+        End If
+        If Not String.IsNullOrEmpty(Twitter.Bio) Then
+            bio = Twitter.Bio
+        End If
+        MessageBox.Show("Following : " + Twitter.FriendsCount.ToString() + Environment.NewLine + _
+                        "Followers : " + Twitter.FollowersCount.ToString() + Environment.NewLine + _
+                        "Statuses count : " + Twitter.StatusesCount.ToString() + Environment.NewLine + _
+                        "Location : " + loc + Environment.NewLine + _
+                        "Bio : " + bio, "Your status")
+    End Sub
+
+    Private Sub FollowContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FollowContextMenuItem.Click
+        Dim m As Match = Regex.Match(PostBrowser.StatusText, "^https?://twitter.com/(?<name>[a-zA-Z0-9_]+)$")
+        If m.Success Then
+            FollowCommand(m.Result("${name}"))
+        End If
+    End Sub
+
+    Private Sub RemoveContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RemoveContextMenuItem.Click
+        Dim m As Match = Regex.Match(PostBrowser.StatusText, "^https?://twitter.com/(?<name>[a-zA-Z0-9_]+)$")
+        If m.Success Then
+            RemoveCommand(m.Result("${name}"))
+        End If
+    End Sub
+
+    Private Sub FriendshipContextMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FriendshipContextMenuItem.Click
+        Dim m As Match = Regex.Match(PostBrowser.StatusText, "^https?://twitter.com/(?<name>[a-zA-Z0-9_]+)$")
+        If m.Success Then
+            ShowFriendship(m.Result("${name}"))
+        End If
+    End Sub
+
+    Private Sub IdeographicSpaceToSpaceToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles IdeographicSpaceToSpaceToolStripMenuItem.Click
+        modifySettingCommon = True
+    End Sub
+
+    Private Sub UserPicture_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles UserPicture.Paint
+        If e.Graphics.InterpolationMode <> Drawing2D.InterpolationMode.HighQualityBicubic Then
+            e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
+            UserPicture.GetType().GetMethod("OnPaint", BindingFlags.NonPublic Or BindingFlags.Instance).Invoke(UserPicture, New Object() {e})
+        End If
+    End Sub
+End Class
diff --git a/Tween/Tween.vbproj b/Tween/Tween.vbproj
new file mode 100644 (file)
index 0000000..b044a7d
--- /dev/null
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>8.0.50727</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{41B54F21-5442-47D4-80F0-872D56D9E1FD}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <StartupObject>Tween.My.MyApplication</StartupObject>
+    <RootNamespace>Tween</RootNamespace>
+    <AssemblyName>Tween</AssemblyName>
+    <MyType>WindowsForms</MyType>
+    <ApplicationIcon>Resources\4b.ico</ApplicationIcon>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <OldToolsVersion>2.0</OldToolsVersion>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+    <OptionStrict>On</OptionStrict>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <DefineDebug>true</DefineDebug>
+    <DefineTrace>true</DefineTrace>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DocumentationFile>
+    </DocumentationFile>
+    <NoWarn>
+    </NoWarn>
+    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
+    <RemoveIntegerChecks>true</RemoveIntegerChecks>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <DefineDebug>false</DefineDebug>
+    <DefineTrace>true</DefineTrace>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DocumentationFile>
+    </DocumentationFile>
+    <NoWarn>
+    </NoWarn>
+    <DebugSymbols>true</DebugSymbols>
+    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
+    <RemoveIntegerChecks>true</RemoveIntegerChecks>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Web" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.XML" />
+  </ItemGroup>
+  <ItemGroup>
+    <Import Include="Microsoft.VisualBasic" />
+    <Import Include="System" />
+    <Import Include="System.Collections" />
+    <Import Include="System.Collections.Generic" />
+    <Import Include="System.Drawing" />
+    <Import Include="System.Windows.Forms" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="AnalyzeKey.vb" />
+    <Compile Include="ApplicationEvents.vb" />
+    <Compile Include="AtIdSupplement.Designer.vb">
+      <DependentUpon>AtIdSupplement.vb</DependentUpon>
+    </Compile>
+    <Compile Include="AtIdSupplement.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Connection\HttpConnection.vb" />
+    <Compile Include="Connection\HttpConnectionApi.vb" />
+    <Compile Include="Connection\HttpConnectionOAuth.vb" />
+    <Compile Include="DetailsListView.vb">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="DialogAsShieldIcon.Designer.vb">
+      <DependentUpon>DialogAsShieldIcon.vb</DependentUpon>
+    </Compile>
+    <Compile Include="DialogAsShieldIcon.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="InputTabName.Designer.vb">
+      <DependentUpon>InputTabName.vb</DependentUpon>
+    </Compile>
+    <Compile Include="InputTabName.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="My Project\AssemblyInfo.vb" />
+    <Compile Include="My Project\Application.Designer.vb">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Application.myapp</DependentUpon>
+    </Compile>
+    <Compile Include="My Project\Resources.Designer.vb">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="My Project\Settings.Designer.vb">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <Compile Include="MyCommon.vb" />
+    <Compile Include="MySocket.vb" />
+    <Compile Include="OpenURL.Designer.vb">
+      <DependentUpon>OpenURL.vb</DependentUpon>
+    </Compile>
+    <Compile Include="OpenURL.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Outputz.vb" />
+    <Compile Include="SearchWord.Designer.vb">
+      <DependentUpon>SearchWord.vb</DependentUpon>
+    </Compile>
+    <Compile Include="SearchWord.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Setting.Designer.vb">
+      <DependentUpon>Setting.vb</DependentUpon>
+    </Compile>
+    <Compile Include="Setting.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Setting\SettingAtIdList.vb" />
+    <Compile Include="Setting\SettingBase.vb" />
+    <Compile Include="Setting\SettingCommon.vb" />
+    <Compile Include="Setting\SettingLocal.vb" />
+    <Compile Include="Setting\SettingTab.vb" />
+    <Compile Include="Setting\SettingFollower.vb" />
+    <Compile Include="ShieldIcon.vb" />
+    <Compile Include="StatusDictionary.vb" />
+    <Compile Include="FilterDialog.Designer.vb">
+      <DependentUpon>FilterDialog.vb</DependentUpon>
+    </Compile>
+    <Compile Include="FilterDialog.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TabsDialog.Designer.vb">
+      <DependentUpon>TabsDialog.vb</DependentUpon>
+    </Compile>
+    <Compile Include="TabsDialog.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="ToolStripLabelHistory.vb">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="Tween.Designer.vb">
+      <DependentUpon>Tween.vb</DependentUpon>
+    </Compile>
+    <Compile Include="Tween.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="TweenAboutBox.Designer.vb">
+      <DependentUpon>TweenAboutBox.vb</DependentUpon>
+    </Compile>
+    <Compile Include="TweenAboutBox.vb">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Twitter.vb" />
+    <Compile Include="WebBrowserController.vb" />
+    <Compile Include="Win32Api.vb" />
+  </ItemGroup>
+  <ItemGroup>
+    <EmbeddedResource Include="AtIdSupplement.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>AtIdSupplement.vb</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="DialogAsShieldIcon.resx">
+      <DependentUpon>DialogAsShieldIcon.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="InputTabName.en.resx">
+      <DependentUpon>InputTabName.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="InputTabName.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>InputTabName.vb</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="My Project\Resources.en.resx">
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="My Project\Resources.resx">
+      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
+      <CustomToolNamespace>My.Resources</CustomToolNamespace>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="OpenURL.en.resx">
+      <DependentUpon>OpenURL.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="OpenURL.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>OpenURL.vb</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SearchWord.en.resx">
+      <DependentUpon>SearchWord.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="SearchWord.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>SearchWord.vb</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Setting.en.resx">
+      <DependentUpon>Setting.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Setting.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>Setting.vb</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="FilterDialog.en.resx">
+      <DependentUpon>FilterDialog.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="FilterDialog.resx">
+      <DependentUpon>FilterDialog.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TabsDialog.en.resx">
+      <DependentUpon>TabsDialog.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TabsDialog.resx">
+      <DependentUpon>TabsDialog.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Tween.en.resx">
+      <DependentUpon>Tween.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Tween.resx">
+      <DependentUpon>Tween.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TweenAboutBox.en.resx">
+      <DependentUpon>TweenAboutBox.vb</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="TweenAboutBox.resx">
+      <SubType>Designer</SubType>
+      <DependentUpon>TweenAboutBox.vb</DependentUpon>
+    </EmbeddedResource>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="app.config">
+    </None>
+    <None Include="My Project\Application.myapp">
+      <Generator>MyApplicationCodeGenerator</Generator>
+      <LastGenOutput>Application.Designer.vb</LastGenOutput>
+    </None>
+    <None Include="My Project\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <CustomToolNamespace>My</CustomToolNamespace>
+      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\2b.ico" />
+    <None Include="Resources\re.ico" />
+    <None Include="Resources\4b.ico" />
+    <None Include="Resources\4y.ico" />
+    <None Include="Resources\4r.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="Resources\1o.ico" />
+    <None Include="Resources\5g.ico" />
+    <Content Include="Resources\5o.ico" />
+    <Content Include="Resources\6b.ico" />
+    <None Include="Resources\6g.ico" />
+    <Content Include="Resources\6o.ico" />
+    <None Include="Resources\ChangeLog.txt" />
+    <Content Include="Resources\re2.ico" />
+    <Content Include="Resources\re3.ico" />
+    <Content Include="Resources\re4.ico" />
+    <None Include="Resources\3b.ico" />
+    <None Include="Resources\5r.ico" />
+    <None Include="Resources\5y.ico" />
+    <None Include="Resources\5b.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows インストーラ 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PostBuildEvent>"c:\Program Files\Microsoft.NET\SDK\v2.0\Bin\sgen.exe" /f /a:"$(TargetPath)"</PostBuildEvent>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/Tween/Tween.vbproj.user b/Tween/Tween.vbproj.user
new file mode 100644 (file)
index 0000000..65f5e9c
--- /dev/null
@@ -0,0 +1,25 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <PublishUrlHistory>publish\</PublishUrlHistory>
+    <InstallUrlHistory>
+    </InstallUrlHistory>
+    <SupportUrlHistory>
+    </SupportUrlHistory>
+    <UpdateUrlHistory>
+    </UpdateUrlHistory>
+    <BootstrapperUrlHistory>
+    </BootstrapperUrlHistory>
+    <FallbackCulture>ja-JP</FallbackCulture>
+    <VerifyUploadedFiles>false</VerifyUploadedFiles>
+    <ProjectView>ShowAllFiles</ProjectView>
+    <ErrorReportUrlHistory>
+    </ErrorReportUrlHistory>
+    <ApplicationRevision>0</ApplicationRevision>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/Tween/TweenAboutBox.Designer.vb b/Tween/TweenAboutBox.Designer.vb
new file mode 100644 (file)
index 0000000..0ca1ccc
--- /dev/null
@@ -0,0 +1,133 @@
+Option Strict On
+<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
+Partial Class TweenAboutBox
+    Inherits System.Windows.Forms.Form
+
+    'フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。
+    <System.Diagnostics.DebuggerNonUserCode()> _
+    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+        Try
+            If disposing AndAlso components IsNot Nothing Then
+                components.Dispose()
+            End If
+        Finally
+            MyBase.Dispose(disposing)
+        End Try
+    End Sub
+
+    Friend WithEvents TableLayoutPanel As System.Windows.Forms.TableLayoutPanel
+    Friend WithEvents LogoPictureBox As System.Windows.Forms.PictureBox
+    Friend WithEvents LabelProductName As System.Windows.Forms.Label
+    Friend WithEvents LabelVersion As System.Windows.Forms.Label
+    Friend WithEvents LabelCompanyName As System.Windows.Forms.Label
+    Friend WithEvents TextBoxDescription As System.Windows.Forms.TextBox
+    Friend WithEvents OKButton As System.Windows.Forms.Button
+    Friend WithEvents LabelCopyright As System.Windows.Forms.Label
+
+    'Windows フォーム デザイナで必要です。
+    Private components As System.ComponentModel.IContainer
+
+    'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。
+    'Windows フォーム デザイナを使用して変更できます。  
+    'コード エディタを使って変更しないでください。
+    <System.Diagnostics.DebuggerStepThrough()> _
+    Private Sub InitializeComponent()
+        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(TweenAboutBox))
+        Me.TableLayoutPanel = New System.Windows.Forms.TableLayoutPanel
+        Me.LogoPictureBox = New System.Windows.Forms.PictureBox
+        Me.LabelProductName = New System.Windows.Forms.Label
+        Me.LabelVersion = New System.Windows.Forms.Label
+        Me.LabelCopyright = New System.Windows.Forms.Label
+        Me.LabelCompanyName = New System.Windows.Forms.Label
+        Me.TextBoxDescription = New System.Windows.Forms.TextBox
+        Me.OKButton = New System.Windows.Forms.Button
+        Me.ChangeLog = New System.Windows.Forms.TextBox
+        Me.TableLayoutPanel.SuspendLayout()
+        CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).BeginInit()
+        Me.SuspendLayout()
+        '
+        'TableLayoutPanel
+        '
+        resources.ApplyResources(Me.TableLayoutPanel, "TableLayoutPanel")
+        Me.TableLayoutPanel.Controls.Add(Me.LogoPictureBox, 0, 0)
+        Me.TableLayoutPanel.Controls.Add(Me.LabelProductName, 1, 0)
+        Me.TableLayoutPanel.Controls.Add(Me.LabelVersion, 1, 1)
+        Me.TableLayoutPanel.Controls.Add(Me.LabelCopyright, 1, 2)
+        Me.TableLayoutPanel.Controls.Add(Me.LabelCompanyName, 1, 3)
+        Me.TableLayoutPanel.Controls.Add(Me.TextBoxDescription, 1, 4)
+        Me.TableLayoutPanel.Controls.Add(Me.OKButton, 1, 6)
+        Me.TableLayoutPanel.Controls.Add(Me.ChangeLog, 0, 5)
+        Me.TableLayoutPanel.Name = "TableLayoutPanel"
+        '
+        'LogoPictureBox
+        '
+        resources.ApplyResources(Me.LogoPictureBox, "LogoPictureBox")
+        Me.LogoPictureBox.Name = "LogoPictureBox"
+        Me.TableLayoutPanel.SetRowSpan(Me.LogoPictureBox, 5)
+        Me.LogoPictureBox.TabStop = False
+        '
+        'LabelProductName
+        '
+        resources.ApplyResources(Me.LabelProductName, "LabelProductName")
+        Me.LabelProductName.MaximumSize = New System.Drawing.Size(0, 16)
+        Me.LabelProductName.Name = "LabelProductName"
+        '
+        'LabelVersion
+        '
+        resources.ApplyResources(Me.LabelVersion, "LabelVersion")
+        Me.LabelVersion.MaximumSize = New System.Drawing.Size(0, 16)
+        Me.LabelVersion.Name = "LabelVersion"
+        '
+        'LabelCopyright
+        '
+        resources.ApplyResources(Me.LabelCopyright, "LabelCopyright")
+        Me.LabelCopyright.MaximumSize = New System.Drawing.Size(0, 16)
+        Me.LabelCopyright.Name = "LabelCopyright"
+        '
+        'LabelCompanyName
+        '
+        resources.ApplyResources(Me.LabelCompanyName, "LabelCompanyName")
+        Me.LabelCompanyName.MaximumSize = New System.Drawing.Size(0, 16)
+        Me.LabelCompanyName.Name = "LabelCompanyName"
+        '
+        'TextBoxDescription
+        '
+        resources.ApplyResources(Me.TextBoxDescription, "TextBoxDescription")
+        Me.TextBoxDescription.Name = "TextBoxDescription"
+        Me.TextBoxDescription.ReadOnly = True
+        Me.TextBoxDescription.TabStop = False
+        '
+        'OKButton
+        '
+        resources.ApplyResources(Me.OKButton, "OKButton")
+        Me.OKButton.DialogResult = System.Windows.Forms.DialogResult.Cancel
+        Me.OKButton.Name = "OKButton"
+        '
+        'ChangeLog
+        '
+        Me.TableLayoutPanel.SetColumnSpan(Me.ChangeLog, 2)
+        resources.ApplyResources(Me.ChangeLog, "ChangeLog")
+        Me.ChangeLog.Name = "ChangeLog"
+        Me.ChangeLog.ReadOnly = True
+        '
+        'TweenAboutBox
+        '
+        resources.ApplyResources(Me, "$this")
+        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
+        Me.CancelButton = Me.OKButton
+        Me.Controls.Add(Me.TableLayoutPanel)
+        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
+        Me.MaximizeBox = False
+        Me.MinimizeBox = False
+        Me.Name = "TweenAboutBox"
+        Me.ShowInTaskbar = False
+        Me.TopMost = True
+        Me.TableLayoutPanel.ResumeLayout(False)
+        Me.TableLayoutPanel.PerformLayout()
+        CType(Me.LogoPictureBox, System.ComponentModel.ISupportInitialize).EndInit()
+        Me.ResumeLayout(False)
+
+    End Sub
+    Friend WithEvents ChangeLog As System.Windows.Forms.TextBox
+
+End Class
diff --git a/Tween/TweenAboutBox.en.resx b/Tween/TweenAboutBox.en.resx
new file mode 100644 (file)
index 0000000..bdfb74c
--- /dev/null
@@ -0,0 +1,1046 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="LogoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="OKButton.Text" xml:space="preserve">
+    <value>&amp;OK</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/TweenAboutBox.resx b/Tween/TweenAboutBox.resx
new file mode 100644 (file)
index 0000000..36dcbea
--- /dev/null
@@ -0,0 +1,1357 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="TableLayoutPanel.ColumnCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="LogoPictureBox.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="LogoPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+</value>
+  </data>
+  <data name="LogoPictureBox.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="LogoPictureBox.Size" type="System.Drawing.Size, System.Drawing">
+    <value>124, 169</value>
+  </data>
+  <data name="LogoPictureBox.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
+    <value>Zoom</value>
+  </data>
+  <data name="LogoPictureBox.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;LogoPictureBox.Name" xml:space="preserve">
+    <value>LogoPictureBox</value>
+  </data>
+  <data name="&gt;&gt;LogoPictureBox.Type" xml:space="preserve">
+    <value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LogoPictureBox.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;LogoPictureBox.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="LabelProductName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="LabelProductName.Location" type="System.Drawing.Point, System.Drawing">
+    <value>136, 0</value>
+  </data>
+  <data name="LabelProductName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>6, 0, 3, 0</value>
+  </data>
+  <data name="LabelProductName.Size" type="System.Drawing.Size, System.Drawing">
+    <value>257, 16</value>
+  </data>
+  <data name="LabelProductName.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="LabelProductName.Text" xml:space="preserve">
+    <value>製品名</value>
+  </data>
+  <data name="LabelProductName.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;LabelProductName.Name" xml:space="preserve">
+    <value>LabelProductName</value>
+  </data>
+  <data name="&gt;&gt;LabelProductName.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelProductName.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;LabelProductName.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="LabelVersion.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="LabelVersion.Location" type="System.Drawing.Point, System.Drawing">
+    <value>136, 29</value>
+  </data>
+  <data name="LabelVersion.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>6, 0, 3, 0</value>
+  </data>
+  <data name="LabelVersion.Size" type="System.Drawing.Size, System.Drawing">
+    <value>257, 16</value>
+  </data>
+  <data name="LabelVersion.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="LabelVersion.Text" xml:space="preserve">
+    <value>バージョン</value>
+  </data>
+  <data name="LabelVersion.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;LabelVersion.Name" xml:space="preserve">
+    <value>LabelVersion</value>
+  </data>
+  <data name="&gt;&gt;LabelVersion.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelVersion.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;LabelVersion.ZOrder" xml:space="preserve">
+    <value>2</value>
+  </data>
+  <data name="LabelCopyright.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="LabelCopyright.Location" type="System.Drawing.Point, System.Drawing">
+    <value>136, 58</value>
+  </data>
+  <data name="LabelCopyright.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>6, 0, 3, 0</value>
+  </data>
+  <data name="LabelCopyright.Size" type="System.Drawing.Size, System.Drawing">
+    <value>257, 16</value>
+  </data>
+  <data name="LabelCopyright.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="LabelCopyright.Text" xml:space="preserve">
+    <value>著作権</value>
+  </data>
+  <data name="LabelCopyright.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;LabelCopyright.Name" xml:space="preserve">
+    <value>LabelCopyright</value>
+  </data>
+  <data name="&gt;&gt;LabelCopyright.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelCopyright.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;LabelCopyright.ZOrder" xml:space="preserve">
+    <value>3</value>
+  </data>
+  <data name="LabelCompanyName.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="LabelCompanyName.Location" type="System.Drawing.Point, System.Drawing">
+    <value>136, 87</value>
+  </data>
+  <data name="LabelCompanyName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>6, 0, 3, 0</value>
+  </data>
+  <data name="LabelCompanyName.Size" type="System.Drawing.Size, System.Drawing">
+    <value>257, 16</value>
+  </data>
+  <data name="LabelCompanyName.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="LabelCompanyName.Text" xml:space="preserve">
+    <value>会社名</value>
+  </data>
+  <data name="LabelCompanyName.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
+    <value>MiddleLeft</value>
+  </data>
+  <data name="&gt;&gt;LabelCompanyName.Name" xml:space="preserve">
+    <value>LabelCompanyName</value>
+  </data>
+  <data name="&gt;&gt;LabelCompanyName.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;LabelCompanyName.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;LabelCompanyName.ZOrder" xml:space="preserve">
+    <value>4</value>
+  </data>
+  <data name="TextBoxDescription.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="TextBoxDescription.Location" type="System.Drawing.Point, System.Drawing">
+    <value>136, 119</value>
+  </data>
+  <data name="TextBoxDescription.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>6, 3, 3, 3</value>
+  </data>
+  <data name="TextBoxDescription.Multiline" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="TextBoxDescription.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
+    <value>Both</value>
+  </data>
+  <data name="TextBoxDescription.Size" type="System.Drawing.Size, System.Drawing">
+    <value>257, 53</value>
+  </data>
+  <data name="TextBoxDescription.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="TextBoxDescription.Text" xml:space="preserve">
+    <value>説明:
+
+(ランタイムに、ラベルのテキストはアプリケーションのアセンブリ情報に置き換えられます。
+プロジェクト デザイナの [アプリケーション] ペインで、アプリケーションのアセンブリ情報をカスタマイズします。)</value>
+  </data>
+  <data name="&gt;&gt;TextBoxDescription.Name" xml:space="preserve">
+    <value>TextBoxDescription</value>
+  </data>
+  <data name="&gt;&gt;TextBoxDescription.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TextBoxDescription.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;TextBoxDescription.ZOrder" xml:space="preserve">
+    <value>5</value>
+  </data>
+  <data name="OKButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
+    <value>Bottom, Right</value>
+  </data>
+  <data name="OKButton.Location" type="System.Drawing.Point, System.Drawing">
+    <value>318, 275</value>
+  </data>
+  <data name="OKButton.Size" type="System.Drawing.Size, System.Drawing">
+    <value>75, 21</value>
+  </data>
+  <data name="OKButton.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="OKButton.Text" xml:space="preserve">
+    <value>OK(&amp;O)</value>
+  </data>
+  <data name="&gt;&gt;OKButton.Name" xml:space="preserve">
+    <value>OKButton</value>
+  </data>
+  <data name="&gt;&gt;OKButton.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;OKButton.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;OKButton.ZOrder" xml:space="preserve">
+    <value>6</value>
+  </data>
+  <data name="ChangeLog.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="ChangeLog.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 178</value>
+  </data>
+  <data name="ChangeLog.Multiline" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="ChangeLog.ScrollBars" type="System.Windows.Forms.ScrollBars, System.Windows.Forms">
+    <value>Both</value>
+  </data>
+  <data name="ChangeLog.Size" type="System.Drawing.Size, System.Drawing">
+    <value>390, 83</value>
+  </data>
+  <data name="ChangeLog.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="&gt;&gt;ChangeLog.Name" xml:space="preserve">
+    <value>ChangeLog</value>
+  </data>
+  <data name="&gt;&gt;ChangeLog.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;ChangeLog.Parent" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;ChangeLog.ZOrder" xml:space="preserve">
+    <value>7</value>
+  </data>
+  <data name="TableLayoutPanel.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="TableLayoutPanel.Location" type="System.Drawing.Point, System.Drawing">
+    <value>9, 8</value>
+  </data>
+  <data name="TableLayoutPanel.RowCount" type="System.Int32, mscorlib">
+    <value>7</value>
+  </data>
+  <data name="TableLayoutPanel.Size" type="System.Drawing.Size, System.Drawing">
+    <value>396, 299</value>
+  </data>
+  <data name="TableLayoutPanel.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel.Name" xml:space="preserve">
+    <value>TableLayoutPanel</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;TableLayoutPanel.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="TableLayoutPanel.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="LogoPictureBox" Row="0" RowSpan="5" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="LabelProductName" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="LabelVersion" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="LabelCopyright" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="LabelCompanyName" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="TextBoxDescription" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="OKButton" Row="6" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="ChangeLog" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,33,Percent,67" /&gt;&lt;Rows Styles="Percent,10,Percent,10,Percent,10,Percent,10,Percent,20,Percent,30,Percent,10" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
+    <value>6, 12</value>
+  </data>
+  <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
+    <value>414, 315</value>
+  </data>
+  <data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>9, 8, 9, 8</value>
+  </data>
+  <data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
+    <value>CenterParent</value>
+  </data>
+  <data name="$this.Text" xml:space="preserve">
+    <value>TweenAboutBox</value>
+  </data>
+  <data name="&gt;&gt;$this.Name" xml:space="preserve">
+    <value>TweenAboutBox</value>
+  </data>
+  <data name="&gt;&gt;$this.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/Tween/TweenAboutBox.vb b/Tween/TweenAboutBox.vb
new file mode 100644 (file)
index 0000000..9199caa
--- /dev/null
@@ -0,0 +1,50 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Public NotInheritable Class TweenAboutBox
+
+    Private Sub TweenAboutBox_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+        ' フォームのタイトルを設定します。
+        Dim ApplicationTitle As String
+        If My.Application.Info.Title <> "" Then
+            ApplicationTitle = My.Application.Info.Title
+        Else
+            ApplicationTitle = System.IO.Path.GetFileNameWithoutExtension(My.Application.Info.AssemblyName)
+        End If
+        Me.Text = String.Format(My.Resources.TweenAboutBox_LoadText1, ApplicationTitle)
+        ' バージョン情報ボックスに表示されたテキストをすべて初期化します。
+        ' TODO: [プロジェクト] メニューの下にある [プロジェクト プロパティ] ダイアログの [アプリケーション] ペインで、アプリケーションのアセンブリ情報を 
+        '    カスタマイズします。
+        Me.LabelProductName.Text = My.Application.Info.ProductName
+        Me.LabelVersion.Text = String.Format(My.Resources.TweenAboutBox_LoadText2, fileVersion + "(" + My.Application.Info.Version.ToString + ")")
+        Me.LabelCopyright.Text = My.Application.Info.Copyright
+        Me.LabelCompanyName.Text = My.Application.Info.CompanyName
+        Me.TextBoxDescription.Text = My.Application.Info.Description
+        Me.ChangeLog.Text = My.Resources.ChangeLog
+    End Sub
+
+    Private Sub OKButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OKButton.Click
+        Me.Close()
+    End Sub
+
+End Class
diff --git a/Tween/Twitter.vb b/Tween/Twitter.vb
new file mode 100644 (file)
index 0000000..1c4009a
--- /dev/null
@@ -0,0 +1,3509 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Web
+Imports System.Xml
+Imports System.Text
+Imports System.Threading
+Imports System.IO
+Imports System.Text.RegularExpressions
+Imports System.Globalization
+Imports System.Diagnostics
+
+Public Module Twitter
+    Delegate Sub GetIconImageDelegate(ByVal post As PostClass)
+    Delegate Function GetTimelineDelegate(ByVal page As Integer, _
+                                ByVal read As Boolean, _
+                                ByRef endPage As Integer, _
+                                ByVal gType As WORKERTYPE, _
+                                ByRef getDM As Boolean) As String
+    Delegate Function GetDirectMessageDelegate(ByVal page As Integer, _
+                                    ByVal read As Boolean, _
+                                    ByVal endPage As Integer, _
+                                    ByVal gType As WORKERTYPE) As String
+    Private ReadOnly LockObj As New Object
+    Private GetTmSemaphore As New Threading.Semaphore(8, 8)
+
+    Private follower As New List(Of String)
+    Private followerId As New List(Of Long)
+    Private tmpFollower As New List(Of String)
+
+    Private _followersCount As Integer = 0
+    Private _friendsCount As Integer = 0
+    Private _statusesCount As Integer = 0
+    Private _location As String = ""
+    Private _bio As String = ""
+    Private _useSsl As Boolean = True
+    Private _protocol As String = "https://"
+    Private _bitlyId As String = ""
+    Private _bitlyKey As String = ""
+
+    'プロパティからアクセスされる共通情報
+    Private _uid As String
+    Private _pwd As String
+    Private _proxyType As ProxyType
+    Private _proxyAddress As String
+    Private _proxyPort As Integer
+    Private _proxyUser As String
+    Private _proxyPassword As String
+
+    Private _nextThreshold As Integer
+    Private _nextPages As Integer
+
+    Private _iconSz As Integer
+    Private _getIcon As Boolean
+    Private _lIcon As ImageList
+    Private _dIcon As Dictionary(Of String, Image)
+
+    Private _tinyUrlResolve As Boolean
+    Private _restrictFavCheck As Boolean
+    Private _useAPI As Boolean
+
+    Private _hubServer As String
+    Private _defaultTimeOut As Integer      ' MySocketクラスへ渡すタイムアウト待ち時間(秒単位 ミリ秒への換算はMySocketクラス側で行う)
+    Private _countApi As Integer
+    Private _usePostMethod As Boolean
+    Private _ApiMethod As MySocket.REQ_TYPE
+    Private _readOwnPost As Boolean
+
+    '共通で使用する状態
+    Private _authKey As String              'StatusUpdate、発言削除で使用
+    Private _authKeyDM As String              'DM送信、DM削除で使用
+    Private _signed As Boolean
+    Private _infoTwitter As String = ""
+    Private _dmCount As Integer
+    Private _getDm As Boolean
+    Private _remainCountApi As Integer = -1
+
+    Private _ShortUrlService() As String = { _
+            "http://tinyurl.com/", _
+            "http://is.gd/", _
+            "http://snipurl.com/", _
+            "http://snurl.com/", _
+            "http://nsfw.in/", _
+            "http://qurlyq.com/", _
+            "http://dwarfurl.com/", _
+            "http://icanhaz.com/", _
+            "http://tiny.cc/", _
+            "http://urlenco.de/", _
+            "http://bit.ly/", _
+            "http://piurl.com/", _
+            "http://linkbee.com/", _
+            "http://traceurl.com/", _
+            "http://twurl.nl/", _
+            "http://cli.gs/", _
+            "http://rubyurl.com/", _
+            "http://budurl.com/", _
+            "http://ff.im/", _
+            "http://twitthis.com/", _
+            "http://blip.fm/", _
+            "http://tumblr.com/", _
+            "http://www.qurl.com/", _
+            "http://digg.com/", _
+            "http://u.nu/", _
+            "http://ustre.am/", _
+            "http://pic.gd/", _
+            "http://airme.us/", _
+            "http://qurl.com/", _
+            "http://bctiny.com/", _
+            "http://j.mp/" _
+        }
+
+    Private Const _baseUrlStr As String = "twitter.com"
+    Private Const _loginPath As String = "/sessions"
+    Private Const _homePath As String = "/home"
+    Private Const _replyPath As String = "/replies"
+    Private Const _DMPathRcv As String = "/inbox"
+    Private Const _DMPathSnt As String = "/sent"
+    Private Const _DMDestroyPath As String = "/direct_messages/destroy/"
+    Private Const _StDestroyPath As String = "/statuses/destroy/"
+    Private Const _uidHeader As String = "session[username_or_email]="
+    Private Const _pwdHeader As String = "session[password]="
+    Private Const _pageQry As String = "?page="
+    Private Const _cursorQry As String = "?cursor="
+    Private Const _statusHeader As String = "status="
+    Private Const _statusUpdatePathAPI As String = "/statuses/update.xml"
+    Private Const _linkToOld As String = "class=""section_links"" rel=""prev"""
+    Private Const _postFavAddPath As String = "/favorites/create/"
+    Private Const _postFavRemovePath As String = "/favorites/destroy/"
+    Private Const _authKeyHeader As String = "authenticity_token="
+    'Private Const _parseLink1 As String = "<a href="""
+    'Private Const _parseLink2 As String = """>"
+    'Private Const _parseLink3 As String = "</a>"
+    Private Const _GetFollowers As String = "/statuses/followers.xml"
+    Private Const _ShowStatus As String = "/statuses/show/"
+    Private Const _rateLimitStatus As String = "/account/rate_limit_status.xml"
+
+    '''Wedata対応
+    Private Const wedataUrl As String = "http://wedata.net/databases/Tween/items.json"
+
+    Private Function SignIn() As String
+        If _endingFlag Then Return ""
+
+        'ユーザー情報からデータ部分の生成
+        Dim account As String = ""
+        Static skipCount As Integer = 0
+
+        SyncLock LockObj
+            If _signed Then Return ""
+            If Twitter.AccountState <> ACCOUNT_STATE.Valid AndAlso skipCount < 10 Then
+                skipCount += 1
+                Return "SignIn -> Check Username/Password in setting."
+            End If
+            skipCount = 0
+
+            '未認証
+            _signed = False
+
+            MySocket.ResetCookie()
+
+            Dim resStatus As String = ""
+            Dim resMsg As String = ""
+
+            '設定によらずログイン処理はhttps固定
+            resMsg = DirectCast(CreateSocket.GetWebResponse("https://" + _hubServer + "/login", resStatus, MySocket.REQ_TYPE.ReqGET), String)
+            If resMsg.Length = 0 Then
+                'Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "SignIn -> " + resStatus
+            End If
+            Dim authToken As String = ""
+            Dim rg As New Regex("authenticity_token"" type=""hidden"" value=""(?<auth>[a-z0-9]+)""")
+            Dim m As Match = rg.Match(resMsg)
+            If m.Success Then
+                authToken = m.Result("${auth}")
+            Else
+                Return "SignIn -> Can't get token."
+            End If
+
+            account = _authKeyHeader + authToken + "&" + _uidHeader + _uid + "&" + _pwdHeader + HttpUtility.UrlEncode(_pwd) + "&" + "remember_me=1"
+
+            'https固定
+            resMsg = DirectCast(CreateSocket.GetWebResponse("https://" + _hubServer + _loginPath, resStatus, MySocket.REQ_TYPE.ReqPOST, account), String)
+            If resStatus.StartsWith("OK") Then
+                'OK (username/passwordが合致しない)
+                Dim msg As String = resStatus
+                If resMsg.Contains("Wrong Username/Email and password combination.") Then
+                    msg = "Wrong Username or password."
+                Else
+                    '未知の応答(May be required Chapta)
+                    msg = "Wrong Username or password. Try from web."
+                End If
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "SignIn Failed -> " + msg
+            ElseIf resMsg.Contains("https://twitter.com/account/locked") Then   '302 FOUND
+                Dim msg As String = "You account is Locked Out."
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "SignIn Failed -> " + msg
+            ElseIf resMsg.Contains("https://twitter.com:443/") Then '302 FOUND
+                'OK
+            ElseIf resMsg.Contains("https://twitter.com/") OrElse _
+                   resMsg.Contains("http://twitter.com/") Then '302 FOUND
+                'OK
+            ElseIf resStatus.StartsWith("Err:") Then
+                ' その他プロトコルエラー
+                Return "SignIn Failed -> " + resStatus
+            Else
+                '応答がOK でありサインインできていない場合の未知の応答
+                'TraceOut(True, "SignIn Failed." + vbCrLf + "resStatus:" + resStatus + vbCrLf + "resMsg:" + vbCrLf + resMsg)
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "SignIn Failed -> " + "Unknown problems."
+            End If
+            Twitter.AccountState = ACCOUNT_STATE.Valid
+            _signed = True
+            Return ""
+        End SyncLock
+    End Function
+
+    Public Function GetTimeline(ByVal page As Integer, _
+                                ByVal read As Boolean, _
+                                ByRef endPage As Integer, _
+                                ByVal gType As WORKERTYPE, _
+                                ByRef getDM As Boolean) As String
+
+        If endPage = 0 Then
+            '通常モード
+            Dim epage As Integer = page
+            GetTmSemaphore.WaitOne()
+            Dim trslt As String = ""
+            trslt = GetTimelineThread(page, read, epage, gType, getDM)
+            If trslt.Length > 0 Then Return trslt
+            page += 1
+            If epage < page OrElse gType = WORKERTYPE.Reply Then Return ""
+            endPage = epage
+        End If
+        '起動時モード or 通常モードの読み込み継続 -> 複数ページ同時取得
+        Dim num As Integer = endPage - page
+        Dim ar(num) As IAsyncResult
+        Dim dlgt(num) As GetTimelineDelegate
+
+        For idx As Integer = 0 To num
+            dlgt(idx) = New GetTimelineDelegate(AddressOf GetTimelineThread)
+            GetTmSemaphore.WaitOne()
+            ar(idx) = dlgt(idx).BeginInvoke(page + idx, read, endPage + idx, gType, getDM, Nothing, Nothing)
+        Next
+        Dim rslt As String = ""
+        For idx As Integer = 0 To num
+            Dim epage As Integer = 0
+            Dim dm As Boolean = False
+            Dim trslt As String = ""
+            Try
+                trslt = dlgt(idx).EndInvoke(epage, dm, ar(idx))
+            Catch ex As Exception
+                '最後までendinvoke回す(ゾンビ化回避)
+                ex.Data("IsTerminatePermission") = False
+                Throw
+                rslt = "GetTimelineErr"
+            End Try
+            If trslt.Length > 0 AndAlso rslt.Length = 0 Then rslt = trslt
+            If dm Then getDM = True
+        Next
+        Return rslt
+    End Function
+
+    Private Function GetTimelineThread(ByVal page As Integer, _
+                                ByVal read As Boolean, _
+                                ByRef endPage As Integer, _
+                                ByVal gType As WORKERTYPE, _
+                                ByRef getDM As Boolean) As String
+        Try
+            If _endingFlag Then Return ""
+
+            Dim retMsg As String = ""
+            Dim resStatus As String = ""
+
+            Static redirectToTimeline As String = ""
+            Static redirectToReply As String = ""
+
+            If _signed = False Then
+                retMsg = SignIn()
+                If retMsg.Length > 0 Then
+                    Return retMsg
+                End If
+            End If
+
+            If _endingFlag Then Return ""
+
+            'リクエストメッセージを作成する
+            Dim pageQuery As String
+
+            If page = 1 Then
+                pageQuery = ""
+            Else
+                pageQuery = _pageQry + page.ToString
+            End If
+
+            If gType = WORKERTYPE.Timeline Then
+                retMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _homePath + pageQuery, resStatus, MySocket.REQ_TYPE.ReqGetApp), String)
+            Else
+                retMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _replyPath + pageQuery, resStatus, MySocket.REQ_TYPE.ReqGetApp), String)
+            End If
+
+            If retMsg.Length = 0 Then
+                _signed = False
+                Return resStatus
+            End If
+
+            ' tr 要素の class 属性を消去
+            retMsg = Regex.Replace(retMsg, "(?<tagStart><li)(?<cls> class=""[^""]+"")", "${tagStart}")
+            'Do
+            '    Try
+            '        Dim idx As Integer = retMsg.IndexOf(_removeClass, StringComparison.Ordinal)
+            '        If idx = -1 Then Exit Do
+            '        Dim idx2 As Integer = retMsg.IndexOf("""", idx + _removeClass.Length, StringComparison.Ordinal) - idx + 1 - 3
+            '        If idx2 > 0 Then retMsg = retMsg.Remove(idx + 3, idx2)
+            '    Catch ex As Exception
+            '        _signed = False
+            '        TraceOut("TM-Remove: " + retMsg)
+            '        Return "GetTimeline -> Err: Can't parse data."
+            '    End Try
+            'Loop
+
+            If _endingFlag Then Return ""
+
+            '各メッセージに分割可能か?
+            Dim strSepTmp As String
+            If gType = WORKERTYPE.Timeline Then
+                strSepTmp = _splitPostRecent
+            Else
+                strSepTmp = _splitPost
+            End If
+
+            Dim pos1 As Integer
+            Dim pos2 As Integer
+
+            pos1 = retMsg.IndexOf(strSepTmp, StringComparison.Ordinal)
+            If pos1 = -1 Then
+                '0件 or 取得失敗
+                _signed = False
+                Return "GetTimeline -> Err: tweets count is 0."
+            End If
+
+            Dim strSep() As String = {strSepTmp}
+            Dim posts() As String = retMsg.Split(strSep, StringSplitOptions.RemoveEmptyEntries)
+            Dim intCnt As Integer = 0
+            Dim listCnt As Integer = 0
+            SyncLock LockObj
+                listCnt = TabInformations.GetInstance.ItemCount
+            End SyncLock
+            Dim dlgt(20) As GetIconImageDelegate
+            Dim ar(20) As IAsyncResult
+            Dim arIdx As Integer = -1
+
+            For Each strPost As String In posts
+                intCnt += 1
+
+                If intCnt = 1 Then
+                    If page = 1 And gType = WORKERTYPE.Timeline Then
+                        ''siv取得
+                        'pos1 = strPost.IndexOf(_getSiv, 0)
+                        'If pos1 > 0 Then
+                        '    pos2 = strPost.IndexOf(_getSivTo, pos1 + _getSiv.Length)
+                        '    If pos2 > -1 Then
+                        '        _authSiv = strPost.Substring(pos1 + _getSiv.Length, pos2 - pos1 - _getSiv.Length)
+                        '    Else
+                        '        '取得失敗
+                        '        _signed = False
+                        '        Return "GetTimeline -> Err: Can't get Siv."
+                        '    End If
+                        'Else
+                        '    '取得失敗
+                        '    _signed = False
+                        '    Return "GetTimeline -> Err: Can't get Siv."
+                        'End If
+
+                        'AuthKeyの取得
+                        If GetAuthKey(retMsg) < 0 Then
+                            _signed = False
+                            Return "GetTimeline -> Err: Can't get auth token."
+                        End If
+
+                        'TwitterInfoの取得
+                        pos1 = retMsg.IndexOf(_getInfoTwitter, StringComparison.Ordinal)
+                        If pos1 > -1 Then
+                            pos2 = retMsg.IndexOf(_getInfoTwitterTo, pos1, StringComparison.Ordinal)
+                            If pos2 > -1 Then
+                                _infoTwitter = retMsg.Substring(pos1 + _getInfoTwitter.Length, pos2 - pos1 - _getInfoTwitter.Length)
+                            Else
+                                _infoTwitter = ""
+                            End If
+                        Else
+                            _infoTwitter = ""
+                        End If
+                    End If
+                Else
+
+                    Dim post As New PostClass
+
+                    Try
+                        'Get ID
+                        pos1 = 0
+                        pos2 = strPost.IndexOf(_statusIdTo, 0, StringComparison.Ordinal)
+                        post.Id = Long.Parse(HttpUtility.HtmlDecode(strPost.Substring(0, pos2)))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-ID:" + strPost)
+                        Return "GetTimeline -> Err: Can't get ID."
+                    End Try
+                    'Get Name
+                    Try
+                        pos1 = strPost.IndexOf(_parseName, pos2, StringComparison.Ordinal)
+                        pos2 = strPost.IndexOf(_parseNameTo, pos1, StringComparison.Ordinal)
+                        post.Name = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseName.Length, pos2 - pos1 - _parseName.Length))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Name:" + strPost)
+                        Return "GetTimeline -> Err: Can't get Name."
+                    End Try
+                    'Get Nick
+                    '''バレンタイン対応
+                    If strPost.IndexOf("twitter.com/images/heart.png", pos2, StringComparison.Ordinal) > -1 Then
+                        post.Nickname = post.Name
+                    Else
+                        Try
+                            pos1 = strPost.IndexOf(_parseNick, pos2, StringComparison.Ordinal)
+                            pos2 = strPost.IndexOf(_parseNickTo, pos1 + _parseNick.Length, StringComparison.Ordinal)
+                            post.Nickname = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseNick.Length, pos2 - pos1 - _parseNick.Length))
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-Nick:" + strPost)
+                            Return "GetTimeline -> Err: Can't get Nick."
+                        End Try
+                    End If
+
+                    '二重取得回避
+                    SyncLock LockObj
+                        If TabInformations.GetInstance.ContainsKey(post.Id) Then Continue For
+                    End SyncLock
+
+                    Dim orgData As String = ""
+                    'バレンタイン
+                    If strPost.IndexOf("<form action=""/status/update"" id=""heartForm", 0, StringComparison.Ordinal) > -1 Then
+                        Try
+                            pos1 = strPost.IndexOf("<strong>", 0, StringComparison.Ordinal)
+                            pos2 = strPost.IndexOf("</strong>", pos1, StringComparison.Ordinal)
+                            orgData = strPost.Substring(pos1 + 8, pos2 - pos1 - 8)
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-VBody:" + strPost)
+                            Return "GetTimeline -> Err: Can't get Valentine body."
+                        End Try
+                    End If
+
+
+                    'Get ImagePath
+                    Try
+                        pos1 = strPost.IndexOf(_parseImg, pos2, StringComparison.Ordinal)
+                        pos2 = strPost.IndexOf(_parseImgTo, pos1 + _parseImg.Length, StringComparison.Ordinal)
+                        post.ImageUrl = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseImg.Length, pos2 - pos1 - _parseImg.Length))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Img:" + strPost)
+                        Return "GetTimeline -> Err: Can't get ImagePath."
+                    End Try
+
+                    'Protect
+                    If strPost.IndexOf(_isProtect, pos2, StringComparison.Ordinal) > -1 Then
+                        post.IsProtect = True
+                    End If
+
+                    'Get Message
+                    pos1 = strPost.IndexOf(_parseMsg1, pos2, StringComparison.Ordinal)
+                    If pos1 < 0 Then
+                        'Valentine対応その2
+                        Try
+                            If strPost.IndexOf("<div id=""doyouheart", pos2, StringComparison.Ordinal) > -1 Then
+                                'バレンタイン
+                                orgData += " <3 you! Do you <3 "
+                                pos1 = strPost.IndexOf("<a href", pos2, StringComparison.Ordinal)
+                                pos2 = strPost.IndexOf("?", pos1, StringComparison.Ordinal)
+                                orgData += strPost.Substring(pos1, pos2 - pos1 + 1)
+                            Else
+                                pos1 = strPost.IndexOf(_parseProtectMsg1, pos2, StringComparison.Ordinal)
+                                If pos1 = -1 Then
+                                    'バレンタイン
+                                    orgData += " <3 's "
+                                    pos1 = strPost.IndexOf("<a href", pos2, StringComparison.Ordinal)
+                                    If pos1 > -1 Then
+                                        pos2 = strPost.IndexOf("!", pos1, StringComparison.Ordinal)
+                                        orgData += strPost.Substring(pos1, pos2 - pos1 + 1)
+                                    End If
+                                Else
+                                    'プロテクトメッセージ
+                                    pos2 = strPost.IndexOf(_parseProtectMsg2, pos1, StringComparison.Ordinal)
+                                    orgData = strPost.Substring(pos1 + _parseProtectMsg1.Length, pos2 - pos1 - _parseProtectMsg1.Length).Trim()
+                                End If
+                            End If
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-VBody2:" + strPost)
+                            Return "GetTimeline -> Err: Can't get Valentine body2."
+                        End Try
+                    Else
+                        '通常メッセージ
+                        Try
+                            pos2 = strPost.IndexOf(_parseMsg2, pos1, StringComparison.Ordinal)
+                            orgData = strPost.Substring(pos1 + _parseMsg1.Length, pos2 - pos1 - _parseMsg1.Length).Trim()
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-Body:" + strPost)
+                            Return "GetTimeline -> Err: Can't get body."
+                        End Try
+                        '#If 0 Then
+                        '                        '原文リンク削除
+                        '                        orgData = Regex.Replace(orgData, "<a href=""https://twitter\.com/" + post.Name + "/status/[0-9]+"">\.\.\.</a>$", "")
+                        '#End If
+                        'ハート変換
+                        orgData = orgData.Replace("&lt;3", "♡")
+                    End If
+
+                    'URL前処理(IDNデコードなど)
+                    orgData = PreProcessUrl(orgData)
+
+                    '短縮URL解決処理(orgData書き換え)
+                    orgData = ShortUrlResolve(orgData)
+
+                    '表示用にhtml整形
+                    post.OriginalData = AdjustHtml(orgData)
+
+                    '単純テキストの取り出し(リンクタグ除去)
+                    Try
+                        post.Data = GetPlainText(orgData)
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Link:" + strPost)
+                        Return "GetTimeline -> Err: Can't parse links."
+                    End Try
+
+                    ' Imageタグ除去(ハロウィン)
+                    Dim ImgTag As New Regex("<img src=.*?/>", RegexOptions.IgnoreCase)
+                    If ImgTag.IsMatch(post.Data) Then post.Data = ImgTag.Replace(post.Data, "<img>")
+
+                    'Get Date
+#If 1 Then
+                    Try
+                        pos1 = strPost.IndexOf(_parseDate, pos2, StringComparison.Ordinal)
+                        If pos1 > -1 Then
+                            pos2 = strPost.IndexOf(_parseDateTo, pos1 + _parseDate.Length, StringComparison.Ordinal)
+                            post.PDate = DateTime.ParseExact(strPost.Substring(pos1 + _parseDate.Length, pos2 - pos1 - _parseDate.Length), "ddd MMM dd HH':'mm':'ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, Globalization.DateTimeStyles.None)
+                        Else
+                            post.PDate = Now()
+                        End If
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Date:" + strPost)
+                        Return "GetTimeline -> Err: Can't get date."
+                    End Try
+#Else
+                    '取得できなくなったため暫定対応(2/26)
+                    post.PDate = Now()
+#End If
+
+
+                    'from Sourceの取得
+                    'ToDo: _parseSourceFromを正規表現へ。wedataからの取得へ変更(次版より)
+                    Dim rg As New Regex("<span>.+>(?<name>.+)</a>.*</span> ")
+                    Dim m As Match = rg.Match(strPost)
+                    If m.Success Then
+                        post.Source = m.Result("${name}")
+                    Else
+                        post.Source = "Web"
+                    End If
+                    'Try
+                    '    pos1 = strPost.IndexOf(_parseSourceFrom, pos2, StringComparison.Ordinal)
+                    '    If pos1 = -1 Then pos1 = strPost.IndexOf(_parseSourceFrom2, pos2, StringComparison.Ordinal)
+                    '    If pos1 > -1 Then
+                    '        pos1 = strPost.IndexOf(_parseSource2, pos1 + 19, StringComparison.Ordinal)
+                    '        pos2 = strPost.IndexOf(_parseSourceTo, pos1 + 2, StringComparison.Ordinal)
+                    '        post.Source = HttpUtility.HtmlDecode(strPost.Substring(pos1 + 2, pos2 - pos1 - 2))
+                    '    Else
+                    '        post.Source = "Web"
+                    '    End If
+                    'Catch ex As Exception
+                    '    _signed = False
+                    '    TraceOut("TM-Src:" + strPost)
+                    '    Return "GetTimeline -> Err: Can't get src."
+                    'End Try
+
+                    'Get Reply(in_reply_to_user/id)
+                    'ToDo: _isReplyEngを正規表現へ。wedataからの取得へ変更(次版より)
+                    rg = New Regex("<a href=""https?:\/\/twitter\.com\/(?<name>[a-zA-Z0-9_]+)\/status\/(?<id>[0-9]+)"">(in reply to )*\k<name>")
+                    m = rg.Match(strPost)
+                    If m.Success Then
+                        post.InReplyToUser = m.Result("${name}")
+                        post.InReplyToId = Long.Parse(m.Result("${id}"))
+                        post.IsReply = post.InReplyToUser.Equals(_uid, StringComparison.OrdinalIgnoreCase)
+                    End If
+
+                    '@先リスト作成
+                    rg = New Regex("@<a [^>]*href=""\/(?<1>[a-zA-Z0-9_]+)[^a-zA-Z0-9_]")
+                    m = rg.Match(orgData)
+                    While m.Success
+                        post.ReplyToList.Add(m.Groups(1).Value.ToLower())
+                        m = m.NextMatch
+                    End While
+                    If Not post.IsReply Then post.IsReply = post.ReplyToList.Contains(_uid)
+
+                    If gType = WORKERTYPE.Reply Then post.IsReply = True
+
+                    'Get Fav
+                    pos1 = strPost.IndexOf(_parseStar, pos2, StringComparison.Ordinal)
+                    If pos1 > -1 Then
+                        Try
+                            pos2 = strPost.IndexOf(_parseStarTo, pos1 + _parseStar.Length, StringComparison.Ordinal)
+                            If strPost.Substring(pos1 + _parseStar.Length, pos2 - pos1 - _parseStar.Length) = _parseStarEmpty Then
+                                post.IsFav = False
+                            Else
+                                post.IsFav = True
+                            End If
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-Fav:" + strPost)
+                            Return "GetTimeline -> Err: Can't get fav status."
+                        End Try
+                    Else
+                        post.IsFav = False
+                    End If
+
+
+                    If _endingFlag Then Return ""
+
+                    post.IsMe = post.Name.Equals(_uid, StringComparison.OrdinalIgnoreCase)
+                    SyncLock LockObj
+                        If follower.Count > 1 Then
+                            post.IsOwl = Not follower.Contains(post.Name.ToLower())
+                        Else
+                            post.IsOwl = False
+                        End If
+                    End SyncLock
+                    post.IsRead = read
+                    If post.IsMe AndAlso Not read AndAlso _readOwnPost Then post.IsRead = True
+
+                    arIdx += 1
+                    dlgt(arIdx) = New GetIconImageDelegate(AddressOf GetIconImage)
+                    ar(arIdx) = dlgt(arIdx).BeginInvoke(post, Nothing, Nothing)
+
+                End If
+
+                'テスト実装:DMカウント取得
+                If intCnt = posts.Length AndAlso gType = WORKERTYPE.Timeline AndAlso page = 1 Then
+                    pos1 = strPost.IndexOf(_parseDMcountFrom, pos2, StringComparison.Ordinal)
+                    If pos1 > -1 Then
+                        Try
+                            pos2 = strPost.IndexOf(_parseDMcountTo, pos1 + _parseDMcountFrom.Length, StringComparison.Ordinal)
+                            Dim dmCnt As Integer = Integer.Parse(strPost.Substring(pos1 + _parseDMcountFrom.Length, pos2 - pos1 - _parseDMcountFrom.Length))
+                            If dmCnt > _dmCount Then
+                                _dmCount = dmCnt
+                                _getDm = True
+                            End If
+                        Catch ex As Exception
+                            Return "GetTimeline -> Err: Can't get DM count."
+                        End Try
+                    End If
+                End If
+                getDM = _getDm
+            Next
+
+            For i As Integer = 0 To arIdx
+                Try
+                    dlgt(i).EndInvoke(ar(i))
+                Catch ex As Exception
+                    '最後までendinvoke回す(ゾンビ化回避)
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+            Next
+
+            SyncLock LockObj
+                If page = 1 AndAlso (TabInformations.GetInstance.ItemCount - listCnt) >= _nextThreshold Then
+                    '新着が閾値の件数以上なら、次のページも念のため読み込み
+                    endPage = _nextPages + 1
+                End If
+            End SyncLock
+
+            Return ""
+        Finally
+            GetTmSemaphore.Release()
+        End Try
+    End Function
+
+    Public Function GetDirectMessage(ByVal page As Integer, _
+                                    ByVal read As Boolean, _
+                                    ByVal endPage As Integer, _
+                                    ByVal gType As WORKERTYPE) As String
+
+        If endPage = 0 Then
+            '通常モード(DMはモード関係なし)
+            endPage = 1
+        End If
+        '起動時モード 
+        Dim num As Integer = endPage - page
+        Dim ar(num) As IAsyncResult
+        Dim dlgt(num) As GetDirectMessageDelegate
+
+        For idx As Integer = 0 To num
+            gType = WORKERTYPE.DirectMessegeRcv
+            dlgt(idx) = New GetDirectMessageDelegate(AddressOf GetDirectMessageThread)
+            GetTmSemaphore.WaitOne()
+            ar(idx) = dlgt(idx).BeginInvoke(page + idx, read, endPage + idx, gType, Nothing, Nothing)
+        Next
+        Dim rslt As String = ""
+        For idx As Integer = 0 To num
+            Dim trslt As String = ""
+            Try
+                trslt = dlgt(idx).EndInvoke(ar(idx))
+            Catch ex As Exception
+                '最後までendinvoke回す(ゾンビ化回避)
+                ex.Data("IsTerminatePermission") = False
+                Throw
+                rslt = "GetDirectMessageErr"
+            End Try
+            If trslt.Length > 0 AndAlso rslt.Length = 0 Then rslt = trslt
+        Next
+        For idx As Integer = 0 To num
+            gType = WORKERTYPE.DirectMessegeSnt
+            dlgt(idx) = New GetDirectMessageDelegate(AddressOf GetDirectMessageThread)
+            GetTmSemaphore.WaitOne()
+            ar(idx) = dlgt(idx).BeginInvoke(page + idx, read, endPage + idx, gType, Nothing, Nothing)
+        Next
+        For idx As Integer = 0 To num
+            Dim trslt As String = ""
+            Try
+                trslt = dlgt(idx).EndInvoke(ar(idx))
+            Catch ex As Exception
+                '最後までendinvoke回す(ゾンビ化回避)
+                ex.Data("IsTerminatePermission") = False
+                Throw
+                rslt = "GetDirectMessageErr"
+            End Try
+            If trslt.Length > 0 AndAlso rslt.Length = 0 Then rslt = trslt
+        Next
+        Return rslt
+    End Function
+
+    Private Function GetDirectMessageThread(ByVal page As Integer, _
+                                    ByVal read As Boolean, _
+                                    ByVal endPage As Integer, _
+                                    ByVal gType As WORKERTYPE) As String
+        Try
+            If _endingFlag Then Return ""
+
+            Dim retMsg As String = ""
+            Dim resStatus As String = ""
+
+            Static redirectToDmRcv As String = ""
+            Static redirectToDmSnd As String = ""
+
+            _getDm = False
+
+            If _signed = False Then
+                retMsg = SignIn()
+                If retMsg.Length > 0 Then
+                    Return retMsg
+                End If
+            End If
+
+            If _endingFlag Then Return ""
+
+            'リクエストメッセージを作成する
+            Dim pageQuery As String = _pageQry + page.ToString
+            If gType = WORKERTYPE.DirectMessegeRcv Then
+                retMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _DMPathRcv + pageQuery, resStatus, MySocket.REQ_TYPE.ReqGetApp), String)
+            Else
+                retMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _DMPathSnt + pageQuery, resStatus, MySocket.REQ_TYPE.ReqGetApp), String)
+            End If
+
+            If retMsg.Length = 0 Then
+                _signed = False
+                Return resStatus
+            End If
+
+            ' tr 要素の class 属性を消去
+            retMsg = Regex.Replace(retMsg, "(?<tagStart><li)(?<cls> class=""[^""]+"")", "${tagStart}")
+            'Do
+            '    Try
+            '        Dim idx As Integer = retMsg.IndexOf(_removeClass, StringComparison.Ordinal)
+            '        If idx = -1 Then Exit Do
+            '        Dim idx2 As Integer = retMsg.IndexOf("""", idx + _removeClass.Length, StringComparison.Ordinal) - idx + 1 - 3
+            '        If idx2 > 0 Then retMsg = retMsg.Remove(idx + 3, idx2)
+            '    Catch ex As Exception
+            '        _signed = False
+            '        TraceOut("DM-Remove: " + retMsg)
+            '        Return "GetDm -> Err: Can't parse data."
+            '    End Try
+            'Loop
+
+            If _endingFlag Then Return ""
+
+            ''AuthKeyの取得
+            'If GetAuthKeyDM(retMsg) < 0 Then
+            '    _signed = False
+            '    Return "GetDirectMessage -> Err: Busy(1)"
+            'End If
+
+            Dim pos1 As Integer
+            Dim pos2 As Integer
+
+            '各メッセージに分割可能か?
+            pos1 = retMsg.IndexOf(_splitDM, StringComparison.Ordinal)
+            If pos1 = -1 Then
+                '0件(メッセージなし。エラーの場合もありうるが判別できないので正常として戻す)
+                Return ""
+            End If
+
+            Dim strSep() As String = {_splitDM}
+            Dim posts() As String = retMsg.Split(strSep, StringSplitOptions.RemoveEmptyEntries)
+            Dim intCnt As Integer = 0   'カウンタ
+            Dim listCnt As Integer = 0
+            SyncLock LockObj
+                listCnt = TabInformations.GetInstance.ItemCount
+            End SyncLock
+            Dim dlgt(20) As GetIconImageDelegate
+            Dim ar(20) As IAsyncResult
+            Dim arIdx As Integer = -1
+
+            For Each strPost As String In posts
+                intCnt += 1
+
+                If intCnt > 1 Then  '1件目はヘッダなので無視
+                    'Dim lItem As New MyListItem
+                    Dim post As New PostClass()
+
+                    'Get ID
+                    Try
+                        pos1 = 0
+                        pos2 = strPost.IndexOf("""", 0, StringComparison.Ordinal)
+                        post.Id = Long.Parse(HttpUtility.HtmlDecode(strPost.Substring(0, pos2)))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-ID:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't get ID"
+                    End Try
+
+                    'Get Name
+                    Try
+                        pos1 = strPost.IndexOf(_parseName, pos2, StringComparison.Ordinal)
+                        pos2 = strPost.IndexOf(_parseNameTo, pos1, StringComparison.Ordinal)
+                        post.Name = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseName.Length, pos2 - pos1 - _parseName.Length))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-Name:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't get Name"
+                    End Try
+
+                    'Get Nick
+                    Try
+                        pos1 = strPost.IndexOf(_parseNick, pos2, StringComparison.Ordinal)
+                        pos2 = strPost.IndexOf(_parseNickTo, pos1 + _parseNick.Length, StringComparison.Ordinal)
+                        post.Nickname = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseNick.Length, pos2 - pos1 - _parseNick.Length))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-Nick:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't get Nick."
+                    End Try
+
+                    SyncLock LockObj
+                        If TabInformations.GetInstance.ContainsKey(post.Id) Then Continue For
+                    End SyncLock
+
+                    'Get ImagePath
+                    Try
+                        pos1 = strPost.IndexOf(_parseImg, pos2, StringComparison.Ordinal)
+                        pos2 = strPost.IndexOf(_parseImgTo, pos1 + _parseImg.Length, StringComparison.Ordinal)
+                        post.ImageUrl = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseImg.Length, pos2 - pos1 - _parseImg.Length))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-Img:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't get ImagePath"
+                    End Try
+
+                    'Get Protect 
+                    Try
+                        pos1 = strPost.IndexOf(_isProtect, pos2, StringComparison.Ordinal)
+                        If pos1 > -1 Then post.IsProtect = True
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-Protect:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't get Protect"
+                    End Try
+
+                    Dim orgData As String = ""
+
+                    'Get Message
+                    Try
+                        pos1 = strPost.IndexOf(_parseDM1, pos2, StringComparison.Ordinal)
+                        If pos1 > -1 Then
+                            pos2 = strPost.IndexOf(_parseDM2, pos1, StringComparison.Ordinal)
+                            orgData = strPost.Substring(pos1 + _parseDM1.Length, pos2 - pos1 - _parseDM1.Length).Trim()
+                        Else
+                            pos1 = strPost.IndexOf(_parseDM11, pos2, StringComparison.Ordinal)
+                            pos2 = strPost.IndexOf(_parseDM2, pos1, StringComparison.Ordinal)
+                            orgData = strPost.Substring(pos1 + _parseDM11.Length, pos2 - pos1 - _parseDM11.Length).Trim()
+                        End If
+                        'orgData = Regex.Replace(orgData, "<a href=""https://twitter\.com/" + post.Name + "/status/[0-9]+"">\.\.\.</a>$", "")
+                        orgData = orgData.Replace("&lt;3", "♡")
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-Body:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't get body"
+                    End Try
+
+                    'URL前処理(IDNデコードなど)
+                    orgData = PreProcessUrl(orgData)
+
+                    '短縮URL解決処理(orgData書き換え)
+                    orgData = ShortUrlResolve(orgData)
+
+                    '表示用にhtml整形
+                    post.OriginalData = AdjustHtml(orgData)
+
+                    '単純テキストの取り出し(リンクタグ除去)
+                    Try
+                        post.Data = GetPlainText(orgData)
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-Link:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't parse links"
+                    End Try
+
+#If 1 Then
+                    'Get Date
+                    Try
+                        pos1 = strPost.IndexOf(_parseDate, pos2, StringComparison.Ordinal)
+                        If pos1 > -1 Then
+                            pos2 = strPost.IndexOf(_parseDateTo, pos1 + _parseDate.Length, StringComparison.Ordinal)
+                            post.PDate = DateTime.ParseExact(strPost.Substring(pos1 + _parseDate.Length, pos2 - pos1 - _parseDate.Length), "ddd MMM dd HH':'mm':'ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, Globalization.DateTimeStyles.None)
+                        Else
+                            post.PDate = Now()
+                        End If
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("DM-Date:" + strPost)
+                        Return "GetDirectMessage -> Err: Can't get date."
+                    End Try
+#Else
+                    '取得できなくなったため暫定対応(2/26)
+                    post.PDate = Now()
+#End If
+
+                    'Get Fav
+                    'pos1 = strPost.IndexOf(_parseStar, pos2)
+                    'pos2 = strPost.IndexOf("""", pos1 + _parseStar.Length)
+                    'If strPost.Substring(pos1 + _parseStar.Length, pos2 - pos1 - _parseStar.Length) = "empty" Then
+                    '    lItem.Fav = False
+                    'Else
+                    '    lItem.Fav = True
+                    'End If
+                    post.IsFav = False
+
+
+                    If _endingFlag Then Return ""
+
+                    '受信DMかの判定で使用
+                    If gType = WORKERTYPE.DirectMessegeRcv Then
+                        post.IsOwl = False
+                    Else
+                        post.IsOwl = True
+                    End If
+
+                    post.IsRead = read
+                    post.IsDm = True
+
+                    'Imageの取得
+                    arIdx += 1
+                    dlgt(arIdx) = New GetIconImageDelegate(AddressOf GetIconImage)
+                    ar(arIdx) = dlgt(arIdx).BeginInvoke(post, Nothing, Nothing)
+                End If
+            Next
+
+            For i As Integer = 0 To arIdx
+                Try
+                    dlgt(i).EndInvoke(ar(i))
+                Catch ex As Exception
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+            Next
+
+            Return ""
+
+        Finally
+            GetTmSemaphore.Release()
+        End Try
+    End Function
+
+    Public Function GetFavorites(ByVal page As Integer, _
+                                ByVal read As Boolean, _
+                                ByRef endPage As Integer, _
+                                ByVal gType As WORKERTYPE, _
+                                ByRef getDM As Boolean) As String
+
+        GetTmSemaphore.WaitOne()
+        Try
+            If _endingFlag Then Return ""
+
+            Dim retMsg As String = ""
+            Dim resStatus As String = ""
+
+            Static redirectToFav As String = ""
+            Const FAV_PATH As String = "/favorites"
+
+            If _signed = False Then
+                retMsg = SignIn()
+                If retMsg.Length > 0 Then
+                    Return retMsg
+                End If
+            End If
+
+            If _endingFlag Then Return ""
+
+            'リクエストメッセージを作成する
+            Dim pageQuery As String
+
+            If page = 1 Then
+                pageQuery = ""
+            Else
+                pageQuery = _pageQry + page.ToString
+            End If
+
+            retMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + FAV_PATH + pageQuery, resStatus, MySocket.REQ_TYPE.ReqGetApp), String)
+
+            If retMsg.Length = 0 Then
+                _signed = False
+                Return resStatus
+            End If
+
+            ' tr 要素の class 属性を消去
+            retMsg = Regex.Replace(retMsg, "(?<tagStart><li)(?<cls> class=""[^""]+"")", "${tagStart}")
+            'Do
+            '    Try
+            '        Dim idx As Integer = retMsg.IndexOf(_removeClass, StringComparison.Ordinal)
+            '        If idx = -1 Then Exit Do
+            '        Dim idx2 As Integer = retMsg.IndexOf("""", idx + _removeClass.Length, StringComparison.Ordinal) - idx + 1 - 3
+            '        If idx2 > 0 Then retMsg = retMsg.Remove(idx + 3, idx2)
+            '    Catch ex As Exception
+            '        _signed = False
+            '        TraceOut("GetFav-Remove: " + retMsg)
+            '        Return "GetFav -> Err: Can't parse data."
+            '    End Try
+            'Loop
+
+            If _endingFlag Then Return ""
+
+            '各メッセージに分割可能か?
+            Dim strSepTmp As String
+            strSepTmp = _splitPostRecent
+
+            Dim pos1 As Integer
+            Dim pos2 As Integer
+
+            pos1 = retMsg.IndexOf(strSepTmp, StringComparison.Ordinal)
+            If pos1 = -1 Then
+                '0件 or 取得失敗
+                _signed = False
+                Return "GetTimeline -> Err: tweets count is 0."
+            End If
+
+            Dim strSep() As String = {strSepTmp}
+            Dim posts() As String = retMsg.Split(strSep, StringSplitOptions.RemoveEmptyEntries)
+            Dim intCnt As Integer = 0
+            Dim listCnt As Integer = 0
+            SyncLock LockObj
+                listCnt = TabInformations.GetInstance.ItemCount
+            End SyncLock
+            Dim dlgt(20) As GetIconImageDelegate
+            Dim ar(20) As IAsyncResult
+            Dim arIdx As Integer = -1
+
+            For Each strPost As String In posts
+                intCnt += 1
+
+                If intCnt = 1 Then
+                    Continue For
+                Else
+
+                    Dim post As New PostClass
+
+                    Try
+                        'Get ID
+                        pos1 = 0
+                        pos2 = strPost.IndexOf(_statusIdTo, 0, StringComparison.Ordinal)
+                        post.Id = Long.Parse(HttpUtility.HtmlDecode(strPost.Substring(0, pos2)))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-ID:" + strPost)
+                        Return "GetTimeline -> Err: Can't get ID."
+                    End Try
+                    'Get Name
+                    Try
+                        pos1 = strPost.IndexOf(_parseName, pos2, StringComparison.Ordinal)
+                        pos2 = strPost.IndexOf(_parseNameTo, pos1, StringComparison.Ordinal)
+                        post.Name = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseName.Length, pos2 - pos1 - _parseName.Length))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Name:" + strPost)
+                        Return "GetTimeline -> Err: Can't get Name."
+                    End Try
+                    'Get Nick
+                    '''バレンタイン対応
+                    If strPost.IndexOf("twitter.com/images/heart.png", pos2, StringComparison.Ordinal) > -1 Then
+                        post.Nickname = post.Name
+                    Else
+                        Try
+                            pos1 = strPost.IndexOf(_parseNick, pos2, StringComparison.Ordinal)
+                            pos2 = strPost.IndexOf(_parseNickTo, pos1 + _parseNick.Length, StringComparison.Ordinal)
+                            post.Nickname = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseNick.Length, pos2 - pos1 - _parseNick.Length))
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-Nick:" + strPost)
+                            Return "GetTimeline -> Err: Can't get Nick."
+                        End Try
+                    End If
+
+                    ''二重取得回避
+                    'SyncLock LockObj
+                    '    If TabInformations.GetInstance.ContainsKey(post.Id) Then Continue For
+                    'End SyncLock
+
+                    Dim orgData As String = ""
+                    'バレンタイン
+                    If strPost.IndexOf("<form action=""/status/update"" id=""heartForm", 0, StringComparison.Ordinal) > -1 Then
+                        Try
+                            pos1 = strPost.IndexOf("<strong>", 0, StringComparison.Ordinal)
+                            pos2 = strPost.IndexOf("</strong>", pos1, StringComparison.Ordinal)
+                            orgData = strPost.Substring(pos1 + 8, pos2 - pos1 - 8)
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-VBody:" + strPost)
+                            Return "GetTimeline -> Err: Can't get Valentine body."
+                        End Try
+                    End If
+
+
+                    'Get ImagePath
+                    Try
+                        pos1 = strPost.IndexOf(_parseImg, pos2, StringComparison.Ordinal)
+                        pos2 = strPost.IndexOf(_parseImgTo, pos1 + _parseImg.Length, StringComparison.Ordinal)
+                        post.ImageUrl = HttpUtility.HtmlDecode(strPost.Substring(pos1 + _parseImg.Length, pos2 - pos1 - _parseImg.Length))
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Img:" + strPost)
+                        Return "GetTimeline -> Err: Can't get ImagePath."
+                    End Try
+
+                    'Protect
+                    If strPost.IndexOf(_isProtect, pos2, StringComparison.Ordinal) > -1 Then
+                        post.IsProtect = True
+                    End If
+
+                    'Get Message
+                    pos1 = strPost.IndexOf(_parseMsg1, pos2, StringComparison.Ordinal)
+                    If pos1 < 0 Then
+                        'Valentine対応その2
+                        Try
+                            If strPost.IndexOf("<div id=""doyouheart", pos2, StringComparison.Ordinal) > -1 Then
+                                'バレンタイン
+                                orgData += " <3 you! Do you <3 "
+                                pos1 = strPost.IndexOf("<a href", pos2, StringComparison.Ordinal)
+                                pos2 = strPost.IndexOf("?", pos1, StringComparison.Ordinal)
+                                orgData += strPost.Substring(pos1, pos2 - pos1 + 1)
+                            Else
+                                pos1 = strPost.IndexOf(_parseProtectMsg1, pos2, StringComparison.Ordinal)
+                                If pos1 = -1 Then
+                                    'バレンタイン
+                                    orgData += " <3 's "
+                                    pos1 = strPost.IndexOf("<a href", pos2, StringComparison.Ordinal)
+                                    If pos1 > -1 Then
+                                        pos2 = strPost.IndexOf("!", pos1, StringComparison.Ordinal)
+                                        orgData += strPost.Substring(pos1, pos2 - pos1 + 1)
+                                    End If
+                                Else
+                                    'プロテクトメッセージ
+                                    pos2 = strPost.IndexOf(_parseProtectMsg2, pos1, StringComparison.Ordinal)
+                                    orgData = strPost.Substring(pos1 + _parseProtectMsg1.Length, pos2 - pos1 - _parseProtectMsg1.Length).Trim()
+                                End If
+                            End If
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-VBody2:" + strPost)
+                            Return "GetTimeline -> Err: Can't get Valentine body2."
+                        End Try
+                    Else
+                        '通常メッセージ
+                        Try
+                            pos2 = strPost.IndexOf(_parseMsg2, pos1, StringComparison.Ordinal)
+                            orgData = strPost.Substring(pos1 + _parseMsg1.Length, pos2 - pos1 - _parseMsg1.Length).Trim()
+                        Catch ex As Exception
+                            _signed = False
+                            TraceOut("TM-Body:" + strPost)
+                            Return "GetTimeline -> Err: Can't get body."
+                        End Try
+                        '#If 0 Then
+                        '                        '原文リンク削除
+                        '                        orgData = Regex.Replace(orgData, "<a href=""https://twitter\.com/" + post.Name + "/status/[0-9]+"">\.\.\.</a>$", "")
+                        '#End If
+                        'ハート変換
+                        orgData = orgData.Replace("&lt;3", "♡")
+                    End If
+
+                    'URL前処理(IDNデコードなど)
+                    orgData = PreProcessUrl(orgData)
+
+                    '短縮URL解決処理(orgData書き換え)
+                    orgData = ShortUrlResolve(orgData)
+
+                    '表示用にhtml整形
+                    post.OriginalData = AdjustHtml(orgData)
+
+                    '単純テキストの取り出し(リンクタグ除去)
+                    Try
+                        post.Data = GetPlainText(orgData)
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Link:" + strPost)
+                        Return "GetTimeline -> Err: Can't parse links."
+                    End Try
+
+                    ' Imageタグ除去(ハロウィン)
+                    Dim ImgTag As New Regex("<img src=.*?/>", RegexOptions.IgnoreCase)
+                    If ImgTag.IsMatch(post.Data) Then post.Data = ImgTag.Replace(post.Data, "<img>")
+
+                    'Get Date
+#If 1 Then
+                    Try
+                        pos1 = strPost.IndexOf(_parseDate, pos2, StringComparison.Ordinal)
+                        If pos1 > -1 Then
+                            pos2 = strPost.IndexOf(_parseDateTo, pos1 + _parseDate.Length, StringComparison.Ordinal)
+                            post.PDate = DateTime.ParseExact(strPost.Substring(pos1 + _parseDate.Length, pos2 - pos1 - _parseDate.Length), "ddd MMM dd HH':'mm':'ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, Globalization.DateTimeStyles.None)
+                        Else
+                            post.PDate = Now()
+                        End If
+                    Catch ex As Exception
+                        _signed = False
+                        TraceOut("TM-Date:" + strPost)
+                        Return "GetTimeline -> Err: Can't get date."
+                    End Try
+#Else
+                    '取得できなくなったため暫定対応(2/26)
+                    post.PDate = Now()
+#End If
+
+
+                    'from Sourceの取得
+                    'ToDo: _parseSourceFromを正規表現へ。wedataからの取得へ変更(次版より)
+                    Dim rg As New Regex("<span>.+>(?<name>.+)</a>.*</span> ")
+                    Dim m As Match = rg.Match(strPost)
+                    If m.Success Then
+                        post.Source = m.Result("${name}")
+                    Else
+                        post.Source = "Web"
+                    End If
+                    'Try
+                    '    pos1 = strPost.IndexOf(_parseSourceFrom, pos2, StringComparison.Ordinal)
+                    '    If pos1 = -1 Then pos1 = strPost.IndexOf(_parseSourceFrom2, pos2, StringComparison.Ordinal)
+                    '    If pos1 > -1 Then
+                    '        pos1 = strPost.IndexOf(_parseSource2, pos1 + 19, StringComparison.Ordinal)
+                    '        pos2 = strPost.IndexOf(_parseSourceTo, pos1 + 2, StringComparison.Ordinal)
+                    '        post.Source = HttpUtility.HtmlDecode(strPost.Substring(pos1 + 2, pos2 - pos1 - 2))
+                    '    Else
+                    '        post.Source = "Web"
+                    '    End If
+                    'Catch ex As Exception
+                    '    _signed = False
+                    '    TraceOut("TM-Src:" + strPost)
+                    '    Return "GetTimeline -> Err: Can't get src."
+                    'End Try
+
+                    'Get Reply(in_reply_to_user/id)
+                    'ToDo: _isReplyEngを正規表現へ。wedataからの取得へ変更(次版より)
+                    rg = New Regex("<a href=""https?:\/\/twitter\.com\/(?<name>[a-zA-Z0-9_]+)\/status\/(?<id>[0-9]+)"">(in reply to )*\k<name>")
+                    m = rg.Match(strPost)
+                    If m.Success Then
+                        post.InReplyToUser = m.Result("${name}")
+                        post.InReplyToId = Long.Parse(m.Result("${id}"))
+                        post.IsReply = post.InReplyToUser.Equals(_uid, StringComparison.OrdinalIgnoreCase)
+                    End If
+
+                    '@先リスト作成
+                    rg = New Regex("@<a [^>]*href=""\/(?<1>[a-zA-Z0-9_]+)[^a-zA-Z0-9_]")
+                    m = rg.Match(orgData)
+                    While m.Success
+                        post.ReplyToList.Add(m.Groups(1).Value.ToLower())
+                        m = m.NextMatch
+                    End While
+                    If Not post.IsReply Then post.IsReply = post.ReplyToList.Contains(_uid)
+
+                    'Get Fav
+                    post.IsFav = True
+
+                    If _endingFlag Then Return ""
+
+                    post.IsMe = post.Name.Equals(_uid, StringComparison.OrdinalIgnoreCase)
+                    SyncLock LockObj
+                        If follower.Count > 1 Then
+                            post.IsOwl = Not follower.Contains(post.Name.ToLower())
+                        Else
+                            post.IsOwl = False
+                        End If
+                    End SyncLock
+                    post.IsRead = read
+
+                    arIdx += 1
+                    dlgt(arIdx) = New GetIconImageDelegate(AddressOf GetIconImage)
+                    ar(arIdx) = dlgt(arIdx).BeginInvoke(post, Nothing, Nothing)
+
+                End If
+
+            Next
+
+            For i As Integer = 0 To arIdx
+                Try
+                    dlgt(i).EndInvoke(ar(i))
+                Catch ex As Exception
+                    '最後までendinvoke回す(ゾンビ化回避)
+                    ex.Data("IsTerminatePermission") = False
+                    Throw
+                End Try
+            Next
+
+            Return ""
+        Finally
+            GetTmSemaphore.Release()
+        End Try
+    End Function
+
+    Private Function PreProcessUrl(ByVal orgData As String) As String
+        Dim posl1 As Integer
+        Dim posl2 As Integer = 0
+        Dim IDNConveter As IdnMapping = New IdnMapping()
+        Dim href As String = "<a href="""
+
+        Do While True
+            If orgData.IndexOf(href, posl2, StringComparison.Ordinal) > -1 Then
+                Dim urlStr As String = ""
+                ' IDN展開
+                posl1 = orgData.IndexOf(href, posl2, StringComparison.Ordinal)
+                posl1 += href.Length
+                posl2 = orgData.IndexOf("""", posl1, StringComparison.Ordinal)
+                urlStr = orgData.Substring(posl1, posl2 - posl1)
+
+                If Not urlStr.StartsWith("http://") AndAlso Not urlStr.StartsWith("https://") AndAlso Not urlStr.StartsWith("ftp://") Then
+                    Continue Do
+                End If
+
+                Dim replacedUrl As String = IDNDecode(urlStr)
+                If replacedUrl Is Nothing Then Continue Do
+                If replacedUrl = urlStr Then Continue Do
+
+                orgData = orgData.Replace("<a href=""" + urlStr, "<a href=""" + replacedUrl)
+                posl2 = 0
+            Else
+                Exit Do
+            End If
+        Loop
+        Return orgData
+    End Function
+#If 0 Then
+    Private Function doShortUrlResolve(ByRef orgData As String) As Boolean
+        Dim replaced As Boolean = False
+        For Each _svc As String In _ShortUrlService
+            Dim svc As String = _svc
+            Dim posl1 As Integer
+            Dim posl2 As Integer = 0
+
+            Do While True
+                If orgData.IndexOf("<a href=""" + svc, posl2, StringComparison.Ordinal) > -1 Then
+                    Dim urlStr As String = ""
+                    Try
+                        posl1 = orgData.IndexOf("<a href=""" + svc, posl2, StringComparison.Ordinal)
+                        posl1 = orgData.IndexOf(svc, posl1, StringComparison.Ordinal)
+                        posl2 = orgData.IndexOf("""", posl1, StringComparison.Ordinal)
+                        urlStr = New Uri(urlEncodeMultibyteChar(orgData.Substring(posl1, posl2 - posl1))).GetLeftPart(UriPartial.Path)
+                        Dim Response As String = ""
+                        Dim retUrlStr As String = ""
+                        Dim tmpurlStr As String = urlStr
+                        Dim SchemeAndDomain As Regex = New Regex("http://.+?/+?")
+                        Dim tmpSchemeAndDomain As String = ""
+                        For i As Integer = 0 To 4   'とりあえず5回試す
+                            retUrlStr = urlEncodeMultibyteChar(DirectCast(CreateSocket.GetWebResponse(tmpurlStr, Response, MySocket.REQ_TYPE.ReqGETForwardTo), String))
+                            If retUrlStr.Length > 0 Then
+                                ' 転送先URLが返された (まだ転送されるかもしれないので返値を引数にしてもう一度)
+                                ' 取得試行回数オーバーの場合は取得結果を転送先とする
+                                Dim scd As Match = SchemeAndDomain.Match(retUrlStr)
+                                If scd.Success AndAlso scd.Value <> svc Then
+                                    svc = scd.Value()
+                                End If
+                                tmpurlStr = retUrlStr
+                                Continue For
+                            Else
+                                ' 転送先URLが返されなかった
+                                If tmpurlStr <> urlStr Then
+                                    '少なくとも一度以上転送されている (前回の結果を転送先とする)
+                                    retUrlStr = tmpurlStr
+                                Else
+                                    ' 一度も転送されていない
+                                    retUrlStr = ""
+                                End If
+                                Exit For
+                            End If
+                        Next
+                        If retUrlStr.Length > 0 Then
+                            If Not retUrlStr.StartsWith("http") Then
+                                If retUrlStr.StartsWith("/") Then
+                                    retUrlStr = urlEncodeMultibyteChar(svc + retUrlStr.Substring(1))
+                                ElseIf retUrlStr.StartsWith("data:") Then
+                                    '
+                                Else
+                                    retUrlStr = urlEncodeMultibyteChar(retUrlStr.Insert(0, svc))
+                                End If
+                            Else
+                                retUrlStr = urlEncodeMultibyteChar(retUrlStr)
+                            End If
+                            orgData = orgData.Replace("<a href=""" + urlStr, "<a href=""" + retUrlStr)
+                            posl2 = 0   '置換した場合は頭から再探索(複数同時置換での例外対応)
+                            replaced = True
+                        End If
+                    Catch ex As Exception
+                        '_signed = False
+                        'Return "GetTimeline -> Err: Can't get tinyurl."
+                    End Try
+                Else
+                    Exit Do
+                End If
+            Loop
+        Next
+        Return replaced
+    End Function
+#Else
+
+    Private Sub doShortUrlResolve(ByRef orgData As String)
+        'Dim replaced As Boolean = False
+        'Dim svc As String
+        'Dim posl1 As Integer
+        'Dim posl2 As Integer = 0
+        Static urlCache As New Specialized.StringDictionary()
+        If urlCache.Count > 500 Then urlCache.Clear() '定期的にリセット
+
+        Dim rx As New Regex("<a href=""(?<svc>http://.+?/)(?<path>[^""]+)""", RegexOptions.IgnoreCase)
+        Dim m As MatchCollection = rx.Matches(orgData)
+        Dim urlList As New List(Of String)
+        For Each orgUrlMatch As Match In m
+            Dim orgUrl As String = orgUrlMatch.Result("${svc}")
+            Dim orgUrlPath As String = orgUrlMatch.Result("${path}")
+            If Array.IndexOf(_ShortUrlService, orgUrl) > -1 AndAlso _
+               Not urlList.Contains(orgUrl + orgUrlPath) Then
+                urlList.Add(orgUrl + orgUrlPath)
+            End If
+        Next
+        For Each orgUrl As String In urlList
+            If urlCache.ContainsKey(orgUrl) Then
+                Try
+                    orgData = orgData.Replace("<a href=""" + orgUrl + """", "<a href=""" + urlCache(orgUrl) + """")
+                Catch ex As Exception
+                    'Through
+                End Try
+            Else
+                Try
+                    'urlとして生成できない場合があるらしい
+                    Dim urlstr As String = New Uri(urlEncodeMultibyteChar(orgUrl)).GetLeftPart(UriPartial.Path)
+                    Dim Response As String = ""
+                    Dim retUrlStr As String = ""
+                    Dim tmpurlStr As String = urlstr
+                    retUrlStr = urlEncodeMultibyteChar(DirectCast(CreateSocket.GetWebResponse(tmpurlStr, Response, MySocket.REQ_TYPE.ReqGETForwardTo, timeOut:=5000), String))
+                    If retUrlStr.StartsWith("http") Then
+                        retUrlStr = retUrlStr.Replace("""", "%22")  'ダブルコーテーションがあるとURL終端と判断されるため、これだけ再エンコード
+                        orgData = orgData.Replace("<a href=""" + orgUrl + """", "<a href=""" + retUrlStr + """")
+                        urlCache.Add(orgUrl, retUrlStr)
+                    End If
+                Catch ex As Exception
+                    'Through
+                End Try
+            End If
+        Next
+
+        'For Each ma As Match In m
+        '    svc = ma.Result("${svc}")
+        '    posl1 = ma.Index
+        '    If orgData.IndexOf("<a href=""" + svc, posl2, StringComparison.Ordinal) > -1 Then
+        '        Dim urlStr As String = ""
+        '        Try
+        '            posl1 = orgData.IndexOf("<a href=""" + svc, posl2, StringComparison.Ordinal)
+        '            posl1 = orgData.IndexOf(svc, posl1, StringComparison.Ordinal)
+        '            posl2 = orgData.IndexOf("""", posl1, StringComparison.Ordinal)
+        '            urlStr = New Uri(urlEncodeMultibyteChar(orgData.Substring(posl1, posl2 - posl1))).GetLeftPart(UriPartial.Path)
+        '            Dim Response As String = ""
+        '            Dim retUrlStr As String = ""
+        '            Dim tmpurlStr As String = urlStr
+        '            Dim SchemeAndDomain As Regex = New Regex("http://.+?/+?")
+        '            Dim tmpSchemeAndDomain As String = ""
+        '            For i As Integer = 0 To 4   'とりあえず5回試す
+        '                retUrlStr = urlEncodeMultibyteChar(DirectCast(CreateSocket.GetWebResponse(tmpurlStr, Response, MySocket.REQ_TYPE.ReqGETForwardTo, timeOut:=2000), String))
+        '                If retUrlStr.Length > 0 Then
+        '                    ' 転送先URLが返された (まだ転送されるかもしれないので返値を引数にしてもう一度)
+        '                    ' 取得試行回数オーバーの場合は取得結果を転送先とする
+        '                    Dim scd As Match = SchemeAndDomain.Match(retUrlStr)
+        '                    If scd.Success AndAlso scd.Value <> svc Then
+        '                        svc = scd.Value()
+        '                    End If
+        '                    tmpurlStr = retUrlStr
+        '                    Continue For
+        '                Else
+        '                    ' 転送先URLが返されなかった
+        '                    If tmpurlStr <> urlStr Then
+        '                        '少なくとも一度以上転送されている (前回の結果を転送先とする)
+        '                        retUrlStr = tmpurlStr
+        '                    Else
+        '                        ' 一度も転送されていない
+        '                        retUrlStr = ""
+        '                    End If
+        '                    Exit For
+        '                End If
+        '            Next
+        '            If retUrlStr.Length > 0 Then
+        '                If Not retUrlStr.StartsWith("http") Then
+        '                    If retUrlStr.StartsWith("/") Then
+        '                        retUrlStr = urlEncodeMultibyteChar(svc + retUrlStr.Substring(1))
+        '                    ElseIf retUrlStr.StartsWith("data:") Then
+        '                        '
+        '                    Else
+        '                        retUrlStr = urlEncodeMultibyteChar(retUrlStr.Insert(0, svc))
+        '                    End If
+        '                Else
+        '                    retUrlStr = urlEncodeMultibyteChar(retUrlStr)
+        '                End If
+        '                orgData = orgData.Replace("<a href=""" + urlStr, "<a href=""" + retUrlStr)
+        '                posl2 = 0   '置換した場合は頭から再探索(複数同時置換での例外対応)
+        '                replaced = True
+        '            End If
+        '        Catch ex As Exception
+        '            '_signed = False
+        '            'Return "GetTimeline -> Err: Can't get tinyurl."
+        '        End Try
+        '    Else
+        '        Exit For
+        '    End If
+        'Next
+        'Return replaced
+    End Sub
+#End If
+
+    Private Function ShortUrlResolve(ByVal orgData As String) As String
+        If _tinyUrlResolve Then
+#If DEBUG Then
+            Static Dim sw As New Stopwatch()
+            Static Dim c As Integer = 0
+            sw.Start()
+#End If
+            doShortUrlResolve(orgData)
+            'Do
+
+            'Loop While doShortUrlResolve(orgData)
+#If DEBUG Then
+            sw.Stop()
+            c += 1
+            Console.WriteLine("ShortUrlResolve: " + c.ToString() + " / " + sw.Elapsed.ToString)
+#End If
+        End If
+        Return orgData
+    End Function
+
+    Private Function GetPlainText(ByVal orgData As String) As String
+        Return HttpUtility.HtmlDecode(Regex.Replace(orgData, "(?<tagStart><a [^>]+>)(?<text>[^<]+)(?<tagEnd></a>)", "${text}"))
+        '不具合緊急対応で上記へ変更
+        ''単純テキストの取り出し(リンクタグ除去)
+        'If orgData.IndexOf(_parseLink1, StringComparison.Ordinal) = -1 Then
+        '    retStr = HttpUtility.HtmlDecode(orgData)
+        'Else
+        '    Dim posl1 As Integer
+        '    Dim posl2 As Integer
+        '    Dim posl3 As Integer = 0
+
+        '    retStr = ""
+
+        '    posl3 = 0
+        '    Do While True
+        '        posl1 = orgData.IndexOf(_parseLink1, posl3, StringComparison.Ordinal)
+        '        If posl1 = -1 Then Exit Do
+
+        '        If (posl3 + _parseLink3.Length <> posl1) Or posl3 = 0 Then
+        '            If posl3 <> 0 Then
+        '                retStr += HttpUtility.HtmlDecode(orgData.Substring(posl3 + _parseLink3.Length, posl1 - posl3 - _parseLink3.Length))
+        '            Else
+        '                retStr += HttpUtility.HtmlDecode(orgData.Substring(0, posl1))
+        '            End If
+        '        End If
+        '        posl2 = orgData.IndexOf(_parseLink2, posl1, StringComparison.Ordinal)
+        '        posl3 = orgData.IndexOf(_parseLink3, posl2, StringComparison.Ordinal)
+        '        retStr += HttpUtility.HtmlDecode(orgData.Substring(posl2 + _parseLink2.Length, posl3 - posl2 - _parseLink2.Length))
+        '    Loop
+        '    retStr += HttpUtility.HtmlDecode(orgData.Substring(posl3 + _parseLink3.Length))
+        'End If
+
+        'Return retStr
+    End Function
+
+    ' htmlの簡易サニタイズ(詳細表示に不要なタグの除去)
+
+    Private Function SanitizeHtml(ByVal orgdata As String) As String
+        Dim retdata As String = orgdata
+
+        '  <script ~ </script>
+        Dim rx As Regex = New Regex( _
+            "<(script|object|applet|image|frameset|fieldset|legend|style).*" & _
+            "</(script|object|applet|image|frameset|fieldset|legend|style)>", RegexOptions.IgnoreCase)
+        retdata = rx.Replace(retdata, "")
+
+        ' <frame src="...">
+        rx = New Regex("<(frame|link|iframe|img)>", RegexOptions.IgnoreCase)
+        retdata = rx.Replace(retdata, "")
+
+        Return retdata
+    End Function
+
+    Private Function AdjustHtml(ByVal orgData As String) As String
+        Dim retStr As String = orgData
+        retStr = Regex.Replace(retStr, "<a [^>]*href=""/", "<a href=""" + _protocol + "twitter.com/")
+        retStr = retStr.Replace("<a href=", "<a target=""_self"" href=")
+        retStr = retStr.Replace(vbLf, "<br>")
+
+        Return SanitizeHtml(retStr)
+    End Function
+
+    Private Sub GetIconImage(ByVal post As PostClass)
+        Dim img As Image
+        Dim bmp2 As Bitmap
+
+        Try
+            If Not _getIcon Then
+                post.ImageIndex = -1
+                TabInformations.GetInstance.AddPost(post)
+                Exit Sub
+            End If
+
+            SyncLock LockObj
+                post.ImageIndex = _lIcon.Images.IndexOfKey(post.ImageUrl)
+            End SyncLock
+
+            If post.ImageIndex > -1 Then
+                TabInformations.GetInstance.AddPost(post)
+                Exit Sub
+            End If
+
+            Dim resStatus As String = ""
+            img = DirectCast(CreateSocket.GetWebResponse(post.ImageUrl, resStatus, MySocket.REQ_TYPE.ReqGETBinary), System.Drawing.Image)
+            If img Is Nothing Then
+                post.ImageIndex = -1
+                TabInformations.GetInstance.AddPost(post)
+                Exit Sub
+            End If
+
+            If _endingFlag Then Exit Sub
+
+            bmp2 = New Bitmap(_iconSz, _iconSz)
+            Using g As Graphics = Graphics.FromImage(bmp2)
+                g.InterpolationMode = Drawing2D.InterpolationMode.High
+                g.DrawImage(img, 0, 0, _iconSz, _iconSz)
+            End Using
+
+            SyncLock LockObj
+                post.ImageIndex = _lIcon.Images.IndexOfKey(post.ImageUrl)
+                If post.ImageIndex = -1 Then
+                    _dIcon.Add(post.ImageUrl, img)  '詳細表示用ディクショナリに追加
+                    _lIcon.Images.Add(post.ImageUrl, bmp2)
+                    post.ImageIndex = _lIcon.Images.IndexOfKey(post.ImageUrl)
+                End If
+            End SyncLock
+            TabInformations.GetInstance.AddPost(post)
+        Catch ex As ArgumentException
+            'タイミングによってはキー重複
+        Finally
+            img = Nothing
+            bmp2 = Nothing
+            post = Nothing
+        End Try
+    End Sub
+
+    Private Function GetAuthKey(ByVal resMsg As String) As Integer
+        Dim pos1 As Integer
+        Dim pos2 As Integer
+
+        pos1 = resMsg.IndexOf(_getAuthKey, StringComparison.Ordinal)
+        If pos1 < 0 Then
+            'データ不正?
+            Return -7
+        End If
+        pos2 = resMsg.IndexOf(_getAuthKeyTo, pos1 + _getAuthKey.Length, StringComparison.Ordinal)
+        If pos2 > -1 Then
+            _authKey = resMsg.Substring(pos1 + _getAuthKey.Length, pos2 - pos1 - _getAuthKey.Length)
+        Else
+            Return -7
+        End If
+
+        Return 0
+    End Function
+
+    Private Function GetAuthKeyDM(ByVal resMsg As String) As Integer
+        Dim pos1 As Integer
+        Dim pos2 As Integer
+
+        pos1 = resMsg.IndexOf(_getAuthKey, StringComparison.Ordinal)
+        If pos1 < 0 Then
+            'データ不正?
+            Return -7
+        End If
+        pos2 = resMsg.IndexOf("""", pos1 + _getAuthKey.Length, StringComparison.Ordinal)
+        _authKeyDM = resMsg.Substring(pos1 + _getAuthKey.Length, pos2 - pos1 - _getAuthKey.Length)
+
+        Return 0
+    End Function
+
+    Private Structure PostInfo
+        Public CreatedAt As String
+        Public Id As String
+        Public Text As String
+        Public UserId As String
+        Public Sub New(ByVal Created As String, ByVal IdStr As String, ByVal txt As String, ByVal uid As String)
+            CreatedAt = Created
+            Id = IdStr
+            Text = txt
+            UserId = uid
+        End Sub
+        Public Shadows Function Equals(ByVal dst As PostInfo) As Boolean
+            If Me.CreatedAt = dst.CreatedAt AndAlso Me.Id = dst.Id AndAlso Me.Text = dst.Text AndAlso Me.UserId = dst.UserId Then
+                Return True
+            Else
+                Return False
+            End If
+        End Function
+    End Structure
+
+    Private Function IsPostRestricted(ByRef resMsg As String) As Boolean
+        Static _prev As New PostInfo("", "", "", "")
+        Dim _current As New PostInfo("", "", "", "")
+
+
+        Dim xd As XmlDocument = New XmlDocument()
+        Try
+            xd.LoadXml(resMsg)
+            _current.CreatedAt = xd.SelectSingleNode("/status/created_at/text()").Value
+            _current.Id = xd.SelectSingleNode("/status/id/text()").Value
+            _current.Text = xd.SelectSingleNode("/status/text/text()").Value
+            _current.UserId = xd.SelectSingleNode("/status/user/id/text()").Value
+
+            If _current.Equals(_prev) Then
+                Return True
+            End If
+            _prev.CreatedAt = _current.CreatedAt
+            _prev.Id = _current.Id
+            _prev.Text = _current.Text
+            _prev.UserId = _current.UserId
+        Catch ex As XmlException
+            Return False
+        End Try
+
+        Return False
+    End Function
+
+    Public Function PostStatus(ByVal postStr As String, ByVal reply_to As Long) As String
+
+        If _endingFlag Then Return ""
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        postStr = postStr.Trim()
+
+        'データ部分の生成
+        Dim dataStr As String
+        If reply_to = 0 Then
+            dataStr = _statusHeader + HttpUtility.UrlEncode(postStr) + "&source=Tween"
+        Else
+            dataStr = _statusHeader + HttpUtility.UrlEncode(postStr) + "&source=Tween" + "&in_reply_to_status_id=" + HttpUtility.UrlEncode(reply_to.ToString)
+        End If
+
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _statusUpdatePathAPI, resStatus, MySocket.REQ_TYPE.ReqPOSTAPI, dataStr), String)
+
+        If resStatus.StartsWith("OK") Then
+            Dim xd As XmlDocument = New XmlDocument()
+            Try
+                xd.LoadXml(resMsg)
+                Dim xNode As XmlNode = Nothing
+                xNode = xd.SelectSingleNode("/status/user/followers_count/text()")
+                If xNode IsNot Nothing Then _followersCount = Integer.Parse(xNode.Value)
+                xNode = xd.SelectSingleNode("/status/user/friends_count/text()")
+                If xNode IsNot Nothing Then _friendsCount = Integer.Parse(xNode.Value)
+                xNode = xd.SelectSingleNode("/status/user/statuses_count/text()")
+                If xNode IsNot Nothing Then _statusesCount = Integer.Parse(xNode.Value)
+                xNode = xd.SelectSingleNode("/status/user/location/text()")
+                If xNode IsNot Nothing Then _location = xNode.Value
+                xNode = xd.SelectSingleNode("/status/user/description/text()")
+                If xNode IsNot Nothing Then _bio = xNode.Value
+            Catch ex As Exception
+            End Try
+
+            If Not postStr.StartsWith("D ", StringComparison.OrdinalIgnoreCase) AndAlso _
+                    Not postStr.StartsWith("DM ", StringComparison.OrdinalIgnoreCase) AndAlso _
+                    IsPostRestricted(resMsg) Then
+                Return "OK:Delaying?"
+            End If
+            resStatus = Outputz.Post(CreateSocket, postStr.Length)
+            If resStatus.Length > 0 Then
+                Return "Outputz:" + resStatus
+            Else
+                Return ""
+            End If
+        ElseIf resStatus.StartsWith("Err: Forbidden") Then
+            Return "Err:Forbidden(Update Limits?)"
+        Else
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+    End Function
+
+    Public Function RemoveStatus(ByVal id As Long) As String
+        If _endingFlag Then Return ""
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        'データ部分の生成
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _StDestroyPath + id.ToString + ".xml", resStatus, MySocket.REQ_TYPE.ReqPOSTAPI), String)
+
+        If resMsg.StartsWith("<?xml") = False OrElse resStatus.StartsWith("OK") = False Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Return ""
+    End Function
+
+    Public Function RemoveDirectMessage(ByVal id As Long) As String
+        If _endingFlag Then Return ""
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        'データ部分の生成
+        Dim dataStr As String = _authKeyHeader + HttpUtility.UrlEncode(_authKey)
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _DMDestroyPath + id.ToString + ".xml", resStatus, MySocket.REQ_TYPE.ReqPOSTAPI), String)
+
+        If resMsg.StartsWith("<?xml") = False OrElse resStatus.StartsWith("OK") = False Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Return ""
+    End Function
+
+    Public Function PostFollowCommand(ByVal id As String) As String
+
+        If _endingFlag Then Return ""
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        Const PATH_FOLLOW As String = "/friendships/create.xml?screen_name="
+
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + PATH_FOLLOW + id, resStatus, MySocket.REQ_TYPE.ReqPOSTAPI), String)
+
+        If Not resStatus.StartsWith("OK") Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Return ""
+    End Function
+
+    Public Function PostRemoveCommand(ByVal id As String) As String
+
+        If _endingFlag Then Return ""
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        Const PATH_REMOVE As String = "/friendships/destroy.xml?screen_name="
+
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + PATH_REMOVE + id, resStatus, MySocket.REQ_TYPE.ReqPOSTAPI), String)
+
+        If Not resStatus.StartsWith("OK") Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Return ""
+    End Function
+
+    Public Function GetFriendshipInfo(ByVal id As String) As String
+
+        If _endingFlag Then Return ""
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        Const PATH_FRIENDSHIP As String = "/friendships/show.xml?source_screen_name="
+        Const QUERY_TARGET As String = "&target_screen_name="
+
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + PATH_FRIENDSHIP + _uid + QUERY_TARGET + id, resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+
+        If Not resStatus.StartsWith("OK") Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        Else
+            Dim xdoc As New XmlDocument
+            Dim result As String = ""
+            Try
+                xdoc.LoadXml(resMsg)
+                Dim isFollowing As Boolean = Boolean.Parse(xdoc.SelectSingleNode("/relationship/source/following").InnerText)
+                Dim isFollowed As Boolean = Boolean.Parse(xdoc.SelectSingleNode("/relationship/source/followed_by").InnerText)
+                If isFollowing Then
+                    result = "Following " + id + "." + System.Environment.NewLine
+                Else
+                    result = "NOT follwing them." + System.Environment.NewLine
+                End If
+                If isFollowed Then
+                    result += "Followed by " + id + "."
+                Else
+                    result += "NOT followed by " + id + "."
+                End If
+                result = "Ok. The results are below..." + System.Environment.NewLine + result
+            Catch ex As Exception
+                result = "Err: Invalid XML."
+            End Try
+            Return result
+        End If
+    End Function
+
+    ' Contributed by shuyoko <http://twitter.com/shuyoko> BEGIN:
+    Public Function GetBlackFavId(ByVal id As Long, ByRef blackid As Long) As String
+        Dim dataStr As String = _authKeyHeader + HttpUtility.UrlEncode(_authKey)
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse("http://blavotter.hocha.org/blackfav/getblack.php?format=simple&id=" + id.ToString(), resStatus, MySocket.REQ_TYPE.ReqGET), String)
+
+        If resStatus.StartsWith("OK") = False Then
+            Return resStatus
+        End If
+
+        blackid = Long.Parse(resMsg)
+
+        Return ""
+
+    End Function
+    ' Contributed by shuyoko <http://twitter.com/shuyoko> END.
+
+    Public Function PostFavAdd(ByVal id As Long) As String
+        If _endingFlag Then Return ""
+
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        'データ部分の生成
+        'Dim dataStr As String = _authKeyHeader + HttpUtility.UrlEncode(_authKey)
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _postFavAddPath + id.ToString() + ".xml", resStatus, MySocket.REQ_TYPE.ReqPOSTAPI), String)
+
+        If resStatus.StartsWith("OK") = False Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        If _restrictFavCheck = False Then Return ""
+
+        'http://twitter.com/statuses/show/id.xml APIを発行して本文を取得
+
+        resMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _ShowStatus + id.ToString() + ".xml", resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+
+        Try
+            Using rd As Xml.XmlTextReader = New Xml.XmlTextReader(New System.IO.StringReader(resMsg))
+                rd.Read()
+                While rd.EOF = False
+                    If rd.IsStartElement("favorited") Then
+                        If rd.ReadElementContentAsBoolean() = True Then
+                            Return ""  '正常にふぁぼれている
+                        Else
+                            Return "NG(Restricted?)"  '正常応答なのにふぁぼれてないので制限っぽい
+                        End If
+                    Else
+                        rd.Read()
+                    End If
+                End While
+                rd.Close()
+            End Using
+        Catch ex As XmlException
+            '
+        End Try
+
+        Return ""
+    End Function
+
+    Public Function PostFavRemove(ByVal id As Long) As String
+        If _endingFlag Then Return ""
+
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        'データ部分の生成
+        'Dim dataStr As String = _authKeyHeader + HttpUtility.UrlEncode(_authKey)
+        Dim resStatus As String = ""
+        Dim resMsg As String = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _postFavRemovePath + id.ToString() + ".xml", resStatus, MySocket.REQ_TYPE.ReqPOSTAPI), String)
+
+        If resStatus.StartsWith("OK") = False Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Return ""
+    End Function
+
+#Region "follower取得"
+    Delegate Function GetFollowersDelegate(ByVal Query As Integer) As String
+    'Private semaphore As Threading.Semaphore = Nothing
+    Private threadNum As Integer = 0
+    Private _threadErr As Boolean = False
+
+    Private Function GetFollowersMethod() As String
+        Dim resStatus As String = ""
+        Dim resMsg As String = ""
+        Dim lineCount As Integer = 0
+        Dim page As Long = -1
+
+        Do
+            If _endingFlag Then Exit Do
+            resMsg = DirectCast(CreateSocket.GetWebResponse("https://" + _hubServer + _GetFollowers + _cursorQry + page.ToString, resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+            If resStatus.StartsWith("OK") = False Then
+                _threadErr = True
+                Return resStatus
+            End If
+            Try
+                Using rd As Xml.XmlTextReader = New Xml.XmlTextReader(New System.IO.StringReader(resMsg))
+                    lineCount = 0
+                    rd.Read()
+                    While rd.EOF = False
+                        If rd.IsStartElement("screen_name") Then
+                            Dim tmp As String = rd.ReadElementString("screen_name").ToLower()
+                            SyncLock LockObj
+                                If Not tmpFollower.Contains(tmp) Then
+                                    tmpFollower.Add(tmp)
+                                End If
+                            End SyncLock
+                            lineCount += 1
+                        ElseIf rd.IsStartElement("next_cursor") Then
+                            page = Long.Parse(rd.ReadElementString("next_cursor"))
+                            If page = 0 Then Exit Do
+                            Exit While
+                        Else
+                            rd.Read()
+                        End If
+                    End While
+                End Using
+            Catch ex As Exception
+                _threadErr = True
+                TraceOut("NG(XmlException)")
+                Return "NG(XmlException)"
+            End Try
+        Loop While lineCount > 0
+
+        Return ""
+    End Function
+
+    Private Sub GetFollowersCallback(ByVal ar As IAsyncResult)
+        Dim dlgt As GetFollowersDelegate = DirectCast(ar.AsyncState, GetFollowersDelegate)
+
+        Try
+            Dim ret As String = dlgt.EndInvoke(ar)
+            If Not ret.Equals("") AndAlso Not _threadErr Then
+                TraceOut(ret)
+                _threadErr = True
+            End If
+        Catch ex As Exception
+            _threadErr = True
+            ex.Data("IsTerminatePermission") = False
+            Throw
+        Finally
+            GetTmSemaphore.Release()                     ' セマフォから出る
+            Interlocked.Decrement(threadNum)        ' スレッド数カウンタを-1
+        End Try
+
+    End Sub
+
+    ' キャッシュの検証と読み込み -1を渡した場合は読み込みのみ行う(APIエラーでFollowersCountが取得できなかったとき)
+    Private Function ValidateCache(ByVal _FollowersCount As Integer) As Integer
+
+        Try
+            Dim setting As SettingFollower = SettingFollower.Load()
+            tmpFollower = setting.Follower
+            If tmpFollower.Count = 0 OrElse Not tmpFollower(0).Equals(_uid.ToLower()) Then
+                ' 別IDの場合はキャッシュ破棄して読み直し
+                tmpFollower.Clear()
+                tmpFollower.Add(_uid.ToLower())
+                Return _FollowersCount
+            End If
+        Catch ex As XmlException
+            ' 不正なxmlの場合は読み直し
+            tmpFollower.Clear()
+            tmpFollower.Add(_uid.ToLower())
+            Return _FollowersCount
+        Catch ex As InvalidOperationException
+            'XMLが壊れている場合
+            tmpFollower.Clear()
+            tmpFollower.Add(_uid.ToLower())
+            Return _FollowersCount
+        End Try
+
+        If _FollowersCount = -1 Then Return tmpFollower.Count
+
+        If (_FollowersCount + 1) = tmpFollower.Count Then
+            '変動がないので読み込みの必要なし
+            Return 0
+        ElseIf (_FollowersCount + 1) < tmpFollower.Count Then
+            '減っている場合はどこが抜けているのかわからないので全部破棄して読み直し
+            tmpFollower.Clear()
+            tmpFollower.Add(_uid.ToLower())
+            Return _FollowersCount
+        End If
+
+        ' 増えた場合は差分だけ読む
+
+        Return _FollowersCount - tmpFollower.Count
+
+    End Function
+
+    Private Sub UpdateCache()
+        Dim setting As New SettingFollower(follower)
+        setting.Save()
+    End Sub
+
+    Public Function GetFollowers(ByVal CacheInvalidate As Boolean) As String
+#If DEBUG Then
+        Dim sw As New System.Diagnostics.Stopwatch
+        sw.Start()
+#End If
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        'Dim resStatus As String = ""
+        'Dim resMsg As String = ""
+        'Dim i As Integer = 0
+        'Dim DelegateInstance As GetFollowersDelegate = New GetFollowersDelegate(AddressOf GetFollowersMethod)
+        'Dim threadMax As Integer = 4            ' 最大スレッド数
+        'Dim followersCount As Integer = 0
+
+        'Interlocked.Exchange(threadNum, 0)      ' スレッド数カウンタ初期化
+        _threadErr = False
+        follower.Clear()
+        tmpFollower.Clear()
+        follower.Add(_uid.ToLower())
+        tmpFollower.Add(_uid.ToLower())
+
+        'resMsg = DirectCast(CreateSocket.GetWebResponse("https://twitter.com/users/show/" + _uid + ".xml", resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+        'If resMsg = "" Then
+        '    If resStatus.StartsWith("Err: BadRequest") Then
+        '        Return "Maybe, the requests reached API limit."
+        '    ElseIf resStatus.StartsWith("Err: Unauthorized") Then
+        '        Twitter.AccountState = ACCOUNT_STATE.Invalid
+        '        Return "Check your Username/Password."
+        '    Else
+        '        Return resStatus
+        '    End If
+        'End If
+
+        'Dim xd As XmlDocument = New XmlDocument()
+        'Try
+        '    xd.LoadXml(resMsg)
+        '    followersCount = Integer.Parse(xd.SelectSingleNode("/user/followers_count/text()").Value)
+        'Catch ex As Exception
+        '    'If CacheInvalidate OrElse ValidateCache(-1) < 0 Then
+        '    If ValidateCache(-1) < 0 Then
+        '        ' FollowersカウントがAPIで取得できず、なおかつキャッシュから読めなかった
+        '        SyncLock LockObj
+        '            follower.Clear()
+        '            follower.Add(_uid.ToLower())
+        '        End SyncLock
+        '        Return "Can't get followers_count and invalid cache."
+        '    Else
+        '        'キャッシュを読み出せたのでキャッシュを使う
+        '        SyncLock LockObj
+        '            follower = tmpFollower
+        '        End SyncLock
+        '        Return ""
+        '    End If
+        'End Try
+
+        'Dim tmp As Integer
+
+        ''If CacheInvalidate Then
+        'tmp = followersCount
+        ''Else
+        ''tmp = ValidateCache(followersCount)
+        ''End If
+
+
+        'If tmp <> 0 Then
+        '    i = (tmp + 100) \ 100  ' Followersカウント取得しページ単位に切り上げる。1ページ余分に読む
+        'Else
+        '    '            ' キャッシュの件数に変化がなかった
+        '    '#If DEBUG Then
+        '    '            sw.Stop()
+        '    '            Console.WriteLine(sw.ElapsedMilliseconds)
+        '    '#End If
+        '    '            SyncLock LockObj
+        '    '                follower = tmpFollower
+        '    '            End SyncLock
+        '    'Return ""
+        '    Return ""   'ユーザー情報のフォロワー数が0
+        'End If
+
+
+        ''semaphore = New System.Threading.Semaphore(threadMax, threadMax) 'スレッド最大数
+
+        'For cnt As Integer = 0 To i
+        '    If _endingFlag Then Exit For
+        '    'semaphore.WaitOne()                     'セマフォ取得 threadMax以上ならここでブロックされる
+        '    GetTmSemaphore.WaitOne()
+        '    'Interlocked.Increment(threadNum)        'スレッド数カウンタを+1
+        '    'DelegateInstance.BeginInvoke(cnt + 1, New System.AsyncCallback(AddressOf GetFollowersCallback), DelegateInstance)
+        '    Dim ret As String = GetFollowersMethod(cnt + 1)
+        '    'Interlocked.Decrement(threadNum)        'スレッド数カウンタを-1
+        '    GetTmSemaphore.Release()
+        '    If _threadErr Then Exit For
+        'Next
+
+        '''全てのスレッドの終了を待つ(スレッド数カウンタが0になるまで待機)
+        ''Do
+        ''    Thread.Sleep(50)
+        ''Loop Until Interlocked.Add(threadNum, 0) = 0
+
+        ''semaphore.Close()
+
+        Dim ret As String = GetFollowersMethod()
+        If _endingFlag Then Return ""
+
+        If _threadErr Then
+            If ValidateCache(-1) > 0 Then
+                SyncLock LockObj
+                    follower = tmpFollower
+                End SyncLock
+                Return "Can't get followers. Use cache."
+            Else
+                ' エラーが発生しているならFollowersリストクリア
+                SyncLock LockObj
+                    follower.Clear()
+                    follower.Add(_uid.ToLower())
+                End SyncLock
+                Return "Can't get followers."
+            End If
+        End If
+
+        SyncLock LockObj
+            follower = tmpFollower
+        End SyncLock
+        If Not _endingFlag AndAlso follower.Count > 1 Then UpdateCache()
+
+#If DEBUG Then
+        sw.Stop()
+        'Console.WriteLine(sw.ElapsedMilliseconds)
+#End If
+
+        Return ""
+    End Function
+
+#End Region
+
+    Public Sub RefreshOwl()
+        If follower.Count > 1 Then TabInformations.GetInstance.RefreshOwl(follower)
+    End Sub
+
+    Public Property Username() As String
+        Get
+            Return _uid
+        End Get
+        Set(ByVal value As String)
+            _uid = value.ToLower
+            _signed = False
+        End Set
+    End Property
+
+    Public Property Password() As String
+        Get
+            Return _pwd
+        End Get
+        Set(ByVal value As String)
+            _pwd = value
+            _signed = False
+        End Set
+    End Property
+
+    Private _accountState As ACCOUNT_STATE = ACCOUNT_STATE.Valid
+    Public Property AccountState() As ACCOUNT_STATE
+        Get
+            Return _accountState
+        End Get
+        Set(ByVal value As ACCOUNT_STATE)
+            _accountState = value
+        End Set
+    End Property
+
+    Public Property NextThreshold() As Integer
+        Get
+            Return _nextThreshold
+        End Get
+        Set(ByVal value As Integer)
+            _nextThreshold = value
+        End Set
+    End Property
+
+    Public Property NextPages() As Integer
+        Get
+            Return _nextPages
+        End Get
+        Set(ByVal value As Integer)
+            _nextPages = value
+        End Set
+    End Property
+
+    Public ReadOnly Property InfoTwitter() As String
+        Get
+            Return _infoTwitter
+        End Get
+    End Property
+
+    Public Property UseAPI() As Boolean
+        Get
+            Return _useAPI
+        End Get
+        Set(ByVal value As Boolean)
+            _useAPI = value
+        End Set
+    End Property
+
+    Public Property HubServer() As String
+        Get
+            Return _hubServer
+        End Get
+        Set(ByVal value As String)
+            _hubServer = value
+        End Set
+    End Property
+
+    Public Sub GetWedata()
+        Dim resStatus As String = ""
+        Dim resMsg As String = ""
+
+        resMsg = DirectCast(CreateSocket.GetWebResponse(wedataUrl, resStatus, timeOut:=10 * 1000), String) 'タイムアウト時間を10秒に設定
+        If resMsg.Length = 0 Then Exit Sub
+
+        Dim rs As New System.IO.StringReader(resMsg)
+
+        Dim mode As Integer = 0 '0:search name 1:search data 2:read data
+        Dim name As String = ""
+
+        'ストリームの末端まで繰り返す
+        Dim ln As String
+        While rs.Peek() > -1
+            ln = rs.ReadLine
+
+            Select Case mode
+                Case 0
+                    If ln.StartsWith("    ""name"": ") Then
+                        name = ln.Substring(13, ln.Length - 2 - 13)
+                        mode += 1
+                    End If
+                Case 1
+                    If ln = "    ""data"": {" Then
+                        mode += 1
+                    End If
+                Case 2
+                    If ln = "    }," Then
+                        mode = 0
+                    Else
+                        If ln.EndsWith(",") Then ln = ln.Substring(0, ln.Length - 1)
+                        Select Case name
+                            Case "SplitPostReply"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _splitPost = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                            Case "SplitPostRecent"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _splitPostRecent = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                            Case "StatusID"
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _statusIdTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "IsProtect"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _isProtect = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                            Case "IsReply"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _isReplyEng = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagfrom2"": """) Then
+                                    _isReplyJpn = ln.Substring(19, ln.Length - 1 - 19).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _isReplyTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetStar"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseStar = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagfrom2"": """) Then
+                                    _parseStarEmpty = ln.Substring(19, ln.Length - 1 - 19).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseStarTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "Follower"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _followerList = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagfrom2"": """) Then
+                                    _followerMbr1 = ln.Substring(19, ln.Length - 1 - 19).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagfrom3"": """) Then
+                                    _followerMbr2 = ln.Substring(19, ln.Length - 1 - 19).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _followerMbr3 = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "SplitDM"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _splitDM = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                            Case "GetMsgDM"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseDM1 = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagfrom2"": """) Then
+                                    _parseDM11 = ln.Substring(19, ln.Length - 1 - 19).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseDM2 = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetDate"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseDate = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseDateTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetMsg"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseMsg1 = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseMsg2 = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetImagePath"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseImg = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseImgTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetNick"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseNick = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseNickTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetName"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseName = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseNameTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                                'Case "GetSiv"
+                                '    If ln.StartsWith("      ""tagfrom"": """) Then
+                                '        _getSiv = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                '    End If
+                                '    If ln.StartsWith("      ""tagto"": """) Then
+                                '        _getSivTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                '    End If
+                            Case "AuthKey"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _getAuthKey = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _getAuthKeyTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "InfoTwitter"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _getInfoTwitter = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _getInfoTwitterTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetProtectMsg"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseProtectMsg1 = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseProtectMsg2 = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetDMCount"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseDMcountFrom = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseDMcountTo = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "GetSource"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _parseSourceFrom = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagfrom2"": """) Then
+                                    _parseSource2 = ln.Substring(19, ln.Length - 1 - 19).Replace("\", "")
+                                End If
+                                If ln.StartsWith("      ""tagto"": """) Then
+                                    _parseSource2 = ln.Substring(16, ln.Length - 1 - 16).Replace("\", "")
+                                End If
+                            Case "RemoveClass"
+                                If ln.StartsWith("      ""tagfrom"": """) Then
+                                    _removeClass = ln.Substring(18, ln.Length - 1 - 18).Replace("\", "")
+                                End If
+                        End Select
+                    End If
+            End Select
+        End While
+
+        rs.Close()
+
+#If DEBUG Then
+        GenerateAnalyzeKey()
+#End If
+    End Sub
+
+    Public WriteOnly Property GetIcon() As Boolean
+        Set(ByVal value As Boolean)
+            _getIcon = value
+        End Set
+    End Property
+
+    Public WriteOnly Property TinyUrlResolve() As Boolean
+        Set(ByVal value As Boolean)
+            _tinyUrlResolve = value
+        End Set
+    End Property
+
+    Public WriteOnly Property SelectedProxyType() As ProxyType
+        Set(ByVal value As ProxyType)
+            _proxyType = value
+        End Set
+    End Property
+
+    Public WriteOnly Property ProxyAddress() As String
+        Set(ByVal value As String)
+            _proxyAddress = value
+        End Set
+    End Property
+
+    Public WriteOnly Property ProxyPort() As Integer
+        Set(ByVal value As Integer)
+            _proxyPort = value
+        End Set
+    End Property
+
+    Public WriteOnly Property ProxyUser() As String
+        Set(ByVal value As String)
+            _proxyUser = value
+        End Set
+    End Property
+
+    Public WriteOnly Property ProxyPassword() As String
+        Set(ByVal value As String)
+            _proxyPassword = value
+        End Set
+    End Property
+
+    Public WriteOnly Property RestrictFavCheck() As Boolean
+        Set(ByVal value As Boolean)
+            _restrictFavCheck = value
+        End Set
+    End Property
+
+    Public WriteOnly Property IconSize() As Integer
+        Set(ByVal value As Integer)
+            _iconSz = value
+        End Set
+    End Property
+
+    Public Function MakeShortUrl(ByVal ConverterType As UrlConverter, ByVal SrcUrl As String) As String
+        Dim ret As String = ""
+        Dim resStatus As String = ""
+        Dim src As String = urlEncodeMultibyteChar(SrcUrl)
+
+        For Each svc As String In _ShortUrlService
+            If SrcUrl.StartsWith(svc) Then
+                Return "Can't convert"
+            End If
+        Next
+
+        SrcUrl = HttpUtility.UrlEncode(SrcUrl)
+        Select Case ConverterType
+            Case UrlConverter.TinyUrl       'tinyurl
+                If SrcUrl.StartsWith("http") Then
+                    If "http://tinyurl.com/xxxxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then
+                        ' 明らかに長くなると推測できる場合は圧縮しない
+                        ret = src
+                        Exit Select
+                    End If
+                    Try
+                        ret = DirectCast(CreateSocket.GetWebResponse("http://tinyurl.com/api-create.php?url=" + SrcUrl, resStatus, MySocket.REQ_TYPE.ReqPOSTEncode), String)
+                    Catch ex As Exception
+                        Return "Can't convert"
+                    End Try
+                End If
+                If Not ret.StartsWith("http://tinyurl.com/") Then
+                    Return "Can't convert"
+                End If
+            Case UrlConverter.Isgd
+                If SrcUrl.StartsWith("http") Then
+                    If "http://is.gd/xxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then
+                        ' 明らかに長くなると推測できる場合は圧縮しない
+                        ret = src
+                        Exit Select
+                    End If
+                    Try
+                        ret = DirectCast(CreateSocket.GetWebResponse("http://is.gd/api.php?longurl=" + SrcUrl, resStatus, MySocket.REQ_TYPE.ReqPOSTEncode), String)
+                    Catch ex As Exception
+                        Return "Can't convert"
+                    End Try
+                End If
+                If Not ret.StartsWith("http://is.gd/") Then
+                    Return "Can't convert"
+                End If
+            Case UrlConverter.Twurl
+                If SrcUrl.StartsWith("http") Then
+                    If "http://twurl.nl/xxxxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then
+                        ' 明らかに長くなると推測できる場合は圧縮しない
+                        ret = src
+                        Exit Select
+                    End If
+                    Try
+                        ret = DirectCast(CreateSocket.GetWebResponse("http://tweetburner.com/links", resStatus, MySocket.REQ_TYPE.ReqPOSTEncode, "link[url]=" + SrcUrl), String)
+                    Catch ex As Exception
+                        Return "Can't convert"
+                    End Try
+                End If
+                If Not ret.StartsWith("http://twurl.nl/") Then
+                    Return "Can't convert"
+                End If
+            Case UrlConverter.Unu
+                If SrcUrl.StartsWith("http") Then
+                    If "http://u.nu/xxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then
+                        ' 明らかに長くなると推測できる場合は圧縮しない
+                        ret = src
+                        Exit Select
+                    End If
+                    Try
+                        ret = DirectCast(CreateSocket.GetWebResponse("http://u.nu/unu-api-simple?url=" + SrcUrl, resStatus, MySocket.REQ_TYPE.ReqPOSTEncode), String)
+                    Catch ex As Exception
+                        Return "Can't convert"
+                    End Try
+                End If
+                If Not ret.StartsWith("http://u.nu") Then
+                    Return "Can't convert"
+                End If
+            Case UrlConverter.Bitly, UrlConverter.Jmp
+                Dim BitlyLogin As String = "tweenapi"
+                Dim BitlyApiKey As String = "R_c5ee0e30bdfff88723c4457cc331886b"
+                If _bitlyId <> "" Then
+                    BitlyLogin = _bitlyId
+                    BitlyApiKey = _bitlyKey
+                End If
+                Const BitlyApiVersion As String = "2.0.1"
+                If SrcUrl.StartsWith("http") Then
+                    If "http://bit.ly/xxxx".Length > src.Length AndAlso Not src.Contains("?") AndAlso Not src.Contains("#") Then
+                        ' 明らかに長くなると推測できる場合は圧縮しない
+                        ret = src
+                        Exit Select
+                    End If
+                    Try
+                        Dim req As String = "http://api.bit.ly/shorten?version=" + BitlyApiVersion + _
+                            "&login=" + BitlyLogin + _
+                            "&apiKey=" + BitlyApiKey + _
+                            "&longUrl=" + SrcUrl
+                        If BitlyLogin <> "tweenapi" Then req += "&history=1"
+                        ret = DirectCast(CreateSocket.GetWebResponse(req, resStatus, MySocket.REQ_TYPE.ReqPOSTEncode), String)
+                        Dim rx As Regex = New Regex("""shortUrl"": ""(?<ShortUrl>.*?)""")
+                        If rx.Match(ret).Success Then
+                            ret = rx.Match(ret).Groups("ShortUrl").Value
+                        End If
+                    Catch ex As Exception
+                        Return "Can't convert"
+                    End Try
+                End If
+                If Not ret.StartsWith("http://bit.ly") Then
+                    Return "Can't convert"
+                End If
+                If ConverterType = UrlConverter.Jmp Then ret = ret.Replace("bit.ly", "j.mp")
+        End Select
+        '変換結果から改行を除去
+        Dim ch As Char() = {ControlChars.Cr, ControlChars.Lf}
+        ret = ret.TrimEnd(ch)
+        If src.Length < ret.Length Then ret = src ' 圧縮の結果逆に長くなった場合は圧縮前のURLを返す
+        Return ret
+    End Function
+
+#Region "バージョンアップ"
+    Public Function GetVersionInfo() As String
+        Dim resStatus As String = ""
+        Dim ret As String = DirectCast(CreateSocket.GetWebResponse("http://tween.sourceforge.jp/version2.txt?" + Now.ToString("yyMMddHHmmss") + Environment.TickCount.ToString(), resStatus), String)
+        If ret.Length = 0 Then Throw New Exception("GetVersionInfo: " + resStatus)
+        Return ret
+    End Function
+
+    Public Function GetTweenBinary(ByVal strVer As String) As String
+        Dim resStatus As String = ""
+        Dim ret As String = ""
+        ret = DirectCast(CreateSocket.GetWebResponse("http://tween.sourceforge.jp/Tween" + strVer + ".gz?" + Now.ToString("yyMMddHHmmss") + Environment.TickCount.ToString(), resStatus, MySocket.REQ_TYPE.ReqGETFile), String)
+        If ret = "" OrElse resStatus.StartsWith("OK") Then
+            '取得OKなら、続いてresources.dllダウンロード
+            ret = GetTweenResourcesDll(strVer)
+            If ret = "" Then
+                Return GetTweenDll(strVer)
+            Else
+                Return ret
+            End If
+        Else
+            Return resStatus
+        End If
+    End Function
+
+    Public Function GetTweenUpBinary() As String
+        Dim resStatus As String = ""
+        Dim ret As String = DirectCast(CreateSocket.GetWebResponse("http://tween.sourceforge.jp/TweenUp.gz?" + Now.ToString("yyMMddHHmmss") + Environment.TickCount.ToString(), resStatus, MySocket.REQ_TYPE.ReqGETFileUp), String)
+        If ret = "" OrElse resStatus.StartsWith("OK") Then
+            Return ""
+        Else
+            Return resStatus
+        End If
+    End Function
+
+    Public Function GetTweenResourcesDll(ByVal strver As String) As String
+        Dim resStatus As String = ""
+        Dim ret As String = DirectCast(CreateSocket.GetWebResponse("http://tween.sourceforge.jp/TweenRes" + strver + ".gz?" + Now.ToString("yyMMddHHmmss") + Environment.TickCount.ToString(), resStatus, MySocket.REQ_TYPE.ReqGETFileRes), String)
+        If ret = "" OrElse resStatus.StartsWith("OK") Then
+            Return ""
+        Else
+            Return resStatus
+        End If
+    End Function
+
+    Public Function GetTweenDll(ByVal strVer As String) As String
+        Dim resStatus As String = ""
+        Dim ret As String = ""
+        ret = DirectCast(CreateSocket.GetWebResponse("http://tween.sourceforge.jp/TweenDll" + strVer + ".gz?" + Now.ToString("yyMMddHHmmss") + Environment.TickCount.ToString(), resStatus, MySocket.REQ_TYPE.ReqGETFileDll), String)
+        If ret = "" OrElse resStatus.StartsWith("OK") Then
+            Return ""
+        Else
+            Return resStatus
+        End If
+    End Function
+
+#End Region
+
+    Private Function CreateSocket() As MySocket
+        Return New MySocket("UTF-8", _uid, _pwd, _proxyType, _proxyAddress, _proxyPort, _proxyUser, _proxyPassword, _defaultTimeOut)
+    End Function
+
+    Public WriteOnly Property ListIcon() As ImageList
+        Set(ByVal value As ImageList)
+            _lIcon = value
+        End Set
+    End Property
+
+    Public WriteOnly Property DetailIcon() As Dictionary(Of String, Image)
+        Set(ByVal value As Dictionary(Of String, Image))
+            _dIcon = value
+        End Set
+    End Property
+
+    Public Property DefaultTimeOut() As Integer
+        Get
+            Return _defaultTimeOut
+        End Get
+        Set(ByVal value As Integer)
+            _defaultTimeOut = value
+        End Set
+    End Property
+
+    Public WriteOnly Property CountApi() As Integer
+        'API時の取得件数
+        Set(ByVal value As Integer)
+            _countApi = value
+        End Set
+    End Property
+
+    Public WriteOnly Property UsePostMethod() As Boolean
+        Set(ByVal value As Boolean)
+            _usePostMethod = False
+#If 0 Then
+            'POSTメソッドが弾かれるためGETに固定(2009/4/9)
+            If value Then
+                _ApiMethod = MySocket.REQ_TYPE.ReqPOSTAPI
+            Else
+                _ApiMethod = MySocket.REQ_TYPE.ReqGetAPI
+            End If
+#Else
+            _ApiMethod = MySocket.REQ_TYPE.ReqGetAPI
+#End If
+        End Set
+    End Property
+
+    Public Property ReadOwnPost() As Boolean
+        Get
+            Return _readOwnPost
+        End Get
+        Set(ByVal value As Boolean)
+            _readOwnPost = value
+        End Set
+    End Property
+
+    Public ReadOnly Property FollowersCount() As Integer
+        Get
+            Return _followersCount
+        End Get
+    End Property
+
+    Public ReadOnly Property FriendsCount() As Integer
+        Get
+            Return _friendsCount
+        End Get
+    End Property
+
+    Public ReadOnly Property StatusesCount() As Integer
+        Get
+            Return _statusesCount
+        End Get
+    End Property
+
+    Public ReadOnly Property Location() As String
+        Get
+            Return _location
+        End Get
+    End Property
+
+    Public ReadOnly Property Bio() As String
+        Get
+            Return _bio
+        End Get
+    End Property
+
+    Public WriteOnly Property UseSsl() As Boolean
+        Set(ByVal value As Boolean)
+            _useSsl = value
+            If _useSsl Then
+                _protocol = "https://"
+            Else
+                _protocol = "http://"
+            End If
+        End Set
+    End Property
+
+    Public WriteOnly Property BitlyId() As String
+        Set(ByVal value As String)
+            _bitlyId = value
+        End Set
+    End Property
+
+    Public WriteOnly Property BitlyKey() As String
+        Set(ByVal value As String)
+            _bitlyKey = value
+        End Set
+    End Property
+
+    Public Function GetTimelineApi(ByVal read As Boolean, _
+                            ByVal gType As WORKERTYPE) As String
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        If _endingFlag Then Return ""
+
+        Dim retMsg As String = ""
+        Dim resStatus As String = ""
+        Dim sck As MySocket = CreateSocket()
+        'スレッド取得は行わず、countで調整
+        Const COUNT_QUERY As String = "count="
+        Const FRIEND_PATH As String = "/statuses/home_timeline.xml"
+        Const REPLY_PATH As String = "/statuses/mentions.xml"
+
+        If gType = WORKERTYPE.Timeline Then
+            retMsg = DirectCast(sck.GetWebResponse(_protocol + _hubServer + FRIEND_PATH + "?" + COUNT_QUERY + _countApi.ToString(), resStatus, _ApiMethod), String)
+        Else
+            retMsg = DirectCast(sck.GetWebResponse(_protocol + _hubServer + REPLY_PATH + "?" + COUNT_QUERY + _countApi.ToString(), resStatus, _ApiMethod), String)
+        End If
+
+        If retMsg = "" Then
+            If resStatus.StartsWith("Err: BadRequest") Then
+                Return "Maybe, the requests reached API limit."
+            ElseIf resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Dim arIdx As Integer = -1
+        Dim dlgt(_countApi) As GetIconImageDelegate    'countQueryに合わせる
+        Dim ar(_countApi) As IAsyncResult              'countQueryに合わせる
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(retMsg)
+        Catch ex As Exception
+            TraceOut(retMsg)
+            'MessageBox.Show("不正なXMLです。(TL-LoadXml)")
+            Return "Invalid XML!"
+        End Try
+
+        For Each xentryNode As XmlNode In xdoc.DocumentElement.SelectNodes("./status")
+            Dim xentry As XmlElement = CType(xentryNode, XmlElement)
+            Dim post As New PostClass
+            Try
+                post.PDate = DateTime.ParseExact(xentry.Item("created_at").InnerText, "ddd MMM dd HH:mm:ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None)
+                post.Id = Long.Parse(xentry.Item("id").InnerText)
+                '二重取得回避
+                SyncLock LockObj
+                    If TabInformations.GetInstance.ContainsKey(post.Id) Then Continue For
+                End SyncLock
+                '本文
+                post.Data = xentry.Item("text").InnerText
+                'HTMLに整形
+                post.OriginalData = CreateHtmlAnchor(post.Data, post.ReplyToList)
+                post.Data = HttpUtility.HtmlDecode(post.Data)
+                post.Data = post.Data.Replace("<3", "♡")
+                'Source取得(htmlの場合は、中身を取り出し)
+                post.Source = xentry.Item("source").InnerText
+                If post.Source.StartsWith("<") Then
+                    Dim rgS As New Regex(">(?<source>.+)<")
+                    Dim mS As Match = rgS.Match(post.Source)
+                    If mS.Success Then
+                        post.Source = mS.Result("${source}")
+                    End If
+                End If
+                Long.TryParse(xentry.Item("in_reply_to_status_id").InnerText, post.InReplyToId)
+                post.InReplyToUser = xentry.Item("in_reply_to_screen_name").InnerText
+                'in_reply_to_user_idを使うか?
+                post.IsFav = Boolean.Parse(xentry.Item("favorited").InnerText)
+
+                '以下、ユーザー情報
+                Dim xUentry As XmlElement = CType(xentry.SelectSingleNode("./user"), XmlElement)
+                post.Uid = Long.Parse(xUentry.Item("id").InnerText)
+                post.Name = xUentry.Item("screen_name").InnerText
+                post.Nickname = xUentry.Item("name").InnerText
+                post.ImageUrl = xUentry.Item("profile_image_url").InnerText
+                post.IsProtect = Boolean.Parse(xUentry.Item("protected").InnerText)
+                post.IsMe = post.Name.ToLower.Equals(_uid)
+                post.IsRead = read
+                If gType = WORKERTYPE.Timeline Then
+                    post.IsReply = post.ReplyToList.Contains(_uid)
+                Else
+                    post.IsReply = True
+                End If
+
+                If post.IsMe Then
+                    post.IsOwl = False
+                Else
+                    If followerId.Count > 0 Then post.IsOwl = Not followerId.Contains(post.Uid)
+                End If
+                If post.IsMe AndAlso Not read AndAlso _readOwnPost Then post.IsRead = True
+
+                post.IsDm = False
+            Catch ex As Exception
+                TraceOut(retMsg)
+                'MessageBox.Show("不正なXMLです。(TL-Parse)")
+                Continue For
+            End Try
+
+            '非同期アイコン取得&StatusDictionaryに追加
+            arIdx += 1
+            dlgt(arIdx) = New GetIconImageDelegate(AddressOf GetIconImage)
+            ar(arIdx) = dlgt(arIdx).BeginInvoke(post, Nothing, Nothing)
+        Next
+
+        'アイコン取得完了待ち
+        For i As Integer = 0 To arIdx
+            Try
+                dlgt(i).EndInvoke(ar(i))
+            Catch ex As Exception
+                '最後までendinvoke回す(ゾンビ化回避)
+                ex.Data("IsTerminatePermission") = False
+                Throw
+            End Try
+        Next
+
+        If _ApiMethod = MySocket.REQ_TYPE.ReqGetAPI Then _remainCountApi = sck.RemainCountApi
+
+        Return ""
+    End Function
+
+    Public Function GetDirectMessageApi(ByVal read As Boolean, _
+                            ByVal gType As WORKERTYPE) As String
+        If _endingFlag Then Return ""
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        Dim retMsg As String = ""
+        Dim resStatus As String = ""
+        Dim sck As MySocket = CreateSocket()
+        'スレッド取得は行わず、countで調整
+        Const GET_COUNT As Integer = 20
+        Const RECEIVE_PATH As String = "/direct_messages.xml"
+        Const SENT_PATH As String = "/direct_messages/sent.xml"
+
+        If gType = WORKERTYPE.DirectMessegeRcv Then
+            retMsg = DirectCast(sck.GetWebResponse(_protocol + _hubServer + RECEIVE_PATH, resStatus, _ApiMethod), String)
+        Else
+            retMsg = DirectCast(sck.GetWebResponse(_protocol + _hubServer + SENT_PATH, resStatus, _ApiMethod), String)
+        End If
+
+        If retMsg = "" Then
+            If resStatus.StartsWith("Err: BadRequest") Then
+                Return "Maybe, the requests reached API limit."
+            ElseIf resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Dim arIdx As Integer = -1
+        Dim dlgt(GET_COUNT) As GetIconImageDelegate    'countQueryに合わせる
+        Dim ar(GET_COUNT) As IAsyncResult              'countQueryに合わせる
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(retMsg)
+        Catch ex As Exception
+            TraceOut(retMsg)
+            'MessageBox.Show("不正なXMLです。(DM-LoadXml)")
+            Return "Invalid XML!"
+        End Try
+
+        For Each xentryNode As XmlNode In xdoc.DocumentElement.SelectNodes("./direct_message")
+            Dim xentry As XmlElement = CType(xentryNode, XmlElement)
+            Dim post As New PostClass
+            Try
+                post.Id = Long.Parse(xentry.Item("id").InnerText)
+                '二重取得回避
+                SyncLock LockObj
+                    If TabInformations.GetInstance.ContainsKey(post.Id) Then Continue For
+                End SyncLock
+                'sender_id
+                'recipient_id
+                post.PDate = DateTime.ParseExact(xentry.Item("created_at").InnerText, "ddd MMM dd HH:mm:ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None)
+                '本文
+                post.Data = xentry.Item("text").InnerText
+                'HTMLに整形
+                post.OriginalData = CreateHtmlAnchor(post.Data, post.ReplyToList)
+                post.Data = HttpUtility.HtmlDecode(post.Data)
+                post.Data = post.Data.Replace("<3", "♡")
+                post.IsFav = False
+                '受信DMかの判定で使用
+                If gType = WORKERTYPE.DirectMessegeRcv Then
+                    post.IsOwl = False
+                Else
+                    post.IsOwl = True
+                End If
+
+                '以下、ユーザー情報
+                Dim xUentry As XmlElement
+                If gType = WORKERTYPE.DirectMessegeRcv Then
+                    xUentry = CType(xentry.SelectSingleNode("./sender"), XmlElement)
+                    post.IsMe = False
+                Else
+                    xUentry = CType(xentry.SelectSingleNode("./recipient"), XmlElement)
+                    post.IsMe = True
+                End If
+                post.Uid = Long.Parse(xUentry.Item("id").InnerText)
+                post.Name = xUentry.Item("screen_name").InnerText
+                post.Nickname = xUentry.Item("name").InnerText
+                post.ImageUrl = xUentry.Item("profile_image_url").InnerText
+                post.IsProtect = Boolean.Parse(xUentry.Item("protected").InnerText)
+            Catch ex As Exception
+                TraceOut(retMsg)
+                'MessageBox.Show("不正なXMLです。(DM-Parse)")
+                Continue For
+            End Try
+
+            post.IsRead = read
+            post.IsReply = False
+            post.IsDm = True
+
+            '非同期アイコン取得&StatusDictionaryに追加
+            arIdx += 1
+            dlgt(arIdx) = New GetIconImageDelegate(AddressOf GetIconImage)
+            ar(arIdx) = dlgt(arIdx).BeginInvoke(post, Nothing, Nothing)
+        Next
+
+        'アイコン取得完了待ち
+        For i As Integer = 0 To arIdx
+            Try
+                dlgt(i).EndInvoke(ar(i))
+            Catch ex As Exception
+                '最後までendinvoke回す(ゾンビ化回避)
+                ex.Data("IsTerminatePermission") = False
+                Throw
+            End Try
+        Next
+
+        If _ApiMethod = MySocket.REQ_TYPE.ReqGetAPI Then _remainCountApi = sck.RemainCountApi
+
+        Return ""
+    End Function
+
+    Public Function GetFavoritesApi(ByVal read As Boolean, _
+                        ByVal gType As WORKERTYPE) As String
+
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        If _endingFlag Then Return ""
+
+        Dim retMsg As String = ""
+        Dim resStatus As String = ""
+        Dim sck As MySocket = CreateSocket()
+        'スレッド取得は行わず、countで調整
+        Const COUNT_QUERY As String = "count="
+        Const FAV_PATH As String = "/favorites.xml"
+
+        retMsg = DirectCast(sck.GetWebResponse(_protocol + _hubServer + FAV_PATH + "?" + COUNT_QUERY + _countApi.ToString(), resStatus, _ApiMethod), String)
+
+        If retMsg = "" Then
+            If resStatus.StartsWith("Err: BadRequest") Then
+                Return "Maybe, the requests reached API limit."
+            ElseIf resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Dim arIdx As Integer = -1
+        Dim dlgt(_countApi) As GetIconImageDelegate    'countQueryに合わせる
+        Dim ar(_countApi) As IAsyncResult              'countQueryに合わせる
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(retMsg)
+        Catch ex As Exception
+            TraceOut(retMsg)
+            'MessageBox.Show("不正なXMLです。(TL-LoadXml)")
+            Return "Invalid XML!"
+        End Try
+
+        For Each xentryNode As XmlNode In xdoc.DocumentElement.SelectNodes("./status")
+            Dim xentry As XmlElement = CType(xentryNode, XmlElement)
+            Dim post As New PostClass
+            Try
+                post.PDate = DateTime.ParseExact(xentry.Item("created_at").InnerText, "ddd MMM dd HH:mm:ss zzzz yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo, System.Globalization.DateTimeStyles.None)
+                post.Id = Long.Parse(xentry.Item("id").InnerText)
+                ''二重取得回避
+                'SyncLock LockObj
+                '    If TabInformations.GetInstance.ContainsKey(post.Id) Then Continue For
+                'End SyncLock
+                '本文
+                post.Data = xentry.Item("text").InnerText
+                'HTMLに整形
+                post.OriginalData = CreateHtmlAnchor(post.Data, post.ReplyToList)
+                post.Data = HttpUtility.HtmlDecode(post.Data)
+                post.Data = post.Data.Replace("<3", "♡")
+                'Source取得(htmlの場合は、中身を取り出し)
+                post.Source = xentry.Item("source").InnerText
+                If post.Source.StartsWith("<") Then
+                    Dim rgS As New Regex(">(?<source>.+)<")
+                    Dim mS As Match = rgS.Match(post.Source)
+                    If mS.Success Then
+                        post.Source = mS.Result("${source}")
+                    End If
+                End If
+                Long.TryParse(xentry.Item("in_reply_to_status_id").InnerText, post.InReplyToId)
+                post.InReplyToUser = xentry.Item("in_reply_to_screen_name").InnerText
+                'in_reply_to_user_idを使うか?
+                post.IsFav = Boolean.Parse(xentry.Item("favorited").InnerText)
+
+                '以下、ユーザー情報
+                Dim xUentry As XmlElement = CType(xentry.SelectSingleNode("./user"), XmlElement)
+                post.Uid = Long.Parse(xUentry.Item("id").InnerText)
+                post.Name = xUentry.Item("screen_name").InnerText
+                post.Nickname = xUentry.Item("name").InnerText
+                post.ImageUrl = xUentry.Item("profile_image_url").InnerText
+                post.IsProtect = Boolean.Parse(xUentry.Item("protected").InnerText)
+                post.IsMe = post.Name.ToLower.Equals(_uid)
+                post.IsRead = read
+                post.IsReply = post.ReplyToList.Contains(_uid)
+
+                If post.IsMe Then
+                    post.IsOwl = False
+                Else
+                    If followerId.Count > 0 Then post.IsOwl = Not followerId.Contains(post.Uid)
+                End If
+
+                post.IsDm = False
+            Catch ex As Exception
+                TraceOut(retMsg)
+                'MessageBox.Show("不正なXMLです。(TL-Parse)")
+                Continue For
+            End Try
+
+            '非同期アイコン取得&StatusDictionaryに追加
+            arIdx += 1
+            dlgt(arIdx) = New GetIconImageDelegate(AddressOf GetIconImage)
+            ar(arIdx) = dlgt(arIdx).BeginInvoke(post, Nothing, Nothing)
+        Next
+
+        'アイコン取得完了待ち
+        For i As Integer = 0 To arIdx
+            Try
+                dlgt(i).EndInvoke(ar(i))
+            Catch ex As Exception
+                '最後までendinvoke回す(ゾンビ化回避)
+                ex.Data("IsTerminatePermission") = False
+                Throw
+            End Try
+        Next
+
+        If _ApiMethod = MySocket.REQ_TYPE.ReqGetAPI Then _remainCountApi = sck.RemainCountApi
+
+        Return ""
+    End Function
+
+    Public Function GetFollowersApi() As String
+        If _endingFlag Then Return ""
+        Dim page As Long = -1
+
+        followerId.Clear()
+
+        Do
+            Dim ret As String = FollowerApi(page)
+            If ret <> "" Then Return ret
+        Loop While page > 0
+        Return ""
+    End Function
+
+    Private Function FollowerApi(ByRef page As Long) As String
+        If Twitter.AccountState <> ACCOUNT_STATE.Valid Then Return ""
+
+        Dim retMsg As String = ""
+        Dim resStatus As String = ""
+        Dim curCount As Integer = followerId.Count
+
+        Const FOLLOWER_PATH As String = "/followers/ids.xml"
+
+        retMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + FOLLOWER_PATH + _cursorQry + page.ToString(), resStatus, _ApiMethod), String)
+
+        If retMsg = "" Then
+            If resStatus.StartsWith("Err: Unauthorized") Then
+                Twitter.AccountState = ACCOUNT_STATE.Invalid
+                Return "Check your Username/Password."
+            Else
+                Return resStatus
+            End If
+        End If
+
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(retMsg)
+        Catch ex As Exception
+            TraceOut(retMsg)
+            MessageBox.Show("The data was broken. Please retry later.(FollowerApi-LoadXml)")
+            Return "Invalid XML!"
+        End Try
+
+        Try
+            For Each xentryNode As XmlNode In xdoc.DocumentElement.SelectNodes("/id_list/ids/id")
+                followerId.Add(Long.Parse(xentryNode.InnerText))
+            Next
+            page = Long.Parse(xdoc.DocumentElement.SelectSingleNode("/id_list/next_cursor").InnerText)
+        Catch ex As Exception
+            TraceOut(retMsg)
+            MessageBox.Show("The data was broken. Please retry later.(FollowerApi-Parse)")
+            Return "Invalid XML!"
+        End Try
+
+        Return ""
+
+    End Function
+
+    Private Function CreateHtmlAnchor(ByVal Text As String, ByVal AtList As List(Of String)) As String
+        Dim retStr As String = HttpUtility.HtmlEncode(Text)     '要検証(デコードされて取得されるので再エンコード)
+
+        'uriの正規表現
+        Dim rgUrl As Regex = New Regex("(?<![0-9A-Za-z])(?:https?|shttp|ftps?)://(?:(?:[-_.!~*'()a-zA-Z0-9;:&=+$,]|%[0-9A-Fa-f" + _
+                         "][0-9A-Fa-f])*@)?(?:(?:[a-zA-Z0-9](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.)" + _
+                         "*[a-zA-Z](?:[-a-zA-Z0-9]*[a-zA-Z0-9])?\.?|[0-9]+\.[0-9]+\.[0-9]+\." + _
+                         "[0-9]+)(?::[0-9]*)?(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f]" + _
+                         "[0-9A-Fa-f])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-" + _
+                         "Fa-f])*)*(?:/(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f" + _
+                         "])*(?:;(?:[-_.!~*'()a-zA-Z0-9:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)*)" + _
+                         "*)?(?:\?(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])" + _
+                         "*)?(?:#(?:[-_.!~*'()a-zA-Z0-9;/?:@&=+$,]|%[0-9A-Fa-f][0-9A-Fa-f])*)?")
+        '絶対パス表現のUriをリンクに置換
+        retStr = rgUrl.Replace(Text, "<a href=""$&"">$&</a>")
+        '@返信を抽出し、@先リスト作成
+        Dim rg As New Regex("(^|[ -/:-@[-^`{-~])@([a-zA-Z0-9_/]{1,41})")
+        Dim m As Match = rg.Match(retStr)
+        While m.Success
+            AtList.Add(m.Result("$2").ToLower)
+            m = m.NextMatch
+        End While
+        '@先をリンクに置換
+        retStr = rg.Replace(retStr, "$1@<a href=""/$2"">$2</a>")
+
+        'ハッシュタグを抽出し、リンクに置換
+        Dim rgh As New Regex("(^|[] !""$%&'()*+,-.:;<=>?@[\^`{|}~])#([^] !""#$%&'()*+,-.:;<=>?@[\^`{|}~\r\n]+)")
+        Dim mh As Match = rgh.Match(retStr)
+        If mh.Success AndAlso Not IsNumeric(mh.Result("$2")) Then
+            retStr = rgh.Replace(retStr, "$1<a href=""" + _protocol + "twitter.com/search?q=%23$2"">#$2</a>")
+        End If
+
+
+        retStr = AdjustHtml(ShortUrlResolve(PreProcessUrl(retStr))) 'IDN置換、短縮Uri解決、@リンクを相対→絶対にしてtarget属性付与
+        Return retStr
+    End Function
+
+    Public ReadOnly Property RemainCountApi() As Integer
+        Get
+            Return _remainCountApi
+        End Get
+    End Property
+
+    Public Function GetMaxCountApi() As Integer
+        Dim _maxcnt As Integer = 0
+        Dim resMsg As String = ""
+        Dim resStatus As String = ""
+        resMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _rateLimitStatus, resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(resMsg)
+            _maxcnt = Integer.Parse(xdoc.SelectSingleNode("/hash/hourly-limit").InnerText)
+        Catch ex As Exception
+            _maxcnt = 0
+        End Try
+        Return _maxcnt
+    End Function
+
+    Public Function GetRemainCountApi() As Integer
+        Dim _remain As Integer = 0
+        Dim resMsg As String = ""
+        Dim resStatus As String = ""
+        resMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _rateLimitStatus, resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(resMsg)
+            _remain = Integer.Parse(xdoc.SelectSingleNode("/hash/remaining-hits").InnerText)
+        Catch ex As Exception
+            _remain = 0
+        End Try
+        Return _remain
+    End Function
+
+    Public Function GetResetTimeApi() As DateTime
+        Dim _tm As DateTime
+        Dim resMsg As String = ""
+        Dim resStatus As String = ""
+        resMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _rateLimitStatus, resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(resMsg)
+            _tm = DateTime.Parse(xdoc.SelectSingleNode("/hash/reset-time").InnerText)
+        Catch ex As Exception
+            _tm = Nothing
+        End Try
+        Return _tm
+    End Function
+
+    Public Function GetInfoApi(ByRef info As ApiInfo) As Boolean
+
+        Dim resMsg As String = ""
+        Dim resStatus As String = ""
+        resMsg = DirectCast(CreateSocket.GetWebResponse(_protocol + _hubServer + _rateLimitStatus, resStatus, MySocket.REQ_TYPE.ReqGetAPI), String)
+        Dim xdoc As New XmlDocument
+        Try
+            xdoc.LoadXml(resMsg)
+            info.MaxCount = Integer.Parse(xdoc.SelectSingleNode("/hash/hourly-limit").InnerText)
+            info.RemainCount = Integer.Parse(xdoc.SelectSingleNode("/hash/remaining-hits").InnerText)
+            info.ResetTime = DateTime.Parse(xdoc.SelectSingleNode("/hash/reset-time").InnerText)
+            info.ResetTimeInSeconds = Integer.Parse(xdoc.SelectSingleNode("/hash/reset-time-in-seconds").InnerText)
+        Catch ex As Exception
+            Return False
+        End Try
+        Return True
+    End Function
+
+#Region "デバッグモード解析キー自動生成"
+#If DEBUG Then
+    Public Sub GenerateAnalyzeKey()
+        '解析キー情報部分のソースをwedataから作成する
+        '生成したソースはプロジェクトのディレクトリにコピーする
+        Dim sw As New System.IO.StreamWriter(".\AnalyzeKey.vb", _
+            False, _
+            System.Text.Encoding.UTF8)
+
+        sw.WriteLine("Public Module AnalyzeKey")
+        sw.WriteLine("'    このファイルはデバッグビルドのTweenにより自動作成されました   作成日時  " + DateAndTime.Now.ToString())
+        sw.WriteLine("")
+
+        sw.WriteLine("    Public _splitPost As String = " + Chr(34) + _splitPost.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _splitPostRecent As String = " + Chr(34) + _splitPostRecent.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _statusIdTo As String = " + Chr(34) + _statusIdTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _splitDM As String = " + Chr(34) + _splitDM.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseName As String = " + Chr(34) + _parseName.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseNameTo As String = " + Chr(34) + _parseNameTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseNick As String = " + Chr(34) + _parseNick.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseNickTo As String = " + Chr(34) + _parseNickTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseImg As String = " + Chr(34) + _parseImg.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseImgTo As String = " + Chr(34) + _parseImgTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseMsg1 As String = " + Chr(34) + _parseMsg1.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseMsg2 As String = " + Chr(34) + _parseMsg2.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseDM1 As String = " + Chr(34) + _parseDM1.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseDM11 As String = " + Chr(34) + _parseDM11.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseDM2 As String = " + Chr(34) + _parseDM2.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseDate As String = " + Chr(34) + _parseDate.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseDateTo As String = " + Chr(34) + _parseDateTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _getAuthKey As String = " + Chr(34) + _getAuthKey.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _getAuthKeyTo As String = " + Chr(34) + _getAuthKeyTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseStar As String = " + Chr(34) + _parseStar.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseStarTo As String = " + Chr(34) + _parseStarTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseStarEmpty As String = " + Chr(34) + _parseStarEmpty.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _followerList As String = " + Chr(34) + _followerList.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _followerMbr1 As String = " + Chr(34) + _followerMbr1.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _followerMbr2 As String = " + Chr(34) + _followerMbr2.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _followerMbr3 As String = " + Chr(34) + _followerMbr3.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _getInfoTwitter As String = " + Chr(34) + _getInfoTwitter.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _getInfoTwitterTo As String = " + Chr(34) + _getInfoTwitterTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _isProtect As String = " + Chr(34) + _isProtect.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _isReplyEng As String = " + Chr(34) + _isReplyEng.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _isReplyJpn As String = " + Chr(34) + _isReplyJpn.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _isReplyTo As String = " + Chr(34) + _isReplyTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseProtectMsg1 As String = " + Chr(34) + _parseProtectMsg1.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseProtectMsg2 As String = " + Chr(34) + _parseProtectMsg2.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseDMcountFrom As String = " + Chr(34) + _parseDMcountFrom.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseDMcountTo As String = " + Chr(34) + _parseDMcountTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseSourceFrom As String = " + Chr(34) + _parseSourceFrom.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseSource2 As String = " + Chr(34) + _parseSource2.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _parseSourceTo As String = " + Chr(34) + _parseSourceTo.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("    Public _removeClass As String = " + Chr(34) + _removeClass.Replace(Chr(34), Chr(34) + Chr(34)) + Chr(34))
+        sw.WriteLine("End Module")
+
+        sw.Close()
+        'MessageBox.Show("解析キー情報定義ファイル AnalyzeKey.vbを生成しました")
+
+    End Sub
+#End If
+#End Region
+End Module
diff --git a/Tween/WebBrowserController.vb b/Tween/WebBrowserController.vb
new file mode 100644 (file)
index 0000000..ada2e43
--- /dev/null
@@ -0,0 +1,392 @@
+' Tween - Client of Twitter
+' Copyright (c) 2007-2009 kiri_feather (@kiri_feather) <kiri_feather@gmail.com>
+'           (c) 2008-2009 Moz (@syo68k) <http://iddy.jp/profile/moz/>
+'           (c) 2008-2009 takeshik (@takeshik) <http://www.takeshik.org/>
+' All rights reserved.
+' 
+' This file is part of Tween.
+' 
+' This program is free software; you can redistribute it and/or modify it
+' under the terms of the GNU General Public License as published by the Free
+' Software Foundation; either version 3 of the License, or (at your option)
+' any later version.
+' 
+' This program is distributed in the hope that it will be useful, but
+' WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+' or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+' for more details. 
+' 
+' You should have received a copy of the GNU General Public License along
+' with this program. If not, see <http://www.gnu.org/licenses/>, or write to
+' the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+' Boston, MA 02110-1301, USA.
+
+Imports System.Runtime.InteropServices
+
+
+Public Class InternetSecurityManager
+    Implements WebBrowserAPI.IServiceProvider
+    Implements WebBrowserAPI.IInternetSecurityManager
+
+#Region "HRESULT"
+    Private Class HRESULT
+        Public Shared S_OK As Integer = &H0
+        Public Shared S_FALSE As Integer = &H1
+        Public Shared E_NOTIMPL As Integer = &H80004001
+        Public Shared E_NOINTERFACE As Integer = &H80004002
+    End Class
+#End Region
+
+#Region "WebBrowserAPI"
+    Private Class WebBrowserAPI
+        Public Shared INET_E_DEFAULT_ACTION As Integer = &H800C0011
+
+        Public Enum URLZONE
+            URLZONE_LOCAL_MACHINE = 0
+            URLZONE_INTRANET = URLZONE_LOCAL_MACHINE + 1
+            URLZONE_TRUSTED = URLZONE_INTRANET + 1
+            URLZONE_INTERNET = URLZONE_TRUSTED + 1
+            URLZONE_UNTRUSTED = URLZONE_INTERNET + 1
+        End Enum
+
+        Public Shared URLACTION_MIN As Integer = &H1000
+
+        Public Shared URLACTION_DOWNLOAD_MIN As Integer = &H1000
+        Public Shared URLACTION_DOWNLOAD_SIGNED_ACTIVEX As Integer = &H1001
+        Public Shared URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX As Integer = &H1004
+        Public Shared URLACTION_DOWNLOAD_CURR_MAX As Integer = &H1004
+        Public Shared URLACTION_DOWNLOAD_MAX As Integer = &H11FF
+
+        Public Shared URLACTION_ACTIVEX_MIN As Integer = &H1200
+        Public Shared URLACTION_ACTIVEX_RUN As Integer = &H1200
+        Public Shared URLPOLICY_ACTIVEX_CHECK_LIST As Integer = &H10000
+        Public Shared URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY As Integer = &H1201
+        Public Shared URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY As Integer = &H1202
+        Public Shared URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY As Integer = &H1203
+        Public Shared URLACTION_SCRIPT_OVERRIDE_SAFETY As Integer = &H1401
+        Public Shared URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY As Integer = &H1204
+        Public Shared URLACTION_ACTIVEX_TREATASUNTRUSTED As Integer = &H1205
+        Public Shared URLACTION_ACTIVEX_NO_WEBOC_SCRIPT As Integer = &H1206
+        Public Shared URLACTION_ACTIVEX_CURR_MAX As Integer = &H1206
+        Public Shared URLACTION_ACTIVEX_MAX As Integer = &H13FF
+
+        Public Shared URLACTION_SCRIPT_MIN As Integer = &H1400
+        Public Shared URLACTION_SCRIPT_RUN As Integer = &H1400
+        Public Shared URLACTION_SCRIPT_JAVA_USE As Integer = &H1402
+        Public Shared URLACTION_SCRIPT_SAFE_ACTIVEX As Integer = &H1405
+        Public Shared URLACTION_CROSS_DOMAIN_DATA As Integer = &H1406
+        Public Shared URLACTION_SCRIPT_PASTE As Integer = &H1407
+        Public Shared URLACTION_SCRIPT_CURR_MAX As Integer = &H1407
+        Public Shared URLACTION_SCRIPT_MAX As Integer = &H15FF
+
+        Public Shared URLACTION_HTML_MIN As Integer = &H1600
+        Public Shared URLACTION_HTML_SUBMIT_FORMS As Integer = &H1601                                 ' aggregate next two
+        Public Shared URLACTION_HTML_SUBMIT_FORMS_FROM As Integer = &H1602                            '
+        Public Shared URLACTION_HTML_SUBMIT_FORMS_TO As Integer = &H1603                              '
+        Public Shared URLACTION_HTML_FONT_DOWNLOAD As Integer = &H1604
+        Public Shared URLACTION_HTML_JAVA_RUN As Integer = &H1605                                     ' derive from Java custom policy
+        Public Shared URLACTION_HTML_USERDATA_SAVE As Integer = &H1606
+        Public Shared URLACTION_HTML_SUBFRAME_NAVIGATE As Integer = &H1607
+        Public Shared URLACTION_HTML_META_REFRESH As Integer = &H1608
+        Public Shared URLACTION_HTML_MIXED_CONTENT As Integer = &H1609
+        Public Shared URLACTION_HTML_MAX As Integer = &H17FF
+
+        Public Shared URLACTION_SHELL_MIN As Integer = &H1800
+        Public Shared URLACTION_SHELL_INSTALL_DTITEMS As Integer = &H1800
+        Public Shared URLACTION_SHELL_MOVE_OR_COPY As Integer = &H1802
+        Public Shared URLACTION_SHELL_FILE_DOWNLOAD As Integer = &H1803
+        Public Shared URLACTION_SHELL_VERB As Integer = &H1804
+        Public Shared URLACTION_SHELL_WEBVIEW_VERB As Integer = &H1805
+        Public Shared URLACTION_SHELL_SHELLEXECUTE As Integer = &H1806
+        Public Shared URLACTION_SHELL_CURR_MAX As Integer = &H1806
+        Public Shared URLACTION_SHELL_MAX As Integer = &H19FF
+
+        Public Shared URLACTION_NETWORK_MIN As Integer = &H1A00
+
+        Public Shared URLACTION_CREDENTIALS_USE As Integer = &H1A00
+        Public Shared URLPOLICY_CREDENTIALS_SILENT_LOGON_OK As Integer = &H0
+        Public Shared URLPOLICY_CREDENTIALS_MUST_PROMPT_USER As Integer = &H10000
+        Public Shared URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT As Integer = &H20000
+        Public Shared URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY As Integer = &H30000
+
+        Public Shared URLACTION_AUTHENTICATE_CLIENT As Integer = &H1A01
+        Public Shared URLPOLICY_AUTHENTICATE_CLEARTEXT_OK As Integer = &H0
+        Public Shared URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE As Integer = &H10000
+        Public Shared URLPOLICY_AUTHENTICATE_MUTUAL_ONLY As Integer = &H30000
+
+
+        Public Shared URLACTION_COOKIES As Integer = &H1A02
+        Public Shared URLACTION_COOKIES_SESSION As Integer = &H1A03
+
+        Public Shared URLACTION_CLIENT_CERT_PROMPT As Integer = &H1A04
+
+        Public Shared URLACTION_COOKIES_THIRD_PARTY As Integer = &H1A05
+        Public Shared URLACTION_COOKIES_SESSION_THIRD_PARTY As Integer = &H1A06
+
+        Public Shared URLACTION_COOKIES_ENABLED As Integer = &H1A10
+
+        Public Shared URLACTION_NETWORK_CURR_MAX As Integer = &H1A10
+        Public Shared URLACTION_NETWORK_MAX As Integer = &H1BFF
+
+
+        Public Shared URLACTION_JAVA_MIN As Integer = &H1C00
+        Public Shared URLACTION_JAVA_PERMISSIONS As Integer = &H1C00
+        Public Shared URLPOLICY_JAVA_PROHIBIT As Integer = &H0
+        Public Shared URLPOLICY_JAVA_HIGH As Integer = &H10000
+        Public Shared URLPOLICY_JAVA_MEDIUM As Integer = &H20000
+        Public Shared URLPOLICY_JAVA_LOW As Integer = &H30000
+        Public Shared URLPOLICY_JAVA_CUSTOM As Integer = &H800000
+        Public Shared URLACTION_JAVA_CURR_MAX As Integer = &H1C00
+        Public Shared URLACTION_JAVA_MAX As Integer = &H1CFF
+
+
+        ' The following Infodelivery actions should have no default policies
+        ' in the registry.  They assume that no default policy means fall
+        ' back to the global restriction.  If an admin sets a policy per
+        ' zone, then it overrides the global restriction.
+
+        Public Shared URLACTION_INFODELIVERY_MIN As Integer = &H1D00
+        Public Shared URLACTION_INFODELIVERY_NO_ADDING_CHANNELS As Integer = &H1D00
+        Public Shared URLACTION_INFODELIVERY_NO_EDITING_CHANNELS As Integer = &H1D01
+        Public Shared URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS As Integer = &H1D02
+        Public Shared URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS As Integer = &H1D03
+        Public Shared URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS As Integer = &H1D04
+        Public Shared URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS As Integer = &H1D05
+        Public Shared URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING As Integer = &H1D06
+        Public Shared URLACTION_INFODELIVERY_CURR_MAX As Integer = &H1D06
+        Public Shared URLACTION_INFODELIVERY_MAX As Integer = &H1DFF
+        Public Shared URLACTION_CHANNEL_SOFTDIST_MIN As Integer = &H1E00
+        Public Shared URLACTION_CHANNEL_SOFTDIST_PERMISSIONS As Integer = &H1E05
+        Public Shared URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT As Integer = &H10000
+        Public Shared URLPOLICY_CHANNEL_SOFTDIST_PRECACHE As Integer = &H20000
+        Public Shared URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL As Integer = &H30000
+        Public Shared URLACTION_CHANNEL_SOFTDIST_MAX As Integer = &H1EFF
+
+        ' For each action specified above the system maintains
+        ' a set of policies for the action.
+        ' The only policies supported currently are permissions (i.e. is something allowed)
+        ' and logging status.
+        ' IMPORTANT: If you are defining your own policies don't overload the meaning of the
+        ' loword of the policy. You can use the hiword to store any policy bits which are only
+        ' meaningful to your action.
+        ' For an example of how to do this look at the URLPOLICY_JAVA above
+
+        ' Permissions
+        Public Shared URLPOLICY_ALLOW As Byte = &H0
+        Public Shared URLPOLICY_QUERY As Byte = &H1
+        Public Shared URLPOLICY_DISALLOW As Byte = &H3
+
+        ' Notifications are not done when user already queried.
+        Public Shared URLPOLICY_NOTIFY_ON_ALLOW As Integer = &H10
+        Public Shared URLPOLICY_NOTIFY_ON_DISALLOW As Integer = &H20
+
+        ' Logging is done regardless of whether user was queried.
+        Public Shared URLPOLICY_LOG_ON_ALLOW As Integer = &H40
+        Public Shared URLPOLICY_LOG_ON_DISALLOW As Integer = &H80
+
+        Public Shared URLPOLICY_MASK_PERMISSIONS As Integer = &HF
+
+
+        Public Shared URLPOLICY_DONTCHECKDLGBOX As Integer = &H100
+
+
+        ' ----------------------------------------------------------------------
+        ' ここ以下は COM Interface の宣言です。
+        Public Shared IID_IProfferService As Guid = New Guid("cb728b20-f786-11ce-92ad-00aa00a74cd0")
+        Public Shared SID_SProfferService As Guid = New Guid("cb728b20-f786-11ce-92ad-00aa00a74cd0")
+        Public Shared IID_IInternetSecurityManager As Guid = New Guid("79eac9ee-baf9-11ce-8c82-00aa004ba90b")
+
+        <ComImport(), _
+        Guid("6d5140c1-7436-11ce-8034-00aa006009fa"), _
+        InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
+        Public Interface IServiceProvider
+            <PreserveSig()> _
+            Function QueryService(<[In]()> ByRef guidService As Guid, <[In]()> ByRef riid As Guid, <Out()> ByRef ppvObject As IntPtr) As Integer
+        End Interface
+
+        <ComImport(), _
+        Guid("cb728b20-f786-11ce-92ad-00aa00a74cd0"), _
+        InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
+        Public Interface IProfferService
+            <PreserveSig()> _
+            Function ProfferService(<[In]()> ByRef guidService As Guid, <[In]()> ByVal psp As IServiceProvider, <Out()> ByRef cookie As Integer) As Integer
+
+            <PreserveSig()> _
+            Function RevokeService(<[In]()> ByVal cookie As Integer) As Integer
+        End Interface
+
+        <ComImport(), _
+        Guid("79eac9ed-baf9-11ce-8c82-00aa004ba90b"), _
+        InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
+        Public Interface IInternetSecurityMgrSite
+            <PreserveSig()> _
+            Function GetWindow(<[Out]()> ByRef hwnd As IntPtr) As Integer
+
+            <PreserveSig()> _
+            Function EnableModeless(<[In](), MarshalAs(UnmanagedType.Bool)> ByVal fEnable As Boolean) As Integer
+        End Interface
+
+        <ComImport(), _
+        Guid("79eac9ee-baf9-11ce-8c82-00aa004ba90b"), _
+        InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
+        Public Interface IInternetSecurityManager
+            <PreserveSig()> _
+            Function SetSecuritySite(<[In]()> ByVal pSite As IInternetSecurityMgrSite) As Integer
+
+            <PreserveSig()> _
+            Function GetSecuritySite(<Out()> ByRef pSite As IInternetSecurityMgrSite) As Integer
+
+            <PreserveSig()> _
+            Function MapUrlToZone(<[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal pwszUrl As String, <Out()> ByRef pdwZone As Integer, ByVal dwFlags As Integer) As Integer
+
+            <PreserveSig()> _
+            Function GetSecurityId(<MarshalAs(UnmanagedType.LPWStr)> ByVal pwszUrl As String, <MarshalAs(UnmanagedType.LPArray)> ByVal pbSecurityId As Byte(), ByRef pcbSecurityId As UInt32, ByVal dwReserved As UInt32) As Integer
+
+            <PreserveSig()> _
+            Function ProcessUrlAction(<[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal pwszUrl As String, ByVal dwAction As Integer, <Out()> ByRef pPolicy As Byte, ByVal cbPolicy As Integer, ByVal pContext As Byte, ByVal cbContext As Integer, ByVal dwFlags As Integer, ByVal dwReserved As Integer) As Integer
+
+            <PreserveSig()> _
+            Function QueryCustomPolicy(<[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal pwszUrl As String, ByRef guidKey As Guid, ByVal ppPolicy As Byte, ByVal pcbPolicy As Integer, ByVal pContext As Byte, ByVal cbContext As Integer, ByVal dwReserved As Integer) As Integer
+
+            <PreserveSig()> _
+            Function SetZoneMapping(ByVal dwZone As Integer, <[In](), MarshalAs(UnmanagedType.LPWStr)> ByVal lpszPattern As String, ByVal dwFlags As Integer) As Integer
+
+            <PreserveSig()> _
+            Function GetZoneMappings(ByVal dwZone As Integer, ByRef ppenumString As ComTypes.IEnumString, ByVal dwFlags As Integer) As Integer
+        End Interface
+    End Class
+#End Region
+
+    <Flags()> Public Enum POLICY As Integer
+        ALLOW_ACTIVEX = &H1
+        ALLOW_SCRIPT = &H2
+    End Enum
+
+    Private ocx As New Object
+    Private ocxServiceProvider As WebBrowserAPI.IServiceProvider
+    Private profferServicePtr As New IntPtr
+    Private profferService As WebBrowserAPI.IProfferService
+
+    Private _Policy As POLICY = 0 ' DefaultですべてDisAllow
+
+    Public Sub New(ByVal _WebBrowser As System.Windows.Forms.WebBrowser)
+        ' ActiveXコントロール取得
+        _WebBrowser.DocumentText = "" 'ActiveXを初期化する 
+        ocx = _WebBrowser.ActiveXInstance
+
+        ' IServiceProvider.QueryService() を使って IProfferService を取得
+        ocxServiceProvider = DirectCast(ocx, WebBrowserAPI.IServiceProvider)
+
+        ocxServiceProvider.QueryService( _
+            WebBrowserAPI.SID_SProfferService, _
+            WebBrowserAPI.IID_IProfferService, profferServicePtr)
+
+        profferService = DirectCast(Marshal.GetObjectForIUnknown(profferServicePtr),  _
+            WebBrowserAPI.IProfferService)
+
+        ' IProfferService.ProfferService() を使って
+        ' 自分を IInternetSecurityManager として提供
+        profferService.ProfferService( _
+            WebBrowserAPI.IID_IInternetSecurityManager, Me, cookie:=0)
+
+    End Sub
+
+    Private Function QueryService(ByRef guidService As System.Guid, _
+        ByRef riid As System.Guid, ByRef ppvObject As System.IntPtr) _
+        As Integer Implements WebBrowserAPI.IServiceProvider.QueryService
+
+        ppvObject = IntPtr.Zero
+        If guidService.CompareTo( _
+            WebBrowserAPI.IID_IInternetSecurityManager) = 0 Then
+            ' 自分から IID_IInternetSecurityManager を
+            ' QueryInterface して返す
+            Dim punk As IntPtr = Marshal.GetIUnknownForObject(Me)
+            Return Marshal.QueryInterface(punk, riid, ppvObject)
+        End If
+        Return HRESULT.E_NOINTERFACE
+    End Function
+
+    Private Function GetSecurityId(ByVal pwszUrl As String, ByVal pbSecurityId() As Byte, ByRef pcbSecurityId As UInteger, ByVal dwReserved As UInteger) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.GetSecurityId
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+    Private Function GetSecuritySite(ByRef pSite As WebBrowserAPI.IInternetSecurityMgrSite) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.GetSecuritySite
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+    Private Function GetZoneMappings(ByVal dwZone As Integer, ByRef ppenumString As System.Runtime.InteropServices.ComTypes.IEnumString, ByVal dwFlags As Integer) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.GetZoneMappings
+        ppenumString = Nothing
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+    Private Function MapUrlToZone(ByVal pwszUrl As String, ByRef pdwZone As Integer, ByVal dwFlags As Integer) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.MapUrlToZone
+        pdwZone = 0
+        Try
+            Dim url As New Uri(pwszUrl)
+            If url.Scheme = "data" Then
+                Return WebBrowserAPI.URLPOLICY_DISALLOW
+            End If
+        Catch ex As Exception
+            Return WebBrowserAPI.URLPOLICY_DISALLOW
+        End Try
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+    Private Function ProcessUrlAction(ByVal pwszUrl As String, ByVal dwAction As Integer, ByRef pPolicy As Byte, ByVal cbPolicy As Integer, ByVal pContext As Byte, ByVal cbContext As Integer, ByVal dwFlags As Integer, ByVal dwReserved As Integer) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.ProcessUrlAction
+        'スクリプト実行状態かを検査しポリシー設定
+        If WebBrowserAPI.URLACTION_SCRIPT_MIN <= dwAction And _
+            dwAction <= WebBrowserAPI.URLACTION_SCRIPT_MAX Then
+            ' スクリプト実行状態
+            If (_Policy And POLICY.ALLOW_SCRIPT) = POLICY.ALLOW_SCRIPT Then
+                pPolicy = WebBrowserAPI.URLPOLICY_ALLOW
+            Else
+                pPolicy = WebBrowserAPI.URLPOLICY_DISALLOW
+            End If
+            Return HRESULT.S_OK
+        End If
+        ' ActiveX実行状態かを検査しポリシー設定
+        If WebBrowserAPI.URLACTION_ACTIVEX_MIN <= dwAction And _
+            dwAction <= WebBrowserAPI.URLACTION_ACTIVEX_MAX Then
+            ' ActiveX実行状態
+            If (_Policy And POLICY.ALLOW_ACTIVEX) = POLICY.ALLOW_ACTIVEX Then
+                pPolicy = WebBrowserAPI.URLPOLICY_ALLOW
+            Else
+                pPolicy = WebBrowserAPI.URLPOLICY_DISALLOW
+            End If
+            Return HRESULT.S_OK
+        End If
+        '他のものについてはデフォルト処理
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+    Private Function QueryCustomPolicy(ByVal pwszUrl As String, ByRef guidKey As System.Guid, ByVal ppPolicy As Byte, ByVal pcbPolicy As Integer, ByVal pContext As Byte, ByVal cbContext As Integer, ByVal dwReserved As Integer) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.QueryCustomPolicy
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+    Private Function SetSecuritySite(ByVal pSite As WebBrowserAPI.IInternetSecurityMgrSite) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.SetSecuritySite
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+    Private Function SetZoneMapping(ByVal dwZone As Integer, ByVal lpszPattern As String, ByVal dwFlags As Integer) As Integer _
+            Implements WebBrowserAPI.IInternetSecurityManager.SetZoneMapping
+        Return WebBrowserAPI.INET_E_DEFAULT_ACTION
+    End Function
+
+
+    Public Property SecurityPolicy() As POLICY
+        Get
+            Return _Policy
+        End Get
+        Set(ByVal value As POLICY)
+            _Policy = value
+        End Set
+    End Property
+
+End Class
\ No newline at end of file
diff --git a/Tween/Win32Api.vb b/Tween/Win32Api.vb
new file mode 100644 (file)
index 0000000..2e2980b
--- /dev/null
@@ -0,0 +1,467 @@
+Imports System.Runtime.InteropServices
+Imports System.Diagnostics
+
+Module Win32Api
+#Region "\90æ\8ds\8bN\93®\83v\83\8d\83Z\83X\82ð\83A\83N\83e\83B\83u\82É\82·\82é"
+    ' \8aO\95\94\83v\83\8d\83Z\83X\82Ì\83E\83B\83\93\83h\83E\82ð\8bN\93®\82·\82é
+    Public Sub WakeupWindow(ByVal hWnd As IntPtr)
+        ' \83\81\83C\83\93\81E\83E\83B\83\93\83h\83E\82ª\8dÅ\8f¬\89»\82³\82ê\82Ä\82¢\82ê\82Î\8c³\82É\96ß\82·
+        If IsIconic(hWnd) Then
+            ShowWindowAsync(hWnd, SW_RESTORE)
+        End If
+
+        ' \83\81\83C\83\93\81E\83E\83B\83\93\83h\83E\82ð\8dÅ\91O\96Ê\82É\95\\8e¦\82·\82é
+        SetForegroundWindow(hWnd)
+    End Sub
+
+    ' \8aO\95\94\83v\83\8d\83Z\83X\82Ì\83\81\83C\83\93\81E\83E\83B\83\93\83h\83E\82ð\8bN\93®\82·\82é\82½\82ß\82ÌWin32 API
+    <DllImport("user32.dll")> _
+    Private Function SetForegroundWindow( _
+        ByVal hWnd As IntPtr) As Boolean
+    End Function
+    ' \83E\83B\83\93\83h\83E\82Ì\95\\8e¦\8fó\91Ô\82ð\90Ý\92è
+    <DllImport("user32.dll")> _
+    Private Function ShowWindowAsync( _
+        ByVal hWnd As IntPtr, _
+        ByVal nCmdShow As Integer) As Boolean
+    End Function
+    ' \8ew\92è\82³\82ê\82½\83E\83B\83\93\83h\83E\82ª\8dÅ\8f¬\89»\81\83A\83C\83R\83\93\89»\81j\82³\82ê\82Ä\82¢\82é\82©\82Ç\82¤\82©\82ð\92²\82×\82é
+    <DllImport("user32.dll")> _
+    Private Function IsIconic( _
+        ByVal hWnd As IntPtr) As Boolean
+    End Function
+    ' ShowWindowAsync\8aÖ\90\94\82Ì\83p\83\89\83\81\81[\83^\82É\93n\82·\92è\8b`\92l
+    Private Const SW_RESTORE As Integer = 9 ' \89æ\96Ê\82ð\8c³\82Ì\91å\82«\82³\82É\96ß\82·
+
+    ' \8eÀ\8ds\92\86\82Ì\93¯\82\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83v\83\8d\83Z\83X\82ð\8eæ\93¾\82·\82é
+    Public Function GetPreviousProcess() As Process
+        Dim curProcess As Process = Process.GetCurrentProcess()
+        Dim allProcesses() As Process = Process.GetProcessesByName(curProcess.ProcessName)
+
+        Dim checkProcess As Process
+        For Each checkProcess In allProcesses
+            ' \8e©\95ª\8e©\90g\82Ì\83v\83\8d\83Z\83XID\82Í\96³\8e\8b\82·\82é
+            If checkProcess.Id <> curProcess.Id Then
+                ' \83v\83\8d\83Z\83X\82Ì\83t\83\8b\83p\83X\96¼\82ð\94ä\8ar\82µ\82Ä\93¯\82\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82©\8c\9f\8fØ
+                If String.Compare( _
+                        checkProcess.MainModule.FileName, _
+                        curProcess.MainModule.FileName, True) = 0 Then
+                    ' \93¯\82\83t\83\8b\83p\83X\96¼\82Ì\83v\83\8d\83Z\83X\82ð\8eæ\93¾
+                    Return checkProcess
+                End If
+            End If
+        Next
+
+        ' \93¯\82\83A\83v\83\8a\83P\81[\83V\83\87\83\93\82Ì\83v\83\8d\83Z\83X\82ª\8c©\82Â\82©\82ç\82È\82¢\81I  
+        Return Nothing
+    End Function
+#End Region
+#Region "\83^\83X\83N\83g\83\8c\83C\83A\83C\83R\83\93\82Ì\83N\83\8a\83b\83N"
+    ' \8ew\92è\82³\82ê\82½\83N\83\89\83X\96¼\82¨\82æ\82Ñ\83E\83B\83\93\83h\83E\96¼\82Æ\88ê\92v\82·\82é\83g\83b\83v\83\8c\83x\83\8b\83E\83B\83\93\83h\83E\82Ì\83n\83\93\83h\83\8b\82ð\8eæ\93¾\82µ\82Ü\82·
+    <DllImport("user32.dll")> _
+    Private Function FindWindow( _
+        ByVal lpClassName As String, _
+        ByVal lpWindowName As String) As IntPtr
+    End Function
+    ' \8ew\92è\82³\82ê\82½\95\8e\9a\97ñ\82Æ\88ê\92v\82·\82é\83N\83\89\83X\96¼\82Æ\83E\83B\83\93\83h\83E\96¼\95\8e\9a\97ñ\82ð\8e\9d\82Â\83E\83B\83\93\83h\83E\82Ì\83n\83\93\83h\83\8b\82ð\95Ô\82µ\82Ü\82·
+    <DllImport("user32.dll")> _
+    Private Function FindWindowEx( _
+        ByVal hWnd1 As IntPtr, _
+        ByVal hWnd2 As IntPtr, _
+        ByVal lpsz1 As String, _
+        ByVal lpsz2 As String) As IntPtr
+    End Function
+    ' \8ew\92è\82³\82ê\82½\83E\83B\83\93\83h\83E\82Ö\81A\8ew\92è\82³\82ê\82½\83\81\83b\83Z\81[\83W\82ð\91\97\90M\82µ\82Ü\82·
+    <DllImport("user32.dll")> _
+    Private Function SendMessage( _
+        ByVal hwnd As IntPtr, _
+        ByVal wMsg As Integer, _
+        ByVal wParam As IntPtr, _
+        ByVal lParam As IntPtr) As Integer
+    End Function
+    ' SendMessage\82Å\91\97\90M\82·\82é\83\81\83b\83Z\81[\83W
+    Private Enum Sm_Message As Integer
+        WM_USER = &H400                     '\83\86\81[\83U\81[\92è\8b`\83\81\83b\83Z\81[\83W
+        TB_GETBUTTON = WM_USER + 23         '\83c\81[\83\8b\83o\81[\82Ì\83{\83^\83\93\8eæ\93¾
+        TB_BUTTONCOUNT = WM_USER + 24       '\83c\81[\83\8b\83o\81[\82Ì\83{\83^\83\93\81i\83A\83C\83R\83\93\81j\90\94\8eæ\93¾
+        TB_GETBUTTONINFO = WM_USER + 65     '\83c\81[\83\8b\83o\81[\82Ì\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\8eæ\93¾
+    End Enum
+    ' \83c\81[\83\8b\83o\81[\83{\83^\83\93\8d\\91¢\91Ì
+    <StructLayout(LayoutKind.Sequential, Pack:=1)> _
+    Private Structure TBBUTTON
+        Public iBitmap As Integer
+        Public idCommand As IntPtr
+        Public fsState As Byte
+        Public fsStyle As Byte
+        Public bReserved0 As Byte
+        Public bReserved1 As Byte
+        Public dwData As Integer
+        Public iString As Integer
+    End Structure
+    ' \83c\81[\83\8b\83o\81[\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\8d\\91¢\91Ì
+    <StructLayout(LayoutKind.Sequential)> _
+    Private Structure TBBUTTONINFO
+        Public cbSize As Int32
+        Public dwMask As Int32
+        Public idCommand As Int32
+        Public iImage As Int32
+        Public fsState As Byte
+        Public fsStyle As Byte
+        Public cx As Short
+        Public lParam As IntPtr
+        Public pszText As IntPtr
+        Public cchText As Int32
+    End Structure
+    ' TBBUTTONINFO\82ÌlParam\82Å\83|\83C\83\93\83g\82³\82ê\82é\83A\83C\83R\83\93\8fî\95ñ\81iPostMessage\82Å\8eg\97p\81j
+    <StructLayout(LayoutKind.Sequential)> _
+    Private Structure TRAYNOTIFY
+        Public hWnd As IntPtr
+        Public uID As UInt32
+        Public uCallbackMessage As UInt32
+        Public dwDummy1 As UInt32
+        Public dwDummy2 As UInt32
+        Public hIcon As IntPtr
+    End Structure
+    ' TBBUTTONINFO\82É\8ew\92è\82·\82é\83}\83X\83N\8fî\95ñ
+    <Flags()> _
+    Private Enum ToolbarButtonMask As Int32
+        TBIF_COMMAND = &H20
+        TBIF_LPARAM = &H10
+        TBIF_TEXT = &H2
+    End Enum
+    ' \8ew\92è\82³\82ê\82½\83E\83B\83\93\83h\83E\82ð\8dì\90¬\82µ\82½\83X\83\8c\83b\83h\82Ì ID \82ð\8eæ\93¾\82µ\82Ü\82·
+    <DllImport("user32.dll", SetLastError:=True)> _
+    Private Function GetWindowThreadProcessId( _
+        ByVal hwnd As IntPtr, _
+        ByRef lpdwProcessId As Integer) As Integer
+    End Function
+    ' \8ew\92è\82µ\82½\83v\83\8d\83Z\83XID\82É\91Î\82·\82é\83v\83\8d\83Z\83X\83n\83\93\83h\83\8b\82ð\8eæ\93¾\82µ\82Ü\82·
+    <DllImport("kernel32.dll")> _
+    Private Function OpenProcess( _
+        ByVal dwDesiredAccess As ProcessAccess, _
+        <MarshalAs(UnmanagedType.Bool)> ByVal bInheritHandle As Boolean, _
+        ByVal dwProcessId As Integer) As IntPtr
+    End Function
+    ' OpenProcess\82Å\8ew\92è\82·\82é\83A\83N\83Z\83X\8c 
+    <Flags()> _
+    Private Enum ProcessAccess As Integer
+        ''' <summary>Specifies all possible access flags for the process object.</summary>
+        AllAccess = CreateThread Or DuplicateHandle Or QueryInformation Or SetInformation Or Terminate Or VMOperation Or VMRead Or VMWrite Or Synchronize
+        ''' <summary>Enables usage of the process handle in the CreateRemoteThread function to create a thread in the process.</summary>
+        CreateThread = &H2
+        ''' <summary>Enables usage of the process handle as either the source or target process in the DuplicateHandle function to duplicate a handle.</summary>
+        DuplicateHandle = &H40
+        ''' <summary>Enables usage of the process handle in the GetExitCodeProcess and GetPriorityClass functions to read information from the process object.</summary>
+        QueryInformation = &H400
+        ''' <summary>Enables usage of the process handle in the SetPriorityClass function to set the priority class of the process.</summary>
+        SetInformation = &H200
+        ''' <summary>Enables usage of the process handle in the TerminateProcess function to terminate the process.</summary>
+        Terminate = &H1
+        ''' <summary>Enables usage of the process handle in the VirtualProtectEx and WriteProcessMemory functions to modify the virtual memory of the process.</summary>
+        VMOperation = &H8
+        ''' <summary>Enables usage of the process handle in the ReadProcessMemory function to' read from the virtual memory of the process.</summary>
+        VMRead = &H10
+        ''' <summary>Enables usage of the process handle in the WriteProcessMemory function to write to the virtual memory of the process.</summary>
+        VMWrite = &H20
+        ''' <summary>Enables usage of the process handle in any of the wait functions to wait for the process to terminate.</summary>
+        Synchronize = &H100000
+    End Enum
+    ' \8ew\92è\82µ\82½\83v\83\8d\83Z\83X\82Ì\89¼\91z\83A\83h\83\8c\83X\8bó\8aÔ\82É\83\81\83\82\83\8a\97Ì\88æ\82ð\8am\95Û
+    <DllImport("kernel32.dll", SetLastError:=True, ExactSpelling:=True)> _
+    Private Function VirtualAllocEx( _
+        ByVal hProcess As IntPtr, _
+        ByVal lpAddress As IntPtr, _
+        ByVal dwSize As Integer, _
+        ByVal flAllocationType As AllocationTypes, _
+        ByVal flProtect As MemoryProtectionTypes) As IntPtr
+    End Function
+    ' \83A\83\8d\83P\81[\83g\8eí\97Þ
+    <Flags()> _
+    Private Enum AllocationTypes As UInteger
+        Commit = &H1000
+        Reserve = &H2000
+        Decommit = &H4000
+        Release = &H8000
+        Reset = &H80000
+        Physical = &H400000
+        TopDown = &H100000
+        WriteWatch = &H200000
+        LargePages = &H20000000
+    End Enum
+    ' \83A\83\8d\83P\81[\83g\82µ\82½\83\81\83\82\83\8a\82É\91Î\82·\82é\95Û\8cì\83\8c\83x\83\8b
+    <Flags()> _
+    Private Enum MemoryProtectionTypes As UInteger
+        Execute = &H10
+        ExecuteRead = &H20
+        ExecuteReadWrite = &H40
+        ExecuteWriteCopy = &H80
+        NoAccess = &H1
+        [ReadOnly] = &H2
+        ReadWrite = &H4
+        WriteCopy = &H8
+        GuardModifierflag = &H100
+        NoCacheModifierflag = &H200
+        WriteCombineModifierflag = &H400
+    End Enum
+    ' \83I\81[\83v\83\93\82µ\82Ä\82¢\82é\83J\81[\83l\83\8b\83I\83u\83W\83F\83N\83g\82Ì\83n\83\93\83h\83\8b\82ð\83N\83\8d\81[\83Y\82µ\82Ü\82·
+    <DllImport("kernel32.dll", SetLastError:=True)> _
+    Private Function CloseHandle(ByVal hHandle As IntPtr) As Boolean
+    End Function
+    ' \8ew\92è\82³\82ê\82½\83v\83\8d\83Z\83X\82Ì\89¼\91z\83A\83h\83\8c\83X\8bó\8aÔ\93à\82Ì\83\81\83\82\83\8a\97Ì\88æ\82ð\89ð\95ú\82Ü\82½\82Í\83R\83~\83b\83g\89ð\8f\9c\82µ\82Ü\82·
+    <DllImport("kernel32.dll")> _
+    Private Function VirtualFreeEx( _
+        ByVal hProcess As IntPtr, _
+        ByVal lpAddress As IntPtr, _
+        ByVal dwSize As Integer, _
+        ByVal dwFreeType As Integer) As Boolean
+    End Function
+    ' \83\81\83\82\83\8a\89ð\95ú\8eí\95Ê
+    <Flags()> _
+    Private Enum MemoryFreeTypes
+        Release = &H8000
+    End Enum
+    '\8ew\92è\82µ\82½\83v\83\8d\83Z\83X\82Ì\83\81\83\82\83\8a\97Ì\88æ\82É\83f\81[\83^\82ð\83R\83s\81[\82·\82é
+    <DllImport("kernel32.dll", SetLastError:=True)> _
+    Private Function WriteProcessMemory( _
+        ByVal hProcess As IntPtr, _
+        ByVal lpBaseAddress As IntPtr, _
+        ByRef lpBuffer As TBBUTTONINFO, _
+        ByVal nSize As Integer, _
+        <Out()> ByRef lpNumberOfBytesWritten As Integer) As Boolean
+    End Function
+    '\8ew\92è\82µ\82½\83v\83\8d\83Z\83X\82Ì\83\81\83\82\83\8a\97Ì\88æ\82Ì\83f\81[\83^\82ð\8cÄ\82Ñ\8fo\82µ\91¤\83v\83\8d\83Z\83X\82Ì\83o\83b\83t\83@\82É\83R\83s\81[\82·\82é
+    <DllImport("kernel32.dll", SetLastError:=True)> _
+    Private Function ReadProcessMemory( _
+        ByVal hProcess As IntPtr, _
+        ByVal lpBaseAddress As IntPtr, _
+        ByVal lpBuffer As IntPtr, _
+        ByVal iSize As Integer, _
+        ByRef lpNumberOfBytesRead As Integer) As Boolean
+    End Function
+    '\83\81\83b\83Z\81[\83W\82ð\83E\83B\83\93\83h\83E\82Ì\83\81\83b\83Z\81[\83\83L\83\85\81[\82É\92u\82«\81A\91Î\89\9e\82·\82é\83E\83B\83\93\83h\83E\82ª\83\81\83b\83Z\81[\83W\82ð\8f\88\97\9d\82·\82é\82Ì\82ð\91Ò\82½\82¸\82É\96ß\82è\82Ü\82·
+    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
+    Private Function PostMessage( _
+        ByVal hWnd As IntPtr, _
+        ByVal Msg As UInteger, _
+        ByVal wParam As UInt32, _
+        ByVal lParam As UInt32) As Boolean
+    End Function
+    'PostMessage\82Å\91\97\90M\82·\82é\83\81\83b\83Z\81[\83W
+    Private Enum PM_Message As UInt32
+        WM_LBUTTONDOWN = &H201      '\8d\83}\83E\83X\83{\83^\83\93\89\9f\82µ\89º\82°
+        WM_LBUTTONUP = &H202        '\8d\83}\83E\83X\83{\83^\83\93\97£\82µ
+    End Enum
+
+    '\83^\83X\83N\83g\83\8c\83C\83A\83C\83R\83\93\82Ì\83N\83\8a\83b\83N\8f\88\97\9d
+    Public Function ClickTasktrayIcon(ByVal tooltip As String) As Boolean
+        Const TRAY_WINDOW As String = "Shell_TrayWnd"
+        Const TRAY_NOTIFYWINDOW As String = "TrayNotifyWnd"
+        Const TRAY_PAGER As String = "SysPager"
+        Const TOOLBAR_CONTROL As String = "ToolbarWindow32"
+        '\83^\83X\83N\83o\81[\82Ì\83n\83\93\83h\83\8b\8eæ\93¾
+        Dim taskbarWin As IntPtr = FindWindow(TRAY_WINDOW, Nothing)
+        If taskbarWin.Equals(IntPtr.Zero) Then Return False
+        '\92Ê\92m\97Ì\88æ\82Ì\83n\83\93\83h\83\8b\8eæ\93¾
+        Dim trayWin As IntPtr = FindWindowEx(taskbarWin, IntPtr.Zero, TRAY_NOTIFYWINDOW, Nothing)
+        If trayWin.Equals(IntPtr.Zero) Then Return False
+        'SysPager\82Ì\97L\96³\8am\94F\81B\81iXP/2000\82ÍSysPager\82 \82è\81j
+        Dim tempWin As IntPtr = FindWindowEx(trayWin, IntPtr.Zero, TRAY_PAGER, Nothing)
+        If tempWin.Equals(IntPtr.Zero) Then tempWin = trayWin
+        '\83^\83X\83N\83g\83\8c\83C\82ª\83c\81[\83\8b\83o\81[\82Å\8fo\97\88\82Ä\82¢\82é\82©\8am\94F
+        '\81@\81¨\81@\83c\81[\83\8b\83o\81[\82Å\82È\82¯\82ê\82Î\8fI\97¹
+        Dim toolWin As IntPtr = FindWindowEx(tempWin, IntPtr.Zero, TOOLBAR_CONTROL, Nothing)
+        If toolWin.Equals(IntPtr.Zero) Then Return False
+        '\83^\83X\83N\83g\83\8c\83C\82Ì\83v\83\8d\83Z\83X\81iExplorer\81j\82ð\8eæ\93¾\82µ\81A\8aO\95\94\82©\82ç\8eQ\8fÆ\82·\82é\82½\82ß\82É\8aJ\82­
+        Dim expPid As Integer = 0
+        GetWindowThreadProcessId(toolWin, expPid)
+        Dim hProc As IntPtr = OpenProcess(ProcessAccess.VMOperation Or ProcessAccess.VMRead Or ProcessAccess.VMWrite, False, expPid)
+        If hProc.Equals(IntPtr.Zero) Then Return False
+
+        '\83v\83\8d\83Z\83X\82ð\95Â\82\82é\82½\82ß\82ÉTry-Finally
+        Try
+            Dim tbButtonLocal As New TBBUTTON   '\96{\83v\83\8d\83Z\83X\93à\82Ì\83^\83X\83N\83o\81[\83{\83^\83\93\8fî\95ñ\8dì\90¬\81i\83T\83C\83Y\93Á\92è\82Å\82Ì\82Ý\8eg\97p\81j
+            'Explorer\93à\82Ì\83^\83X\83N\83o\81[\83{\83^\83\93\8ai\94[\83\81\83\82\83\8a\8am\95Û
+            Dim ptbSysButton As IntPtr = VirtualAllocEx(hProc, IntPtr.Zero, Marshal.SizeOf(tbButtonLocal), AllocationTypes.Reserve Or AllocationTypes.Commit, MemoryProtectionTypes.ReadWrite)
+            If ptbSysButton.Equals(IntPtr.Zero) Then Return False '\83\81\83\82\83\8a\8am\95Û\8e¸\94s
+            Try
+                Dim tbButtonInfoLocal As New TBBUTTONINFO   '\96{\83v\83\8d\83Z\83X\93à\83c\81[\83\8b\83o\81[\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\8dì\90¬
+                'Explorer\93à\82Ì\83^\83X\83N\83o\81[\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\8ai\94[\83\81\83\82\83\8a\8am\95Û
+                Dim ptbSysInfo As IntPtr = VirtualAllocEx(hProc, IntPtr.Zero, Marshal.SizeOf(tbButtonInfoLocal), AllocationTypes.Reserve Or AllocationTypes.Commit, MemoryProtectionTypes.ReadWrite)
+                If ptbSysInfo.Equals(IntPtr.Zero) Then Return False '\83\81\83\82\83\8a\8am\95Û\8e¸\94s
+                Try
+                    Const titleSize As Integer = 256    'Tooltip\95\8e\9a\97ñ\92·
+                    Dim title As String = ""            'Tooltip\95\8e\9a\97ñ
+                    '\8b¤\97L\83\81\83\82\83\8a\82ÉTooltip\93Ç\8d\9e\83\81\83\82\83\8a\8am\95Û
+                    Dim pszTitle As IntPtr = Marshal.AllocCoTaskMem(titleSize)
+                    If pszTitle.Equals(IntPtr.Zero) Then Return False '\83\81\83\82\83\8a\8am\95Û\8e¸\94s
+                    Try
+                        'Explorer\93à\82ÉTooltip\93Ç\8d\9e\83\81\83\82\83\8a\8am\95Û
+                        Dim pszSysTitle As IntPtr = VirtualAllocEx(hProc, IntPtr.Zero, titleSize, AllocationTypes.Reserve Or AllocationTypes.Commit, MemoryProtectionTypes.ReadWrite)
+                        If pszSysTitle.Equals(IntPtr.Zero) Then Return False '\83\81\83\82\83\8a\8am\95Û\8e¸\94s
+                        Try
+                            '\92Ê\92m\97Ì\88æ\83{\83^\83\93\90\94\8eæ\93¾
+                            Dim iCount As Integer = SendMessage(toolWin, Sm_Message.TB_BUTTONCOUNT, New IntPtr(0), New IntPtr(0))
+                            '\8d\82©\82ç\8f\87\82É\8fî\95ñ\8eæ\93¾
+                            For i As Integer = 0 To iCount - 1
+                                Dim dwBytes As Integer = 0  '\93Ç\82Ý\8f\91\82«\83o\83C\83g\90\94
+                                Dim tbButtonLocal2 As TBBUTTON  '\83{\83^\83\93\8fî\95ñ
+                                Dim tbButtonInfoLocal2 As TBBUTTONINFO  '\83{\83^\83\93\8fÚ\8d×\8fî\95ñ
+                                '\8b¤\97L\83\81\83\82\83\8a\82É\83{\83^\83\93\8fî\95ñ\93Ç\8d\9e\83\81\83\82\83\8a\8am\95Û
+                                Dim ptrLocal As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(tbButtonLocal))
+                                If ptrLocal.Equals(IntPtr.Zero) Then Return False '\83\81\83\82\83\8a\8am\95Û\8e¸\94s
+                                Try
+                                    Marshal.StructureToPtr(tbButtonLocal, ptrLocal, True)   '\8b¤\97L\83\81\83\82\83\8a\8f\89\8aú\89»
+                                    '\83{\83^\83\93\8fî\95ñ\8eæ\93¾\81iidCommand\82ð\8eæ\93¾\82·\82é\82½\82ß\81j
+                                    SendMessage( _
+                                        toolWin, _
+                                        Sm_Message.TB_GETBUTTON, _
+                                        New IntPtr(i), _
+                                        ptbSysButton)
+                                    'Explorer\93à\82Ì\83\81\83\82\83\8a\82ð\8b¤\97L\83\81\83\82\83\8a\82É\93Ç\82Ý\8d\9e\82Ý
+                                    ReadProcessMemory( _
+                                        hProc, _
+                                        ptbSysButton, _
+                                        ptrLocal, _
+                                        Marshal.SizeOf(tbButtonLocal), _
+                                        dwBytes)
+                                    '\8b¤\97L\83\81\83\82\83\8a\82Ì\93à\97e\82ð\8d\\91¢\91Ì\82É\95Ï\8a·
+                                    tbButtonLocal2 = DirectCast( _
+                                                        Marshal.PtrToStructure( _
+                                                            ptrLocal, _
+                                                            GetType(TBBUTTON)), _
+                                                        TBBUTTON)
+                                Finally
+                                    Marshal.FreeCoTaskMem(ptrLocal) '\8b¤\97L\83\81\83\82\83\8a\89ð\95ú
+                                End Try
+
+                                '\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\82ð\8eæ\93¾\82·\82é\82½\82ß\82Ì\83}\83X\83N\93\99\82ð\90Ý\92è
+                                tbButtonInfoLocal.cbSize = Marshal.SizeOf(tbButtonInfoLocal)
+                                tbButtonInfoLocal.dwMask = ToolbarButtonMask.TBIF_COMMAND Or ToolbarButtonMask.TBIF_LPARAM Or ToolbarButtonMask.TBIF_TEXT
+                                tbButtonInfoLocal.pszText = pszSysTitle     'Tooltip\8f\91\82«\8d\9e\82Ý\90æ\97Ì\88æ
+                                tbButtonInfoLocal.cchText = titleSize
+                                '\83}\83X\83N\90Ý\92è\93\99\82ðExplorer\82Ì\83\81\83\82\83\8a\82Ö\8f\91\82«\8d\9e\82Ý
+                                WriteProcessMemory( _
+                                    hProc, _
+                                    ptbSysInfo, _
+                                    tbButtonInfoLocal, _
+                                    Marshal.SizeOf(tbButtonInfoLocal), _
+                                    dwBytes)
+                                '\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\8eæ\93¾
+                                SendMessage( _
+                                    toolWin, _
+                                    Sm_Message.TB_GETBUTTONINFO, _
+                                    tbButtonLocal2.idCommand, _
+                                    ptbSysInfo)
+                                '\8b¤\97L\83\81\83\82\83\8a\82É\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\82ð\93Ç\82Ý\8d\9e\82Þ\97Ì\88æ\8am\95Û
+                                Dim ptrInfo As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(tbButtonInfoLocal))
+                                If ptrInfo.Equals(IntPtr.Zero) Then Return False '\8b¤\97L\83\81\83\82\83\8a\8am\95Û\8e¸\94s
+                                Try
+                                    Marshal.StructureToPtr(tbButtonInfoLocal, ptrInfo, True)    '\8b¤\97L\83\81\83\82\83\8a\8f\89\8aú\89»
+                                    'Explorer\93à\82Ì\83\81\83\82\83\8a\82ð\8b¤\97L\83\81\83\82\83\8a\82É\93Ç\82Ý\8d\9e\82Ý
+                                    ReadProcessMemory( _
+                                        hProc, _
+                                        ptbSysInfo, _
+                                        ptrInfo, _
+                                        Marshal.SizeOf(tbButtonInfoLocal), _
+                                        dwBytes)
+                                    '\8b¤\97L\83\81\83\82\83\8a\82Ì\93à\97e\82ð\8d\\91¢\91Ì\82É\95Ï\8a·
+                                    tbButtonInfoLocal2 = DirectCast( _
+                                                            Marshal.PtrToStructure( _
+                                                                ptrInfo, _
+                                                                GetType(TBBUTTONINFO)), _
+                                                            TBBUTTONINFO)
+                                Finally
+                                    Marshal.FreeCoTaskMem(ptrInfo)  '\8b¤\97L\83\81\83\82\83\8a\89ð\95ú
+                                End Try
+                                'Tooltip\82Ì\93à\97e\82ðExplorer\93à\82Ì\83\81\83\82\83\8a\82©\82ç\8b¤\97L\83\81\83\82\83\8a\82Ö\93Ç\8d\9e
+                                ReadProcessMemory(hProc, pszSysTitle, pszTitle, titleSize, dwBytes)
+                                '\83\8d\81[\83J\83\8b\95Ï\90\94\82Ö\95Ï\8a·
+                                title = Marshal.PtrToStringAnsi(pszTitle, titleSize)
+
+                                'Tooltip\82ª\8ew\92è\95\8e\9a\97ñ\82ð\8aÜ\82ñ\82Å\82¢\82ê\82Î\83N\83\8a\83b\83N
+                                If title.Contains(tooltip) Then
+                                    'PostMessage\82Å\83N\83\8a\83b\83N\82ð\91\97\82é\82½\82ß\82É\81A\83{\83^\83\93\8fÚ\8d×\8fî\95ñ\82ÌlParam\82Å\83|\83C\83\93\83g\82³\82ê\82Ä\82¢\82éTRAYNOTIFY\8fî\95ñ\82ª\95K\97v
+                                    Dim tNotify As New TRAYNOTIFY
+                                    Dim tNotify2 As TRAYNOTIFY
+                                    '\8b¤\97L\83\81\83\82\83\8a\8am\95Û
+                                    Dim ptNotify As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(tNotify))
+                                    If ptNotify.Equals(IntPtr.Zero) Then Return False '\83\81\83\82\83\8a\8am\95Û\8e¸\94s
+                                    Try
+                                        Marshal.StructureToPtr(tNotify, ptNotify, True) '\8f\89\8aú\89»
+                                        'lParam\82Ì\83\81\83\82\83\8a\82ð\93Ç\8d\9e
+                                        ReadProcessMemory( _
+                                            hProc, _
+                                            tbButtonInfoLocal2.lParam, _
+                                            ptNotify, _
+                                            Marshal.SizeOf(tNotify), _
+                                            dwBytes)
+                                        '\8d\\91¢\91Ì\82Ö\95Ï\8a·
+                                        tNotify2 = DirectCast( _
+                                                        Marshal.PtrToStructure( _
+                                                            ptNotify, _
+                                                            GetType(TRAYNOTIFY)), _
+                                                        TRAYNOTIFY)
+                                    Finally
+                                        Marshal.FreeCoTaskMem(ptNotify) '\8b¤\97L\83\81\83\82\83\8a\89ð\95ú
+                                    End Try
+                                    '\83N\83\8a\83b\83N\82·\82é\82½\82ß\82É\82Í\92Ê\92m\97Ì\88æ\82ª\83A\83N\83e\83B\83u\82Å\82È\82¯\82ê\82Î\82È\82ç\82È\82¢
+                                    SetForegroundWindow(tNotify2.hWnd)
+                                    '\8d\83N\83\8a\83b\83N
+                                    PostMessage(tNotify2.hWnd, tNotify2.uCallbackMessage, tNotify2.uID, PM_Message.WM_LBUTTONDOWN)
+                                    PostMessage(tNotify2.hWnd, tNotify2.uCallbackMessage, tNotify2.uID, PM_Message.WM_LBUTTONUP)
+                                    Return True
+                                End If
+                            Next
+                            Return False    '\8aY\93\96\82È\82µ
+                        Finally
+                            VirtualFreeEx(hProc, pszSysTitle, titleSize, MemoryFreeTypes.Release)   '\83\81\83\82\83\8a\89ð\95ú
+                        End Try
+                    Finally
+                        Marshal.FreeCoTaskMem(pszTitle)     '\8b¤\97L\83\81\83\82\83\8a\89ð\95ú
+                    End Try
+                Finally
+                    VirtualFreeEx(hProc, ptbSysInfo, Marshal.SizeOf(tbButtonInfoLocal), MemoryFreeTypes.Release)    '\83\81\83\82\83\8a\89ð\95ú
+                End Try
+            Finally
+                VirtualFreeEx(hProc, ptbSysButton, Marshal.SizeOf(tbButtonLocal), MemoryFreeTypes.Release)      '\83\81\83\82\83\8a\89ð\95ú
+            End Try
+        Finally
+            CloseHandle(hProc)  'Explorer\82Ì\83v\83\8d\83Z\83X\95Â\82\82é
+        End Try
+    End Function
+#End Region
+
+    '\89æ\96Ê\82ð\83u\83\8a\83\93\83N\82·\82é\82½\82ß\82ÌWin32API\81B\8bN\93®\8e\9e\82É10\83y\81[\83W\93Ç\82Ý\8eæ\82è\82²\82Æ\82É\8cp\91±\8am\94F\83\81\83b\83Z\81[\83W\82ð\95\\8e¦\82·\82é\8dÛ\82Ì\92Ê\92m\8b­\92²\97p
+    <DllImport("user32.dll")> _
+    Public Function FlashWindow( _
+        ByVal hwnd As Integer, _
+        ByVal bInvert As Integer) As Integer
+    End Function
+
+    <DllImport("user32.dll")> _
+    Public Function ValidateRect( _
+        ByVal hwnd As IntPtr, _
+        ByVal rect As IntPtr) As Boolean
+    End Function
+
+#Region "\83X\83N\83\8a\81[\83\93\83Z\81[\83o\81[\8bN\93®\92\86\82©\94»\92è"
+    <DllImport("user32", CharSet:=CharSet.Auto)> _
+    Private Function SystemParametersInfo( _
+                ByVal intAction As Integer, _
+                ByVal intParam As Integer, _
+                ByRef bParam As Boolean, _
+                ByVal intWinIniFlag As Integer) As Integer
+        ' returns non-zero value if function succeeds
+    End Function
+    '\83X\83N\83\8a\81[\83\93\83Z\81[\83o\81[\82ª\8bN\93®\92\86\82©\82ð\8eæ\93¾\82·\82é\92è\90\94
+    Private Const SPI_GETSCREENSAVERRUNNING As Integer = &H61
+
+    Public Function IsScreenSaverRunning() As Boolean
+        Dim ret As Integer = 0
+        Dim isRunning As Boolean = False
+
+        ret = SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, isRunning, 0)
+        Return isRunning
+    End Function
+#End Region
+End Module
diff --git a/Tween/app.config b/Tween/app.config
new file mode 100644 (file)
index 0000000..fe44c4f
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <configSections>
+        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
+            <section name="Tween.TweenSettings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+        </sectionGroup>
+    </configSections>
+    <system.diagnostics>
+        <sources>
+            <!-- このセクションでは、My.Application.Log のログ構成を定義します。 -->
+            <source name="DefaultSource" switchName="DefaultSwitch">
+                <listeners>
+                    <add name="FileLog"/>
+                    <!-- アプリケーション イベント ログに書き込むには、以下のセクションのコメントを解除します -->
+                    <!--<add name="EventLog"/>-->
+                </listeners>
+            </source>
+        </sources>
+        <switches>
+            <add name="DefaultSwitch" value="Information" />
+        </switches>
+        <sharedListeners>
+            <add name="FileLog"
+                 type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+                 initializeData="FileLogWriter"/>
+            <!-- アプリケーション イベント ログに書き込むには、以下のセクションのコメントを解除して、APPLICATION_NAME をアプリケーション名に置き換えます -->
+            <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
+        </sharedListeners>
+    </system.diagnostics>
+</configuration>