Another bunch of fixes and additions to the XTM

This commit is contained in:
Berke Viktor 2012-06-17 10:08:39 +02:00
parent 0d1e485ae8
commit 9d9c24c8d3
8 changed files with 259 additions and 191 deletions

View File

@ -51,6 +51,7 @@
this.importbutton = new System.Windows.Forms.Button();
this.applybutton = new System.Windows.Forms.Button();
this.themecolorfgmarked = new System.Windows.Forms.Label();
this.deleteButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// themelist
@ -58,7 +59,7 @@
this.themelist.FormattingEnabled = true;
this.themelist.Location = new System.Drawing.Point(12, 12);
this.themelist.Name = "themelist";
this.themelist.Size = new System.Drawing.Size(154, 199);
this.themelist.Size = new System.Drawing.Size(160, 199);
this.themelist.TabIndex = 0;
this.themelist.SelectedIndexChanged += new System.EventHandler(this.theme_selected);
//
@ -209,20 +210,20 @@
//
// importbutton
//
this.importbutton.Location = new System.Drawing.Point(90, 220);
this.importbutton.Location = new System.Drawing.Point(12, 217);
this.importbutton.Name = "importbutton";
this.importbutton.Size = new System.Drawing.Size(60, 23);
this.importbutton.TabIndex = 2;
this.importbutton.Text = "Import...";
this.importbutton.Size = new System.Drawing.Size(52, 23);
this.importbutton.TabIndex = 1;
this.importbutton.Text = "Add...";
this.importbutton.UseVisualStyleBackColor = true;
this.importbutton.Click += new System.EventHandler(this.importbutton_Click_1);
//
// applybutton
//
this.applybutton.Location = new System.Drawing.Point(23, 220);
this.applybutton.Location = new System.Drawing.Point(120, 217);
this.applybutton.Name = "applybutton";
this.applybutton.Size = new System.Drawing.Size(60, 23);
this.applybutton.TabIndex = 1;
this.applybutton.Size = new System.Drawing.Size(52, 23);
this.applybutton.TabIndex = 3;
this.applybutton.Text = "Apply";
this.applybutton.UseVisualStyleBackColor = true;
this.applybutton.Click += new System.EventHandler(this.applybutton_Click_1);
@ -236,11 +237,22 @@
this.themecolorfgmarked.TabIndex = 22;
this.themecolorfgmarked.Text = "Marked Text";
//
// deleteButton
//
this.deleteButton.Location = new System.Drawing.Point(66, 217);
this.deleteButton.Name = "deleteButton";
this.deleteButton.Size = new System.Drawing.Size(52, 23);
this.deleteButton.TabIndex = 2;
this.deleteButton.Text = "Delete";
this.deleteButton.UseVisualStyleBackColor = true;
this.deleteButton.Click += new System.EventHandler(this.deleteButton_Click);
//
// XTM
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(397, 248);
this.Controls.Add(this.deleteButton);
this.Controls.Add(this.themecolorfgmarked);
this.Controls.Add(this.themecolorfg);
this.Controls.Add(this.themecolorf);
@ -297,7 +309,8 @@
private System.Windows.Forms.Label themecolortextbg;
private System.Windows.Forms.Button importbutton;
private System.Windows.Forms.Button applybutton;
private System.Windows.Forms.Label themecolorfgmarked;
private System.Windows.Forms.Label themecolorfgmarked;
private System.Windows.Forms.Button deleteButton;
}
}

View File

