Implement Tic-Tac-Toe Game
Fix Currency Counter Sometimes Adding Decimals
This commit is contained in:
parent
7b599863d8
commit
042671da91
13
QtCNETAPI/Enums/GameStatus.cs
Normal file
13
QtCNETAPI/Enums/GameStatus.cs
Normal file
@ -0,0 +1,13 @@
|
||||
namespace QtCNETAPI.Enums
|
||||
{
|
||||
public enum GameStatus
|
||||
{
|
||||
WaitingForPlayer,
|
||||
SelectingSymbol,
|
||||
Ongoing,
|
||||
P1Win,
|
||||
P2Win,
|
||||
NoWin,
|
||||
PlayerDisconnected
|
||||
}
|
||||
}
|
||||
9
QtCNETAPI/Enums/TicTacToeSymbol.cs
Normal file
9
QtCNETAPI/Enums/TicTacToeSymbol.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace QtCNETAPI.Enums
|
||||
{
|
||||
public enum TicTacToeSymbol
|
||||
{
|
||||
X,
|
||||
O,
|
||||
Blank
|
||||
}
|
||||
}
|
||||
16
QtCNETAPI/Schema/GameRoom.cs
Normal file
16
QtCNETAPI/Schema/GameRoom.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using QtCNETAPI.Enums;
|
||||
using QtCNETAPI.Models;
|
||||
|
||||
namespace QtCNETAPI.Schema
|
||||
{
|
||||
public class GameRoom
|
||||
{
|
||||
public string Id { get; set; } = string.Empty;
|
||||
public GameStatus Status { get; set; }
|
||||
public TicTacToeBoard Board { get; set; } = new();
|
||||
public User? Player1 { get; set; }
|
||||
public TicTacToeSymbol P1Symbol { get; set; } = TicTacToeSymbol.Blank;
|
||||
public User? Player2 { get; set; }
|
||||
public TicTacToeSymbol P2Symbol { get; set; } = TicTacToeSymbol.Blank;
|
||||
}
|
||||
}
|
||||
17
QtCNETAPI/Schema/TicTacToeBoard.cs
Normal file
17
QtCNETAPI/Schema/TicTacToeBoard.cs
Normal file
@ -0,0 +1,17 @@
|
||||
using QtCNETAPI.Enums;
|
||||
|
||||
namespace QtCNETAPI.Schema
|
||||
{
|
||||
public class TicTacToeBoard
|
||||
{
|
||||
public TicTacToeSymbol Square1 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square2 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square3 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square4 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square5 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square6 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square7 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square8 { get; set; } = TicTacToeSymbol.Blank;
|
||||
public TicTacToeSymbol Square9 { get; set; } = TicTacToeSymbol.Blank;
|
||||
}
|
||||
}
|
||||
10
QtCNETAPI/Schema/TicTacToeMove.cs
Normal file
10
QtCNETAPI/Schema/TicTacToeMove.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using QtCNETAPI.Models;
|
||||
|
||||
namespace QtCNETAPI.Schema
|
||||
{
|
||||
public class TicTacToeMove
|
||||
{
|
||||
public User User { get; set; } = new();
|
||||
public int Point { get; set; }
|
||||
}
|
||||
}
|
||||
@ -21,7 +21,6 @@ namespace qtc_net_client_2.Forms
|
||||
IApiService _apiService;
|
||||
AudioService AudioService = new();
|
||||
|
||||
private List<User> UserList = new();
|
||||
public ChatRoom(IGatewayService gatewayService, IApiService apiService)
|
||||
{
|
||||
_gatewayService = gatewayService;
|
||||
|
||||
5
qtc-net-client-2/Forms/Main.Designer.cs
generated
5
qtc-net-client-2/Forms/Main.Designer.cs
generated
@ -32,6 +32,7 @@
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
|
||||
ListViewItem listViewItem1 = new ListViewItem("Stock Market", 0);
|
||||
ListViewItem listViewItem2 = new ListViewItem("Guess The Number", 1);
|
||||
ListViewItem listViewItem3 = new ListViewItem("Tic-Tac-Toe (Multiplayer)", "Tic-tac-toe.png");
|
||||
tbcMain = new TabControl();
|
||||
tbpContacts = new TabPage();
|
||||
lvContacts = new ListView();
|
||||
@ -229,7 +230,8 @@
|
||||
lvGames.Anchor = AnchorStyles.Left | AnchorStyles.Right;
|
||||
listViewItem1.Tag = "StockMarketGame";
|
||||
listViewItem2.Tag = "GuessTheNumberGame";
|
||||
lvGames.Items.AddRange(new ListViewItem[] { listViewItem1, listViewItem2 });
|
||||
listViewItem3.Tag = "TicTacToeGame";
|
||||
lvGames.Items.AddRange(new ListViewItem[] { listViewItem1, listViewItem2, listViewItem3 });
|
||||
lvGames.LargeImageList = ilGames;
|
||||
lvGames.Location = new Point(0, 0);
|
||||
lvGames.MultiSelect = false;
|
||||
@ -247,6 +249,7 @@
|
||||
ilGames.TransparentColor = Color.Transparent;
|
||||
ilGames.Images.SetKeyName(0, "dollar-money.gif");
|
||||
ilGames.Images.SetKeyName(1, "NumberGuessGameIcon.png");
|
||||
ilGames.Images.SetKeyName(2, "Tic-tac-toe.png");
|
||||
//
|
||||
// ilTabIcons
|
||||
//
|
||||
|
||||
@ -274,7 +274,7 @@ namespace qtc_net_client_2
|
||||
var result = await _apiService.AddCurrencyToCurrentUser(tokenJackpotSpinner.TokensWon, true);
|
||||
if (result.Success)
|
||||
{
|
||||
lblCurrencyAmount.Text = (_apiService.CurrentUser.CurrencyAmount + tokenJackpotSpinner.TokensWon).ToString("N");
|
||||
lblCurrencyAmount.Text = (_apiService.CurrentUser.CurrencyAmount + tokenJackpotSpinner.TokensWon).ToString("N0");
|
||||
llblClaimSpin.Visible = false;
|
||||
}
|
||||
else MessageBox.Show("We Were Unable To Claim Your Prize At This Time. Please Try Again Later.", "Uh Oh.", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
@ -322,6 +322,10 @@ namespace qtc_net_client_2
|
||||
GuessTheNumber guessTheNumber = new GuessTheNumber(_apiService);
|
||||
guessTheNumber.Show();
|
||||
break;
|
||||
case "TicTacToeGame":
|
||||
TicTacToeGame ticTacToeGame = new TicTacToeGame(_apiService);
|
||||
ticTacToeGame.Show();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -128,7 +128,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA0A0AAAJNU0Z0AUkBTAMBAQAB
|
||||
2AEAAdgBAAEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD
|
||||
4AEAAeABAAEgAQABIAEABP8BIQEACP8BQgFNATYHAAE2AwABKAMAAYADAAEgAwABAQEAASAGAAFAEgAD
|
||||
rQH/A7oB/wO6Af8DuQH/A7oB/wO6Af8D2gX/A/wB/wP+Df8D/QH/A/wR/wP8Af8D/g3/A/0B/wPZAf8D
|
||||
ugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA58B/wO6Af8DugH/A7oB/wO6Af8DugH/A9oJ/wP9Af8D
|
||||
/g3/A/0B/wP9Ef8D/AH/A/4N/wPaAf8DugH/A7oB/wO6Af8DugH/A7oB/wO6Af//AIEAA6IB/wO6Af8D
|
||||
@ -196,93 +196,93 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAKhQAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAGQAQABkAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAGhQAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAGYAQABmAEAARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AC4AAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B
|
||||
0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYB
|
||||
BwM0AVQDUQGiA14B0gNaAekDYAHoA10B0QNQAZ8DMQFNAwUBBhgAAwYBBwM0AVQDUQGiA14B0gNaAekD
|
||||
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA0sB9QMkAfsDNgH+AzYB/gMkAfsDUwH0A2IB
|
||||
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBRQFXAUUB9QEhAVIBIQH7ARIBUgESAf4BEgFSARIB/gEhAVIB
|
||||
IQH7AU0BUwFNAfQDYgHhA1EBoQMeASoQAAMgAS0DVAGrA1sB5AFFAlcB9QEhAlIB+wESAlIB/gESAlIB
|
||||
/gEhAlIB+wFNAlMB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAkUBVwH1AiEBUgH7AhIBUgH+AhIB
|
||||
UgH+AiEBUgH7Ak0BUwH0A2IB4QNRAaEDHgEqDAADGwElA1gBvQNaAfIDOgH+AzAB/wM5Af8DPAH/AzYB
|
||||
/wMqAf8DJAH/A0AB/QNYAfADVgGyAxoBIwgAAxsBJQNYAb0BVQFaAVUB8gESAVoBEgH+AQABVwEAAf8B
|
||||
AAFnAQAB/wEAAWwBAAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ASQBQAEkAf0BUwFdAVMB8ANWAbIB
|
||||
GQEaARkBIwgAAxsBJQNYAb0BVQJaAfIBEgJaAf4BAAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8B
|
||||
AAJAAf8BJAJAAf0BUwJdAfADVgGyARkCGgEjCAADGwElA1gBvQJVAVoB8gISAVoB/gIAAVcB/wIAAWcB
|
||||
/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wIkAUAB/QJTAV0B8ANWAbICGQEaASMEAAMDAQQDUgGlA14B
|
||||
8wNJAf8DVQH/A2UB/wNxAf8DdQH/A3EB/wNkAf8DTAH/AzEB/wM2Af4DXAHuA1ABmgMDAQQDAwEEAVIB
|
||||
UwFSAaUBUAFvAVAB8wEAAYIBAAH/AQABmQEAAf8BAAG2AQAB/wEAAcwBAAH/AQAB0wEAAf8BAAHLAQAB
|
||||
/wEAAbMBAAH/AQABiAEAAf8BAAFXAQAB/wESAVIBEgH+AVkBYAFZAe4DUAGaAwMBBAMDAQQBUgJTAaUB
|
||||
UAJvAfMBAAKCAf8BAAKZAf8BAAK2Af8BAALMAf8BAALTAf8BAALLAf8BAAKzAf8BAAKIAf8BAAJXAf8B
|
||||
EgJSAf4BWQJgAe4DUAGaAwMBBAMDAQQCUgFTAaUCUAFvAfMCAAGCAf8CAAGZAf8CAAG2Af8CAAHMAf8C
|
||||
AAHTAf8CAAHLAf8CAAGzAf8CAAGIAf8CAAFXAf8CEgFSAf4CWQFgAe4DUAGaAwMBBAMtAUQDYAHoA3UB
|
||||
YAHoA10B0QNQAZ8DMQFNAwUBBhQAAyABLQNUAasDWwHkA0wB9QMkAfsDNwH+AzcB/gMkAfsDUwH0A2IB
|
||||
4QNRAaEDHgEqEAADIAEtA1QBqwNbAeQBRgFYAUYB9QEhAVMBIQH7ARMBUwETAf4BEwFTARMB/gEhAVMB
|
||||
IQH7AU8BUwFPAfQDYgHhA1EBoQMeASoQAAMgAS0DVAGrA1sB5AFGAlgB9QEhAlMB+wETAlMB/gETAlMB
|
||||
/gEhAlMB+wFPAlMB9ANiAeEDUQGhAx4BKhAAAyABLQNUAasDWwHkAkYBWAH1AiEBUwH7AhMBUwH+AhMB
|
||||
UwH+AiEBUwH7Ak8BUwH0A2IB4QNRAaEDHgEqDAADGwElA1gBvQNaAfIDOwH+AzAB/wM5Af8DPAH/AzYB
|
||||
/wMqAf8DJAH/A0AB/QNZAfADVgGyAxoBIwgAAxsBJQNYAb0BVwFaAVcB8gETAVsBEwH+AQABVwEAAf8B
|
||||
AAFnAQAB/wEAAWwBAAH/AQABYQEAAf8BAAFMAQAB/wEAAUABAAH/ASYBQAEmAf0BVAFeAVQB8ANWAbIB
|
||||
GQEaARkBIwgAAxsBJQNYAb0BVwJaAfIBEwJbAf4BAAJXAf8BAAJnAf8BAAJsAf8BAAJhAf8BAAJMAf8B
|
||||
AAJAAf8BJgJAAf0BVAJeAfADVgGyARkCGgEjCAADGwElA1gBvQJXAVoB8gITAVsB/gIAAVcB/wIAAWcB
|
||||
/wIAAWwB/wIAAWEB/wIAAUwB/wIAAUAB/wImAUAB/QJUAV4B8ANWAbICGQEaASMEAAMDAQQDUgGlA18B
|
||||
8wNJAf8DVQH/A2UB/wNxAf8DdQH/A3EB/wNkAf8DTAH/AzEB/wM3Af4DXQHuA1ABmgMDAQQDAwEEAVIB
|
||||
UwFSAaUBUQFvAVEB8wEAAYIBAAH/AQABmQEAAf8BAAG2AQAB/wEAAcwBAAH/AQAB0wEAAf8BAAHLAQAB
|
||||
/wEAAbMBAAH/AQABiAEAAf8BAAFXAQAB/wETAVMBEwH+AVoBYQFaAe4DUAGaAwMBBAMDAQQBUgJTAaUB
|
||||
UQJvAfMBAAKCAf8BAAKZAf8BAAK2Af8BAALMAf8BAALTAf8BAALLAf8BAAKzAf8BAAKIAf8BAAJXAf8B
|
||||
EwJTAf4BWgJhAe4DUAGaAwMBBAMDAQQCUgFTAaUCUQFvAfMCAAGCAf8CAAGZAf8CAAG2Af8CAAHMAf8C
|
||||
AAHTAf8CAAHLAf8CAAGzAf8CAAGIAf8CAAFXAf8CEwFTAf4CWgFhAe4DUAGaAwMBBAMtAUQDYAHoA3YB
|
||||
/gNuAf8DewH/A4UB/wOKAf8DjAH/A4oB/wOFAf8DdgH/A1cB/wMyAf8DQAH9A14B3QMqAT8DLQFEAWAB
|
||||
aQFgAegBEgGQARIB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB+wEAAf8BAAH5AQAB
|
||||
/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/ASQBQAEkAf0DXgHdAyoBPwMtAUQBYAJpAegB
|
||||
EgKQAf4BAALGAf8BAALcAf8BAALuAf8BAAL4Af8BAAL7Af8BAAL5Af8BAALvAf8BAALUAf8BAAKcAf8B
|
||||
AAJaAf8BJAJAAf0DXgHdAyoBPwMtAUQCYAFpAegCEgGQAf4CAAHGAf8CAAHcAf8CAAHuAf8CAAH4Af8C
|
||||
AAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8CJAFAAf0DXgHdAyoBPwNOAZUDdwH4A38B
|
||||
/wOFAf8DigH/A40B/wOOAf8DjgH/A44B/wONAf8DiQH/A3cB/wNNAf8DJQH/A1oB8gNKAYsDTgGVATwB
|
||||
kgE8AfgBAAHlAQAB/wEAAe8BAAH/AQAB+AEAAf8BAAH9AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf4BAAH/AQAB9gEAAf8BAAHVAQAB/wEAAYsBAAH/AQABQQEAAf8BVQFaAVUB8gNKAYsDTgGVATwC
|
||||
kgH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC1QH/AQAC
|
||||
iwH/AQACQQH/AVUCWgHyA0oBiwNOAZUCPAGSAfgCAAHlAf8CAAHvAf8CAAH4Af8CAAH9Af8CAAL/AgAC
|
||||
/wIAAv8CAAH+Af8CAAH2Af8CAAHVAf8CAAGLAf8CAAFBAf8CVQFaAfIDSgGLA18B0wN+AfwDkwH/A44B
|
||||
aQFgAegBEwGOARMB/gEAAcYBAAH/AQAB3AEAAf8BAAHuAQAB/wEAAfgBAAH/AQAB+wEAAf8BAAH5AQAB
|
||||
/wEAAe8BAAH/AQAB1AEAAf8BAAGcAQAB/wEAAVoBAAH/ASYBQAEmAf0DXgHdAyoBPwMtAUQBYAJpAegB
|
||||
EwKOAf4BAALGAf8BAALcAf8BAALuAf8BAAL4Af8BAAL7Af8BAAL5Af8BAALvAf8BAALUAf8BAAKcAf8B
|
||||
AAJaAf8BJgJAAf0DXgHdAyoBPwMtAUQCYAFpAegCEwGOAf4CAAHGAf8CAAHcAf8CAAHuAf8CAAH4Af8C
|
||||
AAH7Af8CAAH5Af8CAAHvAf8CAAHUAf8CAAGcAf8CAAFaAf8CJgFAAf0DXgHdAyoBPwNOAZUDdwH4A38B
|
||||
/wOFAf8DigH/A40B/wOOAf8DjgH/A44B/wONAf8DiQH/A3cB/wNNAf8DJQH/A1oB8gNKAYsDTgGVAT0B
|
||||
kAE9AfgBAAHlAQAB/wEAAe8BAAH/AQAB+AEAAf8BAAH9AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf4BAAH/AQAB9gEAAf8BAAHVAQAB/wEAAYsBAAH/AQABQQEAAf8BVwFaAVcB8gNKAYsDTgGVAT0C
|
||||
kAH4AQAC5QH/AQAC7wH/AQAC+AH/AQAC/QH/AQAD/wEAA/8BAAP/AQAC/gH/AQAC9gH/AQAC1QH/AQAC
|
||||
iwH/AQACQQH/AVcCWgHyA0oBiwNOAZUCPQGQAfgCAAHlAf8CAAHvAf8CAAH4Af8CAAH9Af8CAAL/AgAC
|
||||
/wIAAv8CAAH+Af8CAAH2Af8CAAHVAf8CAAGLAf8CAAFBAf8CVwFaAfIDSgGLA18B0wN+AfwDkwH/A44B
|
||||
/wONAf8DjgH/A44B/wOOAf8DjgH/A44B/wONAf8DhQH/A2cB/wM0Af8DQQH5A1oBxAFbAV8BWwHTASsB
|
||||
vAErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB/gEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/QEAAf8BAAHvAQAB/wEAAbkBAAH/AQABXQEAAf8BNQFBATUB+QNaAcQBWwJfAdMB
|
||||
KwK8AfwBDgL7Af8BAwL9Af8BAAL+Af8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB
|
||||
/wEAAl0B/wE1AkEB+QNaAcQCWwFfAdMCKwG8AfwCDgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8C
|
||||
AAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB/wIAAV0B/wI1AUEB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B
|
||||
/wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAUoBhQFKAfUBNgHbATYB
|
||||
ugErAfwBDgH7AQ4B/wEDAf0BAwH/AQAB/gEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/QEAAf8BAAHvAQAB/wEAAbkBAAH/AQABXQEAAf8BOAFBATgB+QNaAcQBWwJfAdMB
|
||||
KwK6AfwBDgL7Af8BAwL9Af8BAAL+Af8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAv0B/wEAAu8B/wEAArkB
|
||||
/wEAAl0B/wE4AkEB+QNaAcQCWwFfAdMCKwG6AfwCDgH7Af8CAwH9Af8CAAH+Af8CAAL/AgAC/wIAAv8C
|
||||
AAL/AgAC/wIAAf0B/wIAAe8B/wIAAbkB/wIAAV0B/wI4AUEB+QNaAcQDbgH1A4AB/gOfAf8DkwH/A48B
|
||||
/wOOAf8DjgH/A44B/wOOAf8DjgH/A44B/wOLAf8DdwH/A0gB/wNAAf0DYgHhAUsBgwFLAfUBNwHZATcB
|
||||
/gEnAf8BJwH/AQsB/wELAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wEkAUABJAH9A2IB4QFKAoUB9QE2AtsB
|
||||
/gEnA/8BCwP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAvkB/wEAAtYB/wEAAoEB/wEkAkAB
|
||||
/QNiAeECSgGFAfUCNgHbAf4CJwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8C
|
||||
AAHWAf8CAAGBAf8CJAFAAf0DYgHhA3UB9gOKAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B
|
||||
/wOOAf8DjQH/A38B/wNVAf8DQAH9A14B4gFIAYsBSAH2AVkB2wFZAf4BQgH/AUIB/wEZAf8BGQH/AQQB
|
||||
/wEAAf8BAAH/AQAB/wEAAfkBAAH/AQAB1gEAAf8BAAGBAQAB/wEmAUABJgH9A2IB4QFLAoMB9QE3AtkB
|
||||
/gEnA/8BCwP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAD/wEAAvkB/wEAAtYB/wEAAoEB/wEmAkAB
|
||||
/QNiAeECSwGDAfUCNwHZAf4CJwL/AgsC/wIBAv8CAAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAH5Af8C
|
||||
AAHWAf8CAAGBAf8CJgFAAf0DYgHhA3QB9gOIAf4DqwH/A5kB/wOQAf8DjgH/A44B/wOOAf8DjgH/A44B
|
||||
/wOOAf8DjQH/A38B/wNVAf8DQAH9A14B4gFIAYcBSAH2AVoB2QFaAf4BQgH/AUIB/wEZAf8BGQH/AQQB
|
||||
/wEEAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH9AQAB
|
||||
/wEAAeQBAAH/AQABmAEAAf8BJAFAASQB/QNeAeIBSAKLAfYBWQLbAf4BQgP/ARkD/wEEA/8BAAP/AQAD
|
||||
/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALkAf8BAAKYAf8BJAJAAf0DXgHiAkgBiwH2AlkB2wH+AkIC
|
||||
/wIZAv8CBAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/AiQBQAH9A14B
|
||||
4gNhAdYDjAH8A7gB/wOjAf8DkwH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOCAf8DXAH/A00B
|
||||
+gNaAccBXAFhAVwB1gFkAcABZAH8AV8B/wFfAf8BLwH/AS8B/wEMAf8BDAH/AQEB/wEBAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAHqAQAB/wEAAaUBAAH/ASYB
|
||||
TQEmAfoDWgHHAVwCYQHWAWQCwAH8AV8D/wEvA/8BDAP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC
|
||||
/gH/AQAC6gH/AQACpQH/ASYCTQH6A1oBxwJcAWEB1gJkAcAB/AJfAv8CLwL/AgwC/wIBAv8CAAL/AgAC
|
||||
/wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB/wIAAaUB/wImAU0B+gNaAccDUAGaA44B+QPFAf8DsgH/A5wB
|
||||
/wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB/wNaAfIDTAGQA1ABmgFqAaUBagH5AXwB
|
||||
/wEAAeQBAAH/AQABmAEAAf8BJgFAASYB/QNeAeIBSAKHAfYBWgLZAf4BQgP/ARkD/wEEA/8BAAP/AQAD
|
||||
/wEAA/8BAAP/AQAD/wEAA/8BAAL9Af8BAALkAf8BAAKYAf8BJgJAAf0DXgHiAkgBhwH2AloB2QH+AkIC
|
||||
/wIZAv8CBAL/AgAC/wIAAv8CAAL/AgAC/wIAAv8CAAL/AgAB/QH/AgAB5AH/AgABmAH/AiYBQAH9A14B
|
||||
4gNhAdYDiQH8A7gB/wOjAf8DkwH/A44B/wOOAf8DjgH/A44B/wOOAf8DjgH/A40B/wOCAf8DXAH/A00B
|
||||
+gNaAccBXAFhAVwB1gFkAb4BZAH8AV8B/wFfAf8BLwH/AS8B/wEMAf8BDAH/AQEB/wEBAf8BAAH/AQAB
|
||||
/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB/gEAAf8BAAHqAQAB/wEAAaUBAAH/AScB
|
||||
TQEnAfoDWgHHAVwCYQHWAWQCvgH8AV8D/wEvA/8BDAP/AQED/wEAA/8BAAP/AQAD/wEAA/8BAAP/AQAC
|
||||
/gH/AQAC6gH/AQACpQH/AScCTQH6A1oBxwJcAWEB1gJkAb4B/AJfAv8CLwL/AgwC/wIBAv8CAAL/AgAC
|
||||
/wIAAv8CAAL/AgAC/wIAAf4B/wIAAeoB/wIAAaUB/wInAU0B+gNaAccDUAGaA40B+QPFAf8DsgH/A5wB
|
||||
/wORAf8DjgH/A44B/wOOAf8DjgH/A48B/wOOAf8DgwH/A2AB/wNaAfIDTAGQA1ABmgFqAaEBagH5AXwB
|
||||
/wF8Af8BUQH/AVEB/wEfAf8BHwH/AQcB/wEHAf8BAQH/AQEB/wEAAf8BAAH/AQAB/wEAAf8BAAH/AQAB
|
||||
/wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVUBawFVAfIDTAGQA1ABmgFqAqUB+QF8A/8B
|
||||
UQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B/wEAAusB/wEAAq0B/wFVAmsB8gNMAZAD
|
||||
UAGaAmoBpQH5AnwC/wJRAv8CHwL/AgcC/wIBAv8CAAL/AgAC/wIAAv8CAgL/AgIB/gH/AgAB6wH/AgAB
|
||||
rQH/AlUBawHyA0wBkAMvAUkDbAHrA6wB/gPGAf8DrgH/A5wB/wOTAf8DkAH/A48B/wOQAf8DkwH/A5MB
|
||||
/wOFAf8DVAH9A2AB4AMtAUUDLwFJAWwBbQFsAesBgAHbAYAB/gF/Af8BfwH/AUkB/wFJAf8BHwH/AR8B
|
||||
/wEMAf8BDAH/AQUB/wEFAf8BAwH/AQMB/wEFAf8BBQH/AQoB/wEKAf8BCgH+AQoB/wEBAe0BAQH/ASQB
|
||||
tgEkAf0BYAFmAWAB4AMtAUUDLwFJAWwCbQHrAYAC2wH+AX8D/wFJA/8BHwP/AQwD/wEFA/8BAwP/AQUD
|
||||
/wEKA/8BCgL+Af8BAQLtAf8BJAK2Af0BYAJmAeADLQFFAy8BSQJsAW0B6wKAAdsB/gJ/Av8CSQL/Ah8C
|
||||
/wIMAv8CBQL/AgMC/wIFAv8CCgL/AgoB/gH/AgEB7QH/AiQBtgH9AmABZgHgAy0BRQMDAQQDVgGuA38B
|
||||
9QPZAf8DywH/A7cB/wOnAf8DnQH/A5oB/wOcAf8DnwH/A5sB/wOJAf8DaAHwA1IBowMDAQQDAwEEA1YB
|
||||
rgFwAYUBcAH1AagB/wGoAf8BiQH/AYkB/wFcAf8BXAH/ATcB/wE3Af8BIgH/ASIB/wEbAf8BGwH/AR8B
|
||||
/wEfAf8BJgH/ASYB/wEdAf8BHQH/AQUB8wEFAf8BUwFsAVMB8ANSAaMDAwEEAwMBBANWAa4BcAKFAfUB
|
||||
qAP/AYkD/wFcA/8BNwP/ASID/wEbA/8BHwP/ASYD/wEdA/8BBQLzAf8BUwJsAfADUgGjAwMBBAMDAQQD
|
||||
VgGuAnABhQH1AqgC/wKJAv8CXAL/AjcC/wIiAv8CGwL/Ah8C/wImAv8CHQL/AgUB8wH/AlMBbAHwA1IB
|
||||
owMDAQQEAAMcAScDXQHHA38B9gO7Af4D1wH/A8wB/wPCAf8DuwH/A7cB/wOxAf8DgAH+A2sB9ANZAbwD
|
||||
GwEmCAADHAEnA10BxwF4AYsBeAH2AZMB2wGTAf4BpQH/AaUB/wGLAf8BiwH/AXQB/wF0Af8BZgH/AWYB
|
||||
/wFcAf8BXAH/AU4B/wFOAf8BQgHbAUIB/gFQAX8BUAH0AVcBWQFXAbwDGwEmCAADHAEnA10BxwF4AosB
|
||||
9gGTAtsB/gGlA/8BiwP/AXQD/wFmA/8BXAP/AU4D/wFCAtsB/gFQAn8B9AFXAlkBvAMbASYIAAMcAScD
|
||||
XQHHAngBiwH2ApMB2wH+AqUC/wKLAv8CdAL/AmYC/wJcAv8CTgL/AkIB2wH+AlABfwH0AlcBWQG8AxsB
|
||||
JgwAAyEBMANZAbYDbQHuA6EB+gO+Af0D1AH/A8wB/wO+Af0DigH5A2wB6wNVAawDHwEsEAADIQEwA1kB
|
||||
tgFrAW8BawHuAYoBqwGKAfoBrgHJAa4B/QGfAf8BnwH/AYwB/wGMAf8BZAHJAWQB/QFoAaUBaAH5AWEB
|
||||
bQFhAesDVQGsAx8BLBAAAyEBMANZAbYBawJvAe4BigKrAfoBrgLJAf0BnwP/AYwD/wFkAskB/QFoAqUB
|
||||
+QFhAm0B6wNVAawDHwEsEAADIQEwA1kBtgJrAW8B7gKKAasB+gKuAckB/QKfAv8CjAL/AmQByQH9AmgB
|
||||
pQH5AmEBbQHrA1UBrAMfASwUAAMGAQcDNgFYA1UBrANmAeUDrwH8A5kB+wNlAeIDUwGnAzMBUQMGAQcY
|
||||
AAMGAQcDNgFYA1UBrAFmAWcBZgHlAX4BwAF+AfwBeQG2AXkB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcD
|
||||
NgFYA1UBrAFmAmcB5QF+AsAB/AF5ArYB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrAJmAWcB
|
||||
5QJ+AcAB/AJ5AbYB+wNlAeIDUwGnAzMBUQMGAQcMAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQAB
|
||||
AQYAAQEWAAP/gQAB4AEHAeABBwHgAQcB4AEHAcABAwHAAQMBwAEDAcABAwGAAQEBgAEBAYABAQGAAQFQ
|
||||
AAGAAQEBgAEBAYABAQGAAQEBwAEDAcABAwHAAQMBwAEDAeABBwHgAQcB4AEHAeABBws=
|
||||
/wECAf8BAgH/AQIB/gECAf8BAAHrAQAB/wEAAa0BAAH/AVcBawFXAfIDTAGQA1ABmgFqAqEB+QF8A/8B
|
||||
UQP/AR8D/wEHA/8BAQP/AQAD/wEAA/8BAAP/AQID/wECAv4B/wEAAusB/wEAAq0B/wFXAmsB8gNMAZAD
|
||||
UAGaAmoBoQH5AnwC/wJRAv8CHwL/AgcC/wIBAv8CAAL/AgAC/wIAAv8CAgL/AgIB/gH/AgAB6wH/AgAB
|
||||
rQH/AlcBawHyA0wBkAMvAUkDbAHrA6oB/gPGAf8DrgH/A5wB/wOTAf8DkAH/A48B/wOQAf8DkwH/A5MB
|
||||
/wOFAf8DUwH9A2AB4AMtAUUDLwFJA2wB6wGAAdkBgAH+AX8B/wF/Af8BSQH/AUkB/wEfAf8BHwH/AQwB
|
||||
/wEMAf8BBQH/AQUB/wEDAf8BAwH/AQUB/wEFAf8BCgH/AQoB/wEKAf4BCgH/AQEB7QEBAf8BJgG2ASYB
|
||||
/QFgAWYBYAHgAy0BRQMvAUkDbAHrAYAC2QH+AX8D/wFJA/8BHwP/AQwD/wEFA/8BAwP/AQUD/wEKA/8B
|
||||
CgL+Af8BAQLtAf8BJgK2Af0BYAJmAeADLQFFAy8BSQNsAesCgAHZAf4CfwL/AkkC/wIfAv8CDAL/AgUC
|
||||
/wIDAv8CBQL/AgoC/wIKAf4B/wIBAe0B/wImAbYB/QJgAWYB4AMtAUUDAwEEA1YBrgN8AfUD2QH/A8sB
|
||||
/wO3Af8DpwH/A50B/wOaAf8DnAH/A58B/wObAf8DiQH/A2gB8ANSAaMDAwEEAwMBBANWAa4BbwGDAW8B
|
||||
9QGoAf8BqAH/AYkB/wGJAf8BXAH/AVwB/wE3Af8BNwH/ASIB/wEiAf8BGwH/ARsB/wEfAf8BHwH/ASYB
|
||||
/wEmAf8BHQH/AR0B/wEFAfMBBQH/AVQBawFUAfADUgGjAwMBBAMDAQQDVgGuAW8CgwH1AagD/wGJA/8B
|
||||
XAP/ATcD/wEiA/8BGwP/AR8D/wEmA/8BHQP/AQUC8wH/AVQCawHwA1IBowMDAQQDAwEEA1YBrgJvAYMB
|
||||
9QKoAv8CiQL/AlwC/wI3Av8CIgL/AhsC/wIfAv8CJgL/Ah0C/wIFAfMB/wJUAWsB8ANSAaMDAwEEBAAD
|
||||
HAEnA10BxwN9AfYDuQH+A9cB/wPMAf8DwgH/A7sB/wO3Af8DsQH/A4AB/gNpAfQDWQG8AxsBJggAAxwB
|
||||
JwNdAccBdwGHAXcB9gGRAdkBkQH+AaUB/wGlAf8BiwH/AYsB/wF0Af8BdAH/AWYB/wFmAf8BXAH/AVwB
|
||||
/wFOAf8BTgH/AUMB2QFDAf4BUgF9AVIB9AFXAVkBVwG8AxsBJggAAxwBJwNdAccBdwKHAfYBkQLZAf4B
|
||||
pQP/AYsD/wF0A/8BZgP/AVwD/wFOA/8BQwLZAf4BUgJ9AfQBVwJZAbwDGwEmCAADHAEnA10BxwJ3AYcB
|
||||
9gKRAdkB/gKlAv8CiwL/AnQC/wJmAv8CXAL/Ak4C/wJDAdkB/gJSAX0B9AJXAVkBvAMbASYMAAMhATAD
|
||||
WQG2A2wB7gOfAfoDvgH9A9QB/wPMAf8DvgH9A4kB+QNsAesDVQGsAx8BLBAAAyEBMANZAbYBagFuAWoB
|
||||
7gGHAakBhwH6Aa4BxgGuAf0BnwH/AZ8B/wGMAf8BjAH/AWMBxgFjAf0BaAGhAWgB+QFhAWwBYQHrA1UB
|
||||
rAMfASwQAAMhATADWQG2AWoCbgHuAYcCqQH6Aa4CxgH9AZ8D/wGMA/8BYwLGAf0BaAKhAfkBYQJsAesD
|
||||
VQGsAx8BLBAAAyEBMANZAbYCagFuAe4ChwGpAfoCrgHGAf0CnwL/AowC/wJjAcYB/QJoAaEB+QJhAWwB
|
||||
6wNVAawDHwEsFAADBgEHAzYBWANVAawDZgHlA60B/AOYAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYB
|
||||
WANVAawDZgHlAX4BvgF+AfwBdwGyAXcB+wNlAeIDUwGnAzMBUQMGAQcYAAMGAQcDNgFYA1UBrANmAeUB
|
||||
fgK+AfwBdwKyAfsDZQHiA1MBpwMzAVEDBgEHGAADBgEHAzYBWANVAawDZgHlAn4BvgH8AncBsgH7A2UB
|
||||
4gNTAacDMwFRAwYBBwwAAUIBTQE+BwABPgMAASgDAAFAAwABIAMAAQEBAAEBBgABARYAA/+BAAHgAQcB
|
||||
4AEHAeABBwHgAQcBwAEDAcABAwHAAQMBwAEDAYABAQGAAQEBgAEBAYABAVAAAYABAQGAAQEBgAEBAYAB
|
||||
AQHAAQMBwAEDAcABAwHAAQMB4AEHAeABBwHgAQcB4AEHCw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ilGames.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@ -292,142 +292,166 @@
|
||||
<value>
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAoh8AAAJNU0Z0AUkBTAIBAQIB
|
||||
AAFQAQEBUAEBASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAPCUAAAJNU0Z0AUkBTAIBAQMB
|
||||
AAFYAQEBWAEBASABAAEgAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABgAMAASADAAEBAQABIAYAAUB6
|
||||
AANcAecBCAEKAQAB/wMqAUAMAAMqAUADNgFXAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwD
|
||||
PwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAI7AToBYgMzAVEDGAEh/wB1AAMhATADRgGAFAAB
|
||||
FQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacCYQFdAc8CYQFdAc8CYQFdAc8C
|
||||
PwFsAz8BbAM/AWwDPwFsAz8BbAM/AWwDPwFsAz8BbAI7AToBYgMzAVEDGAEhVAADZAGiA28BwCAAA2YB
|
||||
pgNtAbzwAAMhATADRgGAFAABFQEfAQQB/wENARUBAAH/AQgBCgEAAf8BCAEKAQAB/wwAA0QBegNTAacC
|
||||
YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8C
|
||||
YQFdAc8CYQFdAc8CYAFdAc4DWQG7AlABTwGbAyoBQP8AaQADWgG/AQgBCgEAAf8BCAEKAQAB/wEIAQoB
|
||||
AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8DWgG/A1oBvwFDAXQBBwH/AUcBdwEMAf8B
|
||||
JQFHAQAB/wEOARkBAAH/DAACSwFKAYoCWgFYAb0CZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoC
|
||||
ZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoC
|
||||
YwFaAekCXwFbAdMDVQGvAy4BSP8AZQABCAEKAQAB/wEQAR4BAAH/ASEBQQEAAf8BJwFLAQAB/wEmAUoB
|
||||
AAH/ASEBQQEAAf8BEAEeAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEpAU4BAAH/AVoBlgEQAf8B
|
||||
WgGcARAB/wFzAbYBJgH/ARgBLgEAAf8MAANJAYYCWgFYAbcCZQFgAeMCZQFgAeMCZQFgAeMCZQFgAeMC
|
||||
agFhAeYCagFeAe0BdAFoAVMB9AGuAXcBKwH8Af8BeAEAAv8BeAEAAf8BcAFuAU8B9QJqAWEB5gJlAWAB
|
||||
4wJlAWAB4wJlAWAB4wJlAV4B4gJeAVsBzQJVAVMBqgIuAS0BRv8AYQABCAEKAQAB/wE9AXEBAgH/AUwB
|
||||
hgEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AUwBfwEPAf8BOwFnAQgB
|
||||
/wEhATQBCAH/AVMBjgELAf8BWgGcARAB/wFyAbMBJwH/AVMBgQEbAf8QAAMrAUEDNgFZAkABPwFuAkAB
|
||||
PwFuAkABPwFuAkABPwFuA0QBewJRAVABnwJdAVsBxQFmAmIB7gH/AXgBAAL/AXgBAAH/Al8BXQHJA0UB
|
||||
fAJAAT8BbgJAAT8BbgJAAT8BbgM/AW0DOwFjAzMBUgMZASL/AF0AARUBKQEAAf8BSgGEAQQB/wFSAYwB
|
||||
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8B
|
||||
WgGUARAB/wFWAZABDAH/AVoBmgEQAf8BWgGcARAB/wFyAakBMAH/AQgBCgEAAf8BCAEKAQAB/wwAAwwB
|
||||
EAMRARYDFQEcAxUBHAMVARwDFQEcAyEBMAI+AT0BaQJTAVIBpQJmAV8B5QH/AXgBAAL/AXgBAAH/AlUB
|
||||
UwGqAyIBMQMVARwDFQEcAxUBHAMUARsDEwEZAxABFQMHAQn/AFkAARYBJwECAf8BSQGAAQcB/wFSAYwB
|
||||
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQsB/wFSAYwBEAH/AVIBjAEQAf8B
|
||||
WAGSARAB/wFaAZQBEAH/AVoBmwEQAf8BWgGcARAB/wFcAZ4BEgH/ATsBbQEDAf8BCAEKAQAB/wEIAQoB
|
||||
AAH/AQgBCgEAAf8IAAMFBAYECAEKAwgBCgMIAQoDCAEKAxcBHwI5ATgBXQNRAZ4CZQFgAeMB/wF4AQAC
|
||||
/wF4AQAB/wNSAaMDGAEhAwgBCgMIAQoDCAEKAwgBCgMHAQkDBgEHAwIBA/8AVQADXQHfAUcBgAEDAf8B
|
||||
UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwB
|
||||
EAH/AVIBjAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8B
|
||||
WgGYARAB/wEWASoBAAH/AQgBCgEAAf8BCAEKAQAB/xwAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgB
|
||||
AAH/AlEBUAGfAxIBGP8AcQABLAFQAQAB/wFKAYwBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBDgH/AVUBkgEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEQAf8BWgGcARAB
|
||||
/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWAGSARYB/wEQAR4BAAH/AQgB
|
||||
CgEAAf8cAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARj/AHUAA0sBjwEzAV4B
|
||||
AAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BfwHAATMB/wFfAZ4BFwH/ASABPwEAAf8B
|
||||
CAEKAQAB/wFSAYwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGVARcB/wFaAZQB
|
||||
GAH/AVoBlAEYAf8BWgGUARgB/wEIAQoBAAH/AQgBCgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC
|
||||
/wF4AQAB/wJRAVABnwMSARgUAAQBAwMBBAMGBAcBCQMHAQkDBAEFBAIEAf8ATQABQgF7AQAB/wFSAYwB
|
||||
CAH/AXsBxgEpAf8DMwFQBAADDAEQATkBawEAAf8BWgGcARAB/wFaAZwBEAH/AV0BlwETAf8BVgGUAQwB
|
||||
/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFjAZwBGAH/AWMBpQEXAf8BKQFQAQAB/wEIAQoBAAH/GAAD
|
||||
EgEXAzUBVgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYFAAEAgMJAQwDDwEUAxMBGgMSARgD
|
||||
CgENAwQBBQQB/wBRAAEIAQoBAAH/DAABEwEjAQAB/wFaAZQBEAH/AVoBnAEQAf8BlAHWAUoB/wENAREB
|
||||
AgH/ATEBWgEAAf8BWgGUARIB/wFaAZQBGAH/AVoBlAEYAf8BYwGcARgB/wFjAaUBFwH/AWsBpQEhAf8B
|
||||
EAEeAQAB/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwUBBgMdASkD
|
||||
MAFKAjsBPAFlAjsBPAFkAygBPAIVARYBHQMGAQj/AD0AA10B3wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB
|
||||
/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wMzAVADOgFgAUsBhQEHAf8BWgGUARAB/wFaAZwBEAH/ATkB
|
||||
awEAAf8DCQEMARABHgEAAf8BVAGOARIB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AXMB
|
||||
tAEpAf8BEAEeAQAB/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkB
|
||||
DAMzAVACTAFNAZECXQFfAckCWwFdAcoDRAF6AykBPQMMARD/ADkAAQgBCgEAAf8BCAEKAQAB/wEIAQoB
|
||||
AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/ATMBXwECAf8B
|
||||
WgGUARAB/wFaAZwBEAH/Aa0B5wFjAf8BEAEeAQAB/wEIAQoBAAH/ARQBJgEAAf8BVAGOARIB/wFiAZsB
|
||||
GAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AWMBnAEhAf8BGAEuAQAB/xgAAxIBFwM1AVYDUAGaA2IB
|
||||
4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkBCwMuAUcDSAGEAlkBXAHDAlwBXwHLA0kBhQMuAUcD
|
||||
DwET/wA1AAEIAQoBAAH/ASsBUgEAAf8BQQFyAQUB/wFKAYQBBgH/AUoBhAEGAf8BSgGEAQYB/wFCAXMB
|
||||
BgH/ASkBUAEAAf8BEAEeAQAB/wEfAToBAAH/AVUBjwELAf8BWgGVARAB/wFaAZwBEAH/AdYB/wGMAf8B
|
||||
EAEeAQAB/wEYAS4BAAH/AUIBeAEDAf8BWgGUARgB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUB
|
||||
YQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYQFdAc8CYAFdAc4DWQG7AlABTwGbAyoBQFQAA3QB0AN7Ae4g
|
||||
AAN1AdQDegHp5AADWgG/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoB
|
||||
AAH/AQgBCgEAAf8DWgG/A1oBvwFDAXQBBwH/AUcBdwEMAf8BJQFHAQAB/wEOARkBAAH/DAACSwFKAYoC
|
||||
WgFYAb0CZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoC
|
||||
ZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCZwFdAeoCYwFaAekCXwFbAdMDVQGvAy4BSFQAA3QB
|
||||
0AN7Ae4gAAN1AdQDegHp4AABCAEKAQAB/wEQAR4BAAH/ASEBQQEAAf8BJwFLAQAB/wEmAUoBAAH/ASEB
|
||||
QQEAAf8BEAEeAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEpAU4BAAH/AVoBlgEQAf8BWgGcARAB
|
||||
/wFzAbYBJgH/ARgBLgEAAf8MAANJAYYCWgFYAbcCZQFgAeMCZQFgAeMCZQFgAeMCZQFgAeMCagFhAeYC
|
||||
agFeAe0BcwFoAVMB9AGsAXcBKwH8Af8BeAEAAv8BeAEAAf8BbwFuAVEB9QJqAWEB5gJlAWAB4wJlAWAB
|
||||
4wJlAWAB4wJlAV4B4gJeAVsBzQJVAVMBqgIuAS0BRlQAA3QB0AN7Ae4gAAN1AdQDegHp3AABCAEKAQAB
|
||||
/wE9AXEBAgH/AUwBhgEHAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AUwB
|
||||
fwEPAf8BOwFnAQgB/wEhATQBCAH/AVMBjgELAf8BWgGcARAB/wFyAbMBJwH/AVMBgQEbAf8QAAMrAUED
|
||||
NgFZAkABPwFuAkABPwFuAkABPwFuAkABPwFuA0QBewJRAVABnwJdAVsBxQFlAmIB7gH/AXgBAAL/AXgB
|
||||
AAH/Al8BXQHJA0UBfAJAAT8BbgJAAT8BbgJAAT8BbgM/AW0DOwFjAzMBUgMZASJUAAN0AdADewHuIAAD
|
||||
dQHUA3oB6dgAARUBKQEAAf8BSgGEAQQB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFWAZABDAH/AVoBmgEQAf8BWgGcARAB
|
||||
/wFyAakBMAH/AQgBCgEAAf8BCAEKAQAB/wwAAwwBEAMRARYDFQEcAxUBHAMVARwDFQEcAyEBMAI+AT0B
|
||||
aQJTAVIBpQJmAV8B5QH/AXgBAAL/AXgBAAH/AlUBUwGqAyIBMQMVARwDFQEcAxUBHAMUARsDEwEZAxAB
|
||||
FQMHAQlUAAN0AdADewHuIAADdQHUA3oB6dQAARYBJwECAf8BSQGAAQcB/wFSAYwBCAH/AVIBjAEIAf8B
|
||||
UgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQsB/wFSAYwBEAH/AVIBjAEQAf8BWAGSARAB/wFaAZQB
|
||||
EAH/AVoBmwEQAf8BWgGcARAB/wFcAZ4BEgH/ATsBbQEDAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8I
|
||||
AAMFBAYECAEKAwgBCgMIAQoDCAEKAxcBHwI5ATgBXQNRAZ4CZQFgAeMB/wF4AQAC/wF4AQAB/wNSAaMD
|
||||
GAEhAwgBCgMIAQoDCAEKAwgBCgMHAQkDBgEHAwIBA1QAA3QB0AN7Ae4gAAN1AdQDegHp0AADXQHfAUcB
|
||||
gAEDAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB
|
||||
/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoB
|
||||
nAEQAf8BWgGYARAB/wEWASoBAAH/AQgBCgEAAf8BCAEKAQAB/xwAAxIBFwM1AVYDUAGaA2IB4QH/AXgB
|
||||
AAL/AXgBAAH/AlEBUAGfAxIBGHAAA3QB0AN7Ae4gAAN1AdQDegHp0AABLAFQAQAB/wFKAYwBAAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBDgH/AVUBkgEQAf8BWgGcARAB
|
||||
/wFaAZwBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoB
|
||||
lAEYAf8BWAGSARYB/wEQAR4BAAH/AQgBCgEAAf8cAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB
|
||||
/wJRAVABnwMSARhwAAN0AdADewHuIAADdQHUA3oB6dQAA0sBjwEzAV4BAAH/AVIBjAEIAf8BUgGMAQgB
|
||||
/wFSAYwBCAH/AVIBjAEQAf8BfwHAATMB/wFfAZ4BFwH/ASABPwEAAf8BCAEKAQAB/wFSAYwBEAH/AVoB
|
||||
nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGVARcB/wFaAZQBGAH/AVoBlAEYAf8BWgGUARgB
|
||||
/wEIAQoBAAH/AQgBCgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgU
|
||||
AAQBAwMBBAMGBAcBCQMHAQkDBAEFBAIEARQAAxIBFgMkAS8DJAEvAyQBLwMkAS8DJAEvAyQBLwMkAS8D
|
||||
JAEvAyQBLwN1AdkDfAHxAyQBLwMkAS8DJAEvAyQBLwMkAS8DJAEvAyQBLwMkAS8DdwHcA3sB7QMkAS8D
|
||||
JAEvAyQBLwMkAS8DJAEvAyQBLwMkAS8DJAEvAyQBLwMOARG4AAFCAXsBAAH/AVIBjAEIAf8BewHGASkB
|
||||
/wMzAVAEAAMMARABOQFrAQAB/wFaAZwBEAH/AVoBnAEQAf8BXQGXARMB/wFWAZQBDAH/AVoBnAEQAf8B
|
||||
WgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wEpAVABAAH/AQgBCgEAAf8YAAMSARcDNQFWA1AB
|
||||
mgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAQCAwkBDAMPARQDEwEaAxIBGAMKAQ0DBAEFBAEU
|
||||
AAN7AegDfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B
|
||||
/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B
|
||||
/wN/Af8DcwHPvAABCAEKAQAB/wwAARMBIwEAAf8BWgGUARAB/wFaAZwBEAH/AZQB1gFKAf8BDQERAQIB
|
||||
/wExAVoBAAH/AVoBlAESAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGlARcB/wFrAaUBIQH/ARAB
|
||||
HgEAAf8YAAMSARcDNQFWA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVABnwMSARgUAAMFAQYDHQEpAzAB
|
||||
SgI7ATwBZQI7ATwBZAMoATwCFQEWAR0DBgEIFAADRgFkA1wBjwNcAY8DXAGPA1wBjwNcAY8DXAGPA1wB
|
||||
jwNcAY8DXAGPA3oB6gN9AfgDXAGPA1wBjwNcAY8DXAGPA1wBjwNcAY8DXAGPA1wBjwN7AewDfAH1A1wB
|
||||
jwNcAY8DXAGPA1wBjwNcAY8DXAGPA1wBjwNcAY8DXAGPAz4BVqgAA10B3wEIAQoBAAH/AQgBCgEAAf8B
|
||||
CAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wMzAVADOgFgAUsBhQEHAf8BWgGUARAB/wFaAZwB
|
||||
EAH/ATkBawEAAf8DCQEMARABHgEAAf8BVAGOARIB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUB
|
||||
FwH/AXMBtAEpAf8BEAEeAQAB/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIB
|
||||
GBQAAwYBCAMkATQDPAFmA1MBpwNYAbgCRwFIAYMDMQFNAw8BFP8AMQABKAFNAQAB/wFOAYgBBwH/AVIB
|
||||
GBQAAwkBDAMzAVACTAFNAZECXQFfAckCWwFdAcoDRAF6AykBPQMMARA8AAN0AdADewHuIAADdQHUA3oB
|
||||
6cwAAQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8B
|
||||
CAEKAQAB/wEIAQoBAAH/ATMBXwECAf8BWgGUARAB/wFaAZwBEAH/Aa0B5wFjAf8BEAEeAQAB/wEIAQoB
|
||||
AAH/ARQBJgEAAf8BVAGOARIB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AWMBnAEhAf8B
|
||||
GAEuAQAB/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwkBCwMuAUcD
|
||||
SAGEAlkBXAHDAlwBXwHLA0kBhQMuAUcDDwETPAADdAHQA3sB7iAAA3UB1AN6AenIAAEIAQoBAAH/ASsB
|
||||
UgEAAf8BQQFyAQUB/wFKAYQBBgH/AUoBhAEGAf8BSgGEAQYB/wFCAXMBBgH/ASkBUAEAAf8BEAEeAQAB
|
||||
/wEfAToBAAH/AVUBjwELAf8BWgGVARAB/wFaAZwBEAH/AdYB/wGMAf8BEAEeAQAB/wEYAS4BAAH/AUIB
|
||||
eAEDAf8BWgGUARgB/wFiAZsBGAH/AWMBnAEYAf8BYwGlARcB/wFjAaUBFwH/AXMBtAEpAf8BEAEeAQAB
|
||||
/xgAAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwYBCAMkATQDPAFmA1MB
|
||||
pwNYAbgCRwFIAYMDMQFNAw8BFDwAA3QB0AN7Ae4gAAN1AdQDegHpxAABKAFNAQAB/wFOAYgBBwH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB
|
||||
/wFSAYwBEAH/AVoBlAEQAf8BWgGcARAB/wFjAaUBFwH/AUIBewEAAf8BSgGEAQYB/wFSAYwBCAH/AVoB
|
||||
mAEUAf8BWgGUARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFjAaUBFwH/AZQByQFNAf8EAAMQARUD
|
||||
GgEkAyEBLwMRARYEAgQBAxIBFwM1AVYDUAGaA2IB4QH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBQAAwMB
|
||||
BAMTARkDJQE2AjsBPAFkAkEBQgFyAzMBUQMhAS8DCQEM/wAtAAEpAU4BAgH/AVIBjAEIAf8BUgGMAQgB
|
||||
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AVIB
|
||||
jAEQAf8BWgGUARAB/wFaAZUBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB
|
||||
/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8BYwGlARcB/wFlAaABIQH/BAAD
|
||||
HgErAjEBMAFMAzsBYwMiATEDBwEJAwQBBQMSARgDNgFXA1ABmgNiAeEB/wF4AQAC/wF4AQAB/wJRAVAB
|
||||
nwMSARgcAAMHAQkDHAEnAyMBMgIZARoBIwMPARQDBAEF/wApAANGAYABTgGIAQcB/wFSAYwBCAH/AVIB
|
||||
BAMTARkDJQE2AjsBPAFkAkEBQgFyAzMBUQMhAS8DCQEMPAADdAHQA3sB7iAAA3UB1AN6AenAAAEpAU4B
|
||||
AgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
|
||||
UgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZUBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwB
|
||||
EAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AWMBnAEYAf8BYwGcARgB/wFjAaUBFwH/AWMBpQEXAf8B
|
||||
YwGlARcB/wFlAaABIQH/BAADHgErAjEBMAFMAzsBYwMiATEDBwEJAwQBBQMSARgDNgFXA1ABmgNiAeEB
|
||||
/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMHAQkDHAEnAyMBMgIZARoBIwMPARQDBAEFPAADdAHQA3sB
|
||||
7iAAA3UB1AN6Aem8AANGAYABTgGIAQcB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB
|
||||
/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFjAZwBGAH/AWMB
|
||||
oQEYAf8BYwGlARcB/wFjAaUBFwH/AXgBugEsAf8BCAEKAQAB/wQAAyQBNANFAXwCWgFYAbcDTgGUAz8B
|
||||
bQMoATsDHwEsAzkBXgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADEgEXAzwBZgNKAYkD
|
||||
QAFvAy4BRwMOARI8AAN0AdADewHuIAADdQHUA3oB6bwAATUBXgEHAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB
|
||||
/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoB
|
||||
lAEYAf8BWgGUARgB/wFjAZwBGAH/AWMBoQEYAf8BYwGlARcB/wFjAaUBFwH/AXgBugEsAf8BCAEKAQAB
|
||||
/wQAAyQBNANFAXwCWgFYAbcDTgGUAz8BbQMoATsDHwEsAzkBXgNQAZoDYgHhAf8BeAEAAv8BeAEAAf8C
|
||||
UQFQAZ8DEgEYHAADEgEXAzwBZgNKAYkDQAFvAy4BRwMOARL/ACkAATUBXgEHAf8BUgGMAQgB/wFSAYwB
|
||||
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8B
|
||||
UgGMARAB/wFaAZQBEAH/AVoBlAEQAf8BWgGbARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZYB
|
||||
FgH/AVoBlAEYAf8BXQGXARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFwAbMBIAH/ASsBUAEEAf8I
|
||||
AAMnAToCUwFRAaIBmwFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB
|
||||
/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIE
|
||||
Af8AHQABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BZwGpARcB
|
||||
/wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB/wFaAZwBEAH/AVoB
|
||||
nAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFfAZgBGAH/AWMBngEYAf8BYwGlARcB
|
||||
/wFrAakBHQH/ASkBUAEAAf8MAAMiATEDTgGYAm8BWwHzAmgBXQHwAmoBYQHmAloBVwHCAlUBUwGqA1MB
|
||||
pwJZAVcBvAJsAWEB6wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxQBGwJDAUQBdwJWAVkBtgJbAV4B
|
||||
zQJWAVgBswM/AWwDJgE4AwwBDwMCAQP/AB0AAUoBhAEGAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8B
|
||||
UgGMAQgB/wFpAaQBHgH/ASwBUAEDAf8BCAEKAQAB/wE3AWEBBwH/AVIBjAEOAf8BUgGMARAB/wF/AcEB
|
||||
MgH/AVsBXgFbAdMDWgG/AS8BWQEAAf8BRAF6AQUB/wFQAYoBCAH/AVoBnAEOAf8BWgGcARAB/wFaAZwB
|
||||
EAH/AU8BhgEQAf8BRAF0AQwB/wNaAb8QAAIaARkBIwNEAXsCXQFbAcoCYwFfAdoCaQFgAegCZwFZAe8B
|
||||
ZgFlAV0B7AJhAVwB1gJfAVsB2AF0AWgBUwH0Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADDwETAzQB
|
||||
UwNNAZICXQFhAc8CXQFhAdQCUgFUAagCQQFCAXIDJgE4AxQBGwMGAQgDAgED/wAVAAFKAYwBAAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BZwGdAScB/wEIAQoBAAH/AQoBDwEAAf8BQgF3AQMB
|
||||
/wFSAYwBEAH/AVoBnAEQAf8BJQFBAQUB/wQAAzoBYAEIAQoBAAH/AQgBCgEAAf8EAANGAYADRgGAA0YB
|
||||
gBwAAwoBDQMiATEDNAFUA0QBeAJRAVABnwJhAV0BzwJqAV4B7QFmAWUBXQHsAmgBXQHwAZsBXwEhAfsB
|
||||
/wF4AQAC/wF4AQAB/wJRAVABnwMSARgcAAMGAQgDGAEhAzEBTQJMAU0BkQJYAVoBvQJdAWEB0QJZAVwB
|
||||
wwJRAVMBogM9AWcCGQEaASMDDAEP/wAVAAE7AW0BAgH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUwGOARAB/wEPARsBAAH/ASMBQwEAAf8BUgGMARAB/wFSAYwBEAH/AXsBvQEwAf8BCAEKAQAB
|
||||
/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/ygAAwMBBAMJAQsD
|
||||
IgExAzgBWwJPAU4BlwJfAVwByAJmAV8B5QGGAW8BUQH3Ab4BXQE2Af0B/wF4AQAC/wF4AQAB/wJRAVAB
|
||||
nwMSARgcAAQBAwIBAwMVARwDNQFWAksBTAGPAlwBXwHIAl0BYwHfAmABZQHjAlIBUwGlAzQBUwMcASf/
|
||||
ABUAAQgBCgEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AU4BggEPAf8B
|
||||
SgGEAQYB/wFSAYwBEAH/AWMBpQEXAf8BCAEKAQAB/wEIAQoBAAH/ARMBIwEAAf8BQgFzAQYB/wEgAT8B
|
||||
AAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB/yAABAEDAwEEAwwBEAMYASAD
|
||||
KQE9Az4BagJXAVYBtQJmAV8B5QGGAW8BUQH3Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYIAAEAQMHAQkD
|
||||
FAEbAyoBQANDAXYDVQGvAloBYwHpAlsBXwHQAlABUQGfAzMBUf8AGQABQgFzAQYB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMARAB/wFSAYwBEAH/AUoBhAEGAf8BEAEeAQAB
|
||||
/wExAVoBAAH/AU0BhAENAf8BWgGcARAB/wFaAZwBEAH/AVIBjAEIAf8BEAEeAQAB/wEIAQoBAAH/AQgB
|
||||
CgEAAf8DRgGALAADAgEDAwsBDgMgAS4DQwF2AlcBVQGxAmYBYAHgAXcBYwFIAfYBjgFqAUEB+QJRAVAB
|
||||
nAMSARcMAAQBAwwBEAMXAR8DHQEoAx0BKAMMAQ8IAAMPARQCJgEnATkCRwFIAYMDYgHhAlwBZQHnA14B
|
||||
0gI/AUABbv8AHQABSQGJAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8B
|
||||
UgGMARAB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwB
|
||||
EAH/AVoBlAEYAf8BQgFzAQYB/wEKAQ4BAAH/MAAEAQMDAQQDDAEPAx4BKgM6AWECWQFXAbkCYwFbAeQB
|
||||
ZgJiAe4CTwFOAZcDEgEXDAADAgEDAyEBLwM2AVkCQgFDAXUCQQFCAXMDHgErCAADBAEFAwwBDwM4AVwC
|
||||
XQFgAc4CXQFmAewCWQFnAe8DRgF//wAhAAE6AWsBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEQAf8BUgGMARAB/wFaAZQBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB
|
||||
/wFaAZQBGAH/AVoBlAEYAf8BYwGlARcB/wEZASwBAwH/OAADAgEDAwgBCgMgAS0CQQFAAXECTQFMAZED
|
||||
UAGaAjsBOgFiAwwBDwwAAwMBBAMrAUEDRAF6A1MBpwNVAa0DNwFaAxgBIAMJAQsDBgEHAw0BEQM5AV8C
|
||||
XQFhAdECWQFnAe8CWwFvAfMCRgFHAYH/ACUAASwBVQEAAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8B
|
||||
UgGMARAB/wFaAZQBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQB
|
||||
GAH/AVoBlAEYAf8BIQFBAQAB/0AABAIDBwEJAxAEFQEcAhYBFQEdAw8BEwMCAQMMAAMDAQQDMANLAUwB
|
||||
jwJbAV0BygJbAWEB3gNOAZQDNAFTAxUBHAMNAREDHgErAkMBRAF3Al0BYwHfAmEBcAHxAloBYwHpA0QB
|
||||
e/8AIQABEgEiAQAB/wFMAYYBBgH/AVIBjAEIAf8BWgGcARAB/wFQAYoBCAH/AVIBjAEQAf8BWgGUARAB
|
||||
/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAERAf8BaQGrAR8B/wEIAQoBAAH/bAAD
|
||||
AgEDAyEBLwM6AWEDVQGtAl8BYwHaA1oBvwJQAVEBnwNEAXoCQQFCAXIDSQGFAlYBVwGyAl4BagHtAmAB
|
||||
ZAHbAlUBVwGxAzgBW/8AIQABEAEeAQAB/wFIAX0BBwH/AVkBkwETAf8BVQGIARgB/wgAASEBQQEAAf8B
|
||||
QgF7AQAB/wFSAYwBCAH/AVUBkQEIAf8BOQFmAQQB/wNZAe94AAMGAQgDFwEfA0QBewJZAVwBxgJbAWMB
|
||||
5AJTAXQB9AJiAWYB7gJiAWYB7gJhAXAB8QJIAXcB9gIrAa4B/AJZAVwBvgM+AWsDJAE0/wApAAEeAToB
|
||||
AAH/nAAEAgMJAQwDKgM/AUABbgNOAZYCVgFYAbMCWQFcAcECWgFdAccCWgFdAccCVwFZAbkCUQFSAaQC
|
||||
QAFBAXEDJQE2AxMBGf8A0QAEAQMLAQ4DJgE4AzkBXgNGAX0CSgFLAYsDSgGJAz4BawMqAT8DFwEfAwIB
|
||||
A/8ABQABQgFNAT4HAAE+AwABKAMAAYADAAEgAwABAQEAAQEGAAECFgAD/wEAA/8BxwIAAQcB/wgAAv8B
|
||||
zwGHAgABBwH/CAAB/wH+AQABBwIAAQcB/wgAAf8B/AEAAQcCAAEHAf8IAAH/AfgBAAEPAgABBwH/CAAB
|
||||
/wHwAQABBwIAAQcB/wgAAf8B4AEAAQMCAAEHAf8IAAH/AcABAAEBAfwBAwL/CAAB/wHAAQABAQH8AQMC
|
||||
/wgAAf8B4AIAAfwBAwHgAR8IAAH/AfwBIAEAAfwBAwHgAR8IAAH/Af4B4AEAAfwBAwHgAR8IAAH/AcAC
|
||||
AAH8AQMB4AEfCAAB/wGAAgAB/AEDAeABHwgAAf8DAAH8AQMB4AEfCAAB/gIAAQEBAAEDAeABHwgAAfwC
|
||||
AAEBAQABAwH4AR8IAAH4AgABAQEAAQMB+AEfCAAB+AIAAQMBAAEDAfgBAwgAAfgCAAEHAQABAwH4AQMI
|
||||
AAH4AgABDwEAAQMB+AkAAfgBAAFEAX8BAAEDAfgJAAH4AQABAQH/AYABAwH4CQAB+AIAAX8BgAEDAfwJ
|
||||
AAH8AgABfwHwAQMBgQGACAAB/gIAAf8B8AEDAYEBgAgAAf8CAAH/AfwBAwGACQAB/wGAAQEB/wH+AQMB
|
||||
gAkAAf8BAAEDA/8BgAkAAf8BDAEPA/8BwAkAAf8B3wT/AcAJAAb/AfABAQgACw==
|
||||
/wFaAZQBEAH/AVoBlAEQAf8BWgGbARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZYBFgH/AVoB
|
||||
lAEYAf8BXQGXARgB/wFjAZwBGAH/AWMBpQEXAf8BYwGlARcB/wFwAbMBIAH/ASsBUAEEAf8IAAMnAToC
|
||||
UwFRAaIBmgFfASEB+wJlAVwB5wJcAVoBxAJDAUIBdQMxAU0CQAE/AW4CUQFQAZ8CZQFgAeMB/wF4AQAC
|
||||
/wF4AQAB/wJRAVABnwMSARgcAAMZASIDTgGVAlsBXgHNAlYBVwGyA0QBegMdASkDBgEIBAIEATAAA3QB
|
||||
0AN7Ae4gAAN1AdQDegHpvAABSgGEAQYB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BZwGpARcB/wFSAYwBCAH/AUoBhAEGAf8BSgGEAQYB/wFSAYwBEAH/AVoBlAEQAf8BWgGXARAB
|
||||
/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBlAEYAf8BWgGUARgB/wFfAZgBGAH/AWMB
|
||||
ngEYAf8BYwGlARcB/wFrAakBHQH/ASkBUAEAAf8MAAMiATEDTgGYAm8BXAHzAmgBXgHwAmoBYQHmAloB
|
||||
VwHCAlUBUwGqA1MBpwJZAVcBvAJsAWEB6wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGBwAAxQBGwJDAUQB
|
||||
dwJWAVkBtgJbAV4BzQJWAVgBswM/AWwDJgE4AwwBDwMCAQMIAAMCAQMDDgERAw4BEQMOAREDDgERAw4B
|
||||
EQMOAREDDgERAw4BEQMOAREDdAHTA3sB7wMOAREDDgERAw4BEQMOAREDDgERAw4BEQMOAREDDgERA3QB
|
||||
1wN7AeoDDgERAw4BEQMOAREDDgERAw4BEQMOAREDDgERAw4BEQMOAREDBAEFlAABSgGEAQYB/wFSAYwB
|
||||
CAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AWkBpAEeAf8BLAFQAQMB/wEIAQoBAAH/ATcBYQEHAf8B
|
||||
UgGMAQ4B/wFSAYwBEAH/AX8BwQEyAf8BWwFeAVsB0wNaAb8BLwFZAQAB/wFEAXoBBQH/AVABigEIAf8B
|
||||
WgGcAQ4B/wFaAZwBEAH/AVoBnAEQAf8BTwGGARAB/wFEAXQBDAH/A1oBvxAAAhoBGQEjA0QBewJdAVsB
|
||||
ygJjAV8B2gJpAWAB6AJnAVkB7wJlAV0B7AJhAVwB1gJfAVsB2AFzAWgBUwH0Af8BeAEAAv8BeAEAAf8C
|
||||
UQFQAZ8DEgEYHAADDwETAzQBUwNNAZICXQFhAc8CXQFhAdQCUgFUAagCQQFCAXIDJgE4AxQBGwMGAQgD
|
||||
AgEDA3ABwgN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D
|
||||
fwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8DfwH/A38B/wN/Af8D
|
||||
fwH/A38B/wN4AdyUAAFKAYwBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BZwGdAScB
|
||||
/wEIAQoBAAH/AQoBDwEAAf8BQgF3AQMB/wFSAYwBEAH/AVoBnAEQAf8BJQFBAQUB/wQAAzoBYAEIAQoB
|
||||
AAH/AQgBCgEAAf8EAANGAYADRgGAA0YBgBwAAwoBDQMiATEDNAFUA0QBeAJRAVABnwJhAV0BzwJqAV4B
|
||||
7QJlAV0B7AJoAV4B8AGaAV8BIQH7Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAADBgEIAxgBIQMxAU0C
|
||||
TAFNAZECWAFaAb0CXQFhAdECWQFcAcMCUQFTAaIDPQFnAhkBGgEjAwwBDwNMAW8DaAGtA2gBrQNoAa0D
|
||||
aAGtA2gBrQNoAa0DaAGtA2gBrQNoAa0DewHwA30B+gNoAa0DaAGtA2gBrQNoAa0DaAGtA2gBrQNoAa0D
|
||||
aAGtA3wB8QN9AfgDaAGtA2gBrQNoAa0DaAGtA2gBrQNoAa0DaAGtA2gBrQNoAa0DVQGBlAABOwFtAQIB
|
||||
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVMBjgEQAf8BDwEbAQAB/wEjAUMBAAH/AVIB
|
||||
jAEQAf8BUgGMARAB/wF7Ab0BMAH/AQgBCgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8BCAEKAQAB
|
||||
/wEIAQoBAAH/AQgBCgEAAf8oAAMDAQQDCQELAyIBMQM4AVsCTwFOAZcCXwFcAcgCZgFfAeUBhQFvAVEB
|
||||
9wG+AVwBOAH9Af8BeAEAAv8BeAEAAf8CUQFQAZ8DEgEYHAAEAQMCAQMDFQEcAzUBVgJLAUwBjwJcAV8B
|
||||
yAJdAWMB3wJgAWUB4wJSAVMBpQM0AVMDHAEnKAADdAHQA3sB7iAAA3UB1AN6Aem8AAEIAQoBAAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFOAYIBDwH/AUoBhAEGAf8BUgGMARAB
|
||||
/wFjAaUBFwH/AQgBCgEAAf8BCAEKAQAB/wETASMBAAH/AUIBcwEGAf8BIAE/AQAB/wEIAQoBAAH/AQgB
|
||||
CgEAAf8BCAEKAQAB/wEIAQoBAAH/AQgBCgEAAf8gAAQBAwMBBAMMARADGAEgAykBPQM+AWoCVwFWAbUC
|
||||
ZgFfAeUBhQFvAVEB9wH/AXgBAAL/AXgBAAH/AlEBUAGfAxIBGCAABAEDBwEJAxQBGwMqAUADQwF2A1UB
|
||||
rwJaAWMB6QJbAV8B0AJQAVEBnwMzAVEoAAN0AdADewHuIAADdQHUA3oB6cAAAUIBcwEGAf8BUgGMAQgB
|
||||
/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBCAH/AVIBjAEQAf8BUgGMARAB/wFKAYQBBgH/ARAB
|
||||
HgEAAf8BMQFaAQAB/wFNAYQBDQH/AVoBnAEQAf8BWgGcARAB/wFSAYwBCAH/ARABHgEAAf8BCAEKAQAB
|
||||
/wEIAQoBAAH/A0YBgCwAAwIBAwMLAQ4DIAEuA0MBdgJXAVUBsQJmAWAB4AF2AWMBSAH2AY0BagFBAfkC
|
||||
UQFQAZwDEgEXDAAEAQMMARADFwEfAx0BKAMdASgDDAEPCAADDwEUAiYBJwE5AkcBSAGDA2IB4QJcAWUB
|
||||
5wNeAdICPwFAAW4oAAN0AdADewHuIAADdQHUA3oB6cQAAUkBiQEAAf8BUgGMAQgB/wFSAYwBCAH/AVIB
|
||||
jAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BUgGMARAB/wFSAYwBEAH/AVoBlAEQAf8BWgGcARAB
|
||||
/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZQBGAH/AUIBcwEGAf8BCgEOAQAB/zAABAEDAwEEAwwB
|
||||
DwMeASoDOgFhAlkBVwG5AmMBWwHkAWUCYgHuAk8BTgGXAxIBFwwAAwIBAwMhAS8DNgFZAkIBQwF1AkEB
|
||||
QgFzAx4BKwgAAwQBBQMMAQ8DOAFcAl0BYAHOAl0BZQHsAlkBZwHvA0YBfygAA3QB0AN7Ae4gAAN1AdQD
|
||||
egHpyAABOgFrAQAB/wFSAYwBCAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIBjAEQAf8BWgGUARAB
|
||||
/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB/wFaAZQBGAH/AWMB
|
||||
pQEXAf8BGQEsAQMB/zgAAwIBAwMIAQoDIAEtAkEBQAFxAk0BTAGRA1ABmgI7AToBYgMMAQ8MAAMDAQQD
|
||||
KwFBA0QBegNTAacDVQGtAzcBWgMYASADCQELAwYBBwMNAREDOQFfAl0BYQHRAlkBZwHvAlwBbwHzAkYB
|
||||
RwGBKAADdAHQA3sB7iAAA3UB1AN6AenMAAEsAVUBAAH/AVIBjAEIAf8BUgGMAQgB/wFSAYwBEAH/AVIB
|
||||
jAEQAf8BWgGUARAB/wFaAZQBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGUARgB
|
||||
/wFaAZQBGAH/ASEBQQEAAf9AAAQCAwcBCQMQBBUBHAIWARUBHQMPARMDAgEDDAADAwEEAzADSwFMAY8C
|
||||
WwFdAcoCWwFhAd4DTgGUAzQBUwMVARwDDQERAx4BKwJDAUQBdwJdAWMB3wJiAXAB8QJaAWMB6QNEAXso
|
||||
AAN0AdADewHuIAADdQHUA3oB6cgAARIBIgEAAf8BTAGGAQYB/wFSAYwBCAH/AVoBnAEQAf8BUAGKAQgB
|
||||
/wFSAYwBEAH/AVoBlAEQAf8BWgGcARAB/wFaAZwBEAH/AVoBnAEQAf8BWgGcARAB/wFaAZwBEQH/AWkB
|
||||
qwEfAf8BCAEKAQAB/2wAAwIBAwMhAS8DOgFhA1UBrQJfAWMB2gNaAb8CUAFRAZ8DRAF6AkEBQgFyA0kB
|
||||
hQJWAVcBsgJeAWoB7QJgAWQB2wJVAVcBsQM4AVsoAAN0AdADewHuIAADdQHUA3oB6cgAARABHgEAAf8B
|
||||
SAF9AQcB/wFZAZMBEwH/AVUBiAEYAf8IAAEhAUEBAAH/AUIBewEAAf8BUgGMAQgB/wFVAZEBCAH/ATkB
|
||||
ZgEEAf8DWQHveAADBgEIAxcBHwNEAXsCWQFcAcYCWwFjAeQCUwFzAfQCYgFlAe4CYgFlAe4CYgFwAfEC
|
||||
SAF2AfYCKwGsAfwCWQFcAb4DPgFrAyQBNCgAA3QB0AN7Ae4gAAN1AdQDegHp0AABHgE6AQAB/5wABAID
|
||||
CQEMAyoDPwFAAW4DTgGWAlYBWAGzAlkBXAHBAloBXQHHAloBXQHHAlcBWQG5AlEBUgGkAkABQQFxAyUB
|
||||
NgMTARkoAAN0AdADewHuIAADdQHUA3oB6f8AeQAEAQMLAQ4DJgE4AzkBXgNGAX0CSgFLAYsDSgGJAz4B
|
||||
awMqAT8DFwEfAwIBAywAA2QBogNuAb8gAANmAaYDbQG7qAABQgFNAT4HAAE+AwABKAMAAYADAAEgAwAB
|
||||
AQEAAQEGAAECFgAD/wEAA/8BxwIAAQcC/wHPAfMB/wQAAv8BzwGHAgABBwL/Ac8B8wH/BAAB/wH+AQAB
|
||||
BwIAAQcC/wHPAfMB/wQAAf8B/AEAAQcCAAEHAv8BzwHzAf8EAAH/AfgBAAEPAgABBwL/Ac8B8wH/BAAB
|
||||
/wHwAQABBwIAAQcC/wHPAfMB/wQAAf8B4AEAAQMCAAEHAv8BzwHzAf8EAAH/AcABAAEBAfwBAwP/Ac8B
|
||||
8wH/BAAB/wHAAQABAQH8AQMD/wHPAfMB/wQAAf8B4AIAAfwBAwHgAR8IAAH/AfwBIAEAAfwBAwHgAR8I
|
||||
AAH/Af4B4AEAAfwBAwHgAR8IAAH/AcACAAH8AQMB4AEfAf8BzwHzAf8EAAH/AYACAAH8AQMB4AEfAf8B
|
||||
zwHzAf8EAAH/AwAB/AEDAeABHwH/Ac8B8wH/BAAB/gIAAQEBAAEDAeABHwH/Ac8B8wH/BAAB/AIAAQEB
|
||||
AAEDAfgBHwH/Ac8B8wH/BAAB+AIAAQEBAAEDAfgBHwH/Ac8B8wH/BAAB+AIAAQMBAAEDAfgBAwH/Ac8B
|
||||
8wH/BAAB+AIAAQcBAAEDAfgBAwgAAfgCAAEPAQABAwH4CQAB+AEAAUQBfwEAAQMB+AkAAfgBAAEBAf8B
|
||||
gAEDAfgBAAH/Ac8B8wH/BAAB+AIAAX8BgAEDAfwBAAH/Ac8B8wH/BAAB/AIAAX8B8AEDAYEBgAH/Ac8B
|
||||
8wH/BAAB/gIAAf8B8AEDAYEBgAH/Ac8B8wH/BAAB/wIAAf8B/AEDAYABAAH/Ac8B8wH/BAAB/wGAAQEB
|
||||
/wH+AQMBgAEAAf8BzwHzAf8EAAH/AQABAwP/AYABAAH/Ac8B8wH/BAAB/wEMAQ8D/wHAAQAB/wHPAfMB
|
||||
/wQAAf8B3wT/AcABAAH/Ac8B8wH/BAAG/wHwAQEB/wHPAfMB/wQACw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ilTabIcons.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@ -438,7 +462,7 @@
|
||||
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
|
||||
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
|
||||
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAuhIAAAJNU0Z0AUkBTAIBAQQB
|
||||
AAFQAQIBUAECARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
AAFYAQIBWAECARABAAEQAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABQAMAASADAAEBAQABIAYAASD/
|
||||
AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ACIAA2cB7wJnAVkB7wFnAV0BWQHvAWcBWwFZAe8B
|
||||
ZwFbAVkB7wFnAlkB7wFnAWQBWQHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvA2cB7wNnAe8DZwHvAwcB
|
||||
CQMqAT8DRQF8A1kBuwNjAd8DaAH0A4AB/gOBAf8DgQH/A4EB/wOAAf4DaAH0A2MB3wNaAboDRAF6AycB
|
||||
@ -464,7 +488,7 @@
|
||||
YAH/AYMBggF/Af8BhQGCAX0B/wGzAZMBRAH/Ac8BlAEAAf8B3gHMAZ8B/wOwAf8DsAH/A7AB/wOwAf8D
|
||||
sAH/A7AB/wOwAf8DsAH/A6gB/wMCAQMDGgEjAzgBXANUAagDYgHXA3AB8QOAAf4DgQH/A4EB/wOBAf8D
|
||||
gQH9A2gB8ANhAdQDUwGlAzYBWQMYASAIAAMaASQDUgGgAmMBSAH2AaIBcwEAAf8BrgF8AQAB/wGwAX0B
|
||||
AAH/AagBeAEAAf8BlQFqAQAB/wKAAUoB/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB
|
||||
AAH/AagBeAEAAf8BlQFqAQAB/wKAAUsB/gFcAlkBxgNXAbUDFgEeCAAB/wGyAW8B/wH9AYABEQH/AfwB
|
||||
dwEBAf8B/QF3AQAC/wF4AQAC/wF/AQ8C/wGSATsC/wGzAYMC/wHqAeAC/wGQAT0C/wF7AQoB/wH8AXcB
|
||||
AAH/AeUBbAEAAf8BsQFUAQAB/wGEAUsBGgH/A2MB3wT/AdkBqgE3Af8BvgGYATgB/wHAAZgBNgH/AdwB
|
||||
ogEUAf8BzwGUAQAB/wHeAcwBnwH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/RAAD
|
||||
@ -501,7 +525,7 @@
|
||||
zgGfAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPnAf8D5wH/A+cB/wPAAf8DZAHbA2gB9AOBAf8DgQH/A4EB
|
||||
/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DVQGvAwcBCQNiAe4B8QG8ATsB
|
||||
/wH6AeoBwgH/A9wB/wN3Af8DaAH/A2gB/wNoAf8DMgn/AfIB3QGpAf8B6gGpAQgB/wM+AWoEAANeAdIB
|
||||
fwFxAWoB+QH/AbsBfQL/AaMBUgL/AZABLAL/AYIBEwL/AX0BCAL/AXoBBAL/AXkBAgL/AXoBBAL/AX0B
|
||||
fQFvAWoB+QH/AbsBfQL/AaMBUgL/AZABLAL/AYIBEwL/AX0BCAL/AXoBBAL/AXkBAgL/AXoBBAL/AX0B
|
||||
CQL/AYABDwL/AX8BDQH/AfgBhgEgAf8DaAH0A1gBuAT/AdcBsQFSAf8BmgGPAXQB/wGgAZIBbQH/AeAB
|
||||
rwE3Af8B5wGpARAB/wHrAdUBoAH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DkwH/AzwB
|
||||
ZANfAckDfQH6A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DfQH6A1UB
|
||||
@ -511,7 +535,7 @@
|
||||
8QHBAUkB/wH5AeMBrAH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DiQH/A4kB/wOJAf8DmgH/AwYBCAMxAUwD
|
||||
UAGbA2UB7AN9AfoDgQH/A4EB/wOBAf8DgQH/A4EB/wOBAf8DgQH/A30B+gNqAe0DUAGbAy8BSQgAAyIB
|
||||
MQNfAckCfQFnAfoB8wHKAWUB/wH5AeEBpgH/AfsB7QHMAf8B+wHsAcgB/wH4Ad0BmwH/A4AB/gJlAV4B
|
||||
4gM9AWgEAQwAA0IBcgNjAdUBfwF1AWoB+QH/AckBmQL/AbwBfwL/Aa4BZgL/AaQBUwL/AZ8BSgL/AZ8B
|
||||
4gM9AWgEAQwAA0IBcgNjAdUBfQFzAWoB+QH/AckBmQL/AbwBfwL/Aa4BZgL/AaQBUwL/AZ8BSgL/AZ8B
|
||||
SwL/AaMBUQL/AacBWAH/A3wB+ANdAccDOwFiBABA/wgAAwUBBgMSARcDOgFgA1EBnwNfAdMDZwHvA2MB
|
||||
9gNiAe4DXgHSA1EBngM5AV8DEQEWAwUBBhQAAw8BEwNHAYIDZAHbAn4BbwH8A2cB6gNUAagDKAE7HAAD
|
||||
PAFlA14B0gH/Ae8B4AL/AdwBvAL/Ac0BnwL/AcEBigL/AbsBfwL/Ab8BhgL/Ac0BoQL/AekB1gH/A1wB
|
||||
|
||||
457
qtc-net-client-2/Forms/TicTacToeGame.Designer.cs
generated
Normal file
457
qtc-net-client-2/Forms/TicTacToeGame.Designer.cs
generated
Normal file
@ -0,0 +1,457 @@
|
||||
namespace qtc_net_client_2
|
||||
{
|
||||
partial class TicTacToeGame
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
pBoard = new Panel();
|
||||
btnSquare9 = new Button();
|
||||
btnSquare1 = new Button();
|
||||
btnSquare7 = new Button();
|
||||
btnSquare8 = new Button();
|
||||
btnSquare6 = new Button();
|
||||
btnSquare4 = new Button();
|
||||
btnSquare5 = new Button();
|
||||
btnSquare3 = new Button();
|
||||
btnSquare2 = new Button();
|
||||
pbBoard = new PictureBox();
|
||||
pSymbolSelection = new Panel();
|
||||
btnOSelect = new Button();
|
||||
btnXSelect = new Button();
|
||||
label1 = new Label();
|
||||
pLoading = new Panel();
|
||||
btnPlayAgain = new Button();
|
||||
lblPlayAgain = new Label();
|
||||
lblLoadStatus = new Label();
|
||||
lblPlayerOne = new Label();
|
||||
lblP1Username = new Label();
|
||||
lblP2Username = new Label();
|
||||
lblPlayerTwo = new Label();
|
||||
lvUserlist = new ListView();
|
||||
rtxtChatbox = new RichTextBox();
|
||||
btnSend = new Button();
|
||||
rtxtChat = new RichTextBox();
|
||||
lblJackpotWon = new Label();
|
||||
pBoard.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pbBoard).BeginInit();
|
||||
pSymbolSelection.SuspendLayout();
|
||||
pLoading.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
// pBoard
|
||||
//
|
||||
pBoard.Controls.Add(btnSquare9);
|
||||
pBoard.Controls.Add(btnSquare1);
|
||||
pBoard.Controls.Add(btnSquare7);
|
||||
pBoard.Controls.Add(btnSquare8);
|
||||
pBoard.Controls.Add(btnSquare6);
|
||||
pBoard.Controls.Add(btnSquare4);
|
||||
pBoard.Controls.Add(btnSquare5);
|
||||
pBoard.Controls.Add(btnSquare3);
|
||||
pBoard.Controls.Add(btnSquare2);
|
||||
pBoard.Controls.Add(pbBoard);
|
||||
pBoard.Enabled = false;
|
||||
pBoard.Location = new Point(30, 18);
|
||||
pBoard.Name = "pBoard";
|
||||
pBoard.Size = new Size(541, 474);
|
||||
pBoard.TabIndex = 0;
|
||||
//
|
||||
// btnSquare9
|
||||
//
|
||||
btnSquare9.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare9.FlatAppearance.BorderSize = 0;
|
||||
btnSquare9.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare9.Location = new Point(374, 341);
|
||||
btnSquare9.Name = "btnSquare9";
|
||||
btnSquare9.Size = new Size(99, 90);
|
||||
btnSquare9.TabIndex = 11;
|
||||
btnSquare9.UseVisualStyleBackColor = true;
|
||||
btnSquare9.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare1
|
||||
//
|
||||
btnSquare1.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare1.FlatAppearance.BorderSize = 0;
|
||||
btnSquare1.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare1.Location = new Point(79, 49);
|
||||
btnSquare1.Name = "btnSquare1";
|
||||
btnSquare1.Size = new Size(99, 90);
|
||||
btnSquare1.TabIndex = 4;
|
||||
btnSquare1.UseVisualStyleBackColor = true;
|
||||
btnSquare1.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare7
|
||||
//
|
||||
btnSquare7.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare7.FlatAppearance.BorderSize = 0;
|
||||
btnSquare7.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare7.Location = new Point(79, 341);
|
||||
btnSquare7.Name = "btnSquare7";
|
||||
btnSquare7.Size = new Size(99, 90);
|
||||
btnSquare7.TabIndex = 10;
|
||||
btnSquare7.UseVisualStyleBackColor = true;
|
||||
btnSquare7.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare8
|
||||
//
|
||||
btnSquare8.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare8.FlatAppearance.BorderSize = 0;
|
||||
btnSquare8.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare8.Location = new Point(229, 341);
|
||||
btnSquare8.Name = "btnSquare8";
|
||||
btnSquare8.Size = new Size(99, 90);
|
||||
btnSquare8.TabIndex = 9;
|
||||
btnSquare8.UseVisualStyleBackColor = true;
|
||||
btnSquare8.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare6
|
||||
//
|
||||
btnSquare6.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare6.FlatAppearance.BorderSize = 0;
|
||||
btnSquare6.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare6.Location = new Point(374, 195);
|
||||
btnSquare6.Name = "btnSquare6";
|
||||
btnSquare6.Size = new Size(99, 90);
|
||||
btnSquare6.TabIndex = 8;
|
||||
btnSquare6.UseVisualStyleBackColor = true;
|
||||
btnSquare6.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare4
|
||||
//
|
||||
btnSquare4.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare4.FlatAppearance.BorderSize = 0;
|
||||
btnSquare4.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare4.Location = new Point(79, 195);
|
||||
btnSquare4.Name = "btnSquare4";
|
||||
btnSquare4.Size = new Size(99, 90);
|
||||
btnSquare4.TabIndex = 7;
|
||||
btnSquare4.UseVisualStyleBackColor = true;
|
||||
btnSquare4.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare5
|
||||
//
|
||||
btnSquare5.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare5.FlatAppearance.BorderSize = 0;
|
||||
btnSquare5.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare5.Location = new Point(229, 195);
|
||||
btnSquare5.Name = "btnSquare5";
|
||||
btnSquare5.Size = new Size(99, 90);
|
||||
btnSquare5.TabIndex = 6;
|
||||
btnSquare5.UseVisualStyleBackColor = true;
|
||||
btnSquare5.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare3
|
||||
//
|
||||
btnSquare3.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare3.FlatAppearance.BorderSize = 0;
|
||||
btnSquare3.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare3.Location = new Point(374, 49);
|
||||
btnSquare3.Name = "btnSquare3";
|
||||
btnSquare3.Size = new Size(99, 90);
|
||||
btnSquare3.TabIndex = 5;
|
||||
btnSquare3.UseVisualStyleBackColor = true;
|
||||
btnSquare3.Click += btnSquareX_Click;
|
||||
//
|
||||
// btnSquare2
|
||||
//
|
||||
btnSquare2.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnSquare2.FlatAppearance.BorderSize = 0;
|
||||
btnSquare2.FlatStyle = FlatStyle.Flat;
|
||||
btnSquare2.Location = new Point(229, 49);
|
||||
btnSquare2.Name = "btnSquare2";
|
||||
btnSquare2.Size = new Size(99, 90);
|
||||
btnSquare2.TabIndex = 3;
|
||||
btnSquare2.UseVisualStyleBackColor = true;
|
||||
btnSquare2.Click += btnSquareX_Click;
|
||||
//
|
||||
// pbBoard
|
||||
//
|
||||
pbBoard.Image = Properties.Resources.Tic_tac_toe;
|
||||
pbBoard.Location = new Point(27, 15);
|
||||
pbBoard.Name = "pbBoard";
|
||||
pbBoard.Size = new Size(501, 444);
|
||||
pbBoard.SizeMode = PictureBoxSizeMode.Zoom;
|
||||
pbBoard.TabIndex = 0;
|
||||
pbBoard.TabStop = false;
|
||||
//
|
||||
// pSymbolSelection
|
||||
//
|
||||
pSymbolSelection.BorderStyle = BorderStyle.FixedSingle;
|
||||
pSymbolSelection.Controls.Add(btnOSelect);
|
||||
pSymbolSelection.Controls.Add(btnXSelect);
|
||||
pSymbolSelection.Controls.Add(label1);
|
||||
pSymbolSelection.Location = new Point(161, 109);
|
||||
pSymbolSelection.Name = "pSymbolSelection";
|
||||
pSymbolSelection.Size = new Size(275, 255);
|
||||
pSymbolSelection.TabIndex = 3;
|
||||
pSymbolSelection.Visible = false;
|
||||
//
|
||||
// btnOSelect
|
||||
//
|
||||
btnOSelect.BackgroundImage = Properties.Resources.O;
|
||||
btnOSelect.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnOSelect.FlatAppearance.BorderSize = 0;
|
||||
btnOSelect.FlatStyle = FlatStyle.Flat;
|
||||
btnOSelect.Location = new Point(157, 104);
|
||||
btnOSelect.Name = "btnOSelect";
|
||||
btnOSelect.Size = new Size(91, 89);
|
||||
btnOSelect.TabIndex = 2;
|
||||
btnOSelect.UseVisualStyleBackColor = true;
|
||||
btnOSelect.Click += btnOSelect_Click;
|
||||
//
|
||||
// btnXSelect
|
||||
//
|
||||
btnXSelect.BackgroundImage = Properties.Resources.X;
|
||||
btnXSelect.BackgroundImageLayout = ImageLayout.Stretch;
|
||||
btnXSelect.FlatAppearance.BorderSize = 0;
|
||||
btnXSelect.FlatStyle = FlatStyle.Flat;
|
||||
btnXSelect.Location = new Point(34, 103);
|
||||
btnXSelect.Name = "btnXSelect";
|
||||
btnXSelect.Size = new Size(91, 89);
|
||||
btnXSelect.TabIndex = 1;
|
||||
btnXSelect.UseVisualStyleBackColor = true;
|
||||
btnXSelect.Click += btnXSelect_Click;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
label1.Font = new Font("Segoe UI", 15F, FontStyle.Bold, GraphicsUnit.Point, 0);
|
||||
label1.ForeColor = Color.White;
|
||||
label1.Location = new Point(11, 14);
|
||||
label1.Name = "label1";
|
||||
label1.Size = new Size(250, 49);
|
||||
label1.TabIndex = 0;
|
||||
label1.Text = "Please Select Symbol";
|
||||
label1.TextAlign = ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// pLoading
|
||||
//
|
||||
pLoading.BorderStyle = BorderStyle.FixedSingle;
|
||||
pLoading.Controls.Add(btnPlayAgain);
|
||||
pLoading.Controls.Add(lblPlayAgain);
|
||||
pLoading.Controls.Add(lblLoadStatus);
|
||||
pLoading.Location = new Point(161, 109);
|
||||
pLoading.Name = "pLoading";
|
||||
pLoading.Size = new Size(275, 255);
|
||||
pLoading.TabIndex = 2;
|
||||
pLoading.Visible = false;
|
||||
//
|
||||
// btnPlayAgain
|
||||
//
|
||||
btnPlayAgain.Location = new Point(97, 223);
|
||||
btnPlayAgain.Name = "btnPlayAgain";
|
||||
btnPlayAgain.Size = new Size(75, 23);
|
||||
btnPlayAgain.TabIndex = 2;
|
||||
btnPlayAgain.Text = "Play Again";
|
||||
btnPlayAgain.UseVisualStyleBackColor = true;
|
||||
btnPlayAgain.Visible = false;
|
||||
btnPlayAgain.Click += btnPlayAgain_Click;
|
||||
//
|
||||
// lblPlayAgain
|
||||
//
|
||||
lblPlayAgain.ForeColor = Color.White;
|
||||
lblPlayAgain.Location = new Point(28, 134);
|
||||
lblPlayAgain.Name = "lblPlayAgain";
|
||||
lblPlayAgain.Size = new Size(218, 86);
|
||||
lblPlayAgain.TabIndex = 1;
|
||||
lblPlayAgain.Text = "If you wish to play with a different user, you can close\r\nthis window and match up again. Otherwise click\r\n\"Play Again\"";
|
||||
lblPlayAgain.TextAlign = ContentAlignment.MiddleCenter;
|
||||
lblPlayAgain.Visible = false;
|
||||
//
|
||||
// lblLoadStatus
|
||||
//
|
||||
lblLoadStatus.Font = new Font("Segoe UI", 21.75F, FontStyle.Bold, GraphicsUnit.Point, 0);
|
||||
lblLoadStatus.ForeColor = Color.White;
|
||||
lblLoadStatus.Location = new Point(11, 4);
|
||||
lblLoadStatus.Name = "lblLoadStatus";
|
||||
lblLoadStatus.Size = new Size(250, 130);
|
||||
lblLoadStatus.TabIndex = 0;
|
||||
lblLoadStatus.Text = "Text";
|
||||
lblLoadStatus.TextAlign = ContentAlignment.MiddleCenter;
|
||||
//
|
||||
// lblPlayerOne
|
||||
//
|
||||
lblPlayerOne.Font = new Font("Segoe UI", 12F, FontStyle.Bold | FontStyle.Italic);
|
||||
lblPlayerOne.ForeColor = Color.White;
|
||||
lblPlayerOne.Location = new Point(30, 501);
|
||||
lblPlayerOne.Name = "lblPlayerOne";
|
||||
lblPlayerOne.Size = new Size(29, 23);
|
||||
lblPlayerOne.TabIndex = 2;
|
||||
lblPlayerOne.Text = "P1";
|
||||
//
|
||||
// lblP1Username
|
||||
//
|
||||
lblP1Username.AutoSize = true;
|
||||
lblP1Username.Font = new Font("Segoe UI", 15F, FontStyle.Bold | FontStyle.Italic);
|
||||
lblP1Username.ForeColor = Color.White;
|
||||
lblP1Username.Location = new Point(26, 519);
|
||||
lblP1Username.Name = "lblP1Username";
|
||||
lblP1Username.Size = new Size(105, 28);
|
||||
lblP1Username.TabIndex = 3;
|
||||
lblP1Username.Text = "Username";
|
||||
//
|
||||
// lblP2Username
|
||||
//
|
||||
lblP2Username.AutoSize = true;
|
||||
lblP2Username.Font = new Font("Segoe UI", 15F, FontStyle.Bold | FontStyle.Italic);
|
||||
lblP2Username.ForeColor = Color.White;
|
||||
lblP2Username.Location = new Point(466, 519);
|
||||
lblP2Username.Name = "lblP2Username";
|
||||
lblP2Username.Size = new Size(105, 28);
|
||||
lblP2Username.TabIndex = 5;
|
||||
lblP2Username.Text = "Username";
|
||||
lblP2Username.TextAlign = ContentAlignment.MiddleRight;
|
||||
//
|
||||
// lblPlayerTwo
|
||||
//
|
||||
lblPlayerTwo.Font = new Font("Segoe UI", 12F, FontStyle.Bold | FontStyle.Italic);
|
||||
lblPlayerTwo.ForeColor = Color.White;
|
||||
lblPlayerTwo.Location = new Point(540, 501);
|
||||
lblPlayerTwo.Name = "lblPlayerTwo";
|
||||
lblPlayerTwo.Size = new Size(29, 23);
|
||||
lblPlayerTwo.TabIndex = 4;
|
||||
lblPlayerTwo.Text = "P2";
|
||||
//
|
||||
// lvUserlist
|
||||
//
|
||||
lvUserlist.Alignment = ListViewAlignment.Left;
|
||||
lvUserlist.Location = new Point(577, 48);
|
||||
lvUserlist.MultiSelect = false;
|
||||
lvUserlist.Name = "lvUserlist";
|
||||
lvUserlist.Size = new Size(309, 211);
|
||||
lvUserlist.TabIndex = 6;
|
||||
lvUserlist.UseCompatibleStateImageBehavior = false;
|
||||
lvUserlist.View = View.SmallIcon;
|
||||
//
|
||||
// rtxtChatbox
|
||||
//
|
||||
rtxtChatbox.Location = new Point(577, 497);
|
||||
rtxtChatbox.Name = "rtxtChatbox";
|
||||
rtxtChatbox.Size = new Size(230, 49);
|
||||
rtxtChatbox.TabIndex = 8;
|
||||
rtxtChatbox.Text = "";
|
||||
rtxtChatbox.KeyDown += rtxtChatbox_KeyDown;
|
||||
//
|
||||
// btnSend
|
||||
//
|
||||
btnSend.BackgroundImage = Properties.Resources.SendIcon;
|
||||
btnSend.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
btnSend.FlatAppearance.BorderSize = 0;
|
||||
btnSend.FlatStyle = FlatStyle.Flat;
|
||||
btnSend.Location = new Point(811, 497);
|
||||
btnSend.Name = "btnSend";
|
||||
btnSend.Size = new Size(75, 50);
|
||||
btnSend.TabIndex = 9;
|
||||
btnSend.UseVisualStyleBackColor = true;
|
||||
btnSend.Click += btnSend_Click;
|
||||
//
|
||||
// rtxtChat
|
||||
//
|
||||
rtxtChat.Font = new Font("Segoe UI", 10F);
|
||||
rtxtChat.HideSelection = false;
|
||||
rtxtChat.Location = new Point(577, 265);
|
||||
rtxtChat.Name = "rtxtChat";
|
||||
rtxtChat.ReadOnly = true;
|
||||
rtxtChat.Size = new Size(309, 227);
|
||||
rtxtChat.TabIndex = 10;
|
||||
rtxtChat.Text = "";
|
||||
//
|
||||
// lblJackpotWon
|
||||
//
|
||||
lblJackpotWon.AutoSize = true;
|
||||
lblJackpotWon.Font = new Font("Segoe UI", 12F, FontStyle.Bold | FontStyle.Italic);
|
||||
lblJackpotWon.ForeColor = Color.Blue;
|
||||
lblJackpotWon.Location = new Point(744, 18);
|
||||
lblJackpotWon.Name = "lblJackpotWon";
|
||||
lblJackpotWon.Size = new Size(142, 21);
|
||||
lblJackpotWon.TabIndex = 11;
|
||||
lblJackpotWon.Text = "3 Wins = Jackpot!";
|
||||
//
|
||||
// TicTacToeGame
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(7F, 15F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
BackColor = Color.DodgerBlue;
|
||||
ClientSize = new Size(898, 558);
|
||||
Controls.Add(lblJackpotWon);
|
||||
Controls.Add(rtxtChat);
|
||||
Controls.Add(btnSend);
|
||||
Controls.Add(rtxtChatbox);
|
||||
Controls.Add(lvUserlist);
|
||||
Controls.Add(lblP2Username);
|
||||
Controls.Add(lblPlayerTwo);
|
||||
Controls.Add(lblP1Username);
|
||||
Controls.Add(lblPlayerOne);
|
||||
Controls.Add(pLoading);
|
||||
Controls.Add(pSymbolSelection);
|
||||
Controls.Add(pBoard);
|
||||
FormBorderStyle = FormBorderStyle.FixedDialog;
|
||||
MaximizeBox = false;
|
||||
Name = "TicTacToeGame";
|
||||
StartPosition = FormStartPosition.CenterScreen;
|
||||
Text = "QtC.NET qGame - qTic-Tac-Toe";
|
||||
FormClosed += TicTacToeGame_FormClosed;
|
||||
Load += Main_Load;
|
||||
pBoard.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)pbBoard).EndInit();
|
||||
pSymbolSelection.ResumeLayout(false);
|
||||
pLoading.ResumeLayout(false);
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private Panel pBoard;
|
||||
private PictureBox pbBoard;
|
||||
private Button btnSquare9;
|
||||
private Button btnSquare7;
|
||||
private Button btnSquare8;
|
||||
private Button btnSquare6;
|
||||
private Button btnSquare4;
|
||||
private Button btnSquare5;
|
||||
private Button btnSquare3;
|
||||
private Button btnSquare1;
|
||||
private Button btnSquare2;
|
||||
private Panel pLoading;
|
||||
private Label lblLoadStatus;
|
||||
private Label lblPlayerOne;
|
||||
private Label lblP1Username;
|
||||
private Label lblP2Username;
|
||||
private Label lblPlayerTwo;
|
||||
private Panel pSymbolSelection;
|
||||
private Button btnOSelect;
|
||||
private Button btnXSelect;
|
||||
private Label label1;
|
||||
private ListView lvUserlist;
|
||||
private RichTextBox rtxtChatbox;
|
||||
private Button btnSend;
|
||||
private Label lblPlayAgain;
|
||||
private Button btnPlayAgain;
|
||||
private RichTextBox rtxtChat;
|
||||
private Label lblJackpotWon;
|
||||
}
|
||||
}
|
||||
522
qtc-net-client-2/Forms/TicTacToeGame.cs
Normal file
522
qtc-net-client-2/Forms/TicTacToeGame.cs
Normal file
@ -0,0 +1,522 @@
|
||||
using Microsoft.AspNetCore.SignalR.Client;
|
||||
using qtc_net_client_2.Forms;
|
||||
using qtc_net_client_2.Services;
|
||||
using QtCNETAPI.Enums;
|
||||
using QtCNETAPI.Models;
|
||||
using QtCNETAPI.Schema;
|
||||
using QtCNETAPI.Services.ApiService;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace qtc_net_client_2
|
||||
{
|
||||
public partial class TicTacToeGame : Form
|
||||
{
|
||||
private HubConnection? GameHubConnection { get; set; }
|
||||
private GameRoom? CurrentRoom { get; set; }
|
||||
|
||||
private IApiService _apiService;
|
||||
private AudioService _audioService = new();
|
||||
|
||||
private int WinCount { get; set; }
|
||||
private bool JackpotWon { get; set; } = false;
|
||||
public TicTacToeGame(IApiService apiService)
|
||||
{
|
||||
_apiService = apiService;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private async void Main_Load(object sender, EventArgs e)
|
||||
{
|
||||
// first, connect to the game hub
|
||||
GameHubConnection = new HubConnectionBuilder()
|
||||
.WithUrl("http://localhost:5268/tttgame", options =>
|
||||
{
|
||||
options.AccessTokenProvider = () => Task.FromResult(_apiService.SessionToken)!;
|
||||
})
|
||||
.WithAutomaticReconnect()
|
||||
.Build();
|
||||
|
||||
pLoading.Visible = true;
|
||||
lblLoadStatus.Text = "Connecting\nTo\nHub...";
|
||||
|
||||
GameHubConnection.On<GameRoom>("WaitingForPlayer", (room) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
|
||||
BeginInvoke(delegate ()
|
||||
{
|
||||
if (room.Player1 != null)
|
||||
{
|
||||
lblP1Username.Text = room.Player1.Username;
|
||||
lvUserlist.Items.Add(room.Player1.Id, room.Player1.Username, room.Player1.Status);
|
||||
}
|
||||
|
||||
lblLoadStatus.Text = "Waiting\nFor\nPlayer...";
|
||||
});
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom>("GameStart", (room) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
|
||||
BeginInvoke(delegate ()
|
||||
{
|
||||
pLoading.Visible = false;
|
||||
pSymbolSelection.Visible = false;
|
||||
});
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom, string?>("GameEnd", (room, usernameDisconnected) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
|
||||
BeginInvoke(delegate ()
|
||||
{
|
||||
if (room.Player1 == null) lblP1Username.Text = "Username";
|
||||
if (room.Player2 == null) lblP2Username.Text = "Username";
|
||||
|
||||
ToggleBoardControl(false);
|
||||
|
||||
switch (room.Status)
|
||||
{
|
||||
case GameStatus.P1Win:
|
||||
{
|
||||
if (_apiService.CurrentUser.Id == room.Player1?.Id)
|
||||
{
|
||||
lblLoadStatus.Text = "You Won!";
|
||||
WinCount++;
|
||||
|
||||
if (WinCount >= 3)
|
||||
{
|
||||
JackpotWon = true;
|
||||
lblJackpotWon.Text = "You Won A Spin!";
|
||||
}
|
||||
}
|
||||
else lblLoadStatus.Text = "You Lost!";
|
||||
lblPlayAgain.Visible = true;
|
||||
btnPlayAgain.Visible = true;
|
||||
break;
|
||||
}
|
||||
case GameStatus.P2Win:
|
||||
{
|
||||
if (_apiService.CurrentUser.Id == room.Player2?.Id)
|
||||
{
|
||||
lblLoadStatus.Text = "You Won!";
|
||||
WinCount++;
|
||||
|
||||
if (WinCount >= 3)
|
||||
{
|
||||
JackpotWon = true;
|
||||
lblJackpotWon.Text = "You Won A Spin!";
|
||||
}
|
||||
}
|
||||
else lblLoadStatus.Text = "You Lost!";
|
||||
lblPlayAgain.Visible = true;
|
||||
btnPlayAgain.Visible = true;
|
||||
break;
|
||||
}
|
||||
case GameStatus.PlayerDisconnected:
|
||||
{
|
||||
if (!string.IsNullOrEmpty(usernameDisconnected))
|
||||
lblLoadStatus.Text = $"Game Ended.\nUser {usernameDisconnected}\nDisconnected.";
|
||||
lblPlayAgain.Visible = false;
|
||||
btnPlayAgain.Visible = false;
|
||||
break;
|
||||
}
|
||||
case GameStatus.NoWin:
|
||||
lblLoadStatus.Text = "It's a draw!";
|
||||
lblPlayAgain.Visible = true;
|
||||
btnPlayAgain.Visible = true;
|
||||
break;
|
||||
}
|
||||
|
||||
pLoading.Visible = true;
|
||||
});
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom>("RestartGame", (room) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
|
||||
BeginInvoke(delegate ()
|
||||
{
|
||||
if (pLoading.Visible) pLoading.Visible = false;
|
||||
});
|
||||
ClearBoard();
|
||||
ToggleBoardControl(true);
|
||||
|
||||
BeginInvoke(delegate ()
|
||||
{
|
||||
List<Button> buttons = [btnSquare1, btnSquare2, btnSquare3, btnSquare4, btnSquare5, btnSquare6, btnSquare7, btnSquare8, btnSquare9];
|
||||
|
||||
foreach (Button button in buttons)
|
||||
{
|
||||
if (button.BackgroundImage == null)
|
||||
button.Enabled = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom>("SelectSymbol", (room) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
|
||||
BeginInvoke(delegate ()
|
||||
{
|
||||
if (room.Player1 != null)
|
||||
{
|
||||
lblP1Username.Text = room.Player1.Username;
|
||||
if (!lvUserlist.Items.ContainsKey(room.Player1.Id)) lvUserlist.Items.Add(room.Player1.Id, room.Player1.Username, room.Player1.Status);
|
||||
}
|
||||
if (room.Player2 != null)
|
||||
{
|
||||
lblP2Username.Text = room.Player2.Username;
|
||||
if (!lvUserlist.Items.ContainsKey(room.Player2.Id)) lvUserlist.Items.Add(room.Player2.Id, room.Player2.Username, room.Player2.Status);
|
||||
}
|
||||
|
||||
if (pLoading.Visible) pLoading.Visible = false;
|
||||
pSymbolSelection.Visible = true;
|
||||
pBoard.Enabled = true;
|
||||
ToggleAllSquareButtons(false);
|
||||
});
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom>("SelectingSymbol", (room) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
|
||||
BeginInvoke(delegate ()
|
||||
{
|
||||
if (pSymbolSelection.Visible) return;
|
||||
|
||||
if (room.Player1 != null)
|
||||
{
|
||||
lblP1Username.Text = room.Player1.Username;
|
||||
if (!lvUserlist.Items.ContainsKey(room.Player1.Id)) lvUserlist.Items.Add(room.Player1.Id, room.Player1.Username, room.Player1.Status);
|
||||
}
|
||||
if (room.Player2 != null)
|
||||
{
|
||||
lblP2Username.Text = room.Player2.Username;
|
||||
if (!lvUserlist.Items.ContainsKey(room.Player2.Id)) lvUserlist.Items.Add(room.Player2.Id, room.Player2.Username, room.Player2.Status);
|
||||
}
|
||||
|
||||
pLoading.Visible = true;
|
||||
lblLoadStatus.Text = $"Player 1\nIs Selecting\nSymbol...";
|
||||
});
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom, TicTacToeMove>("UpdateBoard", (room, move) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
|
||||
UpdateBoardUI(move);
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom>("StartTurn", (room) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
ToggleBoardControl(true);
|
||||
AddChatMessage("[SERVER] Your Turn!");
|
||||
});
|
||||
|
||||
GameHubConnection.On<GameRoom>("EndTurn", (room) =>
|
||||
{
|
||||
CurrentRoom = room;
|
||||
ToggleBoardControl(false);
|
||||
AddChatMessage("[SERVER] Other Players Turn");
|
||||
});
|
||||
|
||||
GameHubConnection.On<string>("ReceiveMessage", (msg) =>
|
||||
{
|
||||
AddChatMessage(msg);
|
||||
if (msg.Split('[')[1] != _apiService.CurrentUser.Username)
|
||||
_audioService.PlaySoundEffect("sndMessage");
|
||||
});
|
||||
|
||||
try { await GameHubConnection.StartAsync(); }
|
||||
catch (HttpRequestException ex)
|
||||
{
|
||||
MessageBox.Show($"Sorry, We Couldn't Connect To The Game Server Due To An Error. Please Try Again Later.\n\n{ex.Message}", "Oops.", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
Environment.Exit(0);
|
||||
}
|
||||
|
||||
lblLoadStatus.Text = "Finding\nRoom...";
|
||||
await GameHubConnection.SendAsync("FindRoom");
|
||||
}
|
||||
|
||||
private async void TicTacToeGame_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
if (GameHubConnection != null && GameHubConnection.State == HubConnectionState.Connected)
|
||||
{
|
||||
if(JackpotWon)
|
||||
{
|
||||
// start a jackpot spin
|
||||
CurrencyJackpotSpinner currencyJackpotSpinner = new CurrencyJackpotSpinner();
|
||||
var dialogResult = currencyJackpotSpinner.ShowDialog();
|
||||
if (dialogResult == DialogResult.OK)
|
||||
{
|
||||
await _apiService.AddCurrencyToCurrentUser(currencyJackpotSpinner.TokensWon, false);
|
||||
_apiService.CurrentUser.CurrencyAmount += currencyJackpotSpinner.TokensWon;
|
||||
|
||||
// find the main form to refresh currency count
|
||||
Main? mainForm = (Main?)Application.OpenForms[0];
|
||||
if (mainForm != null)
|
||||
mainForm.RefreshCurrencyCounter();
|
||||
}
|
||||
}
|
||||
|
||||
// stop and dispose connection
|
||||
await GameHubConnection.StopAsync();
|
||||
await GameHubConnection.DisposeAsync();
|
||||
GameHubConnection = null;
|
||||
}
|
||||
}
|
||||
|
||||
private async void btnXSelect_Click(object sender, EventArgs e) => await SelectSymbol(TicTacToeSymbol.X);
|
||||
private async void btnOSelect_Click(object sender, EventArgs e) => await SelectSymbol(TicTacToeSymbol.O);
|
||||
|
||||
private async void btnPlayAgain_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (GameHubConnection != null && GameHubConnection.State == HubConnectionState.Connected && CurrentRoom != null)
|
||||
{
|
||||
await GameHubConnection.SendAsync("RestartGame", CurrentRoom.Id);
|
||||
}
|
||||
}
|
||||
|
||||
private async void btnSquareX_Click(object sender, EventArgs e)
|
||||
{
|
||||
// create move
|
||||
TicTacToeMove move = new TicTacToeMove
|
||||
{
|
||||
User = _apiService.CurrentUser
|
||||
};
|
||||
|
||||
if (sender is Button btn)
|
||||
{
|
||||
switch (btn.Name)
|
||||
{
|
||||
case "btnSquare1":
|
||||
move.Point = 1;
|
||||
break;
|
||||
case "btnSquare2":
|
||||
move.Point = 2;
|
||||
break;
|
||||
case "btnSquare3":
|
||||
move.Point = 3;
|
||||
break;
|
||||
case "btnSquare4":
|
||||
move.Point = 4;
|
||||
break;
|
||||
case "btnSquare5":
|
||||
move.Point = 5;
|
||||
break;
|
||||
case "btnSquare6":
|
||||
move.Point = 6;
|
||||
break;
|
||||
case "btnSquare7":
|
||||
move.Point = 7;
|
||||
break;
|
||||
case "btnSquare8":
|
||||
move.Point = 8;
|
||||
break;
|
||||
case "btnSquare9":
|
||||
move.Point = 9;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// send move
|
||||
if (GameHubConnection != null && GameHubConnection.State == HubConnectionState.Connected && CurrentRoom != null)
|
||||
await GameHubConnection.SendAsync("MakeMove", CurrentRoom.Id, move);
|
||||
}
|
||||
|
||||
private async void btnSend_Click(object sender, EventArgs e)
|
||||
{
|
||||
if ((GameHubConnection != null && GameHubConnection.State == HubConnectionState.Connected && CurrentRoom != null) &&
|
||||
!string.IsNullOrWhiteSpace(rtxtChatbox.Text))
|
||||
{
|
||||
await GameHubConnection.SendAsync("SendRoomMessage", CurrentRoom.Id, $"[{_apiService.CurrentUser.Username}] {rtxtChatbox.Text}");
|
||||
_audioService.PlaySoundEffect("sndSendClick");
|
||||
rtxtChatbox.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private void rtxtChatbox_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if(e.KeyCode == Keys.Enter)
|
||||
btnSend_Click(sender, e);
|
||||
}
|
||||
|
||||
private void ToggleBoardControl(bool toggle)
|
||||
{
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
Invoke(delegate ()
|
||||
{
|
||||
pBoard.Enabled = toggle;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ToggleAllSquareButtons(bool toggle)
|
||||
{
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
Invoke(delegate ()
|
||||
{
|
||||
List<Button> buttons = [btnSquare1, btnSquare2, btnSquare3, btnSquare4, btnSquare5, btnSquare6, btnSquare7, btnSquare8, btnSquare9];
|
||||
|
||||
foreach (Button button in buttons)
|
||||
button.Enabled = toggle;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private async Task SelectSymbol(TicTacToeSymbol symbol)
|
||||
{
|
||||
if (GameHubConnection != null && GameHubConnection.State == HubConnectionState.Connected && CurrentRoom != null)
|
||||
{
|
||||
await GameHubConnection.SendAsync("SetSymbol", CurrentRoom.Id, symbol);
|
||||
ToggleAllSquareButtons(true);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateBoardUI(TicTacToeMove move)
|
||||
{
|
||||
if (IsHandleCreated && !IsDisposed && CurrentRoom != null)
|
||||
{
|
||||
// play move made sound
|
||||
_audioService.PlaySoundEffect("sndTTTMoveMade");
|
||||
|
||||
Invoke(delegate ()
|
||||
{
|
||||
switch (CurrentRoom.Board.Square1)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare1.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare1.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare1.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare1.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square2)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare2.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare2.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare2.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare2.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square3)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare3.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare3.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare3.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare3.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square4)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare4.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare4.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare4.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare4.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square5)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare5.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare5.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare5.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare5.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square6)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare6.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare6.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare6.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare6.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square7)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare7.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare7.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare7.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare7.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square8)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare8.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare8.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare8.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare8.Enabled = false;
|
||||
break;
|
||||
}
|
||||
switch (CurrentRoom.Board.Square9)
|
||||
{
|
||||
case TicTacToeSymbol.X:
|
||||
btnSquare9.BackgroundImage = Properties.Resources.X;
|
||||
btnSquare9.Enabled = false;
|
||||
break;
|
||||
case TicTacToeSymbol.O:
|
||||
btnSquare9.BackgroundImage = Properties.Resources.O;
|
||||
btnSquare9.Enabled = false;
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void AddChatMessage(string msg)
|
||||
{
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
Invoke(delegate ()
|
||||
{
|
||||
rtxtChat.AppendText($"{msg}\n");
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void ClearBoard()
|
||||
{
|
||||
if (IsHandleCreated && !IsDisposed)
|
||||
{
|
||||
Invoke(delegate ()
|
||||
{
|
||||
List<Button> buttons = [btnSquare1, btnSquare2, btnSquare3, btnSquare4, btnSquare5, btnSquare6, btnSquare7, btnSquare8, btnSquare9];
|
||||
|
||||
foreach (Button button in buttons)
|
||||
button.BackgroundImage = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
120
qtc-net-client-2/Forms/TicTacToeGame.resx
Normal file
120
qtc-net-client-2/Forms/TicTacToeGame.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
30
qtc-net-client-2/Properties/Resources.Designer.cs
generated
30
qtc-net-client-2/Properties/Resources.Designer.cs
generated
@ -189,6 +189,16 @@ namespace qtc_net_client_2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap O {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("O", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@ -248,5 +258,25 @@ namespace qtc_net_client_2.Properties {
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Tic_tac_toe {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Tic-tac-toe", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap X {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("X", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -124,15 +124,21 @@
|
||||
<data name="SendIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\SendIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="X" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\X.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="left-horn-animated" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Anims\left-horn-animated.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="DefaultPfp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\DefaultPfp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="OfflineIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\OfflineIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dollar-money" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Anims\dollar-money.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Tic-tac-toe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Tic-tac-toe1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="OnlineIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\OnlineIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
@ -148,8 +154,8 @@
|
||||
<data name="CurrencyIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\CurrencyIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="AddContactIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\AddContactIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="DefaultPfp" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\DefaultPfp.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="RequestSentIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\RequestSentIcon.png;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
@ -169,10 +175,13 @@
|
||||
<data name="DeclineContactIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\DeclineContactIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="AddContactIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\AddContactIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="AcceptContactIcon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Icons\AcceptContactIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="dollar-money" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Anims\dollar-money.gif;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="O" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\O.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
qtc-net-client-2/Resources/O.png
Normal file
BIN
qtc-net-client-2/Resources/O.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
BIN
qtc-net-client-2/Resources/Tic-tac-toe.png
Normal file
BIN
qtc-net-client-2/Resources/Tic-tac-toe.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.4 KiB |
BIN
qtc-net-client-2/Resources/Tic-tac-toe1.png
Normal file
BIN
qtc-net-client-2/Resources/Tic-tac-toe1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.4 KiB |
BIN
qtc-net-client-2/Resources/X.png
Normal file
BIN
qtc-net-client-2/Resources/X.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
qtc-net-client-2/Sounds/sndTTTMoveMade.wav
Normal file
BIN
qtc-net-client-2/Sounds/sndTTTMoveMade.wav
Normal file
Binary file not shown.
@ -62,6 +62,9 @@
|
||||
<None Update="Sounds\sndTokenWin.wav">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Sounds\sndTTTMoveMade.wav">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Loading…
x
Reference in New Issue
Block a user