├── .gitattributes
├── .gitignore
├── README.md
├── Res
├── IMG_5594.jpg
├── googlelogo_color_272x92dp.bmp
├── icons8-Open-32.png
├── pencil.ico
├── teensy.exe
└── tpp_main.jpg
├── SplaTU.sln
└── SplaTU
├── AboutBox.Designer.cs
├── AboutBox.aa.resx
├── AboutBox.cs
├── AboutBox.resx
├── App.config
├── Program.cs
├── Properties
├── AssemblyInfo.cs
├── Resources.Designer.cs
├── Resources.resx
├── Settings.Designer.cs
└── Settings.settings
├── Resources
├── Strings.Designer.cs
├── Strings.resx
├── Strings.zh.resx
├── back1.png
├── ico.png
├── icons8-Open-32.png
├── icons8-PreviewPane-32.png
├── icons8-Resume Button-32.png
├── mii.png
├── swBack.PNG
├── tile1.bmp
├── tile_B.bmp
├── tile_B_2.bmp
├── tile_G.bmp
├── tile_G_2.bmp
├── tile_O.bmp
├── tile_O_2.bmp
├── tile_P.bmp
├── tile_P_2.bmp
├── tile_R.bmp
├── tile_R_2.bmp
├── tpp_core.png
└── tpp_main.png
├── SplaTU.csproj
├── SplaTu.Designer.cs
├── SplaTu.cs
├── SplaTu.en.resx
├── SplaTu.resx
├── SplaTu.zh.resx
├── pencil.ico
└── teensy.exe
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | [Xx]64/
19 | [Xx]86/
20 | [Bb]uild/
21 | bld/
22 | [Bb]in/
23 | [Oo]bj/
24 |
25 | # Visual Studio 2015 cache/options directory
26 | .vs/
27 | # Uncomment if you have tasks that create the project's static files in wwwroot
28 | #wwwroot/
29 |
30 | # MSTest test Results
31 | [Tt]est[Rr]esult*/
32 | [Bb]uild[Ll]og.*
33 |
34 | # NUNIT
35 | *.VisualState.xml
36 | TestResult.xml
37 |
38 | # Build Results of an ATL Project
39 | [Dd]ebugPS/
40 | [Rr]eleasePS/
41 | dlldata.c
42 |
43 | # DNX
44 | project.lock.json
45 | artifacts/
46 |
47 | *_i.c
48 | *_p.c
49 | *_i.h
50 | *.ilk
51 | *.meta
52 | *.obj
53 | *.pch
54 | *.pdb
55 | *.pgc
56 | *.pgd
57 | *.rsp
58 | *.sbr
59 | *.tlb
60 | *.tli
61 | *.tlh
62 | *.tmp
63 | *.tmp_proj
64 | *.log
65 | *.vspscc
66 | *.vssscc
67 | .builds
68 | *.pidb
69 | *.svclog
70 | *.scc
71 |
72 | # Chutzpah Test files
73 | _Chutzpah*
74 |
75 | # Visual C++ cache files
76 | ipch/
77 | *.aps
78 | *.ncb
79 | *.opendb
80 | *.opensdf
81 | *.sdf
82 | *.cachefile
83 | *.VC.db
84 |
85 | # Visual Studio profiler
86 | *.psess
87 | *.vsp
88 | *.vspx
89 | *.sap
90 |
91 | # TFS 2012 Local Workspace
92 | $tf/
93 |
94 | # Guidance Automation Toolkit
95 | *.gpState
96 |
97 | # ReSharper is a .NET coding add-in
98 | _ReSharper*/
99 | *.[Rr]e[Ss]harper
100 | *.DotSettings.user
101 |
102 | # JustCode is a .NET coding add-in
103 | .JustCode
104 |
105 | # TeamCity is a build add-in
106 | _TeamCity*
107 |
108 | # DotCover is a Code Coverage Tool
109 | *.dotCover
110 |
111 | # NCrunch
112 | _NCrunch_*
113 | .*crunch*.local.xml
114 | nCrunchTemp_*
115 |
116 | # MightyMoose
117 | *.mm.*
118 | AutoTest.Net/
119 |
120 | # Web workbench (sass)
121 | .sass-cache/
122 |
123 | # Installshield output folder
124 | [Ee]xpress/
125 |
126 | # DocProject is a documentation generator add-in
127 | DocProject/buildhelp/
128 | DocProject/Help/*.HxT
129 | DocProject/Help/*.HxC
130 | DocProject/Help/*.hhc
131 | DocProject/Help/*.hhk
132 | DocProject/Help/*.hhp
133 | DocProject/Help/Html2
134 | DocProject/Help/html
135 |
136 | # Click-Once directory
137 | publish/
138 |
139 | # Publish Web Output
140 | *.[Pp]ublish.xml
141 | *.azurePubxml
142 |
143 | # TODO: Un-comment the next line if you do not want to checkin
144 | # your web deploy settings because they may include unencrypted
145 | # passwords
146 | #*.pubxml
147 | *.publishproj
148 |
149 | # NuGet Packages
150 | *.nupkg
151 | # The packages folder can be ignored because of Package Restore
152 | **/packages/*
153 | # except build/, which is used as an MSBuild target.
154 | !**/packages/build/
155 | # Uncomment if necessary however generally it will be regenerated when needed
156 | #!**/packages/repositories.config
157 | # NuGet v3's project.json files produces more ignoreable files
158 | *.nuget.props
159 | *.nuget.targets
160 |
161 | # Microsoft Azure Build Output
162 | csx/
163 | *.build.csdef
164 |
165 | # Microsoft Azure Emulator
166 | ecf/
167 | rcf/
168 |
169 | # Windows Store app package directory
170 | AppPackages/
171 | BundleArtifacts/
172 |
173 | # Visual Studio cache files
174 | # files ending in .cache can be ignored
175 | *.[Cc]ache
176 | # but keep track of directories ending in .cache
177 | !*.[Cc]ache/
178 |
179 | # Others
180 | ClientBin/
181 | [Ss]tyle[Cc]op.*
182 | ~$*
183 | *~
184 | *.dbmdl
185 | *.dbproj.schemaview
186 | *.pfx
187 | *.publishsettings
188 | node_modules/
189 | orleans.codegen.cs
190 |
191 | # RIA/Silverlight projects
192 | Generated_Code/
193 |
194 | # Backup & report files from converting an old project file
195 | # to a newer Visual Studio version. Backup files are not needed,
196 | # because we have git ;-)
197 | _UpgradeReport_Files/
198 | Backup*/
199 | UpgradeLog*.XML
200 | UpgradeLog*.htm
201 |
202 | # SQL Server files
203 | *.mdf
204 | *.ldf
205 |
206 | # Business Intelligence projects
207 | *.rdl.data
208 | *.bim.layout
209 | *.bim_*.settings
210 |
211 | # Microsoft Fakes
212 | FakesAssemblies/
213 |
214 | # GhostDoc plugin setting file
215 | *.GhostDoc.xml
216 |
217 | # Node.js Tools for Visual Studio
218 | .ntvs_analysis.dat
219 |
220 | # Visual Studio 6 build log
221 | *.plg
222 |
223 | # Visual Studio 6 workspace options file
224 | *.opt
225 |
226 | # Visual Studio LightSwitch build output
227 | **/*.HTMLClient/GeneratedArtifacts
228 | **/*.DesktopClient/GeneratedArtifacts
229 | **/*.DesktopClient/ModelManifest.xml
230 | **/*.Server/GeneratedArtifacts
231 | **/*.Server/ModelManifest.xml
232 | _Pvt_Extensions
233 |
234 | # LightSwitch generated files
235 | GeneratedArtifacts/
236 | ModelManifest.xml
237 |
238 | # Paket dependency manager
239 | .paket/paket.exe
240 |
241 | # FAKE - F# Make
242 | .fake/
243 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SplaTu
2 | An image conversion tool for Splatoon2/3 posts
3 |
4 | This project was based on shinyquagsire23's Switch-FightStick Splatoon 2 Posts Project: github.com/shinyquagsire23/Switch-Fightstick
5 | The application SplaTu contains an image converter, which converts any image to a 320x120 monochrome bitmap, then converts the bitmap to image.c and eventually use shinyquagsire23's project to generate Joystick.h
6 |
7 | Update 2022-09-20 Version 1.1:
8 | The updated image converter now works with newer version of Switch-FightStick that speeded up the printing speed.
9 | To support Splatoon3, need to import https://github.com/tarxf/Splatoon-3-Post-Printer/ instead of https://github.com/shinyquagsire23/Switch-Fightstick and put the files under Switch-Fightstick folder.
10 |
11 | Folder Structure:
12 |
13 | SplaTu|
14 | |SplaTu.exe
15 | |LUFA
16 | |LUFA
17 | |....
18 | |Switch-Fightstick
19 | |....
20 |
21 | In \LUFA\LUFA\Drivers\USB\Core\Device.h Line 134, update **const uint8_t wIndex** to **const uint16_t wIndex**
22 |
23 |
24 |
25 | Download: https://pan.baidu.com/s/1J8UiuhLlpKFEzNDKyLvKQg?pwd=eniy
26 | Download password: eniy
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Res/IMG_5594.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/Res/IMG_5594.jpg
--------------------------------------------------------------------------------
/Res/googlelogo_color_272x92dp.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/Res/googlelogo_color_272x92dp.bmp
--------------------------------------------------------------------------------
/Res/icons8-Open-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/Res/icons8-Open-32.png
--------------------------------------------------------------------------------
/Res/pencil.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/Res/pencil.ico
--------------------------------------------------------------------------------
/Res/teensy.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/Res/teensy.exe
--------------------------------------------------------------------------------
/Res/tpp_main.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/Res/tpp_main.jpg
--------------------------------------------------------------------------------
/SplaTU.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SplaTU", "SplaTU\SplaTU.csproj", "{8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Debug|x64 = Debug|x64
12 | Release|Any CPU = Release|Any CPU
13 | Release|x64 = Release|x64
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
17 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Debug|Any CPU.Build.0 = Debug|Any CPU
18 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Debug|x64.ActiveCfg = Debug|x64
19 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Debug|x64.Build.0 = Debug|x64
20 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Release|Any CPU.ActiveCfg = Release|Any CPU
21 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Release|Any CPU.Build.0 = Release|Any CPU
22 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Release|x64.ActiveCfg = Release|x64
23 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}.Release|x64.Build.0 = Release|x64
24 | EndGlobalSection
25 | GlobalSection(SolutionProperties) = preSolution
26 | HideSolutionNode = FALSE
27 | EndGlobalSection
28 | EndGlobal
29 |
--------------------------------------------------------------------------------
/SplaTU/AboutBox.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace SplaTU
2 | {
3 | partial class AboutBox
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AboutBox));
32 | this.txtAbout = new System.Windows.Forms.RichTextBox();
33 | this.label1 = new System.Windows.Forms.Label();
34 | this.pictureBox1 = new System.Windows.Forms.PictureBox();
35 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
36 | this.SuspendLayout();
37 | //
38 | // txtAbout
39 | //
40 | resources.ApplyResources(this.txtAbout, "txtAbout");
41 | this.txtAbout.Name = "txtAbout";
42 | //
43 | // label1
44 | //
45 | resources.ApplyResources(this.label1, "label1");
46 | this.label1.BackColor = System.Drawing.Color.Transparent;
47 | this.label1.ForeColor = System.Drawing.SystemColors.Control;
48 | this.label1.Name = "label1";
49 | //
50 | // pictureBox1
51 | //
52 | this.pictureBox1.ErrorImage = global::SplaTU.Properties.Resources.swBack;
53 | this.pictureBox1.Image = global::SplaTU.Properties.Resources.mii;
54 | this.pictureBox1.InitialImage = global::SplaTU.Properties.Resources.mii;
55 | resources.ApplyResources(this.pictureBox1, "pictureBox1");
56 | this.pictureBox1.Name = "pictureBox1";
57 | this.pictureBox1.TabStop = false;
58 | //
59 | // AboutBox
60 | //
61 | resources.ApplyResources(this, "$this");
62 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
63 | this.BackgroundImage = global::SplaTU.Properties.Resources.swBack;
64 | this.Controls.Add(this.pictureBox1);
65 | this.Controls.Add(this.label1);
66 | this.Controls.Add(this.txtAbout);
67 | this.MaximizeBox = false;
68 | this.MinimizeBox = false;
69 | this.Name = "AboutBox";
70 | this.ShowIcon = false;
71 | this.ShowInTaskbar = false;
72 | ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
73 | this.ResumeLayout(false);
74 | this.PerformLayout();
75 |
76 | }
77 |
78 | #endregion
79 |
80 | private System.Windows.Forms.RichTextBox txtAbout;
81 | private System.Windows.Forms.Label label1;
82 | private System.Windows.Forms.PictureBox pictureBox1;
83 | }
84 | }
--------------------------------------------------------------------------------
/SplaTU/AboutBox.aa.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | 384, 361
123 |
124 |
125 | 400, 400
126 |
127 |
--------------------------------------------------------------------------------
/SplaTU/AboutBox.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 |
11 | namespace SplaTU
12 | {
13 | public partial class AboutBox : Form
14 | {
15 | public AboutBox()
16 | {
17 | InitializeComponent();
18 |
19 |
20 | txtAbout.Text = "SplaTu v1.0 by Onion \r\n\r\nSpecial Thanks:\r\nMax Thomas, author of Switch-Fightstick for Splatoon 2 Posts: https://github.com/shinyquagsire23/Switch-Fightstick \r\n \r\nSome icons provided by: icons8.com";
21 |
22 |
23 |
24 |
25 |
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/SplaTU/AboutBox.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | 12, 138
123 |
124 |
125 | 360, 194
126 |
127 |
128 |
129 | 0
130 |
131 |
132 |
133 |
134 |
135 | txtAbout
136 |
137 |
138 | System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
139 |
140 |
141 | $this
142 |
143 |
144 | 2
145 |
146 |
147 | True
148 |
149 |
150 | Microsoft YaHei, 10.5pt
151 |
152 |
153 | 136, 30
154 |
155 |
156 | 163, 20
157 |
158 |
159 | 1
160 |
161 |
162 | Sina Weibo: @Onion酱
163 |
164 |
165 | label1
166 |
167 |
168 | System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
169 |
170 |
171 | $this
172 |
173 |
174 | 1
175 |
176 |
177 | 12, 13
178 |
179 |
180 |
181 | 0, 0, 0, 0
182 |
183 |
184 | 100, 100
185 |
186 |
187 | Zoom
188 |
189 |
190 | 2
191 |
192 |
193 | pictureBox1
194 |
195 |
196 | System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
197 |
198 |
199 | $this
200 |
201 |
202 | 0
203 |
204 |
205 | True
206 |
207 |
208 | 6, 13
209 |
210 |
211 | 384, 348
212 |
213 |
214 | 400, 387
215 |
216 |
217 | About
218 |
219 |
220 | AboutBox
221 |
222 |
223 | System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
224 |
225 |
--------------------------------------------------------------------------------
/SplaTU/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | C:\
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/SplaTU/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using System.Windows.Forms;
6 |
7 | namespace SplaTU
8 | {
9 | static class Program
10 | {
11 | ///
12 | /// The main entry point for the application.
13 | ///
14 | [STAThread]
15 | static void Main()
16 | {
17 | Application.EnableVisualStyles();
18 | Application.SetCompatibleTextRenderingDefault(false);
19 | Application.Run(new SplaTU());
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/SplaTU/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SplaTu")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SplaTu")]
13 | [assembly: AssemblyCopyright("Copyright © SplatOnion 2017 - 2022")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("8fc5fd77-edaa-4daf-9135-d7e97fcde725")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.1.0.0")]
36 | [assembly: AssemblyFileVersion("1.1.0.0")]
37 |
--------------------------------------------------------------------------------
/SplaTU/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SplaTU.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SplaTU.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized resource of type System.Drawing.Bitmap.
65 | ///
66 | internal static System.Drawing.Bitmap icons8_Open_32 {
67 | get {
68 | object obj = ResourceManager.GetObject("icons8_Open_32", resourceCulture);
69 | return ((System.Drawing.Bitmap)(obj));
70 | }
71 | }
72 |
73 | ///
74 | /// Looks up a localized resource of type System.Drawing.Bitmap.
75 | ///
76 | internal static System.Drawing.Bitmap icons8_PreviewPane_32 {
77 | get {
78 | object obj = ResourceManager.GetObject("icons8_PreviewPane_32", resourceCulture);
79 | return ((System.Drawing.Bitmap)(obj));
80 | }
81 | }
82 |
83 | ///
84 | /// Looks up a localized resource of type System.Drawing.Bitmap.
85 | ///
86 | internal static System.Drawing.Bitmap icons8_Resume_Button_32 {
87 | get {
88 | object obj = ResourceManager.GetObject("icons8_Resume Button_32", resourceCulture);
89 | return ((System.Drawing.Bitmap)(obj));
90 | }
91 | }
92 |
93 | ///
94 | /// Looks up a localized resource of type System.Drawing.Bitmap.
95 | ///
96 | internal static System.Drawing.Bitmap mii {
97 | get {
98 | object obj = ResourceManager.GetObject("mii", resourceCulture);
99 | return ((System.Drawing.Bitmap)(obj));
100 | }
101 | }
102 |
103 | ///
104 | /// Looks up a localized resource of type System.Drawing.Bitmap.
105 | ///
106 | internal static System.Drawing.Bitmap swBack {
107 | get {
108 | object obj = ResourceManager.GetObject("swBack", resourceCulture);
109 | return ((System.Drawing.Bitmap)(obj));
110 | }
111 | }
112 |
113 | ///
114 | /// Looks up a localized resource of type System.Drawing.Bitmap.
115 | ///
116 | internal static System.Drawing.Bitmap tile_B {
117 | get {
118 | object obj = ResourceManager.GetObject("tile_B", resourceCulture);
119 | return ((System.Drawing.Bitmap)(obj));
120 | }
121 | }
122 |
123 | ///
124 | /// Looks up a localized resource of type System.Drawing.Bitmap.
125 | ///
126 | internal static System.Drawing.Bitmap tile_B_2 {
127 | get {
128 | object obj = ResourceManager.GetObject("tile_B_2", resourceCulture);
129 | return ((System.Drawing.Bitmap)(obj));
130 | }
131 | }
132 |
133 | ///
134 | /// Looks up a localized resource of type System.Drawing.Bitmap.
135 | ///
136 | internal static System.Drawing.Bitmap tile_G {
137 | get {
138 | object obj = ResourceManager.GetObject("tile_G", resourceCulture);
139 | return ((System.Drawing.Bitmap)(obj));
140 | }
141 | }
142 |
143 | ///
144 | /// Looks up a localized resource of type System.Drawing.Bitmap.
145 | ///
146 | internal static System.Drawing.Bitmap tile_O {
147 | get {
148 | object obj = ResourceManager.GetObject("tile_O", resourceCulture);
149 | return ((System.Drawing.Bitmap)(obj));
150 | }
151 | }
152 |
153 | ///
154 | /// Looks up a localized resource of type System.Drawing.Bitmap.
155 | ///
156 | internal static System.Drawing.Bitmap tile_P {
157 | get {
158 | object obj = ResourceManager.GetObject("tile_P", resourceCulture);
159 | return ((System.Drawing.Bitmap)(obj));
160 | }
161 | }
162 |
163 | ///
164 | /// Looks up a localized resource of type System.Drawing.Bitmap.
165 | ///
166 | internal static System.Drawing.Bitmap tile_P_2 {
167 | get {
168 | object obj = ResourceManager.GetObject("tile_P_2", resourceCulture);
169 | return ((System.Drawing.Bitmap)(obj));
170 | }
171 | }
172 |
173 | ///
174 | /// Looks up a localized resource of type System.Drawing.Bitmap.
175 | ///
176 | internal static System.Drawing.Bitmap tile_R {
177 | get {
178 | object obj = ResourceManager.GetObject("tile_R", resourceCulture);
179 | return ((System.Drawing.Bitmap)(obj));
180 | }
181 | }
182 |
183 | ///
184 | /// Looks up a localized resource of type System.Drawing.Bitmap.
185 | ///
186 | internal static System.Drawing.Bitmap tile1 {
187 | get {
188 | object obj = ResourceManager.GetObject("tile1", resourceCulture);
189 | return ((System.Drawing.Bitmap)(obj));
190 | }
191 | }
192 |
193 | ///
194 | /// Looks up a localized resource of type System.Drawing.Bitmap.
195 | ///
196 | internal static System.Drawing.Bitmap tpp_core {
197 | get {
198 | object obj = ResourceManager.GetObject("tpp_core", resourceCulture);
199 | return ((System.Drawing.Bitmap)(obj));
200 | }
201 | }
202 |
203 | ///
204 | /// Looks up a localized resource of type System.Drawing.Bitmap.
205 | ///
206 | internal static System.Drawing.Bitmap tpp_main {
207 | get {
208 | object obj = ResourceManager.GetObject("tpp_main", resourceCulture);
209 | return ((System.Drawing.Bitmap)(obj));
210 | }
211 | }
212 | }
213 | }
214 |
--------------------------------------------------------------------------------
/SplaTU/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\tile_P_2.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 | ..\Resources\tpp_main.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
126 |
127 |
128 | ..\Resources\tile_B_2.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
129 |
130 |
131 | ..\Resources\tile_G.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
132 |
133 |
134 | ..\Resources\tile1.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
135 |
136 |
137 | ..\Resources\icons8-Open-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
138 |
139 |
140 | ..\Resources\mii.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
141 |
142 |
143 | ..\Resources\icons8-Resume Button-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
144 |
145 |
146 | ..\Resources\tile_R.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
147 |
148 |
149 | ..\Resources\tile_B.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
150 |
151 |
152 | ..\Resources\icons8-PreviewPane-32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
153 |
154 |
155 | ..\Resources\tile_O.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
156 |
157 |
158 | ..\Resources\swBack.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
159 |
160 |
161 | ..\Resources\tile_P.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
162 |
163 |
164 | ..\Resources\tpp_core.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
165 |
166 |
--------------------------------------------------------------------------------
/SplaTU/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SplaTU.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.0.3.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 |
26 | [global::System.Configuration.UserScopedSettingAttribute()]
27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28 | [global::System.Configuration.DefaultSettingValueAttribute("C:\\")]
29 | public string setting_last_path {
30 | get {
31 | return ((string)(this["setting_last_path"]));
32 | }
33 | set {
34 | this["setting_last_path"] = value;
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/SplaTU/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | C:\
7 |
8 |
9 |
--------------------------------------------------------------------------------
/SplaTU/Resources/Strings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SplaTU.Resources {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Strings {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Strings() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SplaTU.Resources.Strings", typeof(Strings).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized string similar to Hex file has been generated to:.
65 | ///
66 | internal static string str_FileGen {
67 | get {
68 | return ResourceManager.GetString("str_FileGen", resourceCulture);
69 | }
70 | }
71 |
72 | ///
73 | /// Looks up a localized string similar to Load Image.
74 | ///
75 | internal static string str_LoadImg {
76 | get {
77 | return ResourceManager.GetString("str_LoadImg", resourceCulture);
78 | }
79 | }
80 |
81 | ///
82 | /// Looks up a localized string similar to Image data is null. Please selet a file and click preview..
83 | ///
84 | internal static string str_SelError {
85 | get {
86 | return ResourceManager.GetString("str_SelError", resourceCulture);
87 | }
88 | }
89 |
90 | ///
91 | /// Looks up a localized string similar to Please select an image style..
92 | ///
93 | internal static string str_SelType {
94 | get {
95 | return ResourceManager.GetString("str_SelType", resourceCulture);
96 | }
97 | }
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/SplaTU/Resources/Strings.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Hex file has been generated to:
122 |
123 |
124 | Load Image
125 |
126 |
127 | Image data is null. Please selet a file and click preview.
128 |
129 |
130 | Please select an image style.
131 |
132 |
--------------------------------------------------------------------------------
/SplaTU/Resources/Strings.zh.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | 输出文件已生成:
122 |
123 |
124 | 选择图片
125 |
126 |
127 | 图像数据为空, 请先选择图片然后点击预览
128 |
129 |
130 | 请先选择一种样式
131 |
132 |
--------------------------------------------------------------------------------
/SplaTU/Resources/back1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/back1.png
--------------------------------------------------------------------------------
/SplaTU/Resources/ico.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/ico.png
--------------------------------------------------------------------------------
/SplaTU/Resources/icons8-Open-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/icons8-Open-32.png
--------------------------------------------------------------------------------
/SplaTU/Resources/icons8-PreviewPane-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/icons8-PreviewPane-32.png
--------------------------------------------------------------------------------
/SplaTU/Resources/icons8-Resume Button-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/icons8-Resume Button-32.png
--------------------------------------------------------------------------------
/SplaTU/Resources/mii.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/mii.png
--------------------------------------------------------------------------------
/SplaTU/Resources/swBack.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/swBack.PNG
--------------------------------------------------------------------------------
/SplaTU/Resources/tile1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile1.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_B.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_B.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_B_2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_B_2.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_G.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_G.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_G_2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_G_2.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_O.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_O.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_O_2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_O_2.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_P.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_P.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_P_2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_P_2.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_R.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_R.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tile_R_2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tile_R_2.bmp
--------------------------------------------------------------------------------
/SplaTU/Resources/tpp_core.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tpp_core.png
--------------------------------------------------------------------------------
/SplaTU/Resources/tpp_main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/Resources/tpp_main.png
--------------------------------------------------------------------------------
/SplaTU/SplaTU.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {8FC5FD77-EDAA-4DAF-9135-D7E97FCDE725}
8 | WinExe
9 | Properties
10 | SplaTU
11 | SplaTu
12 | v4.8
13 | 512
14 | true
15 |
16 |
17 |
18 | AnyCPU
19 | true
20 | full
21 | false
22 | bin\Debug\
23 | DEBUG;TRACE
24 | prompt
25 | 4
26 |
27 |
28 | AnyCPU
29 | pdbonly
30 | true
31 | bin\Release\
32 | TRACE
33 | prompt
34 | 4
35 |
36 |
37 | true
38 | bin\x64\Debug\
39 | DEBUG;TRACE
40 | full
41 | x64
42 | prompt
43 | MinimumRecommendedRules.ruleset
44 | true
45 |
46 |
47 | bin\x64\Release\
48 | TRACE
49 | true
50 | pdbonly
51 | x64
52 | prompt
53 | MinimumRecommendedRules.ruleset
54 | true
55 |
56 |
57 | true
58 |
59 |
60 | pencil.ico
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 | Form
78 |
79 |
80 | AboutBox.cs
81 |
82 |
83 |
84 |
85 | Form
86 |
87 |
88 | SplaTu.cs
89 |
90 |
91 | True
92 | True
93 | Strings.resx
94 |
95 |
96 | AboutBox.cs
97 |
98 |
99 | AboutBox.cs
100 |
101 |
102 | ResXFileCodeGenerator
103 | Resources.Designer.cs
104 | Designer
105 |
106 |
107 | True
108 | Resources.resx
109 | True
110 |
111 |
112 |
113 | SplaTu.cs
114 |
115 |
116 | SplaTu.cs
117 |
118 |
119 | SplaTu.cs
120 |
121 |
122 | ResXFileCodeGenerator
123 | Strings.Designer.cs
124 |
125 |
126 | SettingsSingleFileGenerator
127 | Settings.Designer.cs
128 |
129 |
130 | True
131 | Settings.settings
132 | True
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 |
156 | Always
157 |
158 |
159 |
160 |
161 |
162 |
163 |
170 |
--------------------------------------------------------------------------------
/SplaTU/SplaTu.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace SplaTU
2 | {
3 | partial class SplaTU
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Windows Form Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplaTU));
32 | this.groupBox1 = new System.Windows.Forms.GroupBox();
33 | this.pbInput = new System.Windows.Forms.PictureBox();
34 | this.groupBox2 = new System.Windows.Forms.GroupBox();
35 | this.pbOutput2 = new System.Windows.Forms.PictureBox();
36 | this.txtPath = new System.Windows.Forms.TextBox();
37 | this.menuStrip1 = new System.Windows.Forms.MenuStrip();
38 | this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
39 | this.englishToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
40 | this.SchineseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
41 | this.aboutToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
42 | this.label1 = new System.Windows.Forms.Label();
43 | this.btnPreviewImg = new System.Windows.Forms.Button();
44 | this.btnRunTeensy = new System.Windows.Forms.Button();
45 | this.btnGenerate = new System.Windows.Forms.Button();
46 | this.btnBrowse = new System.Windows.Forms.Button();
47 | this.groupBox1.SuspendLayout();
48 | ((System.ComponentModel.ISupportInitialize)(this.pbInput)).BeginInit();
49 | this.groupBox2.SuspendLayout();
50 | ((System.ComponentModel.ISupportInitialize)(this.pbOutput2)).BeginInit();
51 | this.menuStrip1.SuspendLayout();
52 | this.SuspendLayout();
53 | //
54 | // groupBox1
55 | //
56 | this.groupBox1.BackgroundImage = global::SplaTU.Properties.Resources.tile_P_2;
57 | this.groupBox1.Controls.Add(this.pbInput);
58 | resources.ApplyResources(this.groupBox1, "groupBox1");
59 | this.groupBox1.ForeColor = System.Drawing.Color.White;
60 | this.groupBox1.Name = "groupBox1";
61 | this.groupBox1.TabStop = false;
62 | //
63 | // pbInput
64 | //
65 | resources.ApplyResources(this.pbInput, "pbInput");
66 | this.pbInput.Name = "pbInput";
67 | this.pbInput.TabStop = false;
68 | //
69 | // groupBox2
70 | //
71 | this.groupBox2.BackgroundImage = global::SplaTU.Properties.Resources.tile_P;
72 | this.groupBox2.Controls.Add(this.pbOutput2);
73 | resources.ApplyResources(this.groupBox2, "groupBox2");
74 | this.groupBox2.ForeColor = System.Drawing.Color.White;
75 | this.groupBox2.Name = "groupBox2";
76 | this.groupBox2.TabStop = false;
77 | //
78 | // pbOutput2
79 | //
80 | resources.ApplyResources(this.pbOutput2, "pbOutput2");
81 | this.pbOutput2.Name = "pbOutput2";
82 | this.pbOutput2.TabStop = false;
83 | //
84 | // txtPath
85 | //
86 | resources.ApplyResources(this.txtPath, "txtPath");
87 | this.txtPath.Name = "txtPath";
88 | //
89 | // menuStrip1
90 | //
91 | this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
92 | this.aboutToolStripMenuItem,
93 | this.aboutToolStripMenuItem1});
94 | resources.ApplyResources(this.menuStrip1, "menuStrip1");
95 | this.menuStrip1.Name = "menuStrip1";
96 | //
97 | // aboutToolStripMenuItem
98 | //
99 | this.aboutToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
100 | this.englishToolStripMenuItem,
101 | this.SchineseToolStripMenuItem});
102 | this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
103 | resources.ApplyResources(this.aboutToolStripMenuItem, "aboutToolStripMenuItem");
104 | //
105 | // englishToolStripMenuItem
106 | //
107 | this.englishToolStripMenuItem.Name = "englishToolStripMenuItem";
108 | resources.ApplyResources(this.englishToolStripMenuItem, "englishToolStripMenuItem");
109 | this.englishToolStripMenuItem.Click += new System.EventHandler(this.englishToolStripMenuItem_Click);
110 | //
111 | // SchineseToolStripMenuItem
112 | //
113 | this.SchineseToolStripMenuItem.Name = "SchineseToolStripMenuItem";
114 | resources.ApplyResources(this.SchineseToolStripMenuItem, "SchineseToolStripMenuItem");
115 | this.SchineseToolStripMenuItem.Click += new System.EventHandler(this.SchineseToolStripMenuItem_Click);
116 | //
117 | // aboutToolStripMenuItem1
118 | //
119 | this.aboutToolStripMenuItem1.Name = "aboutToolStripMenuItem1";
120 | resources.ApplyResources(this.aboutToolStripMenuItem1, "aboutToolStripMenuItem1");
121 | this.aboutToolStripMenuItem1.Click += new System.EventHandler(this.aboutToolStripMenuItem1_Click);
122 | //
123 | // label1
124 | //
125 | resources.ApplyResources(this.label1, "label1");
126 | this.label1.BackColor = System.Drawing.SystemColors.ButtonShadow;
127 | this.label1.ForeColor = System.Drawing.Color.White;
128 | this.label1.Name = "label1";
129 | //
130 | // btnPreviewImg
131 | //
132 | this.btnPreviewImg.BackgroundImage = global::SplaTU.Properties.Resources.tile_B;
133 | resources.ApplyResources(this.btnPreviewImg, "btnPreviewImg");
134 | this.btnPreviewImg.ForeColor = System.Drawing.Color.SeaShell;
135 | this.btnPreviewImg.Image = global::SplaTU.Properties.Resources.icons8_PreviewPane_32;
136 | this.btnPreviewImg.Name = "btnPreviewImg";
137 | this.btnPreviewImg.UseVisualStyleBackColor = true;
138 | this.btnPreviewImg.Click += new System.EventHandler(this.btnPreviewImg_Click);
139 | //
140 | // btnRunTeensy
141 | //
142 | this.btnRunTeensy.BackgroundImage = global::SplaTU.Properties.Resources.tile_R;
143 | resources.ApplyResources(this.btnRunTeensy, "btnRunTeensy");
144 | this.btnRunTeensy.ForeColor = System.Drawing.Color.SeaShell;
145 | this.btnRunTeensy.Image = global::SplaTU.Properties.Resources.tpp_core;
146 | this.btnRunTeensy.Name = "btnRunTeensy";
147 | this.btnRunTeensy.UseVisualStyleBackColor = true;
148 | this.btnRunTeensy.Click += new System.EventHandler(this.btnRunTeensy_Click);
149 | //
150 | // btnGenerate
151 | //
152 | this.btnGenerate.BackgroundImage = global::SplaTU.Properties.Resources.tile_O;
153 | resources.ApplyResources(this.btnGenerate, "btnGenerate");
154 | this.btnGenerate.ForeColor = System.Drawing.Color.SeaShell;
155 | this.btnGenerate.Image = global::SplaTU.Properties.Resources.icons8_Resume_Button_32;
156 | this.btnGenerate.Name = "btnGenerate";
157 | this.btnGenerate.UseVisualStyleBackColor = true;
158 | this.btnGenerate.Click += new System.EventHandler(this.btnGenerate_Click_1);
159 | //
160 | // btnBrowse
161 | //
162 | resources.ApplyResources(this.btnBrowse, "btnBrowse");
163 | this.btnBrowse.Image = global::SplaTU.Properties.Resources.icons8_Open_32;
164 | this.btnBrowse.Name = "btnBrowse";
165 | this.btnBrowse.UseVisualStyleBackColor = true;
166 | this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click);
167 | //
168 | // SplaTU
169 | //
170 | resources.ApplyResources(this, "$this");
171 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
172 | this.BackgroundImage = global::SplaTU.Properties.Resources.tile1;
173 | this.Controls.Add(this.label1);
174 | this.Controls.Add(this.btnPreviewImg);
175 | this.Controls.Add(this.btnRunTeensy);
176 | this.Controls.Add(this.btnGenerate);
177 | this.Controls.Add(this.txtPath);
178 | this.Controls.Add(this.btnBrowse);
179 | this.Controls.Add(this.groupBox2);
180 | this.Controls.Add(this.groupBox1);
181 | this.Controls.Add(this.menuStrip1);
182 | this.MainMenuStrip = this.menuStrip1;
183 | this.MaximizeBox = false;
184 | this.Name = "SplaTU";
185 | this.groupBox1.ResumeLayout(false);
186 | ((System.ComponentModel.ISupportInitialize)(this.pbInput)).EndInit();
187 | this.groupBox2.ResumeLayout(false);
188 | ((System.ComponentModel.ISupportInitialize)(this.pbOutput2)).EndInit();
189 | this.menuStrip1.ResumeLayout(false);
190 | this.menuStrip1.PerformLayout();
191 | this.ResumeLayout(false);
192 | this.PerformLayout();
193 |
194 | }
195 |
196 | #endregion
197 | private System.Windows.Forms.PictureBox pbInput;
198 | private System.Windows.Forms.GroupBox groupBox1;
199 | private System.Windows.Forms.GroupBox groupBox2;
200 | private System.Windows.Forms.Button btnBrowse;
201 | private System.Windows.Forms.TextBox txtPath;
202 | private System.Windows.Forms.MenuStrip menuStrip1;
203 | private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
204 | private System.Windows.Forms.ToolStripMenuItem SchineseToolStripMenuItem;
205 | private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem1;
206 | private System.Windows.Forms.PictureBox pbOutput2;
207 | private System.Windows.Forms.Button btnPreviewImg;
208 | private System.Windows.Forms.Button btnGenerate;
209 | private System.Windows.Forms.Button btnRunTeensy;
210 | private System.Windows.Forms.Label label1;
211 | private System.Windows.Forms.ToolStripMenuItem englishToolStripMenuItem;
212 | }
213 | }
214 |
215 |
--------------------------------------------------------------------------------
/SplaTU/SplaTu.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.ComponentModel;
4 | using System.Data;
5 | using System.Drawing;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Threading.Tasks;
9 | using System.Windows.Forms;
10 | using System.IO;
11 | // using ImageMagick;
12 | using System.Runtime.InteropServices;
13 | using System.Drawing.Imaging;
14 | using System.Drawing.Drawing2D;
15 | using System.Diagnostics;
16 | using System.Threading;
17 | using System.Globalization;
18 | using SplaTU.Resources;
19 |
20 | namespace SplaTU
21 | {
22 | public partial class SplaTU : Form
23 | {
24 | public SplaTU()
25 | {
26 | InitializeComponent();
27 | InitDefaults();
28 |
29 |
30 | }
31 |
32 | private const string _switchFightStickPath = @"Switch-Fightstick";
33 |
34 | private void InitDefaults()
35 | {
36 |
37 | try
38 | {
39 | txtPath.Text = Properties.Settings.Default.setting_last_path ;
40 | }
41 | catch
42 | {
43 | txtPath.Text = "";
44 | }
45 |
46 |
47 | }
48 |
49 | private void btnBrowse_Click(object sender, EventArgs e)
50 | {
51 |
52 | try
53 | {
54 | string path = @"C:\";
55 |
56 | try
57 | {
58 | path = Path.GetDirectoryName(Properties.Settings.Default.setting_last_path);
59 | }
60 | catch
61 | {
62 | path = @"C:\";
63 | }
64 |
65 | OpenFileDialog file = new OpenFileDialog();
66 | file.Title = Strings.str_LoadImg;
67 | if (Directory.Exists(path))
68 | {
69 | file.InitialDirectory = path;
70 | }
71 | else
72 | {
73 | file.InitialDirectory = @"C:\";
74 | }
75 |
76 | if (file.ShowDialog() == DialogResult.OK)
77 | {
78 | path = file.FileName;
79 | txtPath.Text = path;
80 |
81 | Properties.Settings.Default.setting_last_path = txtPath.Text;
82 | Properties.Settings.Default.Save();
83 |
84 |
85 |
86 | Image inputFile = Image.FromFile(txtPath.Text);
87 | Bitmap inputImg = new Bitmap(inputFile);
88 | if (inputImg.Height != 120 && inputImg.Width != 320)
89 | {
90 | inputImg = ResizeImage(inputImg, 320, 120);
91 | }
92 | pbInput.Image = inputImg;
93 |
94 | }
95 | }
96 | catch (Exception ex)
97 | {
98 |
99 | MessageBox.Show(ex.Message);
100 | }
101 | }
102 |
103 |
104 |
105 |
106 | private void btnPreviewImg_Click(object sender, EventArgs e)
107 | {
108 |
109 | try
110 | {
111 |
112 | Image inputFile = Image.FromFile(txtPath.Text);
113 | Bitmap inputImg = new Bitmap(inputFile);
114 | if (inputImg.Height != 120 && inputImg.Width != 320)
115 | {
116 | inputImg = ResizeImage(inputImg, 320, 120);
117 | }
118 | pbInput.Image = inputImg;
119 |
120 |
121 | //// Method 1:
122 | //Image img1 = ProcessImageTo1Bit(new Bitmap(ProcessImageByOrderedDither(inputImg)));
123 | //pbOutput.Image = img1;
124 | //img1.Save("outImage1.bmp", ImageFormat.Bmp);
125 |
126 | // Method 2:
127 | Image img2 = ProcessImageTo1Bit(inputImg);
128 | pbOutput2.Image = img2;
129 | img2.Save("outImage0.bmp", ImageFormat.Bmp);
130 |
131 |
132 | }
133 | catch (Exception ex)
134 | {
135 | MessageBox.Show("Exception: " + ex.Message);
136 | }
137 |
138 | }
139 |
140 | private void btnGenerate_Click_1(object sender, EventArgs e)
141 | {
142 | try
143 | {
144 | Image outImg = pbOutput2.Image ;
145 |
146 | if(outImg ==null)
147 | {
148 | MessageBox.Show(Strings.str_SelError);
149 | return;
150 | }
151 |
152 | GenerateData(new Bitmap(outImg));
153 |
154 | MakeFile();
155 |
156 | // MessageBox.Show(str_FileGen);
157 | }
158 | catch (Exception ex)
159 | {
160 | MessageBox.Show(ex.Message);
161 |
162 | }
163 |
164 | }
165 |
166 | private void MakeFile( )
167 | {
168 |
169 | try
170 | {
171 |
172 | //System.Diagnostics.Process process = new System.Diagnostics.Process();
173 | System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
174 | startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
175 |
176 | string path = Directory.GetCurrentDirectory();
177 | path += @"\"+ _switchFightStickPath;
178 | startInfo.WorkingDirectory = path;
179 | startInfo.FileName = "cmd.exe";
180 | // startInfo.Arguments = @"/c start /wait spMake.bat ";
181 | startInfo.Arguments = @"/c start /wait make ";
182 | //process.StartInfo = startInfo;
183 | //process.Start();
184 |
185 | //try
186 | //{
187 | // // Start the process with the info we specified.
188 | // // Call WaitForExit and then the using-statement will close.
189 | // using (Process exeProcess = Process.Start(startInfo))
190 | // {
191 | // exeProcess.WaitForExit();
192 | // }
193 | //}
194 | //catch
195 | //{
196 | // // Log error.
197 | //}
198 | startInfo.UseShellExecute = false;
199 | startInfo.RedirectStandardOutput = true;
200 | startInfo.RedirectStandardError = true;
201 |
202 | string output = "";
203 | string error = "";
204 |
205 | Process process = Process.Start(startInfo);
206 | process.WaitForExit();
207 | using (StreamReader streamReader = process.StandardOutput)
208 | {
209 | output = streamReader.ReadToEnd();
210 | }
211 |
212 | using (StreamReader streamReader = process.StandardError)
213 | {
214 | error = streamReader.ReadToEnd();
215 | }
216 |
217 | if (error == "")
218 | {
219 | string hexFilePath = path + @"\Joystick.hex";
220 |
221 | MessageBox.Show(Resources.Strings.str_FileGen+"\r\n" + hexFilePath );
222 | }
223 | else
224 | {
225 | MessageBox.Show("Error: " + error);
226 | }
227 |
228 | }
229 | catch (Exception ex)
230 | {
231 | MessageBox.Show(ex.Message);
232 |
233 | }
234 |
235 |
236 | }
237 |
238 |
239 | public Image ProcessImageByOrderedDither(Bitmap inputImg)
240 | {
241 | try
242 | {
243 | //// OrderedDither
244 | //using (MagickImage image = new MagickImage( inputImg ))
245 | //{
246 | // MagickGeometry size = new MagickGeometry(320, 120);
247 | // size.IgnoreAspectRatio = true;
248 |
249 | // image.Format = MagickFormat.Bmp3;
250 | // image.Resize(size);
251 | // image.Depth = 1;
252 |
253 | // image.ClassType = ClassType.Pseudo;
254 | // image.ColorSpace = ColorSpace.Gray;
255 | // image.ColorType = ColorType.Grayscale;
256 |
257 | // // pbInput.Image = image;
258 | // image.OrderedDither("o8x8");
259 | // int totalcolor = image.TotalColors;
260 |
261 | // var colormapsize = image.ColormapSize;
262 | // Stream magicImgStream = new System.IO.MemoryStream();
263 | // image.Write(magicImgStream);
264 | // Image outputImg = Image.FromStream(magicImgStream);
265 |
266 | // return outputImg;
267 | //}
268 | }
269 | catch (Exception ex)
270 | {
271 | throw ex;
272 | }
273 | return null;
274 | }
275 |
276 | public Image ProcessImageTo1Bit(Bitmap inputImg)
277 | {
278 | try
279 | {
280 | /// Floyd-Steinberg
281 | Image outputImg = ConvertTo1Bit( inputImg );
282 |
283 | return outputImg;
284 | }
285 | catch (Exception ex)
286 | {
287 | throw ex;
288 | }
289 | }
290 |
291 | public static Bitmap ResizeImage(Image image, int width, int height)
292 | {
293 | var destRect = new Rectangle(0, 0, width, height);
294 | var destImage = new Bitmap(width, height);
295 |
296 | destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);
297 |
298 | using (var graphics = Graphics.FromImage(destImage))
299 | {
300 | graphics.CompositingMode = CompositingMode.SourceCopy;
301 | graphics.CompositingQuality = CompositingQuality.HighQuality;
302 | graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
303 | graphics.SmoothingMode = SmoothingMode.HighQuality;
304 | graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
305 |
306 | using (var wrapMode = new ImageAttributes())
307 | {
308 | wrapMode.SetWrapMode(WrapMode.TileFlipXY);
309 | graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
310 | }
311 | }
312 |
313 | return destImage;
314 | }
315 |
316 |
317 | public static Bitmap ConvertTo1Bit(Bitmap input)
318 | {
319 | /// Floyd-Steinberg
320 | ///
321 | var masks = new byte[] { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
322 | var output = new Bitmap(input.Width, input.Height, PixelFormat.Format1bppIndexed);
323 | var data = new sbyte[input.Width, input.Height];
324 | var inputData = input.LockBits(new Rectangle(0, 0, input.Width, input.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
325 | try
326 | {
327 | var scanLine = inputData.Scan0;
328 | var line = new byte[inputData.Stride];
329 | for (var y = 0; y < inputData.Height; y++, scanLine += inputData.Stride)
330 | {
331 | Marshal.Copy(scanLine, line, 0, line.Length);
332 | for (var x = 0; x < input.Width; x++)
333 | {
334 | data[x, y] = (sbyte)(64 * (GetGreyLevel(line[x * 3 + 2], line[x * 3 + 1], line[x * 3 + 0]) - 0.5));
335 | }
336 | }
337 | }
338 | finally
339 | {
340 | input.UnlockBits(inputData);
341 | }
342 | var outputData = output.LockBits(new Rectangle(0, 0, output.Width, output.Height), ImageLockMode.WriteOnly, PixelFormat.Format1bppIndexed);
343 | try
344 | {
345 | var scanLine = outputData.Scan0;
346 | for (var y = 0; y < outputData.Height; y++, scanLine += outputData.Stride)
347 | {
348 | var line = new byte[outputData.Stride];
349 | for (var x = 0; x < input.Width; x++)
350 | {
351 | var j = data[x, y] > 0;
352 | if (j) line[x / 8] |= masks[x % 8];
353 | var error = (sbyte)(data[x, y] - (j ? 32 : -32));
354 | if (x < input.Width - 1) data[x + 1, y] += (sbyte)(7 * error / 16);
355 | if (y < input.Height - 1)
356 | {
357 | if (x > 0) data[x - 1, y + 1] += (sbyte)(3 * error / 16);
358 | data[x, y + 1] += (sbyte)(5 * error / 16);
359 | if (x < input.Width - 1) data[x + 1, y + 1] += (sbyte)(1 * error / 16);
360 | }
361 | }
362 | Marshal.Copy(line, 0, scanLine, outputData.Stride);
363 | }
364 | }
365 | finally
366 | {
367 | output.UnlockBits(outputData);
368 | }
369 | return output;
370 | }
371 |
372 | public static double GetGreyLevel(byte r, byte g, byte b)
373 | {
374 | return (r * 0.299 + g * 0.587 + b * 0.114) / 255;
375 | }
376 |
377 |
378 | public byte[] GenerateData(Bitmap bitmap)
379 | {
380 |
381 | Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
382 | System.Drawing.Imaging.BitmapData bmpData = null;
383 | byte[] bitVaues = null;
384 | int stride = 0;
385 | try
386 | {
387 | bmpData = bitmap.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, bitmap.PixelFormat);
388 | IntPtr ptr = bmpData.Scan0;
389 | stride = bmpData.Stride;
390 | int bytes = bmpData.Stride * bitmap.Height;
391 | bitVaues = new byte[bytes];
392 | System.Runtime.InteropServices.Marshal.Copy(ptr, bitVaues, 0, bytes);
393 | }
394 | finally
395 | {
396 | if (bmpData != null)
397 | bitmap.UnlockBits(bmpData);
398 | }
399 |
400 | // File.WriteAllBytes("Foo.data", bitVaues);
401 |
402 | byte[] outPixelData = new byte[bitmap.Width * bitmap.Height];
403 | for (int i = 0; i < bitVaues.Length - 4; i = i + 4)
404 | {
405 | var v1 = bitVaues[i];
406 | var v2 = bitVaues[i + 1];
407 | var v3 = bitVaues[i + 2];
408 | var v4 = bitVaues[i + 3];
409 |
410 | if (v1 == 0x00 && v2 == 0x00 && v3 == 0x00 && v4 == 0xFF)
411 | {
412 | outPixelData[i / 4] = 0x00;
413 | }
414 | else if (v1 == 0xFF && v2 == 0xFF && v3 == 0xFF && v4 == 0xFF)
415 | {
416 | outPixelData[i / 4] = 0x01;
417 | }
418 | else
419 | {
420 | throw new Exception("Invalid Bitmap Data");
421 | }
422 | }
423 |
424 | // File.WriteAllBytes(@"splaTuOutput.data", outPixelData);
425 |
426 | GenerateImageC(outPixelData);
427 |
428 |
429 | return outPixelData;
430 | }
431 |
432 | public void GenerateImageC(byte[] data)
433 | {
434 |
435 | string str_out = "#include \n#include \n\nuint8_t image_data[0x12c1] PROGMEM = {";
436 |
437 | for (int i =0; i< (320 * 120) / 8;i++)
438 | {
439 | int val = 0x00;
440 |
441 | for (int j=0; j< 8;j++)
442 | {
443 |
444 | int a = (int)(data[(i * 8) + j]);
445 |
446 | val |= (int)(data[(i * 8) + j]) << j ;
447 | }
448 | val = ~val & 0xFF;
449 | str_out += "0x"+val.ToString("x") + ", ";
450 | }
451 |
452 |
453 | str_out += "0x0};\n";
454 | File.WriteAllText(_switchFightStickPath+@"\imaget.c", str_out, Encoding.UTF8);
455 |
456 | byte[] bytes = System.IO.File.ReadAllBytes(_switchFightStickPath + @"\imaget.c");
457 |
458 | System.IO.File.WriteAllBytes(_switchFightStickPath + @"\image.c", bytes.Skip(3).ToArray());
459 |
460 | try
461 | {
462 | if (File.Exists(_switchFightStickPath + @"\imaget.c"))
463 | {
464 | File.Delete(_switchFightStickPath + @"\imaget.c");
465 | }
466 | }
467 | catch { }
468 |
469 |
470 |
471 | }
472 |
473 |
474 | private void btnRunTeensy_Click(object sender, EventArgs e)
475 | {
476 | OpenFile(@"teensy.exe");
477 | }
478 |
479 | private void OpenFile(string path )
480 | {
481 | try
482 | {
483 | ProcessStartInfo start = new ProcessStartInfo();
484 | start.FileName = path;
485 | start.WindowStyle = ProcessWindowStyle.Normal;
486 | start.CreateNoWindow = true;
487 | // int exitCode;
488 |
489 | using (Process proc = Process.Start(start))
490 | {
491 | // proc.WaitForExit();
492 | // exitCode = proc.ExitCode;
493 | }
494 | // AddLog("[OpenFile] Exit Code:" + exitCode, tab);
495 | }
496 | catch (Exception ex)
497 | {
498 | MessageBox.Show("[OpenFile]" + ex.Message );
499 | }
500 | }
501 |
502 | private void aboutToolStripMenuItem1_Click(object sender, EventArgs e)
503 | {// Create a new instance of the Form2 class
504 | AboutBox aboutwindow = new AboutBox();
505 |
506 | // Show the settings form
507 | aboutwindow.Show();
508 |
509 | }
510 |
511 |
512 |
513 | #region Localize
514 | private void englishToolStripMenuItem_Click(object sender, EventArgs e)
515 | {
516 | Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
517 | ApplyResource();
518 | }
519 |
520 | private void SchineseToolStripMenuItem_Click(object sender, EventArgs e)
521 | {
522 | Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("zh-CN");
523 | ApplyResource();
524 | }
525 |
526 |
527 |
528 | private void ApplyResource()
529 | {
530 | System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(SplaTU));
531 | foreach (Control ctl in Controls)
532 | {
533 | res.ApplyResources(ctl, ctl.Name);
534 | }
535 |
536 | foreach (ToolStripMenuItem item in this.menuStrip1.Items)
537 | {
538 | res.ApplyResources(item, item.Name);
539 | foreach (ToolStripMenuItem subItem in item.DropDownItems)
540 | {
541 | res.ApplyResources(subItem, subItem.Name);
542 | }
543 | }
544 |
545 | //Caption
546 | res.ApplyResources(this, "$this");
547 | }
548 | #endregion
549 | }
550 | }
551 |
--------------------------------------------------------------------------------
/SplaTU/SplaTu.en.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Output Preview
122 |
123 |
124 |
125 |
126 | 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
182 | HWLCt7kCVVtZAG1ybQcuNDttFxwn6A8QHf0FBQ3/AgID/wICA/8CAgX/CgcQ/xAMGP8QChr/Ewka/xMH
183 | Gf8TCBn/EwgZ/xQHF/8WBxT/FQYT/xYHFP4cDRrsJRUif0RFRAYtKSwAAAAAAG51dQCIkI8EQUdJPyww
184 | NHMgISSQHh0gkh4dHpEdHSCRIiAmjyckLo0nIy+PKiItjioiLI0rIiyNKiErjSohKo0rICeOKSAmjywl
185 | K303MThBTUdPCUhCSQAAAAAAAAAAAIAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
186 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAQDAAAMAKAAAACAA
187 | AABAAAAAAQAgAAAAAAAAEAAAEwsAABMLAAAAAAAAAAAAAIWFhQSGhoYIhYWFB6iqqgWCgoMOWFxcX0hO
188 | TZtBSkmnQ05NskVQTrhGT064Rk9OuEZPTrhGUE+4TVZUuE9YVrVOVVKrTlRPp0tRTaFGTUiYRUxHk0hO
189 | SpNJTkmTSU1Hk0ZKRJJNUEyXX2Jhh1JWXR7g4OAEmpqaCpqamgaampoDAAAAAJKVlQAAAAAAPz4+JSEh
190 | IZkgJCPuGSMh/w8fHf8LHxz/Cx8c/w8eG/8PHRv/Dx0b/w8dG/8QHhz/EB0b/xMeGv8UHhn/FB4Z/xMd
191 | GP8THRf/EhwX/xQcFv8XHBT/FhoU/xUZFf8YGxr9DRATtR0fHzL///8BW11eAAAAAACJg4QA////AU9L
192 | S00bGBjJBgUF/wIFBP8GEhD/BRkW/wEaFv8BGBX/BBgV/wYYFf8GGBX/BhYU/wYVE/8GFBH/CRQQ/woV
193 | EP8JFQ//CBUP/wcVDv8JFQ7/ChQN/w4UDP8IDgj/AQUB/wACAf8AAgL/BgcHyiMkJD7///8BWVlZAFFL
194 | TABfWlszKSMk2QcDA/8BAQD/AAEA/wMKCf8IFhb/BhkZ/wQYF/8EGBX/BhcU/wYWE/8GEQ//AwgH/wIH
195 | Bf8EBwX/CQ0L/wwUEP8KFQ//ChUO/wwUDf8NEw3/DREN/wUIBv8AAQD/AAAA/wEAAP8BAAH/CAgIyCQk
196 | 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
238 | ///9/f///f7+//Dx8f+Miov/GxYY/wsDCP8TBw//FgYQ/xkFEv8YBxHuHBEWSwwTGhEIEBu7BA4d/wML
239 | F/8DBw//AQQM/wIEDP8CBg//BgoU/wkNGP8HDBj/CAsa/wkLG/8LCxr/CwsV/wQECv8AAAH/CAkJ/3J2
240 | dP/p7Oz//P////z////y8/P/j46P/xYTFf8HAQT/EgcP/xYHEf8YBhP/GQUS/xcHEe4cERZLGyEnDQwU
241 | ILAEDyD/Ag4f/wUPHP8FDhv/Bg0b/wYNGv8HDhr/BwwY/wgMGP8JCxr/Cwsc/w0LHP8NDBj/CggR/wIC
242 | BP8AAAD/DQ4O/3h6ev/u8PD/8fPz/4aFh/8YFBj/CAIH/xEGD/8VBxP/FwUT/xkFFP8aBhP/FwcQ6R0R
243 | Fjjn4dUDChIfigMOHv8BDh//Aw4f/wUOHv8GDRz/Bgwa/wcMGf8IDBj/Cg8Z/wsNG/8MCx3/DQkc/w0J
244 | GP8NCRX/CggN/wYECP8CAQT/FBIW/4iFif+Jhov/GBQZ/wkCCv8QBhD/FQcT/xgGFf8ZBBX/GgQV/xkE
245 | Ev8YCBHLMSQqHwAAAAAoLTZ6CRMg/wIOHv8EDh//BAwc/wUMGv8IDBn/CAoV/wYIEv8GChP/CgsZ/wwK
246 | HP8NCBv/DggZ/w8JF/8SChX/EgkU/xAHEv8NBA//GRAb/xoRHP8PBhD/EQcS/xEGEv8VBhT/GQUX/xoD
247 | Fv8aARX/GAQS+yIRG4JkWF0INz1EAFRXXSohKS/OBw8c/wQLHf8GDB7/CAsc/wQFEP8BAQf/AAAE/wAB
248 | Bv8EBA3/DAkX/w4JGf8PCRr/EAka/xQIG/8WCBv/FAYa/xMFGP8SBBj/EQMX/xQGF/8VBhb/FgUW/xgE
249 | F/8ZAhb/GwEW/xkBFP8aCxXENSkwKQAAAAB9hIIAAAAAAEdNTUMgJi7SCxAf/wgLHP8JCRn/AQEJ/wAA
250 | Av8AAAH/AAAC/wEABP8IBg7/DgoW/w8JGf8PCBv/Egca/xIFGf8SBBn/EgUZ/xMFGv8SBRn/FAUY/xcF
251 | Fv8VBBT/FQIT/xYCE/8ZBBX/Hwsb4iohJz7///8BZmhmAAAAAAB2e3wA////AE1TWDAtMzi0HB8n6hIU
252 | HPIHBw34BgYJ+AYGB/cGBgf3BgYJ9wsJEPcTDxr2FA8c9hQOHfcWDRv2Fw0a9hcNGvYXDBr2Fgwa9hYM
253 | GfYXCxf2GAsU9hcLFPYXDBX1HhMd6SUbJbkzJzJMTDhEATcpNQAAAAAAAAAAAAAAAAD///8AAAAAAGhu
254 | bxNHTE00Oj0/Vy8wMm0vLzJrMC8xai8vMGsvLzFrMTA1aDYzPGU3Mz5mNzI+aDkyO2c6MjplOjI6ZToz
255 | O2U6MjplOTI6ZToyOGY6MTZnOTE1ZzgzN2JDP0M+WVZaE////wCQk5MAAAAAAAAAAAAAAAAA4AAAA4AA
256 | AAGAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
257 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAcAAAAHgAAAD8AAADygA
258 | AAAwAAAAYAAAAAEAIAAAAAAAACQAABMLAAATCwAAAAAAAAAAAACFhYUEhoaGDIaGhgyGhoYMg4SEDIOE
259 | hAyJi4sLqKqqCXF1dEJeY2JZWV9eZVxkY3ZeZmWBYGhnimBoZ4xgaGeMYGhnjGBoZ41gaGeNYWlojWBp
260 | aI1ocG+Nb3d2jW92dYVuc3F5bXFtc2xxbXJqbmprZWpmYV9lYFdfZGBUZWpmWGdsaFpnbGdaaGxnWmdr
261 | ZVlfY15QYGNfVGdrZ1d6fXxUiIqKJ////wCbnZ0JmJiZEJiYmBKampoLm5ubBJmZmQeFhYUAhoaGAIaG
262 | hgCGhoYAwcXFACUnJwBiYmIWQ0VFZkRJSOA3PTz/KjMy/iYyMf4kMjH+JDMx/iUzMf4nMjH+JzIx/icy
263 | Mf4nMjH+JzIx/iYyMP4qNTP+KjUz/ik1Mv4tNjP+LzYx/i82Mf4vNjH+LjYx/i41MP4tNTD7LDQv9Sw0
264 | LvMtNC7zLjMs8y4zLPMvMy36MDQv/jY6Nv5HSUj/OT1BvB4lLzDr59wCT1FSAJmZmQCampoAm5ubAJmZ
265 | mQAAAAAAAAAAAAAAAACmqakAwMPDAkpJSTwhICC/FRcX8hUaGv8PGBf/CRgW/wUYFf8DFxT/ARgU/wIY
266 | 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
336 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8NDxH/cnZ3/+Ll5f/7/Pz//f78//39/P/9/fz//Pz7//r7
337 | +//9/v7//////////////////v7+//z8/P/8/Pz//Pz8/9ra2v9sbGz/FRUW/wAAAf8CAgT/AwED/wkG
338 | CP8PCw3/DgoM/wYBA/8FAAH/AgAB/wAAAP8AAAD/AwMDrRERERYAAAAAAAAASAEAAOUCAAD/AgAA/wAA
339 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAL/GBsd/4KGh//l6On/+vz9//r8
340 | /P/7/Pz//P38//39/P/+/v7///////////////////////39/f/8/Pz//Pz8//r6+v/e39//goOE/x0e
341 | H/8AAAL/AwID/wQCA/8LCAn/EAoN/wkDBf8FAAH/AwAA/wEAAP8AAAD/AwMDrRERERYAAAAAAAAASAEA
342 | AOUCAAD/AgAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAQP/AgQI/yEl
343 | KP+Mj5L/6+/x//j8/f/6/Pz/+/v7//39/P/+/v7///////////////////////z8/P/6+vr//f39//z8
344 | /P/7+/v/5ujp/4uMjf8bHB3/AgAC/wQCA/8HBAX/DwoM/wwGCP8GAAL/BAAB/wIAAP8BAAD/BAMDrRER
345 | ERYAAAAAAAAASAIBAeUDAQH/AQAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
346 | Af8BAQP/AwUI/wgMEf8kKC3/lpqf/+nt8f/6/P7//Pz8//38+//+/f3//////////////////v7+//39
347 | /f/8/Pz//f39//39/f/8/Pz/+/39/+rs7P+UlJX/KCYn/wMCAv8DAAH/DAcI/xAKC/8LBQb/BwID/wQA
348 | AP8EAAD/BwMDrRMRERYAAAAAAAAASAICAuUDAQH/AgAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
349 | AP8AAAD/AAAA/wAAAf8AAAH/BggL/wsQFv8HDRT/KC42/5mepP/t8fT/+/z8//z7+v/+/f3//v7+//7+
350 | /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/9/v7/+/39//r8/P/v8PD/paSk/zQyMv8GAwT/BwID/w0I
351 | Cf8PCQr/DQcI/woEBP8GAQL/CAQErBYSExYAAAAAAAAASAEBAeUDAQH/AgAA/wAAAP8AAAD/AAAA/wAA
352 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH/BggM/wgPFv8GDhf/BxAZ/y82Pv+ssLT/8/T1//79
353 | /P/+/v3//v7+//39/f/9/f3//f39//7+/v/////////////////+////+/39//r8/P/8/P7/8/L0/7Kv
354 | sf8/PD3/CQQG/wsFB/8QCQz/EAgK/xMJC/8RCQr/EQoKqhoVFhUAAAAAAAAASAAAAOUCAAD/AgAA/wEA
355 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAL/BggO/wgNF/8GDhr/BQ4b/wcO
356 | Gf86PkT/s7O2//n49//+/f3//Pz8//7+/v/9/f3//f39///////////////////////+/////P7+//v8
357 | /f/8/P3//fz+//n3+f/Cv8H/SENF/w0HCv8PBwv/EwkM/xUJC/8UCQv/FwwOqSEaGxQBAQEAAQEBSAIB
358 | AeUCAAD/AgAA/wEAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAgT/CQsR/wgO
359 | GP8FDhv/Awwb/wYNGv8LDhf/Pz5B/7u5t//5+Pf//f39//7+/v/7/Pv//f39////////////////////
360 | ///+/v//+/3+//v9/f/8/P3//fz9///9/v/t6uz/d3J0/xUPEf8QCQz/FgwO/xUICv8UBwn/FgsNnCUd
361 | HgwDBAUAAwQFNQMDBNoBAAH/AQAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
362 | Af8EBQj/Cw4V/wcOGf8FDRz/BAsc/wgOHP8IChP/BwcJ/0hGRf/HxcT/+vn6//7+/v/9/f3//fz9//7+
363 | /v/////////////////+////+/3+//r8/P/8/P3//vz+//Lw8v+gnJ7/Miwv/xEKDf8RCQ3/FQkN/xYI
364 | C/8UBwr/FAgLkjUvLwUNEBYADRAWMQQIDdcAAQX/AAAD/wIBAP8CAQD/AgEA/wIAAP8CAAD/AQAA/wEA
365 | Af8BAAL/AAAB/wACBf8FChP/CA0Z/wcMGv8JDRz/BQkY/woMGf8IChL/AAEF/wMDBf9NTE3/zszN//z6
366 | +//++/3//fv9//79/////v////7////+///9/f7/+vz7//r8+//8/fz/7+7u/5iVlv8nICP/DgYL/xQJ
367 | D/8VCQ//FwcQ/xkGEf8WBg7/GAwRriIcHRcNExoADhMaTAkQGOcCBg3/AAAG/wABAf8BAAD/AQAA/wEA
368 | AP8BAAH/AQAB/wAAAv8AAAP/AQEF/wMFDP8HDRj/Bw0a/wcMGv8JDBz/CAoY/wsMGf8KDBX/AwQI/wAA
369 | Af8JCQr/WVdZ/87Nz//7+fv//fz+//79///+/f///v3///79///9/f7/+Pr5//v8+v/r7Ov/mZeX/ysm
370 | J/8JAgX/EQcN/xMIDv8VCBD/FwUR/xoGE/8XBhD/GQwTsSEbHRkJERkACREZTwgRGukGDRn/AgUQ/wAB
371 | BP8AAAH/AAAC/wAAAv8AAAP/AAAD/wAAA/8BAgj/BggP/woMFv8JDxr/BgwZ/wcMGv8JDBv/CQsZ/woL
372 | GP8LDBb/BQUL/wAAAv8AAAH/CAkJ/1laWv/U1dX/+fr7//z9/v/8/f7//P3+//z9/v/8/f7/+/z7/+3u
373 | 7f+Ni43/Ix8g/wYBA/8LAwj/EgcN/xQHD/8UBg//GAUS/xoGE/8XBhD/GQwTsSEbHRkLEhsACxIbTQcP
374 | GugFDh3/BA0c/wMIEf8CBQz/AQMK/wABCP8BAgj/AQIK/wEEDf8ECBL/CQ0X/woOGf8HDBj/BwwZ/wgL
375 | Gv8JCxv/Cgsa/wsLGf8MDBb/CAgP/wEBBv8AAgL/AAEA/woMC/9scG//3uHg//v+/v/7/v7/+/7+//v+
376 | /v/9//7/7u7u/5STk/8fHB7/BAAC/wcCBf8RBw7/FQgR/xYHEf8YBxP/GQUT/xoGE/8XBhD/GQwTsSEb
377 | HRkMExwADBMcTQkRHegFDh//Ag0f/wUPHf8FDhn/BAwX/wQKFf8EChX/BAsW/wUMF/8HDRj/CA0Z/wYL
378 | GP8GCxf/CQwa/wkLGv8KChv/DAsc/w0MG/8NDBj/DQwV/wYFDP8AAgP/AAIB/wABAP8VGBf/c3d2/93h
379 | 4P/7/v3/+/79//z//v/p6+v/j42Q/ygkJ/8FAAT/BwEG/w4EDP8TBxH/FQcS/xYFEv8YBRP/GAQS/xoG
380 | E/8WBg//Gg0TsCMeHxgXHiYAGiEpPQwUIN4FECD/AQ4h/wIOHv8EDx3/BQ8d/wYPHf8GDx3/Bg0c/wYN
381 | G/8HDhv/CA4a/wcMGP8IDRf/CQ0Z/woKGv8KCxz/DQse/w4LHP8NCxn/DgwX/woHEP8CAgX/AQIC/wEB
382 | Af8BAQH/FBUV/3d5ef/m6On//P7+/+rs7f+FhYf/Hhsf/wYABf8IAgj/EQcP/xMHEv8VBxP/FwYT/xgF
383 | FP8ZBRT/GwUU/xsHFP8XBhD/FwkRk1BRTQW4t7MCLjQ7FAcPHMIEDh3/AA4g/wEOH/8DDR7/BA4e/wUO
384 | Hv8GDh3/BQwa/wYMG/8HDRr/BwsY/wcLF/8KDhj/Cg4Z/wsMG/8MCx3/DQod/w4KHP8NChn/DQkW/w0J
385 | FP8JBw3/BQQH/wMCBf8DAwb/AAAC/xsaHf+QjpL/29nd/5GQk/8eHCD/BQAG/wwEDP8NBA7/EQYR/xUH
386 | FP8YBxX/GAUV/xoEFv8aBBb/GwQV/xkFEv8VBA77HA0VeP///wCIiooCeHd6DgsSHrcGDx3/Ag4f/wIO
387 | H/8EDx//BA0e/wQMHP8GDRv/Bw0b/wcMGf8HCxj/CQwY/woNGP8KDxj/DA8a/wwNHP8MCx3/DAkc/w0J
388 | HP8OCRr/DAgW/w8LF/8QDBT/DggQ/w0HD/8IBAv/CAMK/wgDCv8qJSz/WlRc/yslLf8KBAv/DQUO/xAH
389 | Ef8QBxH/EwYS/xcHFf8ZBhb/GQUW/xoEFv8aAxb/GQIS/xgEEf8ZCBLcMiQrQ7q3tQN9fIAAhYKFDTU5
390 | QawLFCD/AQ4d/wIOH/8EDh//BA0e/wQMHP8ECxr/BgwZ/woNGf8JDBf/BggS/wQGEP8DBxD/BgkT/wsL
391 | Gv8MChz/DAkc/w0IG/8OCBr/DQgX/xAKF/8TChb/EggV/xQKFv8TCBT/EQYT/xAGEv8PBRH/EwgU/xIH
392 | FP8RBxP/EQcT/xEHEv8QBhH/EgUS/xYGFf8YBRf/GgQW/xkCFf8aABb/GwIV/xgEEfkhEBqRUkNLH1JD
393 | SwChnaAA////AF1gZkEkLDPhCRIc/wQNHP8DCx3/BQ0e/wYMHv8IDR3/BwoZ/wMED/8BAQn/AAAG/wAA
394 | Bf8AAAf/AQIK/wYGEf8LChj/Dgob/w0IGv8PCRr/Dwka/xAJGf8TCBr/GAoc/xYJG/8WCBr/EwUX/xMF
395 | F/8TBRj/EgQW/xEDFf8TBhf/FQcW/xQGFf8WBhb/GAYX/xgFFv8YAxb/GQEV/xsBFv8aABX/FgIS/xgK
396 | E9c2KjFErZ6lAYR1fQAAAAAAY2prAJqhogRMU1NuICcr7wcOGv8FCx3/Bwwf/wcKHf8KCh7/BgUU/wAA
397 | CP8AAAP/AAAB/wAAAv8BAAT/AAAE/wIBB/8JBxD/DwsX/w8KGP8PCRr/Dwoc/xAJHf8TBx3/FAYc/xQF
398 | HP8TBRv/EwQb/xQFG/8UBRv/EwQb/xMEG/8TBBn/FgUY/xcFGP8WAxb/GAQX/xgDFv8ZAhb/GQEW/xwC
399 | F/8ZART/GAgU2yonKFt1dHQLLSssAAAAAAAAAAAAAAAAAGJoZwBwdnMLSU9RciIpMeYLER7/CQ0c/wgK
400 | Gv8KCxv/BQUR/wAABv8AAAP/AQEB/wEBAf8AAAH/AAAD/wEABP8GBAz/DQkT/w8KF/8PChn/Dwka/w8J
401 | G/8RBxr/EgYZ/xIFGf8RBRj/EQUY/xMGGf8TBhn/EwYZ/xIGGf8TBRj/FwYX/xcGFv8VBBT/FQMT/xUC
402 | Ev8VAhL/FgQU/xgEFP8fDBv/KhsnhG13cAj///8AgIGBAAAAAAAAAAAAAAAAAAAAAAB+g4QAhYuLBlZc
403 | YU4rMjfRGh8m/xMVHv8OEBr/BQYM/wAABP8AAAL/AAAB/wAAAP8AAAD/AAAB/wAAA/8DAQj/CgcQ/w4K
404 | Ff8OCRb/DgkX/w4IF/8QBxb/EQYV/xEGFf8RBhX/EQYV/xEGFf8RBhX/EAUU/xAFFP8RBRL/EQQP/xEE
405 | Dv8SBA//EQQO/xEFD/8XCxX/GxEb+yAVH942KTWIPTA7DDwuOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
406 | AAAAAAAAf4aGAP///wFmbW42RUpNhzA0N5wrLjK5HyAk0BobHtkbGx7WGxsd0xsbHNUbGxzVGxsd1Rsb
407 | HdUcGyDTIh8ozyYiLM8mIi3PJSEt0CUhLdIoICvRKCAqzykgKs8pICrPKSAqzykgKs8oICnPKB8pzygf
408 | Kc8oHyjPKR8l0CkeJNEoHiTQJR0i0ichJskwKjCqOTM6f1JNUzt6d3wJVlJXAAAAAAAAAAAAAAAAAAAA
409 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AIaMigtkaGceT1BRLUlKTDNMTE4xTk1PL01M
410 | TjBNTE4wTUxOMExMTzBOTVEvUU9VLFFOVyxRTlcsUU1XLVBMVi5STVUuVE5ULFROVCxUTlQsVU5VLFVP
411 | VSxVTlQsVU5ULFROVCxVTlMsVU1RLVVNUC5VTlEtUUxOLlZSVSlzcnQUxMbGA8LExAAAAAAAAAAAAAAA
412 | AAAAAAAAAAAAAAAAAAAAAAAAAEAAAPwAAAAAHwAA8AAAAAAPAADgAAAAAAcAAMAAAAAAAwAAwAAAAAAB
413 | AACAAAAAAAEAAIAAAAAAAQAAgAAAAAABAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAA
414 | AAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAA
415 | AACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAA
416 | AAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAA
417 | AACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAgAAAAAABAADAAAAAAAEAAMAA
418 | AAAAAwAA4AAAAAAHAADwAAAAAA8AAPgAAAAAHwAA/wAAAAB/AAAoAAAAQAAAAIAAAAABACAAAAAAAABA
419 | AAATCwAAEwsAAAAAAAAAAAAA////AIWFhRGHh4cRhoaGEYaGhhGGhoYRgYKCEYOFhRGHiYkRgYKCEYKE
420 | hBF/goIRgIKCEH6Dghp+g4IxfoOCQH2Dgkp9g4JWfYKBXXyCgFx7goFde4KBXHuCgV17goFde4KBXXuC
421 | gV19hINdeoGAXYSKiV2Ql5ZdlJqZXZabmlCWmZhDlZiWOZaZljmWmZc4lpmXL5eZlySWmZcal5mXDpeZ
422 | lw2WmZcXl5mXIJaZlyCWmZUglpqVIJWZlCCVmZQglZmUC5WZlAmWmZcQlZeVEZqcnAyZm5sEk5WVApye
423 | ngaYmpoMmpydEpaWlhqZmZkampqaEZqamgicnJwDmZmZDP///wD///8A////AP///wD///8A////AP//
424 | /wD///8A////AP///wB1d3cPZ2tq/1RZWP9ITk3/RU1M/0JMS/9BTEv/QU1L/0FNS/9CTUv/QkxL/0NM
425 | S/9CTEv/Q0xL/0NMS/9CTEv/RE5M/0JMS/9HUU//TFVU/0lTUf9KVFL/TlVT/1BVUf9QVlH/UFZR/1BW
426 | Uf9QVlH/T1ZR/1BWUf9QVlH7T1ZR8FBWUehPVlHoUFZR6FFWUOhSVlDoUVVP6FFVUPRSVlH/U1dS/1pe
427 | Wv9rbmz/foCA/42PjwQGDhsA////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
428 | /wD///8A////AP///wD///8A////AHZ1dQ9WVlaLNjk5/yguLf8dJCP/EBoY/wwZF/8JGBb/BxgW/wYY
429 | Fv8HGRf/CBkW/wsYFv8LGBb/CxgW/wsYFv8LGBb/CxgW/woXFf8JFhT/CxgW/wwYFv8HFBL/CRYT/wsW
430 | E/8NFhH/DRYR/w0WEf8NFhH/DRYR/wwVEP8MFQ//DBUP/wwVD/8MFQ//DBUP/wwUD/8NFA3/DxML/w4T
431 | C/8OEgv/DhIM/w4SDf8TFxP/Gx4c/yMlJf8HDxzxWVtcOIyOjwb///8A////AP///wD///8A////AP//
432 | /wD///8A////AP///wD///8A////AP///wD///8A////AGpoaEYmJSX/BwcH/woNDP8SGRj/DRYV/wsZ
433 | F/8JGhf/BhkW/wQZFv8CGhb/ABoW/wIZFf8FFxT/BxYU/wYWFP8HFhT/BxYU/wYWFP8HFhT/BxcU/wcX
434 | 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
518 | GP8PGRn/BhIT/wwZGf8NGxr/CBYW/wkVFf8QGRn/DRMU/2JkZf/Q0NL//Pv9//r6+v/9/f3//v7+//39
519 | /f/9/f3//v7+//39/f/7+/v//v7+//z8/P/+/v7//f39//n6+v/a3Nz/Z2lp/w8REP8CBAP/AAMC/wIE
520 | BP8JCwv/DhER/w4REf8MDw//DA8P/woMDP8LCwv/Dg4O/w8PD/8ODg7/Dg4O/w4ODv8NDQ3/CgoK/wUF
521 | Bf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0NDVz///8A////AP///wAJFxmRBxYZ/wgX
522 | Gv8HEhb/DBMW/wcLDf8AAAH/AAIC/wABAf8AAQH/AAEB/wMNDf8JFBT/DxYW/1ZZWv/a2dv//vz+//78
523 | /f/+/v7//Pz8//r6+v/8/Pz//Pz8//j4+P/+/v7//f39//r6+v/+/v7/+vr6///////8/f3/+fv7/+Hj
524 | 4/9lZmb/BwgI/wAAAP8DBQX/BAYG/w4PD/8OEBD/DQ8P/w0PD/8MDg7/DAwM/w0NDf8PDw//Dg4O/w0N
525 | Df8PDg7/ERER/w8PD/8JCQn/BAQE/wEBAf8BAQH/AgEB/wAAAP8AAAD/AAAA/wAAAP8NDQ1c////AP//
526 | /wD///8ADBgajwkUF/8FDxP/AAcL/wAAA/8AAAH/AAAB/wAAAf8AAAH/AAEB/wABAf8ABAT/AAEB/yos
527 | Lf++wcL/+fn6//78/f/+/f7//v7+//7+/v/+/v7//Pz8//z8/P/+/v7/////////////////////////
528 | /////////f7+//n7+//5+/v/4ePj/29xcf8ZGxv/BAUF/wABAf8EBQX/BwkJ/wwODv8OEBD/Cw0N/w4O
529 | Dv8RDw//EhAQ/xIQEP8SEBD/EA4O/xAODv8PDQ3/Dw0N/xAODv8KCAj/AwEB/wIAAP8AAAD/AAAA/wAA
530 | AP8AAAD/DQ0NXP///wD///8A////AA4YGowGDhH/AAQH/wABBP8AAAT/AAAA/wAAAP8AAAD/AAAA/wAB
531 | AP8AAQD/AAEA/wMGBv8TFRb/kJGR//Dw8P/7+fr//fz8//z8/P/6+vr/+fn5//z8/P/8/Pz//Pz8////
532 | //////////////////////////////7////3+Pj//f7+//v8/P/l5ub/k5OT/yIiIv8BAgL/AgMD/wQE
533 | BP8NDg7/DxAQ/w4ODv8ODQ3/EA4O/xAODv8RDw//EQ8P/xAODv8QDg7/Dw0N/w8NDf8PDQ3/CQcH/wMB
534 | Af8CAAD/AAAA/wAAAP8AAAD/AAAA/w0NDVz///8A////AP///wAFDA+XAAUI/wAABP8AAAP/AQAC/wEA
535 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEDA/8AAQH/AQIC/yEhIf+ioqL/8/Ly//7+/v/+/v7//v7+//z8
536 | /P/7+/v//Pz8//r6+v/////////////////////////////////4+Pj/+/v7//7+/v/8/Pz/+vr6//b2
537 | 9v+hoaH/IiIi/wAAAP8AAAD/BgYG/w8PD/8NDQ3/EA4O/xAODv8QDg7/EQ8P/xEPD/8RDw//EA4O/xAO
538 | Dv8QDg7/DQsL/wgGBv8DAQH/AgAA/wAAAP8AAAD/AAAA/wAAAP8NDQ1c////AP///wD///8AAAECpwAA
539 | Av8AAAP/AQAD/wMAAf8BAAD/AQAA/wIAAP8CAAD/AgAA/wIAAP8CAAD/BgQE/wMBAf8FBQX/IyMj/7Cw
540 | sP/29vb//Pz8//z8/P/+/v7/+/v7//z8/P///////////////////////////////////////Pz8//z8
541 | /P/9/f3//Pz8//7+/v/4+Pj/+vr6/66urv8rKyv/CwsL/wAAAP8ICAj/DAwM/xAODv8RDw//EQ8P/xIQ
542 | EP8RDw//Dw0N/w8NDf8QDg7/EA4O/wsJCf8FAwP/AgAA/wIAAP8AAAD/AAAA/wAAAP8AAAD/DQ0NXP//
543 | /wD///8A////AAABAqcAAAL/AAAD/wQAA/8FAAH/AAAA/wEAAP8CAAD/AgAA/wQAAP8EAAD/CQID/wcC
544 | A/8GAgL/AgEB/wABAf8QExP/rK6u//T09P/4+Pj//v7+//v7+//8/Pz//Pz8////////////////////
545 | //////////////39/f/4+Pj//Pz8//v7+//7+/v//f39//v7+//09PT/srKy/0FBQf8CAgL/AQEB/wIC
546 | Av8KCAj/DgsL/xANDf8SDg//EQ4P/w8MDf8PDA3/EQ4P/xEOD/8KBwf/BQIC/wMAAf8CAAD/AAAA/wAA
547 | AP8AAAD/AAAA/w0NDVz///8A////AH+DggMAAQKnAAED/wEAAv8FAAL/BQAC/wAAAP8AAAD/AQAA/wQA
548 | AP8EAAD/BQAA/wgCAv8GAQH/BAEB/wAAAP8AAQH/AgQD/zc6Of+ztbX/+Pn5//39/f/7+/v//Pz8//z8
549 | /P/////////////////////////////////9/f3//f39//7+/v//////+/v7//7+/v/8/Pz//Pz8//X1
550 | 9f/BwcH/U1NT/wAAAP8CAgL/AwEB/wcEBP8MCQn/EA0N/xIODv8RDA3/EQwN/xMOD/8TDg//CgUG/wYB
551 | Av8FAAH/AwAA/wAAAP8AAAD/AAAA/wAAAP8NDQ1c////AP///wB8fX0OAgQEjwAAAP8BAAD/BAAA/wUD
552 | A/8AAAD/AAAA/wAAAP8CAAD/AgAA/wIAAP8CAAD/AgAA/wEAAP8AAAD/AAAA/wAAAP8EBgb/QURF/8jM
553 | zf/8/f7//P7+//3+/f/+/v3////+//39/P/8/fv//f78//r7+f/7/f3//f39//7+/v////////////7+
554 | /v/+/v7//v7+//v7+//8/Pz/+Pj4/9vb2/9OTk7/AQEB/wAAAP8CAQP/AQEB/wUEBv8KBwj/EAwO/xEO
555 | EP8QDQ//Eg0P/wkEBv8FAAH/BQAB/wQAAf8AAAD/AAAA/wAAAP8AAAD/DQ0NXP///wD///8A////AAAA
556 | AJEDAgL/AgAA/wIAAP8BAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
557 | AP8AAAD/AAAB/wAAA/86PT//yc3O//f6+v/6+/v//P37//7+/f/+/v3//v79//7+/f/5+vn/+Pr6//3+
558 | /v////////////////////////////7+/v/7+/v//f39//r6+v/8/Pz/2NjY/2VlZf8NDg//AAAB/wEB
559 | Av8EBAb/AAAB/wQBA/8MCQv/DgsN/xIOEP8KBQf/BQAB/wUAAf8EAAH/AAAA/wAAAP8AAAD/AAAA/w0N
560 | DVz///8A////AP///wAAAACRAgEB/wIAAP8CAAD/AQAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
561 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAgX/AAMF/1NXWP/Kzs7/9vn6//v9/f/7/f3/+vv7//n5
562 | +f/8/fz//f78//z8/P/+/v7////////////////////////////+/v7/+vr6//z8/P/+/v7/+fn5//n5
563 | +f/W1tb/fH1+/xYXGP8AAQL/AQED/wEBAv8DAQL/BAED/wsICv8SDQ//DQcK/wYAAv8FAAH/BAAB/wIA
564 | AP8AAAD/AAAA/wAAAP8NDQ1c////AP///wD///8AAAAAkQEAAP8CAAD/AgAA/wIAAP8AAAD/AAAA/wAA
565 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAED/wABA/8PEhX/YGRm/9HU
566 | 1f/3+vv/+Pv8//r9/f/9/v7//Pz8//39/P/+/v3//v7+//////////////////////////////////7+
567 | /v/8/Pz//f39//v7+//7+/v//Pz8/+bo6f+PkZL/HB0e/wAAAf8CAQP/BwUG/wIAAf8IBQf/EAsN/w8K
568 | DP8IAgT/BQAB/wQAAf8CAAD/AQAA/wAAAP8AAAD/DQ0NXP///wD///8A////AAAAAJEBAAD/AgAA/wIA
569 | AP8BAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAB
570 | Av8AAgb/BAYK/xQYG/9hZGj/3uLk//f7/f/2+fr/+Pr6//z8/P/4+Pj//v79//7+/f//////////////
571 | //////////////7+/v/7+/v/9vb2//39/f/9/f3//Pz8//r6+v/2+Pn/7O7v/5GTlP8aGxz/AAAB/wQB
572 | A/8GAwX/BAED/w0ICv8QCw3/CwQH/wYAAv8FAAH/AwAA/wIAAP8BAAD/AQAA/w0NDVz///8A////AP//
573 | /wAAAACRAwIC/wMBAf8CAAD/AQAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
574 | AP8AAAD/AAAA/wAAAP8CAwT/AAAC/wUIDP8KDhP/Cw8U/3t/g//e4uf/9/v9//r8/v/9/v7/+/v7//79
575 | /P/+/f3////////////////////////////+/v7//v7+//v7+//9/f3//v7+//7+/v/8/Pz//P39//r8
576 | /P/p6+v/n6Cg/x4eHv8FAwP/AgAA/wIAAP8IAwT/EAsM/xAKC/8KBAX/CQME/wQAAP8EAAD/BAAA/wQA
577 | AP8PDQ1c////AP///wD///8AAAAAkQMCAv8DAQH/AgAA/wEAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
578 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAQL/AAEC/wAAAv8MDxP/DREX/wsQFv8KEBb/eHyD/9vf
579 | 5P/0+Pz/+/39//v7+//8+/r//v38//7+/v///////////////////////v7+//z8/P/9/f3//f39//39
580 | /f/8/Pz//f39//z9/f/6/Pz/+vz8//Dx8f+urq7/ODY2/wIAAP8DAQH/BgEC/w0ICf8SDA3/DggJ/wwG
581 | B/8IAwP/BQAB/wQAAP8EAAD/EQ0NXP///wD///8A////AAAAAJECAgL/BAIC/wIAAP8BAAD/AAAA/wAA
582 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAL/DBAV/wcO
583 | Ff8HDhb/Bw4W/xogKf9+hIz/5ejt//v9/f/7+/v//Pv6//7+/f/+/v7//v7+//39/f/9/f3//v7+//7+
584 | /v/////////////////////////////////7/f3/+/39//n7+//8/f3/9vb2/7i2tv9BPz//CQcH/wYB
585 | Av8GAQL/CwYG/xAKC/8PCQr/EgoL/w0FBv8KBAT/BgEB/xMOD1r///8A////AP///wAAAACRAQEB/wMB
586 | Af8CAAD/AQAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
587 | AP8AAAH/AAAC/wsPFf8HDhb/Bw4X/wUOF/8HEBr/GyIq/5aan//r7PD/+vr6///9/P/+/v3//v7+//7+
588 | /v/8/Pz//f39//7+/v/8/Pz//////////////////////////////////P7+//v9/f/5+/v/+/v9//z7
589 | /f/39vf/xMHD/1FOUP8IAwX/BwIE/w4HCv8TDA//DAUI/xIJCv8VCgz/FQ0O/xEJCv8YEhNW////AP//
590 | /wD///8AAAAAkQAAAP8CAAD/AgAA/wIAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
591 | AP8AAAD/AAAA/wAAAP8AAAD/AAAB/wEBB/8JDRX/CA0X/wcOGv8EDRr/CBEe/wQMFf8nKzL/mpuf//X1
592 | 9f/+/fz//v38//z8/P/8/Pz///////7+/v/9/f3//f39//////////////////////////////////z+
593 | /v/8/v7/+vz9//39/v/7+vz//v3+//r3+f/Sz9H/ZmJk/wgEBf8MBQj/DQYJ/xIJDP8UCQv/FAgK/xUK
594 | DP8VCgz/HhYXUv///wD///8A////AAAAAJEBAAD/AgAA/wIAAP8DAQD/AAAA/wAAAP8AAAD/AAAA/wAA
595 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAf8HBwz/CQ0V/wgNF/8GDhr/BA0b/wIL
596 | Gf8JDxv/Cw8Y/yUmK/+op6f/8u/t//79/f/9/f3//Pz8///////8/Pz/+/v7////////////////////
597 | ///////////////////6/P3//P7+//n7/P/8/P3//Pv9//38/f/9+/3//fv9/83Iyv82MTP/FA0Q/xAJ
598 | DP8RCQz/Gg4Q/xQHCf8RBQf/EwgK/x4VFlT///8A////AP///wACAgKPAwIC/wIAAP8CAAD/AgAA/wAA
599 | AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAH/DAwQ/wkN
600 | Ff8HDhn/Bg4c/wIMHP8FDR3/BAsZ/w0RG/8CAgf/LSsr/7Ctq//18/H//Pz8//7+/v/9/f3/+/v7//v7
601 | +///////////////////////////////////////+/3+//z+/v/7/f3//Pz9//38/f/9+/3///3+//Hv
602 | 8P+wq63/KCIk/w8IC/8PCAv/Fg4R/xYKDP8VBwn/FgkL/xYKDP8gFRci////AP///wD///8AAwQFYQMD
603 | BP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
604 | AP8AAQH/AAED/w4PFP8JDRb/Bw4a/wYOHP8CCxz/BQwc/woQHf8KDRb/AQIG/wgHCP83NDP/vry7//Pz
605 | 8////////f39//39/f/+/v7/+/v7//////////////////////////////////z+///6/Pz/+fv7//z8
606 | /f/+/f///vv9//Ty9P+tqav/Mi0v/w8IC/8TDA//EAkM/xIJDP8XCAz/FggL/xUGCv8QBAf/IBYYIf//
607 | /wD///8A////AAwPFE0BBQr/AAAD/wAABP8AAAH/AwIA/wMBAP8CAQD/AwEA/wIAAP8CAAD/AgAA/wEA
608 | AP8CAAH/AQAC/wEAAv8AAAH/AAEG/wQJEf8KDxr/BgsY/wcMGv8KDx7/BgoZ/wMGFf8MDhr/CgwV/wEB
609 | Bv8AAQP/AAAB/zg2N//DwML/+vn6//77/f/+/P3//fr8//77/f///v////7////+/////v////7////+
610 | ///6/fv//P78//r9+//7+/v//f39//Du7v+hnp//KCEk/wcBBP8VCxH/FAoQ/xQJD/8WChD/GAQQ/xoH
611 | Ev8VBQ7/FQgP/x8XGWT///8A////AP///wAPExuWBw4V/wADCf8AAAX/AAAE/wEBAP8CAAD/AQAA/wIA
612 | AP8BAAD/AgAA/wIAAP8AAAH/AQAB/wAAAv8AAAL/AAAC/wADCP8ECxb/CQ8b/wULGP8HDBv/Cw4d/wYJ
613 | GP8ICRf/DA0Z/wwNFv8CBQr/AAAE/wABAv8AAQL/U1BS/8fFx//49vj//Pr8//z6/P/+/f///v3///79
614 | ///+/f///v3///79///+/f7/+Pr5//f59v/6/Pr/+/37//Dx7/+tqqr/KCMk/wcBA/8PBQv/EggO/xIG
615 | DP8XCxL/FQYP/xgEEf8bBxT/FgUP/xcIEP8fFxpk////AP///wD///8ADBIZmQsTG/8FChP/AAEL/wAA
616 | Bf8AAQH/AAAA/wAAAP8AAAD/AAAA/wAAAf8AAAL/AAAC/wAAAv8AAAP/AAEG/wMECf8FCBH/CQ4Z/wgO
617 | G/8FCxj/Bwwb/woOHf8GCRj/Cwwa/wsLGf8MDRf/CAoR/wAAA/8AAAL/AAEC/wQDBf9FREb/zczO//j3
618 | +P/9/P7//v3///79///+/f///v3///79///+/f///v3+//3+/v/1+Pb//v79/+zs7P+fnZ3/KiYm/woF
619 | Bv8JAgX/DwUL/xMJD/8VCBD/EwYO/xYGEf8YBBH/GwcU/xYFD/8XCBD/HxcaZP///wD///8A////AAgQ
620 | GKAHEBn/CBAc/wQLGP8AAgz/AAAC/wAAAf8AAAL/AAAC/wAAA/8AAAP/AAAD/wAAA/8AAAP/AAAH/wMG
621 | Dv8KDBP/DA4Z/woQGv8HDRr/BQsY/wgMG/8KDRz/BgkY/wwNG/8JChf/CwsW/wsLFP8AAAP/AAAC/wAA
622 | Af8AAAD/AwQE/0tNTf/O0ND/8vT0//n7+//8/f7//P3+//z9/v/8/f7//P3+//z9/v/7+/v/+fr6//Hx
623 | 8f+TkZP/Gxga/wUAAv8FAAL/CgMH/w8FDP8TBw7/FAcP/xMFDv8XBxL/GAQR/xsHFP8WBQ//FwgQ/x8X
624 | GmT///8A////AP///wAMExyZBQ4Z/wQNHP8GDx7/AwsZ/wEEC/8BAwr/AAIJ/wAABv8AAAb/AAAG/wAA
625 | B/8AAQn/AAIM/wMHEP8HDBX/DQ8a/wsPGv8HDRj/BwwZ/wYMGf8ICxr/CQsb/wgLGv8KChr/CgoY/wsM
626 | Fv8MCxT/AwMJ/wAABP8AAwP/AAEA/wEDA/8FBwf/YWRj/+Pl5f/5/Pv/+/7+//v+/v/7/v7/+/7+//v+
627 | /v/8/v7//f39//Pz8/+YmJj/Hxwe/wQBA/8EAAH/BwEF/xEIDv8XChL/FgkR/xYHEf8YBxP/GggV/xgD
628 | Ev8bBxT/FgUP/xcIEP8fFxpk////AP///wD///8AChEanAgQHf8EDR7/Ag0f/wQPH/8IEBv/Bg4Y/wMK
629 | FP8CCBL/AgYP/wMGDv8CCBL/AwkT/wUKFf8HDBb/CA0Y/wgNGf8FCxf/BAoV/wgLGf8JDBv/CAsa/wkK
630 | G/8LCxz/DAsb/w0NG/8MDRn/DAsU/wsLEv8BAQf/AAID/wACAf8AAQD/AAMB/xQZF/9wdXP/3OHf//v/
631 | /v/7//7/+//+//v//v/7//7//P/+/+/v8P+enZ//LCkr/wMAAv8HAQb/BgAE/wwECf8SBw//EgUQ/xUH
632 | Ev8VBBH/GQcU/xgFEv8YAxL/GwcU/xYFD/8XCBD/HxcaZP///wD///8A////AA0VHZkKEh7/BxEh/wEM
633 | H/8ADR//BQ8d/wUPHP8GDxv/Bg8b/wUOG/8GDhv/Bgwa/wYNGf8GDRr/Bw4a/wgOGv8HDRr/BgsY/wcL
634 | Fv8JDRn/CQwa/wkKGv8JChv/DAwe/w0LHP8ODBz/DQwZ/w0MFv8PDhf/BgQM/wAAA/8BBAP/AAAA/wAB
635 | Af8BAgH/EhQU/29ycf/e4eH/+fv7//z//v/5+/v/+/39/+7w8P+JiIr/JSEl/wUBBP8FAAT/BgAF/wsC
636 | Cf8SBxH/FAcS/xYHE/8XBxT/FgQS/xkFFP8YAxL/GQMR/xsHFP8UBA3/FwgQ/yIaHV////8A////AP//
637 | /wAhJy93ChIe/wYRIP8DESP/AA0g/wIPHv8EDx3/BA8d/wYPHf8GDx3/Bg8d/wYOHf8GDRz/Bg0b/wcN
638 | G/8IDhv/CA4a/wgNGP8IDRf/CQ4Y/woMGf8KChr/Cgob/wwMHv8NCx7/Dgwc/w0KGf8NCxj/Dw4Y/wkG
639 | D/8BAQT/AgQE/wAAAP8BAgL/AQIC/wABAf8QEhL/dXd3/+bo6f/8/v7/+/39/+zu7/+EhYb/Gxgc/wMA
640 | A/8IAQf/BgAF/xMLEv8VChP/EwcS/xUHE/8WBhP/FwUT/xgFFP8ZBRT/GgUU/x0GFf8cCBX/GgkT/xME
641 | DP9BOTwV////AP///wB7fn8GGiEqJQYOG/wEDRz/AAwf/wAPIf8BDh7/Ag0e/wMNHv8EDh//BQ4e/wcQ
642 | Hv8ECxr/BAsa/wgNHP8IDhv/Bw0a/wYJF/8GChX/CQ0X/woPGf8KDRn/Cwsb/wwLHP8NCx7/DQkc/w4K
643 | HP8NChr/DQkW/w0JFf8NCRP/CAYM/wYFCP8BAAP/AwIE/wcGCf8BAAT/AAAC/x4dIP+Vk5f/7u3v/+/t
644 | 8v+Yl5n/IB8j/wMABP8GAQb/DwYP/woBC/8RBxH/DwIO/xYHFP8YBxX/GAYV/xkFFf8aBBb/GgQW/xoE
645 | Fv8eBxb/GAQR/xMDDP8UBQ3/VUxPDP///wD///8AgoOEDgYOGwAGDhv7BxAe/wIOH/8ADR3/Ag8f/wMO
646 | H/8EDh//BA0e/wUNHf8GDhz/Bg0b/wUMGv8GChj/BQoX/wYLF/8JCxj/Cg0Y/wsQGf8LEBr/DA8b/wwM
647 | HP8MCx3/DAod/wwIG/8OCRz/DQka/w0IF/8MCBT/DwsX/w8NFP8LCQ7/CgUM/wUDCP8BAAT/AgAE/wMA
648 | Bf8DAAX/KiYs/5OQlf+TjZX/KCUq/wQABv8KBAz/CgIK/w8GEP8PBhD/EwgT/xMFEv8aCxj/GQcW/xkG
649 | Ff8ZBBX/GgQW/xoDFv8aAxX/FQAN/xkFEv8VBQ7/Hg8Xfm5laCj///8A////AJCOjgJzcnYqCBAc5AYO
650 | G/8GEyL/AAsc/wMQIP8EDyD/BA4f/wQMHf8ECxv/BAsa/wgOG/8IDhv/CQwa/wkMGf8IDBf/Cw0Y/woN
651 | GP8JDhf/Cw4Y/wwNGf8NDR3/DAsd/wsJHP8MCBv/DQkc/w8JG/8NCBj/DAcV/xAMGP8UDRj/DwkR/xIK
652 | FP8UDRb/DwcR/w0GD/8PCBH/CwQN/w0FD/8gGSL/Ixol/w8IEf8NBQ7/EAcR/xAHEf8TChT/EAYR/xIG
653 | Ev8UBRP/FQUU/xgGF/8ZBRf/GgQW/xkDFv8aAhb/GwIV/xgCEf8ZBhL/FgUP/zQlLWj///8A////AP//
654 | /wD///8Aj4yPFEdKUOsIEBv/AQ4d/wANHf8DDyD/BA4f/wQOH/8EDRz/BAwb/wQLGv8EChf/BgwZ/wwP
655 | Gv8MDhn/BwkU/wMEDv8BAw3/AQYP/wMGEP8HCRT/Cwsb/wwKHP8LCRz/DQgc/wwHG/8OCBv/DggZ/wwH
656 | Fv8RChf/EwoX/xIIFP8SBhT/EwkV/xQJFf8TBhT/EQYT/xIHE/8QBBL/DwUR/xMGFP8TCBX/EQcT/xMJ
657 | FP8QBhL/EAYS/xAGEf8PAw//FAUT/xcHFv8YBhf/GQQX/xoDFv8ZARX/GgAW/xoAFf8eBhf/FQMO/xsK
658 | FINnWGA2////AP///wD///8A////AP///wB4eoBOIigw/woUHf8DDhr/Awwd/wMMHf8EDB3/Bg4f/wcN
659 | H/8HDR3/CQ4d/wYIF/8CBA7/AAAJ/wAABv8AAAb/AAAG/wAABv8AAAj/AwQN/wkIFf8LChn/DAoa/w4K
660 | HP8MBxn/Dgga/xAKG/8OCBj/EAkZ/xEHF/8ZDB3/Gg0d/xYJGv8XChv/FAcY/xEEFP8TBRb/EwYX/xQH
661 | GP8RAxT/DgIS/xQHGP8UBxX/FAcV/xIFE/8WBxb/GAkY/xgFF/8YBRb/GAMW/xkDFv8aABX/GgEV/xoA
662 | Ff8ZABT/FAIQ/xUGD/88MDde////AP///wD///8A////AP///wD///8A////AGFoaZYaISP/CxMa/wUL
663 | G/8CCBv/BAod/wkNIP8FCRz/CQoe/w4NH/8BAA7/AAAK/wAABP8AAAP/AAAA/wABA/8BAQX/AAAF/wAA
664 | Bf8CAQn/CQgR/xENGf8PChj/DwkY/w8JGv8QChz/EAod/xAJHf8TCB3/FQYd/xYGHf8VBRz/FQUc/xQE
665 | G/8UBBv/FAQb/xQEG/8TAxr/EwMa/xMDGv8TAxr/FQUY/xkIGv8XBhn/FgMX/xgFGP8ZBBj/GQMW/xkC
666 | Fv8WABP/GgAV/x4CGP8aABX/GQMU/xEJDv8uKyxieXZ3GP///wD///8A////AP///wD///8A////AP//
667 | /wCNkpEHVlxbvhMaHv8GDBn/CA0e/wkNIP8ICx3/CAod/woKHv8JCBr/AAAK/wAABv8AAAP/AAAB/wAA
668 | AP8AAAH/AQAC/wAAA/8AAAP/AQAF/wcEDP8NCRT/DwsX/w8KF/8PChn/Dwka/w8JG/8PCB3/Egcc/xMH
669 | HP8TBRv/EwUb/xIFGv8SBBr/EgUa/xQGG/8UBhv/EwUb/xMFG/8TBRv/EwUa/xMDF/8YBRj/FwQW/xUC
670 | Ff8WBBb/GAMX/xcCFf8ZAxb/GgMX/xsDF/8cAxf/GAAT/xcDE/8kICNua2trIv///wD///8A////AP//
671 | /wD///8A////AP///wD///8A////AI6UkwdeZGajICYv/wgOGv8KEB7/Cw4d/wYIGP8LCxz/CwsZ/wAA
672 | Cf8AAAf/AAAD/wIBA/8BAQH/AQEB/wAAAf8AAAL/AAAD/wAABP8FAwv/CgcQ/w8LFv8PChf/DwoZ/w8J
673 | Gf8PCRr/Dwkb/xEHGf8SBxn/EgUY/xIFGP8RBRj/EQUY/xEFF/8TBhn/EwYZ/xMGGf8TBhn/EgYZ/xMF
674 | GP8XBxj/GQgX/xgHFv8WBRT/FQQT/xQCEf8UAhH/EwIQ/xQCEf8YBhX/FwQT/xoHFv8wIS3/bmhtCP//
675 | /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AG91eWkqMDb/ChAX/wsN
676 | Fv8OERr/DA4Z/woLFf8AAAb/AAAG/wAAA/8AAAL/AAAA/wAAAP8AAAH/AQAD/wAAA/8BAAT/BAIJ/wgF
677 | Dv8OChX/DgoV/w4KFv8OCRf/DgkY/w4JGP8QBxf/EQcX/xEGFv8RBhb/EQYW/xEGFv8RBhb/EQYW/xEG
678 | Fv8RBhb/EAUV/xAFFf8RBRP/EgQQ/xEDD/8SBA//EwUR/xIFEP8TBhH/EgQQ/xMGEf8VChX/EQYR/xQK
679 | FP87Lzvhe3J8A////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
680 | /wD///8AfoWFO1RbXf8wNDj/ICQo/xseJP8NDxT/AAAF/wABBf8AAAP/AgED/wAAAf8BAAH/AAAB/wEA
681 | Av8AAAL/AAAD/wIBBv8FAwv/EA0X/xAMF/8QDBj/EAwY/w8LGf8PChj/EgoW/xMKFf8TChX/EwoV/xMK
682 | Ff8TChX/EwkV/xMJFf8SCRT/EgkU/xIIFP8SCBT/EggT/xMJEf8SBg3/EgYN/xMHD/8PBQz/DgUM/xIL
683 | Ef8gGR//KiMq/z03PspfW2BfenV7Ev///wD///8A////AP///wD///8A////AP///wD///8A////AP//
684 | /wD///8A////AP///wD///8A////AIuRjwF7gH4GdHl4GGZra0FXXFxxTE5Pjj9AQrhBQkSyQUFEskRD
685 | RqZDQkSsQ0JErEJCQ6xDQkSsQkJErEJCRaxDQkasRkRKoEhFTaBIRU6gSEVOoEhETqBHQ06mR0NOpklD
686 | TKZKREugS0RLoEtES6BLREugS0RLoExFTKBMRUygS0RLoEtES6BLREugS0RLoEtESqBNRUmgSkJGpkxD
687 | R6ZNRUmgSEJFpkhCRaZMSEuUXFpdX29scCp5eHsM////AP///wD///8A////AP///wD///8A////AP//
688 | /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
689 | /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
690 | /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
691 | /wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP//
692 | /wD///8A////AP///wD///8A////AIAAAAAAAAAA/8AAAAAAAf//AAAAAAAAf/4AAAAAAAA/+AAAAAAA
693 | AB/wAAAAAAAAD+AAAAAAAAAH4AAAAAAAAAPAAAAAAAAAA8AAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAA
694 | AAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABgAAAAAAA
695 | AAGAAAAAAAAAAYAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAA
696 | AAAAAAABwAAAAAAAAAHAAAAAAAAAAYAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAA
697 | AAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAA
698 | AAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAA
699 | AAHAAAAAAAAAAcAAAAAAAAABgAAAAAAAAAGgAAAAAAAAAYAAAAAAAAADwAAAAAAAAAPgAAAAAAAAB/AA
700 | AAAAAAAH8AAAAAAAAA/4AAAAAAAAH/4AAAAAAAA//wAAAAAAAH//AAAAAAAB////////////
701 |
702 |
703 |
--------------------------------------------------------------------------------
/SplaTU/pencil.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/pencil.ico
--------------------------------------------------------------------------------
/SplaTU/teensy.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tyangdev/SplaTu/32131cbf9bf0d32cf999236def20bf7eae2b6f2c/SplaTU/teensy.exe
--------------------------------------------------------------------------------