@ -58,6 +58,13 @@ namespace thememan
Console.WriteLine("Install not found");
ListThemes();
String[] arguments = Environment.GetCommandLineArgs();
if (arguments.Length > 1)
{
FileInfo fi = new FileInfo(arguments[1]);
attemptImport(fi);
}
}
private void ListThemes()
@ -79,6 +86,7 @@ namespace thememan
if (themelist.Items.Count == 0)
{
applybutton.Enabled = false;
deleteButton.Enabled = false;
}
else
{
@ -155,6 +163,7 @@ namespace thememan
{
ShowColors(ReadTheme(themelist.SelectedItem.ToString()));
applybutton.Enabled = true;
deleteButton.Enabled = true;
}
}
@ -170,6 +179,11 @@ namespace thememan
private void importdialog_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
{
FileInfo fi = new FileInfo(importDialog.FileName);
attemptImport(fi);
}
private void attemptImport(FileInfo fi)
{
string themeName = fi.Name.Remove(fi.Name.Length - fi.Extension.Length);
int result = extractTheme(fi);
ListThemes();
@ -178,16 +192,20 @@ namespace thememan
{
case 0:
themelist.SetSelected(themelist.FindStringExact(themeName), true);
/* required for command line invoking */
ShowColors(ReadTheme(themeName));
break;
case 1:
MessageBox.Show("This theme is already installed!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show("This theme is already installed!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
themelist.SetSelected(themelist.FindStringExact(themeName), true);
/* required for command line invoking */
ShowColors(ReadTheme(themeName));
break;
case 2:
MessageBox.Show("Invalid theme file!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
}
}
/* gzip solution, not good enough coz we need multiple files
*
public string extractTheme(FileInfo fi)
@ -226,43 +244,52 @@ namespace thememan
string themeName = zipFile.Name.Remove(zipFile.Name.Length - zipFile.Extension.Length);
string destFolder = xchatdir + themedir + themeName;
using (Package zip = Package.Open(zipFile.FullName, FileMode.Open))
try
{
PackagePartCollection parts = zip.GetParts();
if (Directory.Exists(destFolder))
using (Package zip = Package.Open(zipFile.FullName, FileMode.Open))
{
return 1;
}
else
{
Directory.CreateDirectory(destFolder);
}
PackagePartCollection parts = zip.GetParts();
foreach (PackagePart part in parts)
{
/* not sure what's this good for */
/* String archive = part.Uri.ToString().Replace(@"/", @"\"); */
String destFile = destFolder + part.Uri.ToString();
using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite))
if (Directory.Exists(destFolder))
{
using (Stream inStream = part.GetStream())
{
long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE;
byte[] buffer = new byte[bufferSize];
int bytesRead = 0;
long bytesWritten = 0;
return 1;
}
else
{
Directory.CreateDirectory(destFolder);
}
while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0)
foreach (PackagePart part in parts)
{
/* not sure what's this good for */
/* String archive = part.Uri.ToString().Replace(@"/", @"\"); */
String destFile = destFolder + part.Uri.ToString();
using (FileStream outFileStream = new FileStream(destFile, FileMode.CreateNew, FileAccess.ReadWrite))
{
outFileStream.Write(buffer, 0, bytesRead);
bytesWritten += bufferSize;
using (Stream inStream = part.GetStream())
{
long bufferSize = inStream.Length < BUFFER_SIZE ? inStream.Length : BUFFER_SIZE;
byte[] buffer = new byte[bufferSize];
int bytesRead = 0;
long bytesWritten = 0;
while ((bytesRead = inStream.Read(buffer, 0, buffer.Length)) != 0)
{
outFileStream.Write(buffer, 0, bytesRead);
bytesWritten += bufferSize;
}
}
}
}
}
}
}
catch (System.IO.FileFormatException)
{
return 2;
}
if (IsDirectoryEmpty(destFolder))
{
@ -280,6 +307,20 @@ namespace thememan
return !Directory.EnumerateFileSystemEntries(path).Any();
}
private void deleteButton_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Are you sure you want to delete this theme from the theme repo?\n\nYour currently applied theme won't be affected.", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
if (result == DialogResult.OK)
{
Directory.Delete(xchatdir + themedir + themelist.SelectedItem.ToString(), true);
ListThemes();
if (themelist.Items.Count == 0)
{
deleteButton.Enabled = false;
}
}
}
}

View File

