From 7bd7297e69796d8057c7be9409d6435207a0ad5c Mon Sep 17 00:00:00 2001 From: HypherionMC Date: Wed, 2 Aug 2023 19:06:06 +0200 Subject: [PATCH] Make log window actually work Fix formatting on log output, so it can be properly displayed in the Console Window --- Console.ico | Bin 0 -> 32591 bytes MainLauncherForm.resx | 429 ++++++++++++------------ WolfLauncher.csproj | 7 + core/Launcher.cs | 14 + core/LauncherLogger.cs | 46 ++- gui/launcher/InstanceWindow.Designer.cs | 27 +- gui/launcher/InstanceWindow.cs | 11 +- packages.config | 2 + 8 files changed, 280 insertions(+), 256 deletions(-) create mode 100644 Console.ico diff --git a/Console.ico b/Console.ico new file mode 100644 index 0000000000000000000000000000000000000000..6800624b9fccaaeda43ddd7ac4696492640f2780 GIT binary patch literal 32591 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 U|0aZb`dfi!)xSdmR1V?)0m^j7jsO4v literal 0 HcmV?d00001 diff --git a/MainLauncherForm.resx b/MainLauncherForm.resx index 384b1b7..aa33935 100644 --- a/MainLauncherForm.resx +++ b/MainLauncherForm.resx @@ -127,227 +127,224 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 - ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAB6 - MwAAAk1TRnQBSQFMAwEBAAEQAQABEAEAATABAAEwAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABwAMA - ATADAAEBAQABIAYAAZBuAAQBAwUBBv8A/wD2AAMmATgBUgFZAWYBwwFHAU4BVwHhAjoBOwFhAwIBA/8A - /wDmAAMaASQBTgFSAVcBqwE/AVcBeQH+AT0BVQF4Af8BNAFAAVEB/wEyAT0BSwH/AUYBTQFSAdUBMgIz - AVAEAf8A/wDWAAMQARUBSQFMAU4BkgExAUEBWgH5ATABQwFgAf8BPQFVAXgB/wFBAVoBfgH/ATIBPgFP - Af8BMgE9AUsB/wEsATYBQwH/AScBMAE8Af8BSQFLAVEBxgMqAT//AP8AygADCAEKAUMBRQFHAXkBRAFY - AXMB8AEyAUYBZAH/ASsBPQFYAf8BNAFIAWcB/wFJAWUBjAH/AU4BbAGVAf8BLAE4AUkB/wEpATIBPwH/ - ASoBMwFAAf8BJwEwATwB/wEnATABPAH/AScBMAE8Af8BSwFNAVEBtgMhATD/AP8AugADAgEDAToCOwFh - AUsBWQFvAeMBPQFVAXgB/wE9AVUBeAH/ATYBSwFrAf8BQAFaAX0B/wFOAWsBlAH/AU4BbAGVAf8BTgFs - AZUB/wEsATgBSQH/AScBMAE8Af8BJwEwATwB/wEnATABPAH/AScBMAE8Af8BJwEwATwB/wEnATABPAH/ - ATIBPAFEAf0BTQFPAVEBpgMaASP/AP8ArgABLgIvAUgBTwFbAWoB0QE9AVUBeAH/AT0BVQF4Af8BPQFV - AXgB/wE9AVUBeAH/AUgBZAGLAf8BTgFsAZUB/wFOAWwBlQH/AU4BbAGVAf8BTgFsAZUB/wE7AUoBXQH/ - AS0BNwFEAf8BJwEwATwB/wEnATABPAH/ASkBMgE/Af8BNwFDAVIB/wErATUBQQH/AS4BOAFGAf8BMgE9 - AUsB/wE1AT8BSAH5AkoBSwGVAxIBGP8A/wCeAAMjATIBUQFXAWMBvAE9AVUBeAH/AT0BVQF4Af8BPQFV - AXgB/wE9AVUBeAH/AT0BVQF4Af8BPQFVAXgB/wFIAWQBiwH/AUwBagGSAf8BRwFjAYoB/wFOAWwBlQH/ - AU4BbAGVAf8BQAFQAWQB/wE+AUsBXAH/ATABOwFJAf8BJwEwATwB/wEpATIBPwH/AT4BSwFcAf8BPgFL - AVwB/wE5AUUBVQH/ATMBPwFNAf8BLwE6AUcB/wEnATABPAH/ATIBOgFCAfMBRgFHAUgBgwMMAQ//AP8A - jgADFwEfAVIBVgFdAaMBTAFqAZUB/QE/AVgBfAH/AT0BVQF5Af8BQAFZAX0B/wE9AVUBeAH/AT0BVQF4 - Af8BPQFVAXgB/wE+AVYBeQH/AUMBXQGDAf8BPgFWAXkB/wFBAVsBgAH/AU4BbAGVAf8BUAFvAZkB/wE9 - AUwBYQH/AT4BSwFcAf8BMQE8AUsB/wEnATABPAH/ASgBMQE+Af8BOwFHAVcB/wE+AUsBXAH/AT4BSwFc - Af8BPgFLAVwB/wE2AUEBUAH/ASgBMQE9Af8BJwEwATwB/wEwATsBSQH/AT8BRwFRAewCQQFCAXMDBgEI - /wD/AH4AAw0BEQFLAU0BUQGKAVEBbAGNAfcBTgFsAZUB/wFOAWwBlQH/AUUBYAGGAf8BTAFpAZEB/wFG - AWEBiAH/AT0BVQF4Af8BPQFVAXgB/wFEAV8BhAH/AUwBagGSAf8BQwFdAYIB/wE9AVUBeAH/AUIBXAGC - Af8BWAF5AagB/wFeAYMBtgH/AS8BPAFOAf8BLgE4AUYB/wEtATgBRgH/AScBMAE8Af8BJwEwATwB/wEn - ATABPQH/ATABOwFJAf8BPAFIAVkB/wE+AUsBXAH/ATsBRwFYAf8BMQE8AUoB/wEsATYBQwH/ATABOwFJ - Af8BMgE9AUsB/wEtATcBRAH/AT8BQgFMAeECOgE7AWIDAwEE/wD/AG4AAwYBBwFBAUIBRAFyAVEBZQGC - AewBTgFsAZUB/wFOAWwBlQH/AU4BbAGVAf8BTgFsAZUB/wFOAWwBlQH/AU4BbAGVAf8BRgFhAYgB/wE9 - AVUBeAH/AT4BVgF6Af8BTgFsAZUB/wFOAWwBlQH/AUMBXQGCAf8BPQFVAXgB/wFGAWEBiAH/AV8BhAG3 - Af8BXwGEAbcB/wEvATwBTgH/AScBMAE8Af8BIAEoATMB/wEfAScBMgH/ASUBLgE6Af8BJwEwATwB/wEn - ATABPAH/ASgBMQE9Af8BMgE9AUsB/wE6AUUBVgH/ATIBPQFLAf8BMgE9AUsB/wEyAT0BSwH/ATIBPQFL - Af8BLQE3AUQB/wEnATABPAH/ASYBLwE7Af8BPQFBAUYB1gMzAVEEAf8A/wBeAAQCAjYBNwFZAUsBWgFt - Ad4BPQFVAXgB/wFIAWUBjAH/AUYBYgGIAf8BPQFVAXcB/wFOAWwBlQH/AU4BbAGVAf8BTgFsAZUB/wFT - AXQBoAH/AU0BawGVAf8BPQFVAXgB/wE+AVYBegH/AU4BbAGUAf8BRwFjAYkB/wE+AVcBegH/AT0BVQF4 - Af8BRgFhAYgB/wFdAYEBswH/AU0BawGVAf8BMQE9AU4B/wEpATIBPgH/ASABKAEzAf8BGwEiASwB/wEd - ASUBLwH/AS0BNwFFAf8BKAExAT0B/wEnATABPAH/AScBMAE8Af8BMgE3AT8B/wJEAUcB/wEzAT4BSwH/ - ATIBPQFLAf8BMgE9AUsB/wEtATcBRAH/AScBMAE8Af8BJgEvATsB/wEbASIBLAH/ARsBIgEsAf8BRgFJ - AUwBxwMqAUD/AP8AVgADIgExAUkBUAFbAcsBLAE/AVoB/wE9AVUBeAH/AUABWQF9Af8BOQFQAXEB/wEr - AT0BWAH/ATUBSgFpAf8BTgFsAZUB/wFSAXIBngH/AVsBfwGwAf8BXwGEAbcB/wFPAW8BmgH/AT0BVQF4 - Af8BPQFVAXkB/wFAAVgBfAH/AT0BVQF4Af8BPQFVAXgB/wE8AVQBdwH/ATsBUgF0Af8BPwFYAXwB/wE9 - AVUBeAH/ATQBQAFRAf8BMgE9AUsB/wEnATABPQH/ARwBIwEuAf8BHQElAS8B/wEyAT0BSwH/ATEBPAFK - Af8BLAE2AUMB/wEoATEBPQH/ATQBOAE+Af8BWgFNAUMB/wFWAUsBRAH/ATIBOgFGAf8BMgE9AUsB/wEt - ATcBRAH/AScBMAE8Af8BJwEwATwB/wEfASYBMQH/ARsBIgEsAf8BIwErATYB/wEnATABPAH/AkoBSwGV - /wD/AFIAAUQBRgFHAX4BKwE9AVgB/wEuAUIBXgH/AUgBYwGKAf8BTgFsAZUB/wE2AUwBbAH/ASsBPQFY - Af8BOAFPAW8B/wFaAX0BrgH/AV8BhAG3Af8BXwGEAbcB/wFfAYQBtwH/AUoBaAGRAf8BPQFVAXgB/wE9 - AVUBeAH/AT0BVQF4Af8BPQFVAXgB/wE5AU8BcAH/AS0BQAFbAf8BMAFDAWAB/wE9AVUBeAH/AT0BVQF4 - Af8BMgE+AU8B/wEyAT0BSwH/ASwBNgFDAf8BJwEwATsB/wEjASwBNwH/ATIBPQFLAf8BMgE9AUsB/wEy - AT0BSwH/ATEBPAFKAf8BNQE7AUMB/wFZAUwBQwH/AVoBTQFDAf8BLgE0AT0B/wEpATIBPgH/ASoBNAFA - Af8BJwEwATwB/wEnATABPAH/AScBMAE8Af8BJAEtATgB/wEmAS4BOgH/AScBMAE8Af8BSwFOAVABvf8A - /wBSAAFFAUYBRwF+ATUBSgFqAf8BPQFWAXkB/wFOAWwBlQH/AU4BbAGVAf8BOQFQAXEB/wE3AU0BbQH/ - AUYBYgGJAf8BXwGEAbcB/wFfAYQBtwH/AVMBdAGhAf8BNwFOAW8B/wEzAUgBZwH/AT0BVQF4Af8BPQFV - AXgB/wFCAVwBgQH/AUsBaAGQAf8BOAFOAW4B/wErAT0BWAH/ATABQwFgAf8BPQFVAXgB/wE9AVUBeAH/ - ASEBKgE3Af8BJQEtATkB/wEqATQBQAH/AScBMAE8Af8BKAExAT0B/wEyAT0BSwH/ATIBPQFLAf8BMgE9 - AUsB/wEyAT0BSwH/AS8BOgFHAf8BLgE0AT0B/wFHAUIBQAH/AS4BNAE9Af8BJwEwATwB/wEnATABPAH/ - AScBMAE8Af8BJwEwATwB/wEnATABPAH/AScBMAE8Af8BLgE5AUYB/wEvATkBRgH/AUwBTgFSAb3/AP8A - UgABRgFHAUkBfgE9AVUBeAH/AT4BVwF6Af8BUAFuAZgB/wFYAXoBqQH/AUgBZAGLAf8BPQFVAXgB/wFG - AWIBiQH/AVkBfAGsAf8BRwFjAYsB/wEuAUABXQH/ASsBPQFYAf8BMwFIAWcB/wE9AVUBeAH/AT4BVgF6 - Af8BTgFsAZUB/wFOAWwBlQH/ATgBTgFuAf8BKwE9AVgB/wEwAUMBYAH/AT0BVQF4Af8BPQFVAXgB/wEg - ASkBNwH/ARsBIgEsAf8BMwExATIB/wE4ATcBOQH/ASoBMgE9Af8BMgE9AUsB/wEyAT0BSwH/ATkBRQFU - Af8BNwFDAVIB/wEvAToBRwH/AScBMAE8Af8BJwEwATwB/wEuATkBRgH/ASoBNAFAAf8BJwEwATwB/wEn - ATABPAH/ASgBMgE+Af8BOAFEAVMB/wEsATUBQgH/AS4BOQFGAf8BMgE9AUsB/wFOAVABVgG9/wD/AFIA - AUYBRwFJAX4BPwFYAXwB/wFPAW4BmQH/AV4BgwG1Af8BXwGEAbcB/wFIAWQBjAH/AT0BVQF4Af8BPwFX - AXsB/wE9AVUBeQH/AT0BVQF4Af8BLgFAAV0B/wE4AUcBXAH/AUkBVwFtAf8BPQFVAXgB/wE+AVYBegH/ - AU4BbAGVAf8BRAFfAYQB/wEwAUMBYAH/ASsBPQFYAf8BMAFDAWAB/wE9AVUBeAH/ATcBTQFuAf8BKAFB - AToB/wEdAScBLQH/ATQCMgH/AUgBPgE2Af8BQwE7ATYB/wEoATEBPQH/ATEBPAFKAf8BOgFGAVYB/wE+ - AUsBXAH/ATUBQQFQAf8BIwErATcB/wEnATABPAH/ATABOwFJAf8BMgE9AUsB/wEpATIBPwH/ASQBLQE4 - Af8BKAEyAT4B/wE+AUsBXAH/AT4BSwFcAf8BOQFGAVUB/wE0AT8BTgH/AU4BUAFWAb3/AP8AUgABRwFJ - AUsBfgFcAYEBsgH/AV8BhAG3Af8BXwGEAbcB/wFbAX4BrwH/AUIBWwGAAf8BPQFVAXgB/wE9AVUBeAH/ - AT0BVQF4Af8BOgFRAXMB/wFUAVsBZwH/A2wB/wFXAWEBcQH/AT0BVQF4Af8BPQFVAXgB/wE0AUkBZwH/ - ASsBPQFYAf8BKwE9AVgB/wErAT0BWAH/ATIBTgFeAf8BLwFCAV8B/wErAT0BWAH/ATQBYAFAAf8BNAFj - ATsB/wExAT8BNAH/AUUBPAE1Af8BRAE7ATUB/wEbASIBLAH/AR4BJQEwAf8BLwE5AUcB/wE+AUoBWwH/ - ATUBQAFQAf8BGwEiASwB/wEeASUBLwH/ATABOgFIAf8BMgE9AUsB/wEnATEBPQH/ARsBIgEsAf8BHwEn - ATIB/wE4AUQBUwH/AT4BSwFcAf8BPgFLAVwB/wE+AUsBXAH/AVABVAFYAb3/AP8AUgABSAFKAU0BfgFf - AYQBtwH/AVwBgAGyAf8BRQFhAYgB/wEuAUEBXQH/ATcBTQFuAf8BPQFVAXgB/wE7AVIBdQH/ATIBRwFl - Af8BKwE9AVkB/wFjAWUBaQH/A2wB/wFUAV8BcAH/AT0BVQF4Af8BPAFUAXYB/wErAT0BWAH/ASsBPQFY - Af8BMQFQAVoB/wFAAYQBXwH/AUEBhgFfAf8BKwE9AVgB/wEsAT8BWAH/ATUBYwFAAf8BNQFmATwB/wEm - AT4BMwH/AR4BJAEtAf8CMAExAf8BHQElAS0B/wEbASIBLAH/ARsBIgEsAf8BIQEpATQB/wEsATcBQwH/ - ARsBIgEsAf8BGwEiASwB/wEvATkBRgH/ATIBPQFLAf8BKAExAT4B/wEbASIBLAH/ARsBIgEsAf8BGwEi - ASwB/wEoATEBPQH/AToBRgFWAf8BPgFLAVwB/wFSAVYBWgG9/wD/AFIAAUgBSgFMAX4BSQFlAY4B/wEw - AUMBYAH/ASsBPQFYAf8BKwE9AVgB/wE2AUsBbAH/ATMBSAFnAf8BLAE+AVkB/wErAT0BWAH/ASsBPQFY - Af8BWgFfAWYB/wFCAU4BXwH/ATQBSAFnAf8BPQFVAXgB/wE8AVQBdgH/AS8BSgFZAf8BPgF7AV8B/wFI - AZ4BYgH/AUgBnwFiAf8BQQGGAV8B/wE1AWABXwH/AUUBmAFqAf8BOAFwAUMB/wE1AWYBPAH/ASYBPgEz - Af8BGwEiASwB/wEfASkBLwH/AUEBZgFIAf8BLAFBATkB/wEcASMBLQH/ARsBIgEsAf8BIwE0ATIB/wE1 - AVcBPwH/ASMBMwEyAf8BLwE5AUYB/wEyAT0BSwH/AS0BNwFEAf8BIwErATcB/wEdASQBLgH/ARsBIgEs - Af8BGwEiASwB/wEcASMBLQH/ASoBNAFBAf8BUAFUAVgBvf8A/wBSAAFFAUYBRwF+ASsBPQFYAf8BKwE9 - AVgB/wErAT0BWAH/ASsBPQFYAf8BKwE9AVgB/wErAT0BWAH/ASsBPQFYAf8BLgFHAVoB/wE9AXwBZQH/ - AS8BSwFbAf8BKwE9AVgB/wEzAUgBZwH/ATsBUwF1Af8BNAFLAWUB/wFHAZ0BYgH/AUgBnwFiAf8BSAGf - AWIB/wFIAaABYwH/AUkBpAFoAf8BSgGqAW4B/wFKAaoBbgH/ATgBcAFDAf8BNQFmATwB/wEwAVwBOQH/ - ASQBOwExAf8BHwEqAS8B/wFFAW4BSwH/AUUBbgFLAf8BMwFZAToB/wEhATUBLgH/ASMBNAEyAf8BPAFm - AUUB/wE8AWYBRQH/ASYBMwE4Af8BLgE4AUUB/wEtATcBRAH/AScBMAE8Af8BJwEwATwB/wEiASoBNgH/ - ARwBJAEuAf8BGwEiASwB/wEbASIBLAH/AUcBSQFMAb3/AP8AUgABRAFGAUcBfgErAT0BWQH/ATEBRQFj - Af8BKwE9AVgB/wErAT0BWAH/ASsBPQFYAf8BKwE9AVgB/wExAVIBXAH/AUkBpQFtAf8BSgGqAW4B/wEv - AU0BWwH/ATABRwFdAf8BPQFgAWwB/wEsAT4BWQH/AS0BQwFZAf8BSAGfAWIB/wFIAaEBZAH/AUkBpAFn - Af8BSQGkAWcB/wFJAaYBaQH/AUoBqgFuAf8BSgGqAW4B/wE4AXABQwH/ATUBZgE8Af8BMwFjAToB/wEx - AWEBOAH/AS8BWgE3Af8BQAFrAUYB/wFFAW4BSwH/ATYBYQE7Af8BLgFbATMB/wEwAVgBNwH/ATwBZgFF - Af8BPAFmAUUB/wEgASwBLwH/ARsBIgEsAf8BIQEpATMB/wElAS4BOgH/AScBMAE8Af8BJwEwATwB/wEn - ATABOwH/AR4BJgEwAf8BGwEiASwB/wFHAUkBTAG9/wD/AFIAAUUBRgFIAX4BOgFRAXMB/wE8AVMBdgH/ - ASsBPQFYAf8BLAFAAVkB/wEuAUYBWgH/ASsBPQFYAf8BNAFbAV4B/wFKAaoBbgH/AUsBqwFwAf8BTgGL - AXoB/wFqAb8BlwH/AU8BiAF8Af8BKwE9AVgB/wEwAU8BWgH/AUkBpgFqAf8BSgGqAW4B/wFJAaYBagH/ - AUkBpAFnAf8BSQGkAWcB/wFKAaoBbgH/AUoBqgFuAf8BOAFwAUMB/wE1AWYBPAH/ATMBZAE6Af8BMQFh - ATgB/wExAWEBOAH/ATUBZgE8Af8BOAFoAT8B/wE0AWEBOgH/AS4BWwEzAf8BMgFeATgB/wE8AWYBRQH/ - ATwBZgFFAf8BIAEsAS8B/wEbASIBLAH/ARsBIgEsAf8BGwEiASwB/wEgASgBMwH/ASYBLwE7Af8BJwEw - ATwB/wEfAScBMQH/ARsBIgEsAf8BRwFJAUwBvf8A/wBSAAFGAUcBSQF+AT0BVQF4Af8BPAFUAXYB/wE3 - AWYBYAH/AUYBnQFrAf8BNQFgAV8B/wErAT0BWAH/ATUBXAFfAf8BVQGyAX0B/wFjAbwBjwH/AW0BxgGa - Af8BbgHHAZsB/wFSAZEBfQH/ATwBdwFeAf8BRwGeAWMB/wFKAaoBbgH/AUoBqgFuAf8BSQGkAWcB/wFH - AZkBXAH/AUcBmQFcAf8BSgGqAW4B/wFKAaoBbgH/ATgBcQFEAf8BNQFmATwB/wE1AWYBPAH/ATQBZQE7 - Af8BMgFjATkB/wE1AWYBPAH/ATUBZgE8Af8BNQFmATwB/wEzAWMBOgH/ATMBYAE6Af8BPAFmAUUB/wE8 - AWYBRQH/ASABLAEvAf8BGwEiASwB/wEbASMBLAH/ARsBIgEsAf8BGwEiASwB/wEcASMBLQH/ASEBKQE0 - Af8BHgEmATAB/wEbASIBLAH/AUcBSQFMAb3/AP8AUgABRgFHAUkBfgE3AU4BbgH/ATABSQFfAf8BSgGq - AW4B/wFKAaoBbgH/ATUBYQFfAf8BPAFrAWcB/wFYAa0BgAH/AWUBvgGSAf8BZQG+AZIB/wFrAcUBlwH/ - AV4BvAGHAf8BTQGrAW4B/wFIAZ8BYgH/AUgBoAFjAf8BSgGpAW0B/wFJAaMBZwH/AUcBlwFaAf8BRgGT - AVYB/wFHAZkBXAH/AVUBsQF4Af8BcgHFAZQB/wFpAboBhAH/AUkBhgFWAf8BNQFnAT0B/wE1AWYBPAH/ - ATUBZgE8Af8BNQFmATwB/wE1AWYBPAH/ATUBZgE8Af8BNQFmATwB/wE1AWYBPAH/ATcBZgE/Af8BOwFm - AUQB/wEgASwBLwH/ARsBIgEsAf8BJQE/ATIB/wEpAUkBNAH/AR0BKAEtAf8BGwEiASwB/wEbASIBLAH/ - ASYBQwEwAf8BJAE7AS8B/wFIAUkBTAG9/wD/AFIAAUUBRgFHAX4BKwE9AVgB/wEtAUUBWgH/AUoBqgFu - Af8BTAGtAXAB/wFTAbABeQH/AVsBvgGBAf8BXgG+AYYB/wFlAb4BkgH/AWUBvgGSAf8BUwG2AXoB/wFP - AbMBdQH/AUwBqgFsAf8BSAGgAWMB/wFJAaQBZwH/AUgBnwFiAf8BSAGfAWIB/wFHAZcBWgH/AU4BmwFg - Af8BbgG7AYgB/wF6Ac8BpAH/AXABzwGlAf8BbwHPAaUB/wFwAcwBmwH/AWQBswF8Af8BRQGAAVEB/wE1 - AWYBPAH/ATUBZgE8Af8BNQFmATwB/wEyAWIBOAH/ATQBZAE6Af8BNQFmATwB/wE1AWYBPAH/ATUBZgE8 - Af8BHwEsAS4B/wEbASIBLAH/ASYBQAEyAf8BMgFjAToB/wEwAV0BOQH/ARsBIgEsAf8BGwEiASwB/wEn - AUcBMAH/AS4BWgEyAf8BTAFYAU4Bvf8A/wBSAAFEAUYBRwF+ASsBPQFYAf8BLQFFAVoB/wFOAbEBcwH/ - AU8BswF1Af8BVwG6AX0B/wFbAb4BgQH/AWABvgGKAf8BZQG+AZIB/wFlAb4BkgH/AVIBtQF5Af8BTwGy - AXQB/wFLAakBbAH/AUkBpwFrAf8BSQGnAWoB/wFIAZ8BYgH/AU4BowFoAf8BagG5AYUB/wF6Ac4BogH/ - AXABzwGlAf8BbwHPAaUB/wFrAc0BngH/AWkBzAGcAf8BbwHPAaYB/wFvAc8BpgH/AXABywGZAf8BYQGt - AXcB/wFCAXoBTAH/ATUBZgE8Af8BMAFfATYB/wEuAVsBMwH/ATEBXwE2Af8BNAFlATsB/wE1AWYBPAH/ - AR8BLAEuAf8BGwEiASwB/wEmAT8BMgH/ATIBYwE6Af8BMQFfATkB/wEbASIBLAH/ARsBIgEsAf8BKQFK - ATIB/wEuAVoBMgH/AUwBWgFOAb3/AP8AUgABRAFGAUcBfgErAT0BWAH/AS4BRgFaAf8BTwGzAXUB/wFP + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADA + MgAAAk1TRnQBSQFMAwEBAAEgAQABIAEAATABAAEwAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABwAMA + ATADAAEBAQABIAYAAZBuAAQBAwUBBv8A/wD2AAMmATgCWQFeAcMBUwFWAVwB4QM6AWEDAgED/wD/AOYA + AxoBJAJUAVYBqwFBAVkBewH+AT0BVQF4Af8BNAFAAVEB/wEyAT0BSwH/AVMBVgFZAdUDMwFQBAH/AP8A + 1gADEAEVA00BkgE3AUEBXAH5ATABQwFgAf8BPQFVAXgB/wFBAVoBfgH/ATIBPgFPAf8BMgE9AUsB/wEs + ATYBQwH/AScBMAE8Af8CVQFXAcYDKgE//wD/AMoAAwgBCgNEAXkBSwFaAW0B8AEyAUYBZAH/ASsBPQFY + Af8BNAFIAWcB/wFJAWUBjAH/AU4BbAGVAf8BLAE4AUkB/wEpATIBPwH/ASoBMwFAAf8BJwEwATwB/wEn + ATABPAH/AScBMAE8Af8BVAFVAVYBtgMhATD/AP8AugADAgEDAzoBYQFTAVsBagHjAT0BVQF4Af8BPQFV + AXgB/wE2AUsBawH/AUABWgF9Af8BTgFrAZQB/wFOAWwBlQH/AU4BbAGVAf8BLAE4AUkB/wEnATABPAH/ + AScBMAE8Af8BJwEwATwB/wEnATABPAH/AScBMAE8Af8BJwEwATwB/wE2AUABQgH9AVECUwGmAxoBI/8A + /wCuAAMuAUgBWAFdAWQB0QE9AVUBeAH/AT0BVQF4Af8BPQFVAXgB/wE9AVUBeAH/AUgBZAGLAf8BTgFs + AZUB/wFOAWwBlQH/AU4BbAGVAf8BTgFsAZUB/wE7AUoBXQH/AS0BNwFEAf8BJwEwATwB/wEnATABPAH/ + ASkBMgE/Af8BNwFDAVIB/wErATUBQQH/AS4BOAFGAf8BMgE9AUsB/wE7AUEBSAH5A04BlQMSARj/AP8A + ngADIwEyAlcBWwG8AT0BVQF4Af8BPQFVAXgB/wE9AVUBeAH/AT0BVQF4Af8BPQFVAXgB/wE9AVUBeAH/ + AUgBZAGLAf8BTAFqAZIB/wFHAWMBigH/AU4BbAGVAf8BTgFsAZUB/wFAAVABZAH/AT4BSwFcAf8BMAE7 + AUkB/wEnATABPAH/ASkBMgE/Af8BPgFLAVwB/wE+AUsBXAH/ATkBRQFVAf8BMwE/AU0B/wEvAToBRwH/ + AScBMAE8Af8BOgFAAUkB8wJHAUgBgwMMAQ//AP8AjgADFwEfAVIBUwFUAaMBSgFoAZUB/QE/AVgBfAH/ + AT0BVQF5Af8BQAFZAX0B/wE9AVUBeAH/AT0BVQF4Af8BPQFVAXgB/wE+AVYBeQH/AUMBXQGDAf8BPgFW + AXkB/wFBAVsBgAH/AU4BbAGVAf8BUAFvAZkB/wE9AUwBYQH/AT4BSwFcAf8BMQE8AUsB/wEnATABPAH/ + ASgBMQE+Af8BOwFHAVcB/wE+AUsBXAH/AT4BSwFcAf8BPgFLAVwB/wE2AUEBUAH/ASgBMQE9Af8BJwEw + ATwB/wEwATsBSQH/AUkBTwFXAewCQQFCAXMDBgEI/wD/AH4AAw0BEQNLAYoBUQFsAYoB9wFOAWwBlQH/ + AU4BbAGVAf8BRQFgAYYB/wFMAWkBkQH/AUYBYQGIAf8BPQFVAXgB/wE9AVUBeAH/AUQBXwGEAf8BTAFq + AZIB/wFDAV0BggH/AT0BVQF4Af8BQgFcAYIB/wFYAXkBqAH/AV4BgwG2Af8BLwE8AU4B/wEuATgBRgH/ + AS0BOAFGAf8BJwEwATwB/wEnATABPAH/AScBMAE9Af8BMAE7AUkB/wE8AUgBWQH/AT4BSwFcAf8BOwFH + AVgB/wExATwBSgH/ASwBNgFDAf8BMAE7AUkB/wEyAT0BSwH/AS0BNwFEAf8BTgFPAVUB4QI6ATsBYgMD + AQT/AP8AbgADBgEHAUECQgFyAVcBZQF6AewBTgFsAZUB/wFOAWwBlQH/AU4BbAGVAf8BTgFsAZUB/wFO + AWwBlQH/AU4BbAGVAf8BRgFhAYgB/wE9AVUBeAH/AT4BVgF6Af8BTgFsAZUB/wFOAWwBlQH/AUMBXQGC + Af8BPQFVAXgB/wFGAWEBiAH/AV8BhAG3Af8BXwGEAbcB/wEvATwBTgH/AScBMAE8Af8BIAEoATMB/wEf + AScBMgH/ASUBLgE6Af8BJwEwATwB/wEnATABPAH/ASgBMQE9Af8BMgE9AUsB/wE6AUUBVgH/ATIBPQFL + Af8BMgE9AUsB/wEyAT0BSwH/ATIBPQFLAf8BLQE3AUQB/wEnATABPAH/ASYBLwE7Af8BTgFRAVMB1gMz + AVEEAf8A/wBeAAQCAzYBWQFUAVsBZwHeAT0BVQF4Af8BSAFlAYwB/wFGAWIBiAH/AT0BVQF3Af8BTgFs + AZUB/wFOAWwBlQH/AU4BbAGVAf8BUwF0AaAB/wFNAWsBlQH/AT0BVQF4Af8BPgFWAXoB/wFOAWwBlAH/ + AUcBYwGJAf8BPgFXAXoB/wE9AVUBeAH/AUYBYQGIAf8BXQGBAbMB/wFNAWsBlQH/ATEBPQFOAf8BKQEy + AT4B/wEgASgBMwH/ARsBIgEsAf8BHQElAS8B/wEtATcBRQH/ASgBMQE9Af8BJwEwATwB/wEnATABPAH/ + ATIBNwE/Af8CRAFHAf8BMwE+AUsB/wEyAT0BSwH/ATIBPQFLAf8BLQE3AUQB/wEnATABPAH/ASYBLwE7 + Af8BGwEiASwB/wEbASIBLAH/AlQBVgHHAyoBQP8A/wBWAAMiATEBVQFYAVwBywEsAT8BWgH/AT0BVQF4 + Af8BQAFZAX0B/wE5AVABcQH/ASsBPQFYAf8BNQFKAWkB/wFOAWwBlQH/AVIBcgGeAf8BWwF/AbAB/wFf + AYQBtwH/AU8BbwGaAf8BPQFVAXgB/wE9AVUBeQH/AUABWAF8Af8BPQFVAXgB/wE9AVUBeAH/ATwBVAF3 + Af8BOwFSAXQB/wE/AVgBfAH/AT0BVQF4Af8BNAFAAVEB/wEyAT0BSwH/AScBMAE9Af8BHAEjAS4B/wEd + ASUBLwH/ATIBPQFLAf8BMQE8AUoB/wEsATYBQwH/ASgBMQE9Af8BNAE4AT4B/wFaAU0BQwH/AVYBSwFE + Af8BMgE6AUYB/wEyAT0BSwH/AS0BNwFEAf8BJwEwATwB/wEnATABPAH/AR8BJgExAf8BGwEiASwB/wEj + ASsBNgH/AScBMAE8Af8DTgGV/wD/AFIAA0YBfgErAT0BWAH/AS4BQgFeAf8BSAFjAYoB/wFOAWwBlQH/ + ATYBTAFsAf8BKwE9AVgB/wE4AU8BbwH/AVoBfQGuAf8BXwGEAbcB/wFfAYQBtwH/AV8BhAG3Af8BSgFo + AZEB/wE9AVUBeAH/AT0BVQF4Af8BPQFVAXgB/wE9AVUBeAH/ATkBTwFwAf8BLQFAAVsB/wEwAUMBYAH/ + AT0BVQF4Af8BPQFVAXgB/wEyAT4BTwH/ATIBPQFLAf8BLAE2AUMB/wEnATABOwH/ASMBLAE3Af8BMgE9 + AUsB/wEyAT0BSwH/ATIBPQFLAf8BMQE8AUoB/wE1ATsBQwH/AVkBTAFDAf8BWgFNAUMB/wEuATQBPQH/ + ASkBMgE+Af8BKgE0AUAB/wEnATABPAH/AScBMAE8Af8BJwEwATwB/wEkAS0BOAH/ASYBLgE6Af8BJwEw + ATwB/wFWAlcBvf8A/wBSAANGAX4BNQFKAWoB/wE9AVYBeQH/AU4BbAGVAf8BTgFsAZUB/wE5AVABcQH/ + ATcBTQFtAf8BRgFiAYkB/wFfAYQBtwH/AV8BhAG3Af8BUwF0AaEB/wE3AU4BbwH/ATMBSAFnAf8BPQFV + AXgB/wE9AVUBeAH/AUIBXAGBAf8BSwFoAZAB/wE4AU4BbgH/ASsBPQFYAf8BMAFDAWAB/wE9AVUBeAH/ + AT0BVQF4Af8BIQEqATcB/wElAS0BOQH/ASoBNAFAAf8BJwEwATwB/wEoATEBPQH/ATIBPQFLAf8BMgE9 + AUsB/wEyAT0BSwH/ATIBPQFLAf8BLwE6AUcB/wEuATQBPQH/AUcBQgFAAf8BLgE0AT0B/wEnATABPAH/ + AScBMAE8Af8BJwEwATwB/wEnATABPAH/AScBMAE8Af8BJwEwATwB/wEuATkBRgH/AS8BOQFGAf8BVgFX + AVgBvf8A/wBSAANGAX4BPQFVAXgB/wE+AVcBegH/AVABbgGYAf8BWAF6AakB/wFIAWQBiwH/AT0BVQF4 + Af8BRgFiAYkB/wFZAXwBrAH/AUcBYwGLAf8BLgFAAV0B/wErAT0BWAH/ATMBSAFnAf8BPQFVAXgB/wE+ + AVYBegH/AU4BbAGVAf8BTgFsAZUB/wE4AU4BbgH/ASsBPQFYAf8BMAFDAWAB/wE9AVUBeAH/AT0BVQF4 + Af8BIAEpATcB/wEbASIBLAH/ATMBMQEyAf8BOAE3ATkB/wEqATIBPQH/ATIBPQFLAf8BMgE9AUsB/wE5 + AUUBVAH/ATcBQwFSAf8BLwE6AUcB/wEnATABPAH/AScBMAE8Af8BLgE5AUYB/wEqATQBQAH/AScBMAE8 + Af8BJwEwATwB/wEoATIBPgH/ATgBRAFTAf8BLAE1AUIB/wEuATkBRgH/ATIBPQFLAf8CVwFYAb3/AP8A + UgADRgF+AT8BWAF8Af8BTwFuAZkB/wFeAYMBtQH/AV8BhAG3Af8BSAFkAYwB/wE9AVUBeAH/AT8BVwF7 + Af8BPQFVAXkB/wE9AVUBeAH/AS4BQAFdAf8BOAFHAVwB/wFJAVcBbQH/AT0BVQF4Af8BPgFWAXoB/wFO + AWwBlQH/AUQBXwGEAf8BMAFDAWAB/wErAT0BWAH/ATABQwFgAf8BPQFVAXgB/wE3AU0BbgH/ASgBQQE6 + Af8BHQEnAS0B/wE0AjIB/wFIAT4BNgH/AUMBOwE2Af8BKAExAT0B/wExATwBSgH/AToBRgFWAf8BPgFL + AVwB/wE1AUEBUAH/ASMBKwE3Af8BJwEwATwB/wEwATsBSQH/ATIBPQFLAf8BKQEyAT8B/wEkAS0BOAH/ + ASgBMgE+Af8BPgFLAVwB/wE+AUsBXAH/ATkBRgFVAf8BNAE/AU4B/wJXAVgBvf8A/wBSAANGAX4BXAGB + AbIB/wFfAYQBtwH/AV8BhAG3Af8BWwF+Aa8B/wFCAVsBgAH/AT0BVQF4Af8BPQFVAXgB/wE9AVUBeAH/ + AToBUQFzAf8BVAFbAWcB/wNsAf8BVwFhAXEB/wE9AVUBeAH/AT0BVQF4Af8BNAFJAWcB/wErAT0BWAH/ + ASsBPQFYAf8BKwE9AVgB/wEyAU4BXgH/AS8BQgFfAf8BKwE9AVgB/wE0AWABQAH/ATQBYwE7Af8BMQE/ + ATQB/wFFATwBNQH/AUQBOwE1Af8BGwEiASwB/wEeASUBMAH/AS8BOQFHAf8BPgFKAVsB/wE1AUABUAH/ + ARsBIgEsAf8BHgElAS8B/wEwAToBSAH/ATIBPQFLAf8BJwExAT0B/wEbASIBLAH/AR8BJwEyAf8BOAFE + AVMB/wE+AUsBXAH/AT4BSwFcAf8BPgFLAVwB/wFXAlgBvf8A/wBSAAJGAUcBfgFfAYQBtwH/AVwBgAGy + Af8BRQFhAYgB/wEuAUEBXQH/ATcBTQFuAf8BPQFVAXgB/wE7AVIBdQH/ATIBRwFlAf8BKwE9AVkB/wFj + AWUBaQH/A2wB/wFUAV8BcAH/AT0BVQF4Af8BPAFUAXYB/wErAT0BWAH/ASsBPQFYAf8BMQFQAVoB/wFA + AYQBXwH/AUEBhgFfAf8BKwE9AVgB/wEsAT8BWAH/ATUBYwFAAf8BNQFmATwB/wEmAT4BMwH/AR4BJAEt + Af8CMAExAf8BHQElAS0B/wEbASIBLAH/ARsBIgEsAf8BIQEpATQB/wEsATcBQwH/ARsBIgEsAf8BGwEi + ASwB/wEvATkBRgH/ATIBPQFLAf8BKAExAT4B/wEbASIBLAH/ARsBIgEsAf8BGwEiASwB/wEoATEBPQH/ + AToBRgFWAf8BPgFLAVwB/wJYAVoBvf8A/wBSAAJGAUcBfgFJAWUBjgH/ATABQwFgAf8BKwE9AVgB/wEr + AT0BWAH/ATYBSwFsAf8BMwFIAWcB/wEsAT4BWQH/ASsBPQFYAf8BKwE9AVgB/wFaAV8BZgH/AUIBTgFf + Af8BNAFIAWcB/wE9AVUBeAH/ATwBVAF2Af8BLwFKAVkB/wE+AXsBXwH/AUgBngFiAf8BSAGfAWIB/wFB + AYYBXwH/ATUBYAFfAf8BRQGYAWoB/wE4AXABQwH/ATUBZgE8Af8BJgE+ATMB/wEbASIBLAH/AR8BKQEv + Af8BQQFmAUgB/wEsAUEBOQH/ARwBIwEtAf8BGwEiASwB/wEjATQBMgH/ATUBVwE/Af8BIwEzATIB/wEv + ATkBRgH/ATIBPQFLAf8BLQE3AUQB/wEjASsBNwH/AR0BJAEuAf8BGwEiASwB/wEbASIBLAH/ARwBIwEt + Af8BKgE0AUEB/wFXAlgBvf8A/wBSAANGAX4BKwE9AVgB/wErAT0BWAH/ASsBPQFYAf8BKwE9AVgB/wEr + AT0BWAH/ASsBPQFYAf8BKwE9AVgB/wEuAUcBWgH/AT0BfAFlAf8BLwFLAVsB/wErAT0BWAH/ATMBSAFn + Af8BOwFTAXUB/wE0AUsBZQH/AUcBnQFiAf8BSAGfAWIB/wFIAZ8BYgH/AUgBoAFjAf8BSQGkAWgB/wFK + AaoBbgH/AUoBqgFuAf8BOAFwAUMB/wE1AWYBPAH/ATABXAE5Af8BJAE7ATEB/wEfASoBLwH/AUUBbgFL + Af8BRQFuAUsB/wEzAVkBOgH/ASEBNQEuAf8BIwE0ATIB/wE8AWYBRQH/ATwBZgFFAf8BJgEzATgB/wEu + ATgBRQH/AS0BNwFEAf8BJwEwATwB/wEnATABPAH/ASIBKgE2Af8BHAEkAS4B/wEbASIBLAH/ARsBIgEs + Af8CVAFWAb3/AP8AUgADRgF+ASsBPQFZAf8BMQFFAWMB/wErAT0BWAH/ASsBPQFYAf8BKwE9AVgB/wEr + AT0BWAH/ATEBUgFcAf8BSQGlAW0B/wFKAaoBbgH/AS8BTQFbAf8BMAFHAV0B/wE9AWABbAH/ASwBPgFZ + Af8BLQFDAVkB/wFIAZ8BYgH/AUgBoQFkAf8BSQGkAWcB/wFJAaQBZwH/AUkBpgFpAf8BSgGqAW4B/wFK + AaoBbgH/ATgBcAFDAf8BNQFmATwB/wEzAWMBOgH/ATEBYQE4Af8BLwFaATcB/wFAAWsBRgH/AUUBbgFL + Af8BNgFhATsB/wEuAVsBMwH/ATABWAE3Af8BPAFmAUUB/wE8AWYBRQH/ASABLAEvAf8BGwEiASwB/wEh + ASkBMwH/ASUBLgE6Af8BJwEwATwB/wEnATABPAH/AScBMAE7Af8BHgEmATAB/wEbASIBLAH/AlQBVgG9 + /wD/AFIAA0YBfgE6AVEBcwH/ATwBUwF2Af8BKwE9AVgB/wEsAUABWQH/AS4BRgFaAf8BKwE9AVgB/wE0 + AVsBXgH/AUoBqgFuAf8BSwGrAXAB/wFOAYsBegH/AWoBvwGXAf8BTwGIAXwB/wErAT0BWAH/ATABTwFa + Af8BSQGmAWoB/wFKAaoBbgH/AUkBpgFqAf8BSQGkAWcB/wFJAaQBZwH/AUoBqgFuAf8BSgGqAW4B/wE4 + AXABQwH/ATUBZgE8Af8BMwFkAToB/wExAWEBOAH/ATEBYQE4Af8BNQFmATwB/wE4AWgBPwH/ATQBYQE6 + Af8BLgFbATMB/wEyAV4BOAH/ATwBZgFFAf8BPAFmAUUB/wEgASwBLwH/ARsBIgEsAf8BGwEiASwB/wEb + ASIBLAH/ASABKAEzAf8BJgEvATsB/wEnATABPAH/AR8BJwExAf8BGwEiASwB/wJUAVYBvf8A/wBSAANG + AX4BPQFVAXgB/wE8AVQBdgH/ATcBZgFgAf8BRgGdAWsB/wE1AWABXwH/ASsBPQFYAf8BNQFcAV8B/wFV + AbIBfQH/AWMBvAGPAf8BbQHGAZoB/wFuAccBmwH/AVIBkQF9Af8BPAF3AV4B/wFHAZ4BYwH/AUoBqgFu + Af8BSgGqAW4B/wFJAaQBZwH/AUcBmQFcAf8BRwGZAVwB/wFKAaoBbgH/AUoBqgFuAf8BOAFxAUQB/wE1 + AWYBPAH/ATUBZgE8Af8BNAFlATsB/wEyAWMBOQH/ATUBZgE8Af8BNQFmATwB/wE1AWYBPAH/ATMBYwE6 + Af8BMwFgAToB/wE8AWYBRQH/ATwBZgFFAf8BIAEsAS8B/wEbASIBLAH/ARsBIwEsAf8BGwEiASwB/wEb + ASIBLAH/ARwBIwEtAf8BIQEpATQB/wEeASYBMAH/ARsBIgEsAf8CVAFWAb3/AP8AUgADRgF+ATcBTgFu + Af8BMAFJAV8B/wFKAaoBbgH/AUoBqgFuAf8BNQFhAV8B/wE8AWsBZwH/AVgBrQGAAf8BZQG+AZIB/wFl + Ab4BkgH/AWsBxQGXAf8BXgG8AYcB/wFNAasBbgH/AUgBnwFiAf8BSAGgAWMB/wFKAakBbQH/AUkBowFn + Af8BRwGXAVoB/wFGAZMBVgH/AUcBmQFcAf8BVQGxAXgB/wFyAcUBlAH/AWkBugGEAf8BSQGGAVYB/wE1 + AWcBPQH/ATUBZgE8Af8BNQFmATwB/wE1AWYBPAH/ATUBZgE8Af8BNQFmATwB/wE1AWYBPAH/ATUBZgE8 + Af8BNwFmAT8B/wE7AWYBRAH/ASABLAEvAf8BGwEiASwB/wElAT8BMgH/ASkBSQE0Af8BHQEoAS0B/wEb + ASIBLAH/ARsBIgEsAf8BJgFDATAB/wEkATsBLwH/AlQBVgG9/wD/AFIAA0YBfgErAT0BWAH/AS0BRQFa + Af8BSgGqAW4B/wFMAa0BcAH/AVMBsAF5Af8BWwG+AYEB/wFeAb4BhgH/AWUBvgGSAf8BZQG+AZIB/wFT + AbYBegH/AU8BswF1Af8BTAGqAWwB/wFIAaABYwH/AUkBpAFnAf8BSAGfAWIB/wFIAZ8BYgH/AUcBlwFa + Af8BTgGbAWAB/wFuAbsBiAH/AXoBzwGkAf8BcAHPAaUB/wFvAc8BpQH/AXABzAGbAf8BZAGzAXwB/wFF + AYABUQH/ATUBZgE8Af8BNQFmATwB/wE1AWYBPAH/ATIBYgE4Af8BNAFkAToB/wE1AWYBPAH/ATUBZgE8 + Af8BNQFmATwB/wEfASwBLgH/ARsBIgEsAf8BJgFAATIB/wEyAWMBOgH/ATABXQE5Af8BGwEiASwB/wEb + ASIBLAH/AScBRwEwAf8BLgFaATIB/wFWAVgBVwG9/wD/AFIAA0YBfgErAT0BWAH/AS0BRQFaAf8BTgGx + AXMB/wFPAbMBdQH/AVcBugF9Af8BWwG+AYEB/wFgAb4BigH/AWUBvgGSAf8BZQG+AZIB/wFSAbUBeQH/ + AU8BsgF0Af8BSwGpAWwB/wFJAacBawH/AUkBpwFqAf8BSAGfAWIB/wFOAaMBaAH/AWoBuQGFAf8BegHO + AaIB/wFwAc8BpQH/AW8BzwGlAf8BawHNAZ4B/wFpAcwBnAH/AW8BzwGmAf8BbwHPAaYB/wFwAcsBmQH/ + AWEBrQF3Af8BQgF6AUwB/wE1AWYBPAH/ATABXwE2Af8BLgFbATMB/wExAV8BNgH/ATQBZQE7Af8BNQFm + ATwB/wEfASwBLgH/ARsBIgEsAf8BJgE/ATIB/wEyAWMBOgH/ATEBXwE5Af8BGwEiASwB/wEbASIBLAH/ + ASkBSgEyAf8BLgFaATIB/wFWAVoBVwG9/wD/AFIAA0YBfgErAT0BWAH/AS4BRgFaAf8BTwGzAXUB/wFP AbMBdQH/AVkBuQGBAf8BZAG+AY8B/wFlAb4BkgH/AWUBvgGSAf8BZAG9AZEB/wFPAa4BcgH/AUkBpQFo Af8BSQGlAWkB/wFJAacBawH/AUwBqQFtAf8BZwG4AYMB/wF6Ac0BoQH/AXEBzwGmAf8BbwHPAaYB/wFu Ac4BpAH/AWMByAGUAf8BXwHGAY0B/wFfAcYBjQH/AWIBxwGRAf8BbgHOAaQB/wFvAc8BpgH/AW8BzwGl Af8BcAHKAZcB/wFdAacBcQH/AToBbgFCAf8BLgFbATMB/wEuAVsBMwH/AS4BWwEzAf8BMQFgATcB/wEg Ai8B/wEbASIBLAH/ASUBPgExAf8BMAFfATYB/wEwAV4BNwH/ARwBJAEsAf8BGwEiASwB/wEsAU8BNgH/ - ATQBZQE7Af8BTgFcAU8Bvf8A/wBSAAFEAUYBRwF+ASsBPQFYAf8BLgFGAVoB/wFNAa4BcAH/AUkBowFm - Af8BXAG0AYIB/wFlAb4BkgH/AWUBvgGSAf8BWwG2AYQB/wFNAaoBcAH/AUkBpAFnAf8BSQGkAWcB/wFL - AaYBawH/AWQBuQGDAf8BdQHKAZoB/wFqAcoBmgH/AWsBzQGgAf8BbwHPAaYB/wFvAc8BpgH/AW8BzwGm - Af8BbAHNAaIB/wFkAckBlQH/AWQByQGVAf8BdAHSAawB/wF+AdcBuwH/AXsB1QG2Af8BcwHRAasB/wFr - Ac0BoAH/AWQByAGSAf8BZwHDAYcB/wFVAZsBZQH/ATUBZwE8Af8BLgFbATMB/wEuAVsBMwH/ATMBYQE6 - Af8BKAFEATQB/wEmAUIBMgH/ATABXwE2Af8BMAFeATYB/wEoAU4BLgH/ASEBNQEtAf8BLAFQATYB/wE1 - AWYBPAH/AU8BXgFQAb3/AP8AUgABRAFGAUcBfgExAVABWgH/AUABhAFfAf8BSAGfAWIB/wFIAZ8BYgH/ - AVwBtAGCAf8BXwG7AYkB/wFRAbIBdwH/AUkBpwFrAf8BSQGnAWsB/wFKAaUBaAH/AWABtQF9Af8BdQHI - AZgB/wFrAcoBmQH/AWUByQGXAf8BZgHKAZkB/wFrAc0BoAH/AW8BzwGmAf8BbwHPAaYB/wFvAc8BpgH/ - AXEB0AGoAf8BeAHUAbMB/wF+AdcBuwH/AX4B1wG7Af8BfgHXAbsB/wF5AdQBtAH/AWsBzQGhAf8BYgHH - AZMB/wFgAcYBjgH/AV8BxgGNAf8BZwHJAZUB/wFwAccBlAH/AVIBlQFiAf8BMwFjAToB/wE0AWQBOwH/ - ATUBZgE8Af8BMAFeATYB/wEtAVoBMwH/ATABXgE2Af8BKgFTAS4B/wEqAVMBLgH/ASwBVgEwAf8BMQFg - ATcB/wFPAV4BUAG9/wD/AFIAAUYBSgFIAX4BSAGeAWIB/wFIAZ8BYgH/AUgBnwFiAf8BTAGmAWkB/wFT - AbQBeAH/AU8BswF1Af8BTQGwAXIB/wFJAacBawH/AVwBtAF8Af8BdAHHAZYB/wFtAcsBmgH/AWUByQGX - Af8BZgHJAZgB/wFqAcwBnwH/AW8BzwGlAf8BbwHPAaYB/wFvAc8BpgH/AW4BzgGkAf8BaAHLAZoB/wF1 - AdIBrgH/AX4B1wG7Af8BfgHXAbsB/wF7AdUBtgH/AW0BzgGjAf8BYwHIAZUB/wFjAcgBlQH/AWMByAGV - Af8BYwHIAZUB/wFmAcoBmAH/AXQB0gGsAf8BdgHTAbAB/wF1AdEBqgH/AW0BwgGNAf8BUQGTAV8B/wE3 - AWoBPwH/ATABXQE2Af8BKgFTAS4B/wErAVUBMAH/ASwBVwExAf8BKgFTAS4B/wEqAVMBLgH/ASoBUwEu - Af8BTAFYAU4Bvf8A/wBSAAFGAUsBSAF+AUgBnwFiAf8BSQGhAWQB/wFVAbQBeAH/AVsBvgGBAf8BUwG3 - AXkB/wFPAbMBdQH/AVsBuAF+Af8BcgHFAZQB/wFuAcsBmgH/AWUByQGXAf8BZQHJAZcB/wFlAckBlwH/ - AW4BzgGkAf8BbwHPAaYB/wFvAc8BpgH/AW4BzwGlAf8BZwHLAZoB/wFgAccBjwH/AV8BxgGNAf8BXwHG - AY0B/wFpAcsBnAH/AXEB0AGpAf8BZAHIAZYB/wFjAcgBlQH/AWMByAGVAf8BZgHKAZoB/wFmAcoBmQH/ - AWMByAGVAf8BYwHIAZUB/wFjAcgBlgH/AW4BzgGkAf8BcQHQAagB/wFvAc8BpgH/AW8BzQGgAf8BagG+ - AYcB/wFJAYYBVgH/ASsBVQEwAf8BKgFUAS8B/wEwAV8BNgH/AS8BXQE1Af8BLQFYATIB/wEqAVMBLgH/ - AUwBWAFMAb3/AP8AUgABRgFLAUgBfgFJAaQBaAH/AUsBqQFtAf8BWwG+AYEB/wFbAb4BgQH/AV0BvAGB - Af8BcAHGAZMB/wFsAckBlgH/AWABxgGRAf8BYgHIAZQB/wFjAcgBlAH/AWABxgGOAf8BXwHGAY0B/wFh - AccBkQH/AWoBzAGeAf8BaQHLAZwB/wFgAccBjwH/AV8BxgGNAf8BXwHGAY0B/wFgAcYBjgH/AWgBywGa - Af8BcAHPAaYB/wFxAdABqAH/AWwBzQGhAf8BZwHKAZoB/wFwAdABqAH/AXkB1QG0Af8BeAHVAbQB/wFw - Ac8BqAH/AWYBygGaAf8BawHNAaEB/wFvAc8BpgH/AW8BzwGmAf8BbwHPAaYB/wFrAc0BoAH/AWIByAGS - Af8BYwHGAYsB/wFiAbQBegH/AUIBegFMAf8BMAFgATcB/wEwAV8BNgH/ATcBaAE9Af8BNwFmAT0B/wFO - AVoBTgG9/wD/AFIAAUYBTAFIAX4BSQGnAWsB/wFLAakBbQH/AWEBwAGFAf8BdQHJAZcB/wF4Ac8BpAH/ - AWcBygGbAf8BYAHGAZEB/wFhAccBkgH/AWQByAGWAf8BZAHJAZYB/wFhAccBkQH/AV8BxgGNAf8BYgHI - AZIB/wFoAcoBmgH/AWcBygGZAf8BYgHHAZEB/wFfAcYBjQH/AWEBxwGQAf8BYwHIAZQB/wFnAcsBmwH/ - AW8BzwGlAf8BcAHPAaYB/wFnAcsBmgH/AWABxwGPAf8BagHMAZ0B/wF2AdMBsQH/AXYB0wGwAf8BaAHL - AZwB/wFgAccBjwH/AWcBygGZAf8BbgHPAaUB/wFvAc8BpgH/AW8BzwGmAf8BbgHOAaQB/wFmAcoBmAH/ - AV8BxgGOAf8BYwHIAZMB/wFsAckBlQH/AWMBsgF6Af8BQgF7AU0B/wE3AWgBPQH/ATsBbAFBAf8BUAFf - AVIBvf8A/wBSAAFGAUwBSAF+AU4BqwFwAf8BawG/AY0B/wF7AdABpwH/AXABzwGmAf8BbwHPAaYB/wFp - AcwBngH/AVwBxQGMAf8BXwHGAY8B/wFlAckBlwH/AWUByQGXAf8BZgHKAZgB/wFoAcoBmgH/AWkBywGc - Af8BaQHLAZwB/wFpAcsBnAH/AWwBzQGgAf8BbAHNAaIB/wFmAcoBmQH/AWMByAGVAf8BZAHIAZYB/wFt - Ac4BpAH/AXAB0AGnAf8BYgHIAZIB/wFfAcYBjQH/AWEBxwGQAf8BbwHPAaUB/wFtAc4BowH/AWEBxwGQ - Af8BXwHGAY0B/wFjAcgBkwH/AW8B0AGpAf8BcgHSAa0B/wFvAc8BpgH/AW8BzwGmAf8BbAHNAaIB/wFm - AcoBmgH/AWkBywGdAf8BawHMAZ8B/wFrAcwBnwH/AWkBxwGPAf8BYAGtAXQB/wFGAX8BUAH/AVABXwFS - Ab3/AP8AUgABMwI0AVEBdQGzAZYB7gF2AdIBrgH/AXUB0gGvAf8BcQHQAakB/wFiAcgBkwH/AVYBwgGE - Af8BVgHCAYQB/wFWAcIBhAH/AVwBxQGMAf8BaAHKAZoB/wFpAcsBnAH/AWkBywGcAf8BaQHLAZwB/wFl - AckBlwH/AWsBzAGfAf8BcQHQAagB/wFxAdABqAH/AXEB0AGoAf8BcAHQAagB/wF3AdQBsgH/AXkB1QG1 - Af8BeQHVAbUB/wF3AdQBsgH/AWYBygGYAf8BdQHTAbAB/wF5AdUBtQH/AXkB1QG1Af8BdgHTAbAB/wFr - Ac0BoAH/AXUB1AG0Af8BdgHVAbUB/wF2AdUBtQH/AXQB0wGwAf8BawHNAaEB/wFkAckBmAH/AWQByQGY - Af8BZAHJAZgB/wFoAcsBnQH/AWYBygGXAf8BXwHGAY0B/wFgAcYBjQH/AWMBvwGHAfsBSgFPAUsBhf8A - /wBWAAMNAREBTAFUAVEBiAFoAbkBkgH1AV8BxgGNAf8BXwHGAY0B/wFeAcYBjAH/AVsBxQGKAf8BYwHI - AZQB/wFpAcsBnAH/AWkBywGcAf8BaQHLAZwB/wFmAcoBmAH/AV8BxgGPAf8BXAHFAYsB/wFcAcUBiwH/ - AWIByAGUAf8BcAHPAacB/wF4AdQBswH/AXkB1QG1Af8BeQHVAbUB/wF5AdUBtQH/AW8BzwGmAf8BYQHH - AZAB/wFfAcYBjQH/AWABxwGPAf8BbQHOAaIB/wFxAdEBqgH/AWwBzQGiAf8BawHNAaEB/wFsAc4BowH/ - AXEB0QGsAf8BcQHRAasB/wFvAc8BpgH/AW8BzwGmAf8BbQHOAaQB/wFrAc0BoQH/AWwBzgGjAf8BbwHP - AaYB/wFvAc8BpgH/AWwByQGcAf4BWAFtAWEBrAMdASj/AP8AYgADFAEbAVABXgFXAZkBXgG9AYkB+gFl - AckBlgH/AWkBywGcAf8BaQHLAZwB/wFpAcsBnAH/AWcBygGZAf8BYAHHAZAB/wFcAcUBiwH/AVwBxQGL - Af8BXAHFAYsB/wFeAcYBjgH/AWIByAGVAf8BZAHJAZgB/wFsAc0BogH/AXYB0wGxAf8BdQHTAa8B/wFw - AdABqAH/AW4BzwGlAf8BaAHLAZoB/wFhAccBkAH/AWUByQGXAf8BagHNAaAB/wFrAc0BoQH/AWsBzQGh - Af8BagHNAaAB/wFnAcsBnAH/AWQByQGYAf8BZgHKAZoB/wFrAc0BoQH/AXIB0QGqAf8BewHWAbgB/wGA - AdkBwAH/AXwB1wG6Af8BcwHRAawB/wFfAXwBbwG8AyUBNv8A/wByAAEbARwBGwEmAVgBawFiAaoBagHH - AZgB/gFnAcoBmQH/AV0BxQGNAf8BVwHDAYYB/wFaAcQBiQH/AVwBxQGLAf8BYgHIAZQB/wFxAdEBqgH/ - AXIB0QGsAf8BZwHLAZ0B/wFkAckBmAH/AWIByAGVAf8BYAHHAY8B/wFmAcoBmAH/AW0BzgGkAf8BbwHP - AaYB/wFoAcsBnAH/AWEBxwGRAf8BZQHKAZgB/wFrAc0BoAH/AWsBzQGhAf8BawHNAaEB/wFqAc0BoAH/ - AWcBywGbAf8BZAHJAZgB/wFmAcsBnAH/AXEB0QGsAf8BegHXAbkB/wF+AdgBvgH/AYAB2QHAAf8BawGQ - AYYBzAMuAUb/AP8AggADJAE0AVkBdwFkAbsBVgHCAYQB/wFWAcIBhAH/AV0BxgGNAf8BdAHTAa4B/wF7 - AdYBuAH/AXkB1QG1Af8BeQHVAbUB/wF2AdMBsQH/AWoBzQGfAf8BYQHHAZAB/wFfAcYBjQH/AV8BxgGN - Af8BYgHHAZIB/wFkAckBlgH/AV8BxgGOAf8BXwHGAY0B/wFfAcYBjQH/AWABxwGPAf8BZgHKAZkB/wFr - Ac0BoQH/AWsBzQGhAf8BbAHOAaMB/wFwAdEBqwH/AXcB1QG2Af8BeQHWAbgB/wF5AdYBuAH/AWwBngGN - AdkBNgI3AVYEAv8A/wCOAAMtAUQBZAGLAXkBygGCAdsBwgH/AYMB2wHDAf8BgwHbAcMB/wF5AdUBtAH/ - AXAB0AGnAf8BbwHPAaYB/wFvAc8BpgH/AW4BzwGlAf8BZAHJAZUB/wFjAcgBlQH/AWQByQGYAf8BZAHJ - AZgB/wFkAckBlwH/AWQByQGWAf8BXwHGAY4B/wFfAcYBjQH/AV8BxgGNAf8BYQHHAZAB/wFpAcwBnwH/ - AXUB1QG0Af8BdgHVAbUB/wF2AdUBtQH/AXABrQGZAeUBPwFBAUABZwMEAQX/AP8AmgAEAQE2AjcBVQFw - AZ4BjgHYAWwBzgGgAf8BXwHGAY0B/wFfAcYBjQH/AWUBygGXAf8BawHNAZ8B/wFjAcgBkwH/AV8BxgGN - Af8BXwHGAY4B/wFiAcgBkwH/AWcBywGbAf8BbQHOAaQB/wFvAc8BpgH/AW0BzgGjAf8BZQHKAZcB/wFf - AcYBjgH/AV8BxgGNAf8BXwHGAY0B/wFkAckBlQH/AW4BtQGZAe4BRgFLAUkBeAMIAQr/AP8AqgADAwEE - AT0BQAE+AWYBYQGgAXsB5AFgAcYBjwH/AWIByAGUAf8BZAHJAZcB/wFiAcgBkwH/AV8BxgGOAf8BXwHG - AY0B/wFfAcYBjQH/AWEBxwGPAf8BaAHLAZsB/wFvAc8BpgH/AXMB0QGtAf8BeQHVAbYB/wF2AdMBsQH/ - AWgBywGaAf8BYAG2AYUB9gFMAVQBUAGJAw4BEv8A/wC6AAMIAQoBRQFKAUcBdwFiAbABiwHuAWQByQGY - Af8BZgHKAZoB/wFrAc0BoAH/AWYBygGYAf8BYAHGAY4B/wFfAcYBjQH/AWABxwGPAf8BZQHJAZgB/wFz - AdEBrAH/AXsB1gG4Af8BdwHPAbAB+wFVAWIBXgGaAxQBG/8A/wDKAAMNAREBSwFTAU8BhwFuAb4BmwH1 - AW8BzwGlAf8BbwHPAaUB/wFyAdABqAH/AW4BzgGjAf8BYwHIAZYB/wFjAcgBlQH/AWUBxAGRAf4BWQFt - AWMBqwMcASf/AP8A2gADEwEaAVMBXwFaAZgBfAHOAa8B+gGDAdkBvgH/AYMB2QG+Af8BfgHWAbcB/wFe - AXoBbQG8ASQCJQE1/wD/AOoAARsCHAEmAV0BbQFpAakBbAGOAYQBygEtAi4BRf8A/wD/AP8A/wCdAAFC - AU0BPgcAAT4DAAEoAwABwAMAATADAAEBAQABAQUAAYABBBYAA/8BAAL/Af4BfwL/EgAC/wH8AR8C/xIA - Av8B8AEHAv8SAAL/AcABAwL/EgAC/wIAAv8SAAH/AfwCAAE/Af8SAAH/AfgCAAEPAf8SAAH/AeACAAED - Af8SAAH/AYADAAH/EgAB/gQAAT8SAAH4BAABDxIAAeAEAAEHEgABwAQAAQMSAAHABAABAxIAAcAEAAED - EgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHA - BAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAED - EgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgAB4AQAAQcSAAH4 - BAABHxIAAf4EAAF/EgAB/wGAAwAB/xIAAf8B4AIAAQMB/xIAAf8B8AIAAQ8B/xIAAf8B/AIAAT8B/xIA - Av8CAAL/EgAC/wHAAQMC/xIAAv8B8AEPAv8SAAL/AfwBPwL/EgAG/xIACw== + ATQBZQE7Af8BVwFaAVcBvf8A/wBSAANGAX4BKwE9AVgB/wEuAUYBWgH/AU0BrgFwAf8BSQGjAWYB/wFc + AbQBggH/AWUBvgGSAf8BZQG+AZIB/wFbAbYBhAH/AU0BqgFwAf8BSQGkAWcB/wFJAaQBZwH/AUsBpgFr + Af8BZAG5AYMB/wF1AcoBmgH/AWoBygGaAf8BawHNAaAB/wFvAc8BpgH/AW8BzwGmAf8BbwHPAaYB/wFs + Ac0BogH/AWQByQGVAf8BZAHJAZUB/wF0AdIBrAH/AX4B1wG7Af8BewHVAbYB/wFzAdEBqwH/AWsBzQGg + Af8BZAHIAZIB/wFnAcMBhwH/AVUBmwFlAf8BNQFnATwB/wEuAVsBMwH/AS4BWwEzAf8BMwFhAToB/wEo + AUQBNAH/ASYBQgEyAf8BMAFfATYB/wEwAV4BNgH/ASgBTgEuAf8BIQE1AS0B/wEsAVABNgH/ATUBZgE8 + Af8BVwFcAVcBvf8A/wBSAANGAX4BMQFQAVoB/wFAAYQBXwH/AUgBnwFiAf8BSAGfAWIB/wFcAbQBggH/ + AV8BuwGJAf8BUQGyAXcB/wFJAacBawH/AUkBpwFrAf8BSgGlAWgB/wFgAbUBfQH/AXUByAGYAf8BawHK + AZkB/wFlAckBlwH/AWYBygGZAf8BawHNAaAB/wFvAc8BpgH/AW8BzwGmAf8BbwHPAaYB/wFxAdABqAH/ + AXgB1AGzAf8BfgHXAbsB/wF+AdcBuwH/AX4B1wG7Af8BeQHUAbQB/wFrAc0BoQH/AWIBxwGTAf8BYAHG + AY4B/wFfAcYBjQH/AWcByQGVAf8BcAHHAZQB/wFSAZUBYgH/ATMBYwE6Af8BNAFkATsB/wE1AWYBPAH/ + ATABXgE2Af8BLQFaATMB/wEwAV4BNgH/ASoBUwEuAf8BKgFTAS4B/wEsAVYBMAH/ATEBYAE3Af8BVwFc + AVcBvf8A/wBSAANGAX4BSAGeAWIB/wFIAZ8BYgH/AUgBnwFiAf8BTAGmAWkB/wFTAbQBeAH/AU8BswF1 + Af8BTQGwAXIB/wFJAacBawH/AVwBtAF8Af8BdAHHAZYB/wFtAcsBmgH/AWUByQGXAf8BZgHJAZgB/wFq + AcwBnwH/AW8BzwGlAf8BbwHPAaYB/wFvAc8BpgH/AW4BzgGkAf8BaAHLAZoB/wF1AdIBrgH/AX4B1wG7 + Af8BfgHXAbsB/wF7AdUBtgH/AW0BzgGjAf8BYwHIAZUB/wFjAcgBlQH/AWMByAGVAf8BYwHIAZUB/wFm + AcoBmAH/AXQB0gGsAf8BdgHTAbAB/wF1AdEBqgH/AW0BwgGNAf8BUQGTAV8B/wE3AWoBPwH/ATABXQE2 + Af8BKgFTAS4B/wErAVUBMAH/ASwBVwExAf8BKgFTAS4B/wEqAVMBLgH/ASoBUwEuAf8BVgFYAVcBvf8A + /wBSAANGAX4BSAGfAWIB/wFJAaEBZAH/AVUBtAF4Af8BWwG+AYEB/wFTAbcBeQH/AU8BswF1Af8BWwG4 + AX4B/wFyAcUBlAH/AW4BywGaAf8BZQHJAZcB/wFlAckBlwH/AWUByQGXAf8BbgHOAaQB/wFvAc8BpgH/ + AW8BzwGmAf8BbgHPAaUB/wFnAcsBmgH/AWABxwGPAf8BXwHGAY0B/wFfAcYBjQH/AWkBywGcAf8BcQHQ + AakB/wFkAcgBlgH/AWMByAGVAf8BYwHIAZUB/wFmAcoBmgH/AWYBygGZAf8BYwHIAZUB/wFjAcgBlQH/ + AWMByAGWAf8BbgHOAaQB/wFxAdABqAH/AW8BzwGmAf8BbwHNAaAB/wFqAb4BhwH/AUkBhgFWAf8BKwFV + ATAB/wEqAVQBLwH/ATABXwE2Af8BLwFdATUB/wEtAVgBMgH/ASoBUwEuAf8BVgFYAVYBvf8A/wBSAANG + AX4BSQGkAWgB/wFLAakBbQH/AVsBvgGBAf8BWwG+AYEB/wFdAbwBgQH/AXABxgGTAf8BbAHJAZYB/wFg + AcYBkQH/AWIByAGUAf8BYwHIAZQB/wFgAcYBjgH/AV8BxgGNAf8BYQHHAZEB/wFqAcwBngH/AWkBywGc + Af8BYAHHAY8B/wFfAcYBjQH/AV8BxgGNAf8BYAHGAY4B/wFoAcsBmgH/AXABzwGmAf8BcQHQAagB/wFs + Ac0BoQH/AWcBygGaAf8BcAHQAagB/wF5AdUBtAH/AXgB1QG0Af8BcAHPAagB/wFmAcoBmgH/AWsBzQGh + Af8BbwHPAaYB/wFvAc8BpgH/AW8BzwGmAf8BawHNAaAB/wFiAcgBkgH/AWMBxgGLAf8BYgG0AXoB/wFC + AXoBTAH/ATABYAE3Af8BMAFfATYB/wE3AWgBPQH/ATcBZgE9Af8BVwFaAVcBvf8A/wBSAAFGAUcBRgF+ + AUkBpwFrAf8BSwGpAW0B/wFhAcABhQH/AXUByQGXAf8BeAHPAaQB/wFnAcoBmwH/AWABxgGRAf8BYQHH + AZIB/wFkAcgBlgH/AWQByQGWAf8BYQHHAZEB/wFfAcYBjQH/AWIByAGSAf8BaAHKAZoB/wFnAcoBmQH/ + AWIBxwGRAf8BXwHGAY0B/wFhAccBkAH/AWMByAGUAf8BZwHLAZsB/wFvAc8BpQH/AXABzwGmAf8BZwHL + AZoB/wFgAccBjwH/AWoBzAGdAf8BdgHTAbEB/wF2AdMBsAH/AWgBywGcAf8BYAHHAY8B/wFnAcoBmQH/ + AW4BzwGlAf8BbwHPAaYB/wFvAc8BpgH/AW4BzgGkAf8BZgHKAZgB/wFfAcYBjgH/AWMByAGTAf8BbAHJ + AZUB/wFjAbIBegH/AUIBewFNAf8BNwFoAT0B/wE7AWwBQQH/AVcBXAFYAb3/AP8AUgABRgFHAUYBfgFO + AasBcAH/AWsBvwGNAf8BewHQAacB/wFwAc8BpgH/AW8BzwGmAf8BaQHMAZ4B/wFcAcUBjAH/AV8BxgGP + Af8BZQHJAZcB/wFlAckBlwH/AWYBygGYAf8BaAHKAZoB/wFpAcsBnAH/AWkBywGcAf8BaQHLAZwB/wFs + Ac0BoAH/AWwBzQGiAf8BZgHKAZkB/wFjAcgBlQH/AWQByAGWAf8BbQHOAaQB/wFwAdABpwH/AWIByAGS + Af8BXwHGAY0B/wFhAccBkAH/AW8BzwGlAf8BbQHOAaMB/wFhAccBkAH/AV8BxgGNAf8BYwHIAZMB/wFv + AdABqQH/AXIB0gGtAf8BbwHPAaYB/wFvAc8BpgH/AWwBzQGiAf8BZgHKAZoB/wFpAcsBnQH/AWsBzAGf + Af8BawHMAZ8B/wFpAccBjwH/AWABrQF0Af8BRgF/AVAB/wFXAVwBWAG9/wD/AFIAAzMBUQFvAaABiQHu + AXYB0gGuAf8BdQHSAa8B/wFxAdABqQH/AWIByAGTAf8BVgHCAYQB/wFWAcIBhAH/AVYBwgGEAf8BXAHF + AYwB/wFoAcoBmgH/AWkBywGcAf8BaQHLAZwB/wFpAcsBnAH/AWUByQGXAf8BawHMAZ8B/wFxAdABqAH/ + AXEB0AGoAf8BcQHQAagB/wFwAdABqAH/AXcB1AGyAf8BeQHVAbUB/wF5AdUBtQH/AXcB1AGyAf8BZgHK + AZgB/wF1AdMBsAH/AXkB1QG1Af8BeQHVAbUB/wF2AdMBsAH/AWsBzQGgAf8BdQHUAbQB/wF2AdUBtQH/ + AXYB1QG1Af8BdAHTAbAB/wFrAc0BoQH/AWQByQGYAf8BZAHJAZgB/wFkAckBmAH/AWgBywGdAf8BZgHK + AZcB/wFfAcYBjQH/AWABxgGNAf8BXwG3AYUB+wNJAYX/AP8AVgADDQERAUkCSgGIAWgBrQGJAfUBXwHG + AY0B/wFfAcYBjQH/AV4BxgGMAf8BWwHFAYoB/wFjAcgBlAH/AWkBywGcAf8BaQHLAZwB/wFpAcsBnAH/ + AWYBygGYAf8BXwHGAY8B/wFcAcUBiwH/AVwBxQGLAf8BYgHIAZQB/wFwAc8BpwH/AXgB1AGzAf8BeQHV + AbUB/wF5AdUBtQH/AXkB1QG1Af8BbwHPAaYB/wFhAccBkAH/AV8BxgGNAf8BYAHHAY8B/wFtAc4BogH/ + AXEB0QGqAf8BbAHNAaIB/wFrAc0BoQH/AWwBzgGjAf8BcQHRAawB/wFxAdEBqwH/AW8BzwGmAf8BbwHP + AaYB/wFtAc4BpAH/AWsBzQGhAf8BbAHOAaMB/wFvAc8BpgH/AW8BzwGmAf8BbgHFAZgB/gFVAVoBWAGs + Ax0BKP8A/wBiAAMUARsBTwJQAZkBXAGzAYMB+gFlAckBlgH/AWkBywGcAf8BaQHLAZwB/wFpAcsBnAH/ + AWcBygGZAf8BYAHHAZAB/wFcAcUBiwH/AVwBxQGLAf8BXAHFAYsB/wFeAcYBjgH/AWIByAGVAf8BZAHJ + AZgB/wFsAc0BogH/AXYB0wGxAf8BdQHTAa8B/wFwAdABqAH/AW4BzwGlAf8BaAHLAZoB/wFhAccBkAH/ + AWUByQGXAf8BagHNAaAB/wFrAc0BoQH/AWsBzQGhAf8BagHNAaAB/wFnAcsBnAH/AWQByQGYAf8BZgHK + AZoB/wFrAc0BoQH/AXIB0QGqAf8BewHWAbgB/wGAAdkBwAH/AXwB1wG6Af8BcwHRAawB/wFZAWQBXwG8 + AyUBNv8A/wByAAMbASYBVQFZAVcBqgFsAcMBlAH+AWcBygGZAf8BXQHFAY0B/wFXAcMBhgH/AVoBxAGJ + Af8BXAHFAYsB/wFiAcgBlAH/AXEB0QGqAf8BcgHRAawB/wFnAcsBnQH/AWQByQGYAf8BYgHIAZUB/wFg + AccBjwH/AWYBygGYAf8BbQHOAaQB/wFvAc8BpgH/AWgBywGcAf8BYQHHAZEB/wFlAcoBmAH/AWsBzQGg + Af8BawHNAaEB/wFrAc0BoQH/AWoBzQGgAf8BZwHLAZsB/wFkAckBmAH/AWYBywGcAf8BcQHRAawB/wF6 + AdcBuQH/AX4B2AG+Af8BgAHZAcAB/wFjAXIBbQHMAy4BRv8A/wCCAAMkATQBWQFhAVwBuwFWAcIBhAH/ + AVYBwgGEAf8BXQHGAY0B/wF0AdMBrgH/AXsB1gG4Af8BeQHVAbUB/wF5AdUBtQH/AXYB0wGxAf8BagHN + AZ8B/wFhAccBkAH/AV8BxgGNAf8BXwHGAY0B/wFiAccBkgH/AWQByQGWAf8BXwHGAY4B/wFfAcYBjQH/ + AV8BxgGNAf8BYAHHAY8B/wFmAcoBmQH/AWsBzQGhAf8BawHNAaEB/wFsAc4BowH/AXAB0QGrAf8BdwHV + AbYB/wF5AdYBuAH/AXkB1gG4Af8BZgF/AXgB2QM1AVYEAv8A/wCOAAMtAUQBYAFvAWkBygGCAdsBwgH/ + AYMB2wHDAf8BgwHbAcMB/wF5AdUBtAH/AXAB0AGnAf8BbwHPAaYB/wFvAc8BpgH/AW4BzwGlAf8BZAHJ + AZUB/wFjAcgBlQH/AWQByQGYAf8BZAHJAZgB/wFkAckBlwH/AWQByQGWAf8BXwHGAY4B/wFfAcYBjQH/ + AV8BxgGNAf8BYQHHAZAB/wFpAcwBnwH/AXUB1QG0Af8BdgHVAbUB/wF2AdUBtQH/AW0BkwGHAeUDPQFn + AwQBBf8A/wCaAAQBAzUBVQFoAYABdwHYAWwBzgGgAf8BXwHGAY0B/wFfAcYBjQH/AWUBygGXAf8BawHN + AZ8B/wFjAcgBkwH/AV8BxgGNAf8BXwHGAY4B/wFiAcgBkwH/AWcBywGbAf8BbQHOAaQB/wFvAc8BpgH/ + AW0BzgGjAf8BZQHKAZcB/wFfAcYBjgH/AV8BxgGNAf8BXwHGAY0B/wFkAckBlQH/AWwBogGMAe4DRAF4 + AwgBCv8A/wCqAAMDAQQDPAFmAWEBiQFyAeQBYAHGAY8B/wFiAcgBlAH/AWQByQGXAf8BYgHIAZMB/wFf + AcYBjgH/AV8BxgGNAf8BXwHGAY0B/wFhAccBjwH/AWgBywGbAf8BbwHPAaYB/wFzAdEBrQH/AXkB1QG2 + Af8BdgHTAbEB/wFoAcsBmgH/AWABrAF9AfYBSgJLAYkDDgES/wD/ALoAAwgBCgNEAXcBYgGcAYEB7gFk + AckBmAH/AWYBygGaAf8BawHNAaAB/wFmAcoBmAH/AWABxgGOAf8BXwHGAY0B/wFgAccBjwH/AWUByQGY + Af8BcwHRAawB/wF7AdYBuAH/AXMByQGoAfsBUQJSAZoDFAEb/wD/AMoAAw0BEQFJAkoBhwFuAbIBkgH1 + AW8BzwGlAf8BbwHPAaUB/wFyAdABqAH/AW4BzgGjAf8BYwHIAZYB/wFjAcgBlQH/AWcBwAGNAf4BVgFa + AVcBqwMcASf/AP8A2gADEwEaAU8BUQFQAZgBfAHFAasB+gGDAdkBvgH/AYMB2QG+Af8BfgHWAbcB/wFZ + AWMBXwG8AyQBNf8A/wDqAAMbASYBVQFZAVgBqQFkAXABbQHKAy0BRf8A/wD/AP8A/wCdAAFCAU0BPgcA + AT4DAAEoAwABwAMAATADAAEBAQABAQUAAYABBBYAA/8BAAL/Af4BfwL/EgAC/wH8AR8C/xIAAv8B8AEH + Av8SAAL/AcABAwL/EgAC/wIAAv8SAAH/AfwCAAE/Af8SAAH/AfgCAAEPAf8SAAH/AeACAAEDAf8SAAH/ + AYADAAH/EgAB/gQAAT8SAAH4BAABDxIAAeAEAAEHEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQA + AQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIA + AcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgABwAQA + AQMSAAHABAABAxIAAcAEAAEDEgABwAQAAQMSAAHABAABAxIAAcAEAAEDEgAB4AQAAQcSAAH4BAABHxIA + Af4EAAF/EgAB/wGAAwAB/xIAAf8B4AIAAQMB/xIAAf8B8AIAAQ8B/xIAAf8B/AIAAT8B/xIAAv8CAAL/ + EgAC/wHAAQMC/xIAAv8B8AEPAv8SAAL/AfwBPwL/EgAG/xIACw== diff --git a/WolfLauncher.csproj b/WolfLauncher.csproj index 74c24be..3442c70 100644 --- a/WolfLauncher.csproj +++ b/WolfLauncher.csproj @@ -44,6 +44,12 @@ packages\CmlLib.Core.Installer.Forge.0.0.2\lib\netstandard2.0\CmlLib.Core.Installer.Forge.dll + + packages\ConsoleControl.1.3.0\lib\net40-client\ConsoleControl.dll + + + packages\ConsoleControlAPI.1.3.0\lib\net40\ConsoleControlAPI.dll + packages\HtmlAgilityPack.1.11.48\lib\Net45\HtmlAgilityPack.dll @@ -249,6 +255,7 @@ + diff --git a/core/Launcher.cs b/core/Launcher.cs index dd6b5fc..08b45a1 100644 --- a/core/Launcher.cs +++ b/core/Launcher.cs @@ -34,6 +34,7 @@ namespace WolfLauncher.core private DirectoryInfo dataDir = new DirectoryInfo("launcherdata"); private DirectoryInfo mcDir = new DirectoryInfo("launcherdata/minecraft"); private MinecraftPath mcPath; + private FileInfo log4jFile = new FileInfo("launcherdata/log-config.xml"); // Monitoring running instance private Instance runningInstance; @@ -48,6 +49,9 @@ namespace WolfLauncher.core if (!mcDir.Exists) mcDir.Create(); + if (!log4jFile.Exists) + File.WriteAllText(log4jFile.FullName, "\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n"); + // Setup library and minecraft paths mcPath = new MinecraftPath(mcDir.ToString()); cmLauncher = new CMLauncher(mcPath); @@ -198,6 +202,16 @@ namespace WolfLauncher.core process.StartInfo.StandardOutputEncoding = System.Text.Encoding.UTF8; process.EnableRaisingEvents = true; + // Replace log4j config, so that we can actually read it to the console + var arg = process.StartInfo.Arguments; + if (arg.IndexOf("-Dlog4j.configurationFile=") != 0) + { + var rep = arg.Substring(arg.IndexOf("-Dlog4j.configurationFile=")); + rep = rep.Substring(0, rep.IndexOf(" ")); + arg = arg.Replace(rep, "-Dlog4j.configurationFile=" + log4jFile.FullName); + process.StartInfo.Arguments = arg; + } + // Launch the game process.Start(); process.BeginErrorReadLine(); diff --git a/core/LauncherLogger.cs b/core/LauncherLogger.cs index b5672e8..2d13dab 100644 --- a/core/LauncherLogger.cs +++ b/core/LauncherLogger.cs @@ -1,8 +1,10 @@ using System; using System.Collections.Concurrent; +using System.Drawing; using System.IO; using System.Text; using System.Windows.Forms; +using WolfLauncher.gui; using WolfLauncher.model; /** @@ -26,7 +28,7 @@ namespace WolfLauncher.core private Timer tmr; // Variables for the active Console window if any - public RichTextBox logWindow { get; set; } + public ConsoleControl.ConsoleControl logWindow { get; set; } public Instance loggingInstance { get; set; } public bool canUpdateLog { get; set; } @@ -58,14 +60,27 @@ namespace WolfLauncher.core while (logQueue.TryDequeue(out string msg)) { sb.AppendLine(msg); + + // Console window is open, so we update the log window + if (logWindow != null && !logWindow.IsDisposed && canUpdateLog) + { + Color clr = Color.White; + + if (msg.ToString().Contains("INFO")) + clr = Color.Cyan; + + if (msg.ToString().Contains("WARN")) + clr = Color.Yellow; + + if (msg.ToString().Contains("ERROR")) + clr = Color.Red; + + logWindow.WriteOutput(msg + Environment.NewLine, clr); + } } // Write to log file for persistance File.AppendAllText(logFile.FullName, sb.ToString()); - - // Console window is open, so we update the log window - if (logWindow != null && !logWindow.IsDisposed && canUpdateLog) - logWindow.AppendText(sb.ToString()); } /** @@ -126,15 +141,30 @@ namespace WolfLauncher.core if (loggingInstance != null && ins != null && ins == loggingInstance) { // Clear old log from window if any - logWindow.Clear(); + logWindow.ClearOutput(); // Check if persisted log exists if (!logFile.Exists) return; // Load log from file into window - string log = File.ReadAllText(logFile.FullName, Encoding.UTF8); - logWindow.Text = log; + string[] log = File.ReadAllLines(logFile.FullName, Encoding.UTF8); + + foreach (var s in log) + { + Color clr = Color.White; + + if (s.Contains("INFO")) + clr = Color.Cyan; + + if (s.Contains("WARN")) + clr = Color.Yellow; + + if (s.Contains("ERROR")) + clr = Color.Red; + + logWindow.WriteOutput(s + Environment.NewLine, clr); + } } } } diff --git a/gui/launcher/InstanceWindow.Designer.cs b/gui/launcher/InstanceWindow.Designer.cs index 8502ed1..0de7d29 100644 --- a/gui/launcher/InstanceWindow.Designer.cs +++ b/gui/launcher/InstanceWindow.Designer.cs @@ -31,7 +31,7 @@ this.logTab = new System.Windows.Forms.TabControl(); this.logPage = new System.Windows.Forms.TabPage(); this.logContainer = new System.Windows.Forms.Panel(); - this.logWindow = new System.Windows.Forms.RichTextBox(); + this.logWindow = new ConsoleControl.ConsoleControl(); this.logPanelBottom = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel(); this.launchBtn = new System.Windows.Forms.Button(); @@ -42,7 +42,6 @@ this.copyLog = new System.Windows.Forms.Button(); this.uploadLog = new System.Windows.Forms.Button(); this.clearLog = new System.Windows.Forms.Button(); - this.wrapLines = new System.Windows.Forms.CheckBox(); this.updateLog = new System.Windows.Forms.CheckBox(); this.logTab.SuspendLayout(); this.logPage.SuspendLayout(); @@ -86,15 +85,14 @@ // // logWindow // - this.logWindow.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.logWindow.Dock = System.Windows.Forms.DockStyle.Fill; + this.logWindow.IsInputEnabled = true; this.logWindow.Location = new System.Drawing.Point(0, 0); this.logWindow.Name = "logWindow"; - this.logWindow.ReadOnly = true; + this.logWindow.SendKeyboardCommandsToProcess = false; + this.logWindow.ShowDiagnostics = false; this.logWindow.Size = new System.Drawing.Size(786, 319); this.logWindow.TabIndex = 1; - this.logWindow.Text = ""; - this.logWindow.WordWrap = false; // // logPanelBottom // @@ -165,7 +163,6 @@ this.topPanel.Controls.Add(this.copyLog); this.topPanel.Controls.Add(this.uploadLog); this.topPanel.Controls.Add(this.clearLog); - this.topPanel.Controls.Add(this.wrapLines); this.topPanel.Controls.Add(this.updateLog); this.topPanel.Dock = System.Windows.Forms.DockStyle.Top; this.topPanel.Location = new System.Drawing.Point(3, 3); @@ -206,19 +203,6 @@ this.clearLog.UseVisualStyleBackColor = true; this.clearLog.Click += new System.EventHandler(this.clearLog_Click); // - // wrapLines - // - this.wrapLines.AutoSize = true; - this.wrapLines.Checked = true; - this.wrapLines.CheckState = System.Windows.Forms.CheckState.Checked; - this.wrapLines.Location = new System.Drawing.Point(112, 8); - this.wrapLines.Name = "wrapLines"; - this.wrapLines.Size = new System.Drawing.Size(80, 17); - this.wrapLines.TabIndex = 2; - this.wrapLines.Text = "Wrap Lines"; - this.wrapLines.UseVisualStyleBackColor = true; - this.wrapLines.CheckedChanged += new System.EventHandler(this.wrapLines_CheckedChanged); - // // updateLog // this.updateLog.AutoSize = true; @@ -257,7 +241,6 @@ private System.Windows.Forms.TabPage logPage; private System.Windows.Forms.Panel topPanel; private System.Windows.Forms.CheckBox updateLog; - private System.Windows.Forms.CheckBox wrapLines; private System.Windows.Forms.Button clearLog; private System.Windows.Forms.Button uploadLog; private System.Windows.Forms.Button copyLog; @@ -268,6 +251,6 @@ private System.Windows.Forms.Button launchBtn; private System.Windows.Forms.Panel logContainer; private System.Windows.Forms.Panel logPanelBottom; - private System.Windows.Forms.RichTextBox logWindow; + private ConsoleControl.ConsoleControl logWindow; } } \ No newline at end of file diff --git a/gui/launcher/InstanceWindow.cs b/gui/launcher/InstanceWindow.cs index c6194bb..c2b5c17 100644 --- a/gui/launcher/InstanceWindow.cs +++ b/gui/launcher/InstanceWindow.cs @@ -22,17 +22,8 @@ namespace WolfLauncher.gui.launcher this.Text = String.Format("{0} - {1} - {2}", "Console window for " + ins.name, LauncherConstants.LauncherName, LauncherConstants.Version); } - private void wrapLines_CheckedChanged(object sender, EventArgs e) - { - // Apply wordwrapping based on checkbox - logWindow.WordWrap = wrapLines.Checked; - } - private void InstanceWindow_Load(object sender, EventArgs e) { - // Setup default values - logWindow.WordWrap = wrapLines.Checked; - // Load log from logger if it exists LauncherLogger.INSTANCE.logWindow = this.logWindow; LauncherLogger.INSTANCE.loadLog(instance); @@ -42,7 +33,7 @@ namespace WolfLauncher.gui.launcher private void clearLog_Click(object sender, EventArgs e) { // Clear the log - logWindow.Clear(); + logWindow.ClearOutput(); LauncherLogger.INSTANCE.clearLog(); } diff --git a/packages.config b/packages.config index d64843a..ed9b6b3 100644 --- a/packages.config +++ b/packages.config @@ -3,6 +3,8 @@ + +