@ -124,163 +124,163 @@
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAEgAA
AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEgAAABAAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAA
AE0AAACDAAAAiQAAAFsAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABbAAAAiQAA
AIMAAABNAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAGAAAAUgAAAKAAAADwAAAA9gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA
AF0AAACsAAAA9gAAAPAAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAYAAABSAAAAoAEBAvQFI5n/BiSZ/wEBA/kAAACsAAAAXQAAAAoAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAKAAAAXQAAAKwBAQP5BhuZ/wUamf8BAQL0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAFIAAACgAQEC9AQmmv8AOf//ADj//wcpov8CAgX5AAAArAAA
AF0AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAoAAABdAAAArAICBfkHHqL/ACb//wAl//8EGpr/AQEC9AAAAKAAAABSAAAABgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAUgAAAKABAQL0BCqa/wA///8APv//AD3//wA8
//8ILqr/AgMG+QAAAKwAAABmAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAGYAAACsAgMG+Qgkqv8AK///ACr//wAp//8AKP//BBya/wEB
AvQAAACgAAAAUgAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAABSAAAAoAEBAvQELZr/AET//wBD
//8AQ///AEL//wBB//8AQf//BjKy/wIDCPoAAADCAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAAAMICAwj6Biiy/wAw//8AL///AC///wAu
//8ALf//AC3//wQemv8BAQL0AAAAoAAAAFIAAAAFAAAAAAAAAAAAAAAAAAAAAAAAADwAAACeAQEC9AQw
mv8ASv//AEn//wBI//8AR///AEf//wBG//8ARf//AEX//wU1uv8CBQv9AAAAxQAAAHIAAAAYAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQIEC/0FLLr/ADb//wA1
//8ANP//ADP//wAz//8AMv//ADH//wAx//8EIZr/AQEC9AAAAJ4AAAA8AAAAAAAAAAAAAAAAAAAAAAAA
AE8AAADNBR5V/wBP//8ATv//AE7//wBN//8ATP//AEz//wBL//8ASv//AEn//wBJ//8GO8H/AwcP/QAA
AMUAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADFAwYP/QYy
wf8AO///ADr//wA6//8AOf//ADj//wA4//8AN///ADb//wA1//8ANf//BRZV/wAAAM0AAABPAAAAAAAA
AAAAAAAAAAAAAAAAAEIAAACnAQEB+Qg3l/8AU///AFL//wBS//8AUf//AFD//wBQ//8AT///AE7//wBN
//8ATf//B0HI/wQIE/0AAADFAAAAcgAAAB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAcgAA
AMUECBP9BznI/wBB//8AQP//AD///wA+//8APv//AD3//wA8//8APP//ADv//wA6//8IKJf/AQEB+QAA
AKcAAABCAAAAAAAAAAAAAAAAAAAAAAAAAAkAAABdAAAArAECA/kJPaL/AFf//wBX//8AVv//AFX//wBU
//8AVP//AFP//wBS//8AUv//AFH//wZFz/8DCRf9AAAAzAAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAA
ACEAAAB7AAAAzAMJF/0GPs//AEb//wBF//8ARf//AET//wBD//8AQ///AEL//wBB//8AQP//AED//wku
ov8BAgP5AAAArAAAAF0AAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAXQAAAKwCAwX5B0Kt/wBb
//8AW///AFr//wBZ//8AWP//AFj//wBX//8AVv//AFb//wBV//8ESdb/Awsb/gAAANEAAAB7AAAAIQAA
AAAAAAAAAAAAIQAAAHsAAADRAwsb/gRD1v8ATP//AEv//wBK//8ASf//AEn//wBI//8AR///AEf//wBG
//8ARf//BzOt/wICBfkAAACsAAAAXQAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAA
AF0AAACsAQMH+gRHt/8AX///AF///wBe//8AXf//AFz//wBc//8AW///AFr//wBa//8AWf//BE/c/wUP
If4AAADRAAAAewAAACEAAAAhAAAAewAAANEFDiH+BErc/wBR//8AUP//AFD//wBP//8ATv//AE7//wBN
//8ATP//AEv//wBL//8EOLf/AQMH+gAAAKwAAABdAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
7f/t7e3/7e3t/+3t7f+1zub/AH3z/wB98/+1zub/7u7u/+7u7v/u7u7/7u7u/+7u7v/u7u7/7u7u/+7u
7v/u7u7/4eHhzgICAgwCAgIL4eHhzu/v7//v7+//7+/v/+/v7//h4eHOAgICCwAAAAAAAAAAAAAAAAMD
AwsFBQUVBgYGFgYGBhYGBgYWBgYGFgYGBhYFBQUWBQUFFQMDAwsAAAAGAQEBXuXl5f/l5eX/5eXl/xNb
lP8Agur/AIHp/wCA6f8AgOn/AH/p/wB/6v8Ag/T/AIj//wCH//8AgfT/AHvq/wB66f8Beun/BT90/wAA
APYAAACqAQEBYwQEBBsEBAQVAwMDCwAAAAAAAAAAAgICDFVVVTro6Oj/6Ojo/yYmJn0CAgIMAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAABSAAAApKmp
qf7b29v/qMXZ/wCM8/8Akv//AJL//wCR//8AkP//AI///wCP//8Ajv//AI3//wCN//8AjP//AIv//wCK
//8Aiv//AIn//wZIgf8AAQH0AAAAoAAAAFIAAAAGAAAAAAAAAAAAAAAAAAAAAAUFBQzT09PO09PTzgUF
BQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQAA
AFIAAACgAQEB9AhUhv8Bjev/AJL0/wCX//8Al///AJb//wCW//8Alf//AJT//wCT//8Ak///AJL//wCR
//8Akf//AJD//wCP//8Ajv//AI7//wCN//8IUIr/AQEB9AAAAKAAAABSAAAACQAAAAAAAAAAAAAAAAAA
AAAFBQULBQUFCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAQAAAAZwAAAKYBAgL0CGCT/wCf//8Anv//AJ3//wCd//8AnP//AJv//wCa//8Amv//AJn//wCY
//8AmP//AJf//wCW//8Alf//AJX//wCU//8Ak///AJP//wCS//8Akf//CFeT/wEBAvQAAACmAAAAZwAA
ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAABAAAABoAAAAuAECA/sGaJ3/AKT//wCj//8Ao///AKL//wCh//8Aof//AKD//wCf
//8Anv//AJ7//wCd//8AnP//AJz//wCb//8Amv//AJn//wCZ//8AmP//AJf//wCX//8Alv//AJX//wZe
nf8BAgP7AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGgAAAC4AgQF+wZxpf8Aqv//AKn//wCo//8AqP//AKf//wCm
//8Apf//AKX//wCk//8Ao///AKP//wCi//8Aof//AKD//wCg//8An///AJ7//wCe//8Anf//AJz//wCb
//8Am///AJr//wCZ//8GZqX/AgQF+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAaAAAALgCBgj7CHuu/wCv//8Arv//AK7//wCt
//8ArP//AKz//wCr//8Aqv//AKn//wCp//8AqP//AKf//wpZhP8KWYT/AKX//wCk//8ApP//AKP//wCi
//8Aov//AKH//wCg//8An///AJ///wCe//8Anf//CG6u/wIGCPsAAAC4AAAAaAAAABAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAABuAAAAuQIIC/sIhLf/ALX//wC0
//8As///ALL//wCy//8Asf//ALD//wCw//8Ar///AK7//wCu//8Arf//CWOP/wABAfYAAQH2CWKP/wCp
//8AqP//AKj//wCn//8Apv//AKb//wCl//8ApP//AKT//wCj//8Aov//AKH//wh2t/8CCAv7AAAAuQAA
AG4AAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAHIAAADEAgoN/AaO
v/8Auv//ALn//wC5//8AuP//ALf//wC3//8Atv//ALX//wC0//8AtP//ALP//wCy//8FbZr/AQEC9AAA
AKEAAAChAQEC9AVqmv8Arf//AK3//wCs//8Aq///AKr//wCq//8Aqf//AKj//wCo//8Ap///AKb//wCl
//8Gfr//AgkN/AAAAMQAAAByAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAcgAA
AMUDDhH9BJfH/wDA//8Av///AL7//wC+//8Avf//ALz//wC7//8Au///ALr//wC5//8AuP//ALj//wd3
pP8BAgP7AAAAqgAAAFYAAABWAAAAqgECA/sHdKT/ALH//wCx//8AsP//AK///wCu//8Arv//AK3//wCs
//8ArP//AKv//wCq//8Aqf//BIXH/wMMEf0AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ABgAAAByAAAAxQQSFv0GoM3/AMX//wDE//8AxP//AMP//wDC//8Awv//AMH//wDA//8Av///AL///wC+
//8Avf//CIGt/wIEBfsAAAC4AAAAZwAAAAsAAAALAAAAZwAAALgCBAX7CH2t/wC1//8Atf//ALT//wCz
//8As///ALL//wCx//8AsP//ALD//wCv//8Arv//AK7//waNzf8EEBb9AAAAxQAAAHIAAAAYAAAAAAAA
AAAAAAAAAAAAFQAAAHIAAADFBBYa/Qaq0/8Ay///AMr//wDJ//8AyP//AMj//wDH//8Axv//AMb//wDF
//8AxP//AMP//wDD//8Hi7b/AgYH+wAAALgAAABoAAAAEAAAAAAAAAAAAAAAEAAAAGgAAAC4AgYH+weG
tv8Auf//ALn//wC4//8At///ALf//wC2//8Atf//ALT//wC0//8As///ALL//wCy//8GldP/BBMa/QAA
AMUAAAByAAAAFQAAAAAAAAAAAAAASgAAALgDGR79BbPZ/wDQ//8Az///AM///wDO//8Azf//AM3//wDM
//8Ay///AMr//wDK//8Ayf//AMj//wSWvv8CCAn8AAAAuAAAAGgAAAAQAAAAAAAAAAAAAAAAAAAAAAAA
ABAAAABoAAAAuAIHCfwEj77/AL7//wC9//8AvP//ALv//wC7//8Auv//ALn//wC5//8AuP//ALf//wC2
//8Atv//BZzZ/wMWHv0AAAC4AAAASgAAAAAAAAAAAAAATgAAAMUEPEf/AdD4/wDV//8A1P//ANP//wDT
//8A0v//ANH//wDR//8A0P//AM///wDO//8Azv//BqHH/wMLDf0AAADCAAAAagAAABAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAQAAAAagAAAMIDCw39BpjH/wDC//8Awf//AMD//wC///8Av///AL7//wC9
//8Avf//ALz//wC7//8Auv//AbX4/wQ0R/8AAADFAAAATgAAAAAAAAAAAAAAJAAAAIMAAADcBEFM/wHU
+P8A2f//ANj//wDY//8A1///ANb//wDV//8A1f//ANT//wDT//8HrM//BBAT/QAAAMUAAAByAAAAFwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAHIAAADFBA8T/Qeiz/8Axv//AMX//wDE
//8AxP//AMP//wDC//8Awf//AMH//wDA//8Buvj/BDlM/wAAANwAAACDAAAAJAAAAAAAAAAAAAAAAAAA
ACwAAACDAAAA3ARCTP8B2Pj/AN3//wDc//8A3P//ANv//wDa//8A2f//ANn//wW31/8EFBj9AAAAxQAA
AHIAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAByAAAAxQQT
GP0Fq9f/AMr//wDJ//8AyP//AMj//wDH//8Axv//AMX//wHA+P8EO0z/AAAA3AAAAIMAAAAsAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAsAAAAgwAAANwEQ0z/Adz4/wDh//8A4P//AOD//wDf//8A3v//A8He/wIZ
Hf4AAADFAAAAcgAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAYAAAAcgAAAMUCFx3+A7Te/wDO//8Azf//AMz//wDM//8Ay///AcX4/wQ8TP8AAADcAAAAgwAA
ACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcBEVM/wHg+P8A5f//AOT//wDk
//8EyuP/BB8i/gAAANEAAAB4AAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAHgAAADRBB0i/gS84/8A0v//ANH//wDQ//8Byvj/BD5M/wAA
ANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAACDAAAA3ARF
TP8B4vj/AOj//wTT6P8FJSn+AAAA0QAAAHsAAAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB7AAAA0QUjKf4Ew+j/ANb//wHQ
+P8EQEz/AAAA3AAAAIMAAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAsAAAAgwAAANwERUz/BNHm/wUrL/4AAADRAAAAewAAACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhAAAAewAA
ANEFKS/+BMXm/wRBTP8AAADcAAAAgwAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAIMAAADcAgoL/QAAANEAAAB7AAAAIQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAIQAAAHsAAADRAgkL/QAAANwAAACDAAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAB/AAAAmwAAAHgAAAAhAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAB4AAAAmwAAAH8AAAAsAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAAAIAAA
AA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAIAAAABMAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAHAAAACQAAAAgAAAAFAAAAAgAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABwAAABEBAQEbBAQEIQICAh4AAAAVAAAACwAA
AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAFwMDAywDAwM/AwMDSQUF
BUUEBAQ1AQEBHwAAAA0AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAUAAAAZAgICRQMD
A3IBAQGDAQEBegICA20EBARYBAQEOgEBARsAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA
ABQEBARjGhsZricnJcsXFxbYBgYGzgAAAJwCAgJwBQUFTwICAioAAAANAAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAACAAAAAQAA
AAEAAAABAAAABQMDAlM8Pjqcp6ug17O3rPiFiID3NTcz6QEBAdMBAQGPBAQEWgICAjQAAAATAAAABAAA
AAEAAAABAAAAAgAAAAUAAAAHAAAACAAAAAcAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAYAAAAKAAAADAAA
AA0AAAAMAAAACwAAAAgAAAAGAQEBGRcYF3uqrqPU3ePV+MrPwv+usqf+b3Ns8QcHB+QAAACnBAQEYAQE
BDsAAAAYAAAABwAAAAUAAAAIAAAADgAAABUCAgIdAgICIAEBARwAAAASAAAACQAAAAMAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAADgEB
ARkDAwMiAgICJwICAikCAgIoAgICJQAAAB8AAAAXAQIBTmFjXaTX3c/p4uja/9bczv/Cx7v+en127hMU
E+QAAAC3BAQEZQQEBD4AAAAfAAAAEgAAABUBAQEeAgICKgICAjcCAgNEAwMDSAQEBEACAgIuAQEBGQAA
AAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA
AAUAAAARAwMDJgMDAzsDAwNJAgICTwICAlICAgJTBAQETwMDA0cEAwQ5AgICd5WZj9vq8OL54ObY/9/l
1//Kz8P/fYF57BscGt4AAADBAgICbAMDA0UAAAAwAAAALQICAjcCAgJNAgICbgICAoUBAQGJAQEBeAIC
AmQDAwNMBAQELQAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAgAAAA0AAAA0AgICbAICAo8CAgGbAQEBngAAAJkBAQGOAgICfAMDA28CAgJfAgICjJyf
lufo7d/+5Orc/+Pp2v/Gy7//io2F6SEiINQAAADDAQEBcwMDA1UCAgJSAwMDaQYGBosSExKePD46vjw9
OtYTFBPTAgICuwAAAJADAwNdBAQEOQICAhgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAQEBBwYGBkgZGhiOJSYkszAxLsgsLSvRHyAe2RESEd0KCgrdAgICzwAA
ALQAAACKAgICoJygl+ru9OX+6/Hi/+Dl2P7N0sb/jJCI6hscGtEAAADBAgIBgwcHB4MTExKmMzQwvXh8
dM2hpZvms7mt9Kito/qEiH/2IiMg3QICAr0BAQJrAwMDNgAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBQUFGS8wLYO1uq/Yyc/C8sLHu/awtan4n6OZ+pGV
jPtydW70Li8s4RUVFNoCAgLGAQEBvZGUjOjt8+X86O7g/+Xq3P/S18r/g4Z+7A8PDs4EBATFGxwax0dI
RM6RlIvjvsK29sXKvfi6vrL9w8m8/8TJvf+mq6D7UFJN3gUGBb4BAQFqAgICKAAAAA8AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAAEBwcHOFBSTZjb4NPw6O7g/uHn
2f7U2s3/yc3B/7q/s/+2uq/+pquh+4WIgPYrLCrhBwcH03x+d+Lk6dv78Pbn/+nv4f/Y3tD9jZCH6RkZ
GM48PTnXm56V8MXKvfrK0ML90dXI/8rPwv+3vLH/wsi7/8DFuf+bnpT4LC0qzQICAqQBAQFKAAAAFgAA
AAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAEAAAABQAAAAcAAAAJAgICMyco
JpW4vLHa3ePV+Nzh1Pvc4tT/1NnM/8zRxP/HzL//t7uw/6qvpP+Sl433QkQ/2n1/eOHf5Nb88vjp/+/1
5v/i6Nr8sLWq732AeOimqp/2ub6y/r7EuP+9wrf/vcK2/7/Dt/+3vLD/ub+y/6Wpnvtwc2vmEBEQswEB
AWQAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAADAAAABQAAAAcAAAAJAAAADAAA
AA8AAAATAAAAHwYGBm88Pjqom5+V2MTJvfPGy7//wMW5/77Ct/+9wbX/uL2y/7O3rP+3vLD/o6id8rm9
svLl693+6e/g/+bs3f/c4tP/x83A/7G1qv6mqqD/nKCW/5ygl/+go5r/o6ed/6aqoP+kqJ7/j5OK81VY
UtwREhG4AQEBbAAAACUAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAHAAAACgAA
AA4AAAATAAAAGQAAAB4AAAAjAAAAKwAAAEQCAgKJHB0bul5gW9eQlIvyn6OZ/p6imP+go5r/pqqg/6+z
qf+5vrL/wMS5/rm+s/+XnJL/eX11/3J4c/9zgoP/Z3R0/2xxbP+ChX3/g4Z+/3+Cev+BhHv/iIyD/32A
eP5iZF3wNjc01goKCbQAAAB4AAAALAAAAA8AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAADAAAABAAA
AAgAAAANAAAAFAAAABoAAAAiAAAAKgAAADIAAAA7AAAARQAAAFMAAABrAAAAkAoLCrwpKifkVVdS9Hh7
dPuDhn7/j5KK/5uflv+anpX/aWxl/0ZOTP9BVl3/M1Ff/ytIV/8wTmD/MEpZ/zRIUv9FTk//cXRu/3p+
dv5ydW7+UFJO+CorKOwPDw7UAQEBrQICAoECAgJOAwMDLwAAABgAAAAKAAAAAwAAAAAAAAABAAAAAgAA
AAMAAAAGAAAACgAAABAAAAAYAAAAIQAAACoAAAA1AAAAPwAAAEsAAABYAAAAZQAAAHMAAACAAAAAjgAA
AKEBAQG1Dg4N0iEiIOpAQj71cHNs/ICDfP1WWVT+LDk8/0Rsdv9UhZH/Uomd/0CBoP88b4r/PGB1/y9K
W/8rQEz/SE9P/jIzMPQiIyHoEhMS3AECAdQAAADCAQEBngICAnoEBARkBQUFTQMDAzMAAAAaAAAACgAA
AAIAAAACAAAAAwAAAAYAAAALAAAAEgAAABsAAAAmAAAAMQAAAD0AAABKAAAAWAAAAGcAAAB2AAAAhgAA
AJUAAAClAAAAsQAAALoFBQXFDAwM1gcHB+MJCQnrKCkn8lRWUfZDTU7/VX+M/054gv9KVVj/V2Fk/zxc
av9EUln/U1pf/ztRX/8wTF3/JzU9/0ZKRvk/QT3lODo34R4fHecJCQnjAQEB0wAAALABAQGGAwMDagQE
BFEDAwMzAAAAFwAAAAcAAAADAAAABgAAAAsAAAATAAAAHAAAACkAAAA2AAAARQAAAFQAAABkAAAAdAAA
AIUAAACZAAAAsAMDA8QWFhbXKSkp5j4+PvRLS0v5Ojo6+iAgH/YpKifxYGJc+HFzbf1FWmL/XZiu/0td
Yf9iY2P/uLm5/1laW/9jZGT/t7i4/05ZX/9AYXf/LURS/2RqZ/+Ch378goZ+/ICDe/hLTUjtHB0b6wUF
BeUAAADBAQEBjgICAmoFBQVLAwMDJwAAAA0AAAAEAAAACQAAABEAAAAdAAAAKQAAADgAAABIAAAAWgAA
AGwAAAB/AQEBmQICArgcHBzUR0dH7G9vb/uUlJT9u7u7/tra2v+NjY39JSUk+DY3NPdbXVj7eXx1/nh7
dP88TVT/WI6k/1prcP/P0ND/09TU/2psbP/Q0dH/0tPU/1NjbP9Oe5f/OFFe/4SLhf+ippz/n6OZ/5+j
mf+Rloz+en529Ts8OekMDAvlAAEAxgEBAYYDAwNXBAQEMAAAABIAAAAHAAAADwAAABsAAAApAAAAOQAA
AEsAAABdAAAAcgEBAYwICAi1Kioq3GxsbPOnp6f92dnZ//r6+v/9/f3//Pz8/5ycm/4rLCv6Kiso+EZH
Q/xhY13+fH94/4qNhf9bYV7/QV9s/010g/9ve37/bnyA/09weP9vfYH/aXqB/0qCn/9ThaH/P0tQ/6So
n//DyLz/wsa7/7a7r/+zuKz/rbKm/5KXjvdVWFLrEREQ3QEBAawBAQJVAgICLwAAABIAAAALAAAAFgAA
ACQAAAA3AAAASgAAAF8AAAB3CwsLpCsrK9p1dXXzx8fH/u3t7f/////////////////+/v7/vb29/zY2
Nv0cHRv8LS8s+0JDP/xZW1b8dHdw/I+Tiv6NkYf8TFNS+UBpevxiqcL/d8fc/4Ta7v95yd//Z7jd/1+h
w/9EW2X/e4F6/8TJvf/R1sn/1NnM/9HWyf/N08X/yc/C/8TJvP+qrqP6WVtW3AcHBrACAgJKAwMDJQAA
AA4AAAAPAAAAHAAAAC8AAABEAAAAXAICAnsXFxezY2Nj6sjIyP3w8PD/8/P0//Pz8///////////////
///39/f/jIyM/hsbG/0WFxX8IyQh+jM0MfpAQT34RUdD90BBPfJCREDcKisotj9KTdVCYGv+THOA/3Cs
xf9wr8z/TXWJ/0hZYP9/hX//ztPH/ubr3f7m7N3/7/Xm//D25//m7N3/3+XX/9bczv7L0MP2kJSLwQ4O
DYcCAgJCAQEBFgAAAAgAAAAUAAAAJAAAADkAAABTAgICdiMjI7iHh4f25eXl/v7+/v/+/v//oaHs/62t
vP/4+Pj/////////////////5OTk/25ubv4iIiL9CwwL+wwNDPgMDQzvDAwM1wgIB7AFBQWHAQEBhHN2
b7enraTzjJKN/3SCgv90goP/mqKc/77Dt/+Tl473YGNd7ImNhfG/xLj55evd+OTq3Pjb4dP40NXJ+MXK
vuutsaa9RkhDiQUFBWQAAAAiAAAACQAAAAMAAAAYAAAAKwAAAEQDAwNrKCgot5iYmPb39/f/////////
////////oqL3/1pauv/k5OT//////////////////////+fn5/+np6f/T09P+QsLC+gAAADMAAAArwAA
AI8AAAByAQEBhllbVqXKz8Pi2+HT/9zi1P/f5df/5evd/+Pp2/+us6j1MTMw2BUVFMInKCW1Ojs4p0FC
PqxAQj2qNDYyqC0uK54gIB6JBwcGXgAAACIAAAAHAAAAAgAAAAAAAAAaAAAAMAEBAVQjIyOrm5ub9Pf3
9///////////////////////vr76/0FBzv/S0tT///////z8/P/o6On/2tra//Pz8//9/f3/2dnZ/3Nz
c/gRERHbAAAAtgAAAJkAAAB9AAAAhRQUE5KorKHE3uTW+O3z5P/x9+j/6O7g/97k1v+vs6juLi8tzAAA
AJICAgJPAgICPgQEBEcDAwNNAQEBPgAAACYAAAATAAAACwAAAAMAAAABAAAAAAAAAAAAAAAcAAAANQwM
DH5zc3Pm6urq////////////////////////////6Oj9/0ND3v+ysrn/3Nzj/5OTx/87O83/Li63/39/
nP/o6Oj//////97e3v9WVlb0BQUFywAAAKcAAACKAAAAeQICApdGSESVxMm9zOju4Pru9OX/5Orc/97j
1f+WmZDfHh8dwAEBAX0CAgIyAAAAFAAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAcAAAARDo6Ora8vLz9///////////////////////////+/v7/7e31/0JC5v9KSqb/LS3T/wYG
8/8AAP7/AQH9/yoqz//Ly9b//v7+//7+/v+np6f+ISEh4gAAALQAAACTAAAAdAAAAIgFBQWjV1lUpMvQ
xNHr8eP85evd/9ne0fdrbWfQCgoJpgEBAVEAAAAdAAAACQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAaAAAAU1lZWeDp6en//////////////////v7+//Ly8//BwdT/ZmbI/xMR
6P8KBfL/AAD//wAA/v8SEvX/V1ft/8DA7v/4+Pv////////////f39//Ozs78QAAALsAAACYAAAAeAAA
AGMAAAByBgYFm0NFQcO1uq/Z3ePV6qqupM4pKii4AAAAcQAAACMAAAALAAAAAwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAAAWGRkZPP9/f3////////////s7O//s7PQ/1pa
xf8TE+j/AgL6/wAA/v8ZDOf/Dw7w/2lp6f/IyPL/+fn8///////////////////////39/f/R0dH+AAA
AL0AAACYAAAAeAAAAFcAAAA8AAAARAkJCHM0NjKdUVNOuDM0MZcEBQRkAAAAJgAAAAkAAAADAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAUWJiYu35+fn///////j4
/v9ycuv/ERHp/wEB/f8AAP//AwP8/yws8P9DQe7/Wlq8/+rq7P//////////////////////////////
///z8/P/RERE9QAAALgAAACSAAAAcgAAAFEAAAAyAAAAGwAAABcAAAAmAAAANwAAAC8AAAASAAAABAAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAPlJS
Uszb29v+//////7+//+4uPz/JSX8/w0N+v82NvL/nJzr/+jo9/+2tvn/Tk7C/9ra2///////////////
///////////////////Nzc3+NDQ05wAAAKsAAACHAAAAZwAAAEUAAAApAAAAFQAAAAgAAAAEAAAABAAA
AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAKAAAAIi4uLo6lpaX1/Pz8////////////6Oj+/9DQ+f/z8/v//v7+///////R0fv/OzvY/8LC
yP/+/v7///////////////////////n5+f+MjIz5FxcXygAAAJcAAAB2AAAAVwAAADkAAAAgAAAADgAA
AAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAGAAAADgQEBEBWVlbA0dHR/P7+/v//////////////////////////////
///x8f7/S0vn/6mpuf/8/Pz//////////////////f39/8DAwP05OTndAQEBoAAAAH4AAABhAAAARAAA
ACkAAAAVAAAACAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAACAEBARUXFxdYWVlZyby8vPj19fX/////////
///////////////////7+///c3P1/5iYyP/5+fn///////7+/v/x8fH/rKys+kRERN0ICAiiAAAAfAAA
AGMAAABIAAAALwAAABoAAAALAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABQAAAAoBAQEXDw8PRjs7
O6h9fX3ox8fH+ubm5v/19fX//Pz8////////////4uL+/9zc9P/y8vL/5OTk/76+vvpvb2/tKSkpwgUF
BYwAAABvAAAAWgAAAEUAAAAwAAAAHAAAAA4AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAA
AAUAAAAJAAAAEgcHBysWFhZqKysrsFlZWdaHh4fppaWl9re3t/y5ubn+tra2/KGhofWAgIDrUFBQ2yMj
I70ODg6NAgICZwAAAFcAAABLAAAAPAAAACwAAAAcAAAADwAAAAYAAAACAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAIAAAAEAAAACAAAAA0AAAAVAwMDJwkJCUwLCwt0DAwMjwwMDJ8MDAylDAwMoQsL
C5UJCQl/BgYGYQEBAUkAAABAAAAAOwAAADUAAAAsAAAAIgAAABcAAAANAAAABgAAAAIAAAABAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAAAUAAAAIAAAADAAAABEAAAAVAAAAGgAA
AB0AAAAgAAAAIwAAACQAAAAkAAAAJAAAACMAAAAhAAAAHgAAABoAAAAVAAAADwAAAAoAAAAFAAAAAgAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABQAA
AAcAAAAJAAAACwAAAA4AAAAPAAAAEAAAABAAAAARAAAAEAAAAA8AAAAOAAAADQAAAAsAAAAIAAAABQAA
AAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABgAAAAYAAAAGAAAABQAAAAQAAAAEAAAAAwAA
AAMAAAACAAAAAgAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAQAA
AAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA/5////n/
AAD/D///8P8AAP4H///gfwAA/AP//8A/AAD4Af//gB8AAPAA//8ADwAA4AB//gAHAADgAD/8AAcAAOAA
H/gABwAA8AAP8AAPAAD4AAfgAB8AAPwAA8AAPwAA/gABgAB/AADgAAAAAMMAAMAAAAAAgwAAwAAAAACD
AADDwAAAAIcAAMPwAAABhwAAw/gAAAGHAADAAAAAAYMAAMAMAAADAwAAwAwAAAMDAAD//AAAP88AAP/4
AAAfzwAA//AAAA//AAD/4AAAB/8AAP/AAAAD/wAA/4AAAAH/AAD/AAAAAP8AAP4AAAAAfwAA/AAAAAA/
AAD4AAGAAB8AAPAAA8AADwAA4AAH4AAHAADAAA/wAAMAAMAAH/gAAwAAwAA//AADAADgAH/+AAcAAPAA
//8ADwAA+AH//4AfAAD8A///wD8AAP4H///gfwAA/w////D/AAD/3///+/8AAP///////wAA////////
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8AAP///////wAA////////
AAD///////8AAP///////wAA/////f//AAD////wf/8AAP///+A//wAA////4D//AAD////AP/8AAP//
/8A/nwAA//+DgDwHAAD//gAAAAcAAP/8AAAABwAA//wAAAAHAAD//AAAAA8AAP/+AAAAHwAA//4AAAA/
AAD//wAAAD8AAP/+AAAAfwAA//gAAAAfAAD/4AAAAA8AAP/AAAAABwAA/wAAAAAHAAD+AAAAAAcAAPwA
AAAABwAA+AAAAAAPAADwAACAAB8AAOAAAIAP/wAA4AAAQB//AADAAABAH/8AAMAAAHA//wAAwAAAfH//
AADAAAB///8AAMAAAH///wAAwAAA////AADgAAH///8AAPAAA////wAA+AAH////AAD+AB////8AAP/B
/////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////
AAA=
</value>
</data>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

BIN
src/xtm/Resources/xtm.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -42,7 +42,7 @@
<CodeAnalysisIgnoreGeneratedCode>false</CodeAnalysisIgnoreGeneratedCode>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Resources\xchat.ico</ApplicationIcon>
<ApplicationIcon>Resources\xtm.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup>
<ManifestCertificateThumbprint>25412E3EF25458D894050F8209E4D9DCCDF432D7</ManifestCertificateThumbprint>
@ -150,7 +150,7 @@
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Content Include="Resources\xchat.ico" />
<Content Include="Resources\xtm.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.

View File

@ -69,6 +69,13 @@ Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueDa
Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
Root: HKCR; Subkey: ".xct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: ""; ValueData: "XChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: "XChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
[Run]
Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent

View File

@ -69,6 +69,13 @@ Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueDa
Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable
Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable
Root: HKCR; Subkey: ".xct"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: ""; ValueData: "XChat Theme File"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct"; ValueType: string; ValueName: "XChat Theme File"; ValueData: ""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe,0"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
Root: HKCR; Subkey: ".xct\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\thememan.exe ""%1"""; Flags: uninsdeletevalue; Components:xtm; Tasks: not portable
[Run]
Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent