From 35b1a07c19dac2e3b6ce3a3bcfdadef136f407a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damian=20B=C3=BCchel?= Date: Thu, 1 Jul 2021 18:54:43 +0200 Subject: [PATCH] SEBWIN-484: Implemented temporary down- and upload folder for browser. --- SafeExamBrowser.Browser/BrowserApplication.cs | 37 ++++ .../DataMapping/BrowserDataMapper.cs | 11 ++ .../ConfigurationData/DataValues.cs | 1 + .../ConfigurationData/Keys.cs | 1 + .../Browser/BrowserSettings.cs | 11 +- .../Windows/FileSystemDialog.xaml.cs | 4 +- .../Windows/FileSystemDialog.xaml.cs | 4 +- SebWindowsConfig/SEBSettings.cs | 2 + .../SebWindowsConfigForm.Designer.cs | 38 ++-- SebWindowsConfig/SebWindowsConfigForm.cs | 10 ++ SebWindowsConfig/SebWindowsConfigForm.resx | 167 ++++++++++++------ 11 files changed, 212 insertions(+), 74 deletions(-) diff --git a/SafeExamBrowser.Browser/BrowserApplication.cs b/SafeExamBrowser.Browser/BrowserApplication.cs index f8bac541..9d89f75c 100644 --- a/SafeExamBrowser.Browser/BrowserApplication.cs +++ b/SafeExamBrowser.Browser/BrowserApplication.cs @@ -99,6 +99,11 @@ namespace SafeExamBrowser.Browser if (success) { + if (settings.UseTemporaryDownAndUploadDirectory) + { + CreateTemporaryDownAndUploadDirectory(); + } + if (settings.DeleteCookiesOnStartup) { DeleteCookies(); @@ -129,6 +134,11 @@ namespace SafeExamBrowser.Browser logger.Info($"Terminated browser instance {instance.Id}."); } + if (settings.UseTemporaryDownAndUploadDirectory) + { + DeleteTemporaryDownAndUploadDirectory(); + } + if (settings.DeleteCookiesOnShutdown) { DeleteCookies(); @@ -178,6 +188,33 @@ namespace SafeExamBrowser.Browser WindowsChanged?.Invoke(); } + private void CreateTemporaryDownAndUploadDirectory() + { + try + { + settings.DownAndUploadDirectory = Path.Combine(appConfig.TemporaryDirectory, Path.GetRandomFileName()); + Directory.CreateDirectory(settings.DownAndUploadDirectory); + logger.Info($"Created temporary down- and upload directory."); + } + catch (Exception e) + { + logger.Error("Failed to create temporary down- and upload directory!", e); + } + } + + private void DeleteTemporaryDownAndUploadDirectory() + { + try + { + Directory.Delete(settings.DownAndUploadDirectory, true); + logger.Info("Deleted temporary down- and upload directory."); + } + catch (Exception e) + { + logger.Error("Failed to delete temporary down- and upload directory!", e); + } + } + private void DeleteCache() { try diff --git a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/BrowserDataMapper.cs b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/BrowserDataMapper.cs index f670b9ed..98aff764 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/BrowserDataMapper.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/DataMapping/BrowserDataMapper.cs @@ -162,6 +162,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping case Keys.Browser.UseStartUrlQuery: MapUseStartUrlQuery(settings, value); break; + case Keys.Browser.UseTemporaryDownUploadDirectory: + MapUseTemporaryDownUploadDirectory(settings, value); + break; } } @@ -546,6 +549,14 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping } } + private void MapUseTemporaryDownUploadDirectory(AppSettings settings, object value) + { + if (value is bool use) + { + settings.Browser.UseTemporaryDownAndUploadDirectory = use; + } + } + private void MapFilterRules(AppSettings settings, object value) { const int ALLOW = 1; diff --git a/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs b/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs index 0139eeeb..1202d5d7 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/DataValues.cs @@ -184,6 +184,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData settings.Browser.StartUrl = "https://www.safeexambrowser.org/start"; settings.Browser.UseCustomUserAgent = false; settings.Browser.UseQueryParameter = false; + settings.Browser.UseTemporaryDownAndUploadDirectory = false; settings.ConfigurationMode = ConfigurationMode.Exam; diff --git a/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs b/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs index 642659f8..52d3cde4 100644 --- a/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs +++ b/SafeExamBrowser.Configuration/ConfigurationData/Keys.cs @@ -75,6 +75,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData internal const string UserAgentModeMobile = "browserUserAgentWinTouchMode"; internal const string UserAgentSuffix = "browserUserAgent"; internal const string UseStartUrlQuery = "startURLAppendQueryParameter"; + internal const string UseTemporaryDownUploadDirectory = "useTemporaryDownUploadDirectory"; internal static class AdditionalWindow { diff --git a/SafeExamBrowser.Settings/Browser/BrowserSettings.cs b/SafeExamBrowser.Settings/Browser/BrowserSettings.cs index 93faee01..5d120e23 100644 --- a/SafeExamBrowser.Settings/Browser/BrowserSettings.cs +++ b/SafeExamBrowser.Settings/Browser/BrowserSettings.cs @@ -99,7 +99,7 @@ namespace SafeExamBrowser.Settings.Browser public bool DeleteCookiesOnStartup { get; set; } /// - /// Defines a custom directory for file down- and uploads. If not defined, all operations will be directed to the current user's download directory. + /// Defines a custom directory for down- and uploads. If not defined, all operations will be directed to the current user's download directory. /// public string DownAndUploadDirectory { get; set; } @@ -193,15 +193,20 @@ namespace SafeExamBrowser.Settings.Browser /// public bool UseQueryParameter { get; set; } + /// + /// A custom suffix to be appended to the user agent. + /// + public string UserAgentSuffix { get; set; } + /// /// Determines whether the start URL will be used when navigating home. /// public bool UseStartUrlAsHomeUrl { get; set; } /// - /// A custom suffix to be appended to the user agent. + /// Determines whether a temporary directory should be used for down- and uploads. /// - public string UserAgentSuffix { get; set; } + public bool UseTemporaryDownAndUploadDirectory { get; set; } public BrowserSettings() { diff --git a/SafeExamBrowser.UserInterface.Desktop/Windows/FileSystemDialog.xaml.cs b/SafeExamBrowser.UserInterface.Desktop/Windows/FileSystemDialog.xaml.cs index a56a3bbc..dbff6a36 100644 --- a/SafeExamBrowser.UserInterface.Desktop/Windows/FileSystemDialog.xaml.cs +++ b/SafeExamBrowser.UserInterface.Desktop/Windows/FileSystemDialog.xaml.cs @@ -183,7 +183,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Windows { foreach (var subDirectory in directory.GetDirectories()) { - if (!subDirectory.Attributes.HasFlag(FileAttributes.Hidden)) + if (!subDirectory.Attributes.HasFlag(FileAttributes.Hidden) || initialPath?.Contains(subDirectory.FullName) == true) { item.Items.Add(CreateItem(subDirectory)); } @@ -191,7 +191,7 @@ namespace SafeExamBrowser.UserInterface.Desktop.Windows foreach (var file in directory.GetFiles()) { - if (!file.Attributes.HasFlag(FileAttributes.Hidden)) + if (!file.Attributes.HasFlag(FileAttributes.Hidden) || initialPath?.Contains(file.FullName) == true) { item.Items.Add(CreateItem(file)); } diff --git a/SafeExamBrowser.UserInterface.Mobile/Windows/FileSystemDialog.xaml.cs b/SafeExamBrowser.UserInterface.Mobile/Windows/FileSystemDialog.xaml.cs index 978c7394..bb7241e2 100644 --- a/SafeExamBrowser.UserInterface.Mobile/Windows/FileSystemDialog.xaml.cs +++ b/SafeExamBrowser.UserInterface.Mobile/Windows/FileSystemDialog.xaml.cs @@ -183,7 +183,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows { foreach (var subDirectory in directory.GetDirectories()) { - if (!subDirectory.Attributes.HasFlag(FileAttributes.Hidden)) + if (!subDirectory.Attributes.HasFlag(FileAttributes.Hidden) || initialPath?.Contains(subDirectory.FullName) == true) { item.Items.Add(CreateItem(subDirectory)); } @@ -191,7 +191,7 @@ namespace SafeExamBrowser.UserInterface.Mobile.Windows foreach (var file in directory.GetFiles()) { - if (!file.Attributes.HasFlag(FileAttributes.Hidden)) + if (!file.Attributes.HasFlag(FileAttributes.Hidden) || initialPath?.Contains(file.FullName) == true) { item.Items.Add(CreateItem(file)); } diff --git a/SebWindowsConfig/SEBSettings.cs b/SebWindowsConfig/SEBSettings.cs index 214b9020..9f558a93 100644 --- a/SebWindowsConfig/SEBSettings.cs +++ b/SebWindowsConfig/SEBSettings.cs @@ -185,6 +185,7 @@ namespace SebWindowsConfig public const String KeyAllowPDFPlugIn = "allowPDFPlugIn"; public const String KeyDownloadAndOpenSebConfig = "downloadAndOpenSebConfig"; public const String KeyBackgroundOpenSEBConfig = "backgroundOpenSEBConfig"; + public const String KeyUseTemporaryDownUploadDirectory = "useTemporaryDownUploadDirectory"; // Group "Exam" public const String KeyExamKeySalt = "examKeySalt"; @@ -707,6 +708,7 @@ namespace SebWindowsConfig SEBSettings.settingsDefault.Add(SEBSettings.KeyAllowPDFPlugIn , false); SEBSettings.settingsDefault.Add(SEBSettings.KeyDownloadAndOpenSebConfig, true); SEBSettings.settingsDefault.Add(SEBSettings.KeyBackgroundOpenSEBConfig , false); + SEBSettings.settingsDefault.Add(SEBSettings.KeyUseTemporaryDownUploadDirectory, false); // Default settings for group "Exam" SEBSettings.settingsDefault.Add(SEBSettings.KeyExamKeySalt , new Byte[] {}); diff --git a/SebWindowsConfig/SebWindowsConfigForm.Designer.cs b/SebWindowsConfig/SebWindowsConfigForm.Designer.cs index 872c056e..6002a421 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.Designer.cs +++ b/SebWindowsConfig/SebWindowsConfigForm.Designer.cs @@ -30,8 +30,8 @@ namespace SebWindowsConfig { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SebWindowsConfigForm)); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); this.openFileDialogSebConfigFile = new System.Windows.Forms.OpenFileDialog(); this.saveFileDialogSebConfigFile = new System.Windows.Forms.SaveFileDialog(); this.imageListTabIcons = new System.Windows.Forms.ImageList(this.components); @@ -458,6 +458,7 @@ namespace SebWindowsConfig this.editDuplicateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.configureClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.applyAndStartSEBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.checkBoxTemporaryDownloadDirectory = new System.Windows.Forms.CheckBox(); this.tabPageHookedKeys.SuspendLayout(); this.groupBoxFunctionKeys.SuspendLayout(); this.groupBoxSpecialKeys.SuspendLayout(); @@ -1853,8 +1854,8 @@ namespace SebWindowsConfig // // Type // - dataGridViewCellStyle1.BackColor = System.Drawing.Color.Silver; - this.Type.DefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle7.BackColor = System.Drawing.Color.Silver; + this.Type.DefaultCellStyle = dataGridViewCellStyle7; this.Type.HeaderText = "Type"; this.Type.Name = "Type"; this.Type.ReadOnly = true; @@ -3491,6 +3492,7 @@ namespace SebWindowsConfig // // tabPageDownUploads // + this.tabPageDownUploads.Controls.Add(this.checkBoxTemporaryDownloadDirectory); this.tabPageDownUploads.Controls.Add(this.checkBoxAllowCustomDownloadLocation); this.tabPageDownUploads.Controls.Add(this.checkBoxAllowPDFPlugIn); this.tabPageDownUploads.Controls.Add(this.textBoxDownloadDirectoryWin); @@ -3528,7 +3530,7 @@ namespace SebWindowsConfig // this.checkBoxAllowPDFPlugIn.AutoSize = true; this.checkBoxAllowPDFPlugIn.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxAllowPDFPlugIn.Location = new System.Drawing.Point(25, 278); + this.checkBoxAllowPDFPlugIn.Location = new System.Drawing.Point(25, 303); this.checkBoxAllowPDFPlugIn.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxAllowPDFPlugIn.Name = "checkBoxAllowPDFPlugIn"; this.checkBoxAllowPDFPlugIn.Size = new System.Drawing.Size(310, 17); @@ -3552,7 +3554,7 @@ namespace SebWindowsConfig // this.checkBoxDownloadOpenSEBFiles.AutoSize = true; this.checkBoxDownloadOpenSEBFiles.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxDownloadOpenSEBFiles.Location = new System.Drawing.Point(25, 321); + this.checkBoxDownloadOpenSEBFiles.Location = new System.Drawing.Point(25, 346); this.checkBoxDownloadOpenSEBFiles.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxDownloadOpenSEBFiles.Name = "checkBoxDownloadOpenSEBFiles"; this.checkBoxDownloadOpenSEBFiles.Size = new System.Drawing.Size(203, 17); @@ -3597,7 +3599,7 @@ namespace SebWindowsConfig // listBoxChooseFileToUploadPolicy // this.listBoxChooseFileToUploadPolicy.FormattingEnabled = true; - this.listBoxChooseFileToUploadPolicy.Location = new System.Drawing.Point(44, 200); + this.listBoxChooseFileToUploadPolicy.Location = new System.Drawing.Point(44, 225); this.listBoxChooseFileToUploadPolicy.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.listBoxChooseFileToUploadPolicy.Name = "listBoxChooseFileToUploadPolicy"; this.listBoxChooseFileToUploadPolicy.Size = new System.Drawing.Size(348, 43); @@ -3610,7 +3612,7 @@ namespace SebWindowsConfig // labelChooseFileToUploadPolicy // this.labelChooseFileToUploadPolicy.AutoSize = true; - this.labelChooseFileToUploadPolicy.Location = new System.Drawing.Point(41, 172); + this.labelChooseFileToUploadPolicy.Location = new System.Drawing.Point(41, 197); this.labelChooseFileToUploadPolicy.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.labelChooseFileToUploadPolicy.Name = "labelChooseFileToUploadPolicy"; this.labelChooseFileToUploadPolicy.Size = new System.Drawing.Size(145, 13); @@ -3621,7 +3623,7 @@ namespace SebWindowsConfig // this.checkBoxDownloadPDFFiles.AutoSize = true; this.checkBoxDownloadPDFFiles.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxDownloadPDFFiles.Location = new System.Drawing.Point(25, 263); + this.checkBoxDownloadPDFFiles.Location = new System.Drawing.Point(25, 288); this.checkBoxDownloadPDFFiles.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxDownloadPDFFiles.Name = "checkBoxDownloadPDFFiles"; this.checkBoxDownloadPDFFiles.Size = new System.Drawing.Size(270, 17); @@ -3637,7 +3639,7 @@ namespace SebWindowsConfig // this.checkBoxOpenDownloads.AutoSize = true; this.checkBoxOpenDownloads.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.checkBoxOpenDownloads.Location = new System.Drawing.Point(114, 143); + this.checkBoxOpenDownloads.Location = new System.Drawing.Point(114, 168); this.checkBoxOpenDownloads.Margin = new System.Windows.Forms.Padding(2, 1, 2, 1); this.checkBoxOpenDownloads.Name = "checkBoxOpenDownloads"; this.checkBoxOpenDownloads.Size = new System.Drawing.Size(160, 17); @@ -4555,8 +4557,8 @@ namespace SebWindowsConfig // spellCheckerDictionaryFilesColumn // this.spellCheckerDictionaryFilesColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle8; this.spellCheckerDictionaryFilesColumn.HeaderText = "Files"; this.spellCheckerDictionaryFilesColumn.Name = "spellCheckerDictionaryFilesColumn"; this.spellCheckerDictionaryFilesColumn.ReadOnly = true; @@ -5953,6 +5955,17 @@ namespace SebWindowsConfig this.applyAndStartSEBToolStripMenuItem.Visible = false; this.applyAndStartSEBToolStripMenuItem.Click += new System.EventHandler(this.applyAndStartSEBToolStripMenuItem_Click); // + // checkBoxTemporaryDownloadDirectory + // + this.checkBoxTemporaryDownloadDirectory.AutoSize = true; + this.checkBoxTemporaryDownloadDirectory.Location = new System.Drawing.Point(114, 145); + this.checkBoxTemporaryDownloadDirectory.Name = "checkBoxTemporaryDownloadDirectory"; + this.checkBoxTemporaryDownloadDirectory.Size = new System.Drawing.Size(229, 17); + this.checkBoxTemporaryDownloadDirectory.TabIndex = 90; + this.checkBoxTemporaryDownloadDirectory.Text = "Use temporary download / upload directory"; + this.checkBoxTemporaryDownloadDirectory.UseVisualStyleBackColor = true; + this.checkBoxTemporaryDownloadDirectory.CheckedChanged += new System.EventHandler(this.checkBoxTemporaryDownloadDirectory_CheckedChanged); + // // SebWindowsConfigForm // this.AllowDrop = true; @@ -6512,6 +6525,7 @@ namespace SebWindowsConfig private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2; private System.Windows.Forms.CheckBox checkBoxEnforceBuiltinDisplay; private System.Windows.Forms.CheckBox checkBoxAllowedDisplayIgnoreError; + private System.Windows.Forms.CheckBox checkBoxTemporaryDownloadDirectory; } } diff --git a/SebWindowsConfig/SebWindowsConfigForm.cs b/SebWindowsConfig/SebWindowsConfigForm.cs index 86596bdc..b339d287 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.cs +++ b/SebWindowsConfig/SebWindowsConfigForm.cs @@ -537,6 +537,9 @@ namespace SebWindowsConfig checkBoxDownloadPDFFiles.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadPDFFiles]; checkBoxAllowPDFPlugIn .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowPDFPlugIn]; textBoxDownloadDirectoryWin.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryWin]; + checkBoxTemporaryDownloadDirectory.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyUseTemporaryDownUploadDirectory]; + textBoxDownloadDirectoryWin.Enabled = !checkBoxTemporaryDownloadDirectory.Checked; + buttonDownloadDirectoryWin.Enabled = !checkBoxTemporaryDownloadDirectory.Checked; textBoxDownloadDirectoryOSX.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryOSX]; listBoxChooseFileToUploadPolicy.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeyChooseFileToUploadPolicy]; checkBoxDownloadOpenSEBFiles.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadAndOpenSebConfig]; @@ -4636,5 +4639,12 @@ namespace SebWindowsConfig { SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayIgnoreFailure] = checkBoxAllowedDisplayIgnoreError.Checked; } + + private void checkBoxTemporaryDownloadDirectory_CheckedChanged(object sender, EventArgs e) + { + SEBSettings.settingsCurrent[SEBSettings.KeyUseTemporaryDownUploadDirectory] = checkBoxTemporaryDownloadDirectory.Checked; + buttonDownloadDirectoryWin.Enabled = !checkBoxTemporaryDownloadDirectory.Checked; + textBoxDownloadDirectoryWin.Enabled = !checkBoxTemporaryDownloadDirectory.Checked; + } } } diff --git a/SebWindowsConfig/SebWindowsConfigForm.resx b/SebWindowsConfig/SebWindowsConfigForm.resx index 16bb3467..843f7eba 100644 --- a/SebWindowsConfig/SebWindowsConfigForm.resx +++ b/SebWindowsConfig/SebWindowsConfigForm.resx @@ -131,7 +131,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAi - 1gAAAk1TRnQBSQFMAgEBDAEAAdgBCwHYAQsBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA + 1gAAAk1TRnQBSQFMAgEBDAEAAeABCwHgAQsBIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA AwABgAMAAQEBAAEgBwABAf8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A /wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A0QABjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -159,8 +159,8 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wNUAe4QAAMyAVEDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6 A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6A00B+gNNAfoDTQH6AzYBWTQAAzIBUANc - Ad8BsQGvAa0B/wGlAaIBoQH/AZIBjwGOAf8BhgGDAYIB/wGAATIBMQH/AYABMgExAf8BgAEyATEB/wGA - ATIBMQH/AYABMgExAf8BigGHAYYB/wGWAZMBkgH/AaUBogGgAf8BpgGjAaEB/wNUAa8DFwEgGAABjgGL + Ad8BsQGvAa0B/wGlAaIBoQH/AZIBjwGOAf8BhgGDAYIB/wGAATEBMAH/AYABMQEwAf8BgAExATAB/wGA + ATEBMAH/AYABMQEwAf8BigGHAYYB/wGWAZMBkgH/AaUBogGgAf8BpgGjAaEB/wNUAa8DFwEgGAABjgGL AQAB/wGOAYsBAAH/AbsBuQEAAf8C/gH9Af8C/gH9Af8C/gH9Af8C9AHmAf8BwgHAAQAB/wL+Af0B/wL+ Af0B/wL+Af0B/wLwAd0B/wHGAcQBAAH/Av4B/QH/Av4B/QH/Av4B/QH/AekB6AHOAf8BqwGoAQAB/wGP AYwBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA @@ -168,16 +168,16 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/xAA AzQBVFj/AzgBXCwAAwwBEANRAZ8BtQGyAbAB/wGpAaYBpAH/AZIBjwGNAf8BhAGBAYAB/wGRAY4BjAH/ - AZkBlgGUAf8BjwGMAYoB/wGEAYEBgAH/AYABMgExAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BgAEy - ATEB/wGAATIBMQH/AZEBjgGNAf8BpAGhAZ8B/wNiAe8DMgFQFAABjgGLAQAB/wGOAYsBAAH/AbsBuQEA + AZkBlgGUAf8BjwGMAYoB/wGEAYEBgAH/AYABMQEwAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BgAEx + ATAB/wGAATEBMAH/AZEBjgGNAf8BpAGhAZ8B/wNiAe8DMgFQFAABjgGLAQAB/wGOAYsBAAH/AbsBuQEA Af8MAAL1AegB/wHCAcABAAH/DAAC8QHfAf8BxgHEAQAB/wwAAeoB6QHPAf8B0gHRAZoB/wG+AbwBAAH/ AY8BjAEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/AwAB/wMAAf8DmgH/ A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/ A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A6IB/wOiAf8DogH/A5oB/wMAAf8DAAH/AwAB/xAAAzMBU1j/ AzcBWygAAwwBEANcAc8BtwG0AbIB/wGfAZwBmwH/AYsBiAGHAf8BiQGGAYQB/wGYAZUBkwH/AakBpgGk - Af8BpwGkAaIB/wGkAaEBnwH/AaIBnwGdAf8BlgGTAZEB/wGFAYIBgQH/AYABMgExAf8BgAEyATEB/wGA - ATIBMQH/AYABMgExAf8BgAEyATEB/wGCATQBMwH/AZ0BmgGYAf8BpQGiAaAB/wM6AWAQAAGOAYsBAAH/ + Af8BpwGkAaIB/wGkAaEBnwH/AaIBnwGdAf8BlgGTAZEB/wGFAYIBgQH/AYABMQEwAf8BgAExATAB/wGA + ATEBMAH/AYABMQEwAf8BgAExATAB/wGCATMBMgH/AZ0BmgGYAf8BpQGiAaAB/wM6AWAQAAGOAYsBAAH/ AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AcIBwAEAAf8MAALxAd8B/wHGAcQBAAH/DAAB6gHpAc8B/wHS AdEBmgH/Ad0B3AGyAf8BxQHDAQAB/wGPAYwBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wMA @@ -185,7 +185,7 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DkwH/A6IB/wMA Af8DAAH/EAADMwFTWP8DNwFbKAADXAHPAbcBtAGyAf8BmwGYAZYB/wGQAY0BiwH/AY0BigGJAf8BiwGI AYcB/wGoAaUBowH/AaoBpwGlAf8BpwGkAaIB/wGmAaMBoQH/AaMBoAGeAf8BogGfAZ0B/wGdAZoBmAH/ - AY0BigGJAf8BgQEzATIB/wGAATIBMQH/AYABMgExAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BmAGV + AY0BigGJAf8BgQEyATEB/wGAATEBMAH/AYABMQEwAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BmAGV AZMB/wGlAaIBoAH/AzoBYAwAAY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8BwgHAAQAB/wwA AvEB3wH/AcYBxAEAAf8MAAHqAekBzwH/AdIB0QGaAf8B3QHcAbIB/wHdAdwBsgH/Ac8BzgGSAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -194,7 +194,7 @@ AwAB/wMAAf8DAAH/AwAB/wMAAf8DkwH/A5oB/wMAAf8QAAMzAVNY/wM3AVskAANMAY8BuwG4AbcB/wGh AZ4BnAH/AZQBkQGPAf8BkgGPAY0B/wGQAY0BiwH/AY0BigGJAf8BqgGnAaUB/wGqAacBpQH/AagBpQGj Af8BpwGkAaIB/wGkAaEBnwH/AaMBoAGeAf8BoQGeAZwB/wGhAZ4BnAH/AZ4BmwGZAf8BkQGOAYwB/wGC - ATQBMwH/AYABMgExAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BmAGVAZMB/wGlAaIBoAH/AyEBMAgA + ATMBMgH/AYABMQEwAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BmAGVAZMB/wGlAaIBoAH/AyEBMAgA AY4BiwEAAf8BjgGLAQAB/wGfAZwBAAH/AbgBtgEAAf8BuAG2AQAB/wG4AbYBAAH/AbQBsgEAAf8BoQGf AQAB/wG4AbYBAAH/AbgBtgEAAf8BuAG2AQAB/wGyAbABAAH/AacBpAEAAf8BvgG9AQAB/wG+Ab0BAAH/ Ab4BvQEAAf8BuAG2AQAB/wHQAc8BlQH/Ad0B3AGyAf8B3QHcAbIB/wLqAdAB/wGOAYsBAAH/AY4BiwEA @@ -204,7 +204,7 @@ Af8DAAH/AwAB/wMAAf8DogH/AwAB/xAAAzMBU1j/AzcBWyAAAyoBQAG8AboBuAH/AasBqAGnAf8BmAGV AZMB/wGWAZMBkQH/AZQBkQGPAf8BkgGPAY0B/wGQAY0BiwH/AasBqAGmAf8BqwGoAaYB/wGpAaYBpAH/ AacBpAGiAf8BpQGiAaAB/wGjAaABngH/AaEBngGcAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BmwGY - AZYB/wGBATMBMgH/AYABMgExAf8BgAEyATEB/wGAATIBMQH/AYIBNAEzAf8BoQGeAZ0B/wNcAc8IAAGO + AZYB/wGBATIBMQH/AYABMQEwAf8BgAExATAB/wGAATEBMAH/AYIBMwEyAf8BoQGeAZ0B/wNcAc8IAAGO AYsBAAH/AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AcIBwAEAAf8MAALxAd8B/wGzAbEBAAH/AuYBxwH/ Ae0B7AHWAf8B7QHsAdYB/wHtAewB1gH/AcQBwgEAAf8BzAHLAYwB/wHdAdwBsgH/AuoB0AH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -213,16 +213,16 @@ AwAB/wMAAf8DogH/AwAB/xAAAzMBU1j/AzcBWyAAA1kBvwG6AbcBtQH/AZ0BmgGYAf8BmwGYAZYB/wGY AZUBkwH/AZYBkwGRAf8BlAGRAY8B/wGSAY8BjQH/AagBpQGjAf8BnQGaAZkB/wGqAacBpQH/AagBpQGj Af8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BoQGeAZwB/wGF - AYIBgAH/AYABMgExAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BigGHAYYB/wGmAaMBoQH/AzoBYAQA + AYIBgAH/AYABMQEwAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BigGHAYYB/wGmAaMBoQH/AzoBYAQA AY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8BwgHAAQAB/wwAAvEB3wH/AcwBywGNAf8B0wHS AZwB/wHuAe0B2AH/Ae4B7QHYAf8B7gHtAdgB/wHuAe0B2AH/AacBpAEAAf8ByQHIAYUB/wLqAdAB/wGO AYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/A6IB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DyAH/CAAD4wH/A6AB/wOtAf8IAAPIAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DogH/AwAB/xAAAzMBU1j/AzcBWxwAAyoBQAHAAb0BvAH/AawBqQGoAf8BnwGc - AZoB/wGdAZoBmAH/AZsBmAGWAf8BmAGVAZMB/wErASkBJwH/AwAB/wMAAf8DAAH/AS4BKwEqAf8BqQGm + AZoB/wGdAZoBmAH/AZsBmAGWAf8BmAGVAZMB/wEqASgBJgH/AwAB/wMAAf8DAAH/AS0BKgEpAf8BqQGm AaQB/wGnAaQBogH/AaUBogGgAf8BowGgAZ4B/wGhAZ4BnAH/AaEBngGcAf8BoQGeAZwB/wGhAZ4BnAH/ - AYUBggGBAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BgAEyATEB/wGAATIBMQH/AZ0BmgGZAf8DXAHf + AYUBggGBAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BgAExATAB/wGAATEBMAH/AZ0BmgGZAf8DXAHf BAABjgGLAQAB/wGOAYsBAAH/AbsBuQEAAf8MAAL1AegB/wHCAcABAAH/DAAC8QHfAf8BzAHLAY0B/wHb AdoBrgH/EAABugG4AQAB/wHMAcsBjAH/AdYB1QGkAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -230,9 +230,9 @@ Af8DAAH/AwAB/wgAA5EB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A6IB/wMAAf8QAAMz AVMI/wP+Af8D/gH/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gH/A/4B/wP+Af8D/gH/ A/4B/wP+Af8D/gH/A/4B/wP+Bf8DNwFbHAADUQGfAb0BuwG5Af8BpAGhAZ8B/wGiAZ8BnQH/AZ8BnAGa - Af8BnQGaAZgB/wGbAZgBlgH/AwAB/wMAAf8DAAH/AwAB/wEOARcBHAH/AaoBpwGlAf8BqAGlAaMB/wGm - AaMBoQH/AaQBoQGfAf8BogGfAZ0B/wGhAZ4BnAH/AaEBngGcAf8BngGbAZkB/wGAATIBMQH/AYABMgEx - Af8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BgAEyATEB/wGMAYkBiAH/AacBpAGiAf8DIQEwAY4BiwEA + Af8BnQGaAZgB/wGbAZgBlgH/AwAB/wMAAf8DAAH/AwAB/wENARYBGwH/AaoBpwGlAf8BqAGlAaMB/wGm + AaMBoQH/AaQBoQGfAf8BogGfAZ0B/wGhAZ4BnAH/AaEBngGcAf8BngGbAZkB/wGAATEBMAH/AYABMQEw + Af8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BgAExATAB/wGMAYkBiAH/AacBpAGiAf8DIQEwAY4BiwEA Af8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8BwgHAAQAB/wwAAvEB3wH/AcwBywGNAf8B2wHaAa4B/xAA AboBuAEAAf8C3QGzAf8B1AHTAZ4B/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/A6IB/wMA @@ -240,9 +240,9 @@ Af8DugH/BAADwAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DogH/AwAB/xAAAzMBUwT/ A/4B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/ A/0B/wP9Af8D/QH/A/0B/wP9Bf8DNwFbHAADXAHfAbYBtAGyAf8BpgGjAaEB/wGkAaEBnwH/AaIBnwGd - Af8BnwGcAZoB/wGdAZoBmAH/AQ8BDQEMAf8DAAH/AQABjwG4Af8BAAGPAb0B/wEXAY0BpAH/AasBqAGm + Af8BnwGcAZoB/wGdAZoBmAH/AQ4BDAELAf8DAAH/AQABjwG4Af8BAAGPAb0B/wEWAY0BpAH/AasBqAGm Af8BqQGmAaQB/wGnAaQBogH/AaUBogGgAf8BowGgAZ4B/wGhAZ4BnAH/AaEBngGcAf8BjwGMAYoB/wGE - AYEBgAH/AYQBgQGAAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BgAEyATEB/wGAATIBMQH/AagBpQGj + AYEBgAH/AYQBgQGAAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BgAExATAB/wGAATEBMAH/AagBpQGj Af8DRwGAAY4BiwEAAf8BjgGLAQAB/wGfAZwBAAH/AbgBtgEAAf8BuAG2AQAB/wG4AbYBAAH/AbQBsgEA Af8BpAGhAQAB/wHLAcoBiwH/AcsBygGLAf8BywHKAYsB/wHIAccBgwH/Ab8BvgEAAf8B2wHaAa0B/xAA AboBuAEAAf8C3QGzAf8C6gHQAf8BjgGLAQAB/wGRAY4BAAH/AcwBywGMAf8BlwGUAQAB/wGOAYsBAAH/ @@ -251,10 +251,10 @@ Af8DnAH/BAADzgH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DogH/AwAB/xAAAzMBUwP+ Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9Af8D/QH/A/0B/wP9 Af8D/QH/A/0B/wP9Af8D/QH/A/0F/wM3AVsYAAMMARABxAHBAcAB/wGyAa8BrQH/AakBpgGkAf8BpgGj - AaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wGDAYABMwH/AwAB/wEAAaQBygH/AQABkAG9Af8BFwGN + AaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wGDAYABMgH/AwAB/wEAAaQBygH/AQABkAG9Af8BFgGN AaQB/wGsAakBpwH/AaoBpwGlAf8BqAGlAaMB/wGmAaMBoQH/AaQBoQGfAf8BngGbAZkB/wGRAY4BjQH/ - AZQBkQGPAf8BoQGeAZwB/wGgAZ0BmwH/AY8BjAGKAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BgAEy - ATEB/wGfAZwBmgH/A1QBrwGOAYsBAAH/AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AbkBtgEAAf8B1AHT + AZQBkQGPAf8BoQGeAZwB/wGgAZ0BmwH/AY8BjAGKAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BgAEx + ATAB/wGfAZwBmgH/A1QBrwGOAYsBAAH/AY4BiwEAAf8BuwG5AQAB/wwAAvUB6AH/AbkBtgEAAf8B1AHT AZ4B/wHZAdgBqAH/AdkB2AGoAf8B2QHYAagB/wHFAcQBAAH/AaQBoQEAAf8BxQHDAQAB/wHFAcMBAAH/ AcUBwwEAAf8BxQHDAQAB/wG4AbYBAAH/At0BswH/AuoB0AH/AZEBjgEAAf8C3AGxAf8EAAHrAeoB0QH/ AZcBlAEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/ @@ -262,10 +262,10 @@ AwAB/wMAAf8DAAH/A9wB/wQAA7MB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A6IB/wMA Af8QAAMzAVMD/QH/A/0B/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/ A/wB/wP8Af8D/AH/A/wB/wP8Af8D/AH/A/wB/wP8Bf8DNwFbGAADKgFAAcQBwgHBAf8BvgG7AboB/wG2 - AbMBsQH/AasBqAGmAf8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wEEAQIBAQH/AQABgwGZ - Af8BAAGmAcoB/wEYAZIBpwH/Aa0BqgGoAf8BqwGoAaYB/wGlAaIBoAH/AZgBlQGTAf8BjwGMAYsB/wGJ - AYYBhAH/AZEBjgGNAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BnwGcAZoB/wGBATMBMgH/AYABMgEx - Af8BgAEyATEB/wGAATIBMQH/AZUBkgGQAf8DWQG/AY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHo + AbMBsQH/AasBqAGmAf8BpgGjAaEB/wGkAaEBnwH/AaIBnwGdAf8BnwGcAZoB/wEDAQEBAAH/AQABgwGZ + Af8BAAGmAcoB/wEXAZIBpwH/Aa0BqgGoAf8BqwGoAaYB/wGlAaIBoAH/AZgBlQGTAf8BjwGMAYsB/wGJ + AYYBhAH/AZEBjgGNAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BnwGcAZoB/wGBATIBMQH/AYABMQEw + Af8BgAExATAB/wGAATEBMAH/AZUBkgGQAf8DWQG/AY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHo Af8ByAHGAYMB/wHWAdUBowH/AvIB4gH/AvIB4QH/AvIB4QH/AvIB4QH/Aa4BrAEAAf8B2wHaAa0B/wL4 Ae8B/wL4Ae8B/wL4Ae8B/wHWAdUBowH/AcUBxAEAAf8B4AHfAbkB/wHcAdsBsQH/DAAB6wHqAdEB/wGX AZQBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wMAAf8DoQH/AwAB/wMA @@ -273,10 +273,10 @@ Af8LAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DoQH/AwAB/xAAAzMBUwP8Af8D+wH/ A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/A/oB/wP6Af8D+gH/ A/oB/wP6Af8D+gH/A/oB/wP+Af8DNwFbGAADKgFAAcUBwwHCAf8BxAHBAcAB/wHCAcABvgH/Ab4BuwG6 - Af8BqgGnAaUB/wGmAaMBoQH/AaQBoQGfAf8BpAGhAZ8B/wGfAZwBmwH/AQABEgEdAf8BAAG9AdoB/wEa + Af8BqgGnAaUB/wGmAaMBoQH/AaQBoQGfAf8BpAGhAZ8B/wGfAZwBmwH/AQABEQEcAf8BAAG9AdoB/wEZ AZ4BrwH/Aa4BqwGpAf8BogGfAZ0B/wGSAY8BjQH/AZQBkQGPAf8BlAGRAZAB/wGLAYgBhwH/AZ4BmwGZ - Af8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BoQGeAZwB/wGGAYMBggH/AYABMgExAf8BgAEyATEB/wGA - ATIBMQH/AZUBkgGRAf8DYgHvAY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8ByAHGAYMB/wHZ + Af8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BoQGeAZwB/wGGAYMBggH/AYABMQEwAf8BgAExATAB/wGA + ATEBMAH/AZUBkgGRAf8DYgHvAY4BiwEAAf8BjgGLAQAB/wG7AbkBAAH/DAAC9QHoAf8ByAHGAYMB/wHZ AdgBqQH/EAABvgG8AQAB/wHTAdIBnAH/AcwBygGLAf8B2wHaAa4B/wHbAdoBrgH/AdsB2gGuAf8BvwG+ AQAB/wG7AboBAAH/Av4B/AH/EAABugG4AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ AY4BiwEAAf8DAAH/A50B/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ @@ -284,19 +284,19 @@ Af8DnQH/AwAB/xAAAzMBUwP6Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/ A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP5Af8D+QH/A/kB/wP9Af8DNwFbGAADKgFAAccBxQHD Af8BxQHDAcIB/wHDAcABvwH/Ab0CuwH/Aa8BrgGwAf8BrAGqAagB/wGmAaMBoQH/AagBpQGjAf8BtwG0 - AbIB/wEOARYBFwH/AQABxAHfAf8BAwGpAb4B/wGOAaEBpgH/AZYBkwGRAf8BlAGRAY8B/wGZAZYBlAH/ + AbIB/wENARUBFgH/AQABxAHfAf8BAgGpAb4B/wGOAaEBpgH/AZYBkwGRAf8BlAGRAY8B/wGZAZYBlAH/ AacBpAGiAf8BmwGYAZYB/wGjAaABngH/AaEBngGcAf8BoQGeAZwB/wGhAZ4BnAH/AaEBngGcAf8BhgGD - AYIB/wGAATIBMQH/AYABMgExAf8BgAEyATEB/wGWAZMBkQH/AasBqAGmAf8BjgGLAQAB/wGOAYsBAAH/ + AYIB/wGAATEBMAH/AYABMQEwAf8BgAExATAB/wGWAZMBkQH/AasBqAGmAf8BjgGLAQAB/wGOAYsBAAH/ AbsBuQEAAf8MAAL1AegB/wHIAcYBgwH/AdkB2AGoAf8QAAG+AbwBAAH/AdYB1QGiAf8B6AHnAcoB/wwA AdsB2gGuAf8B1wHWAaUB/wG2AbQBAAH/Av4B/AH/CAABwwHBAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wMAAf8DmAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wOwAf8D6wH/CAADngH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wOYAf8DAAH/EAADMwFTA/kB/wP5Af8D+AH/A/gB/wP4Af8D+AH/ A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/A/gB/wP4Af8D+AH/ - A/wB/wM3AVsYAAMqAUABqAHAAcUB/wE0AbIBwAH/AQIBogG8Af8BAAGaAbwB/wEAAZcBugH/ASUBqQG5 - Af8BrgGrAakB/wGrAagBpgH/AbgBtQGzAf8BNAExATAB/wEAAY8BoQH/AQABvwHbAf8BAAGiAcEB/wEo + A/wB/wM3AVsYAAMqAUABqAHAAcUB/wEzAbIBwAH/AQEBogG8Af8BAAGaAbwB/wEAAZcBugH/ASQBqQG5 + Af8BrgGrAakB/wGrAagBpgH/AbgBtQGzAf8BMwEwAS8B/wEAAY8BoQH/AQABvwHbAf8BAAGiAcEB/wEn AZEBnQH/AaABnQGbAf8BnwGcAZoB/wGmAaMBoQH/AaYBowGhAf8BpAGhAZ8B/wGiAZ8BnQH/AaEBngGc - Af8BoQGeAZwB/wGhAZ4BnAH/AYgBhQGEAf8BgAEyATEB/wGAATIBMQH/AYABMgExAf8BlgGTAZIB/wNZ + Af8BoQGeAZwB/wGhAZ4BnAH/AYgBhQGEAf8BgAExATAB/wGAATEBMAH/AYABMQEwAf8BlgGTAZIB/wNZ Ab8BjgGLAQAB/wGOAYsBAAH/AZcBlAEAAf8BugG4AQAB/wG9AbwBAAH/Ab0BvAEAAf8BuwG6AQAB/wHG AcQBAAH/AdkB2AGoAf8QAAG+AbwBAAH/AdYB1QGiAf8C5wHKAf8MAAHbAdoBrgH/AuoB0AH/AY4BiwEA Af8BtgG0AQAB/wH+Af0B/AH/AcMBwgEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -304,10 +304,10 @@ Af8DAAH/AwAB/wMAAf8DAAH/A7AB/wgAA9UB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wOUAf8DAAH/EAADMwFTA/gB/wP3Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2 Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/YB/wP2Af8D9gH/A/oB/wM3 - AVsQAAMyAVADVAGvAVgCYgHvAQABmgG8Af8BAAGmAcYB/wEAAbgB1AH/AQsBxgHfAf8BCgHCAdwB/wEA - AZoBuAH/AboBuAG3Af8BuQG2AbUB/wG1AbMBsgH/ASQBhAGKAf8BAAGEAZwB/wEAAbsB1wH/AQABrgHP - Af8BAAGVAb4B/wE0AZQBngH/AaoBpwGlAf8BqQGmAaQB/wGnAaQBogH/AaUBogGgAf8BowGgAZ4B/wGh - AZ4BnAH/AaEBngGcAf8BoAGdAZsB/wGGAYMBggH/AYIBNAEzAf8BgAEyATEB/wGAATIBMQH/AaIBnwGe + AVsQAAMyAVADVAGvAVgCYgHvAQABmgG8Af8BAAGmAcYB/wEAAbgB1AH/AQoBxgHfAf8BCQHCAdwB/wEA + AZoBuAH/AboBuAG3Af8BuQG2AbUB/wG1AbMBsgH/ASMBhAGKAf8BAAGEAZwB/wEAAbsB1wH/AQABrgHP + Af8BAAGVAb4B/wEzAZQBngH/AaoBpwGlAf8BqQGmAaQB/wGnAaQBogH/AaUBogGgAf8BowGgAZ4B/wGh + AZ4BnAH/AaEBngGcAf8BoAGdAZsB/wGGAYMBggH/AYIBMwEyAf8BgAExATAB/wGAATEBMAH/AaIBnwGe Af8DWQG/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/Aa4BrAEAAf8B3gHdAbQB/wHeAd0BtAH/Ad4B3QG0 Af8BzwHOAZMB/wGpAacBAAH/Ab4BvAEAAf8BvgG8AQAB/wG+AbwBAAH/Ab4BvAEAAf8BtgG0AQAB/wHW AdUBogH/AucBygH/DAAB2wHaAa4B/wLqAdAB/wGOAYsBAAH/AY4BiwEAAf8BoQGeAQAB/wGOAYsBAAH/ @@ -316,10 +316,10 @@ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A48B/wMAAf8QAAMz AVMD9gH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1 Af8D9QH/A/UB/wP1Af8D9QH/A/UB/wP1Af8D+QH/AzcBWxEAAZABvwH/AQABjAG3Af8BAAGyAdIB/wEA - AccB4QH/AQsByQHhAf8BgQHHAdcB/wGaAcQBzAH/AR4BygHhAf8BAAGhAcIB/wEfAZ0BsQH/ARgBmwGy - Af8BAAGWAbYB/wEAAaABwgH/AQABrgHMAf8BAAG4AdYB/wEAAbMB0wH/AQABmgHBAf8BBQGIAaUB/wGr + AccB4QH/AQoByQHhAf8BgQHHAdcB/wGaAcQBzAH/AR0BygHhAf8BAAGhAcIB/wEeAZ0BsQH/ARcBmwGy + Af8BAAGWAbYB/wEAAaABwgH/AQABrgHMAf8BAAG4AdYB/wEAAbMB0wH/AQABmgHBAf8BBAGIAaUB/wGr AagBpgH/AaoBpwGlAf8BpwGkAaIB/wGmAaMBoQH/AaMBoAGeAf8BogGfAZ0B/wGhAZ4BnAH/AZ4BmwGZ - Af8BhwGEAYIB/wGEAYEBgAH/AYIBNAEzAf8BgAEyATEB/wGsAakBpwH/A0cBgAGOAYsBAAH/AY4BiwEA + Af8BhwGEAYIB/wGEAYEBgAH/AYIBMwEyAf8BgAExATAB/wGsAakBpwH/A0cBgAGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/Aa0BqwEAAf8C9gHsAf8C+QHxAf8C+QHxAf8B6wHqAdEB/wHVAdQBoQH/ AvkB8QH/AvkB8QH/AvkB8QH/AecB5gHJAf8BtgG0AQAB/wHKAckBhgH/AdoB2QGrAf8B2gHZAasB/wHa AdkBqwH/AcQBwwEAAf8B6gHpAc8B/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA @@ -328,7 +328,7 @@ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DigH/AwAB/xAAAzMBUwP1Af8D9QH/A/QB/wP0 Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0Af8D9AH/A/QB/wP0 Af8D9AH/A/QB/wP3Af8DNwFbEAABWAJiAe8BAAGeAcUB/wFXAlwB3wNZAb8ByQHHAcYB/wHHAcUBwwH/ - AcQBwgHBAf8BgQHGAdYB/wEDAbwB1gH/AQABogHDAf8BAAGuAc0B/wEAAbgB1QH/AQABugHXAf8BAAG6 + AcQBwgHBAf8BgQHGAdYB/wECAbwB1gH/AQABogHDAf8BAAGuAc0B/wEAAbgB1QH/AQABugHXAf8BAAG6 AdcB/wEAAboB1wH/AQABtQHVAf8BAAGhAccB/wEAAYsBrQH/AasBqAGmAf8BoQGeAZwB/wGpAaYBpAH/ AaMBoAGeAf8BnAGZAZcB/wGbAZgBlgH/AZwBmQGXAf8BjwGMAYsB/wGJAYYBhAH/AYcBhAGCAf8BhAGB AYAB/wGRAY4BjQH/AbABrQGrAf8DIQEwAY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL @@ -339,9 +339,9 @@ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A9UB/xwAA/MB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DhQH/AwAB/xAAAzMBUwP0Af8D8wH/A/IB/wPyAf8D8gH/A/IB/wPyAf8D8gH/ A/IB/wPyAf8D8gH/A/IB/wPyAf8D8gH/A/IB/wPxAf8D8QH/A/EB/wPxAf8D8QH/A/EB/wPzAf8DNwFb - EAADUQGgAQABqQHOAf8BWgJdAdMDMgFQAcsByQHIAf8ByAHGAcQB/wHFAcMBwgH/AZgBwgHLAf8BGwHI + EAADUQGgAQABqQHOAf8BWgJdAdMDMgFQAcsByQHIAf8ByAHGAcQB/wHFAcMBwgH/AZgBwgHLAf8BGgHI AeAB/wEAAbsB2QH/AQABuwHYAf8BAAG7AdgB/wEAAbwB2QH/AQABwAHbAf8BAAHFAd8B/wEAAcEB3QH/ - AQABlQG2Af8BAAEpAYsB/wGeAZsBmQH/AZsBmAGWAf8BoAGdAZsB/wGWAZMBkQH/AZQBkQGPAf8BkgGP + AQABlQG2Af8BAAEoAYsB/wGeAZsBmQH/AZsBmAGWAf8BoAGdAZsB/wGWAZMBkQH/AZQBkQGPAf8BkgGP AY0B/wGQAY0BiwH/AY0BigGJAf8BiwGIAYcB/wGJAYYBhAH/AYcBhAGCAf8BoQGeAZwB/wNcAd8EAAGO AYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGdAZoBAAH/AaUBowEA Af8BpQGjAQAB/wGlAaMBAAH/AZwBmQEAAf8BowGhAQAB/wGlAaMBAAH/AaUBowEAAf8BpQGjAQAB/wGb @@ -350,9 +350,9 @@ AY4BiwEAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A5gB/yQAA74B/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/EAADMwFTA/IB/wPxAf8D8QH/ A/EB/wPxAf8D8QH/A/EB/wPxAf8D8QH/A/EB/wPxAf8D8QH/A/EB/wPxAf8D8AH/A+0B/wPqAf8D6AH/ - A+gB/wPnAf8D5gH/A+cB/wM4AVwQAAM6AWABFwG0AdcB/wEAAZYBugH/AxwBJwNcAd8BygHIAccB/wHG - AcQBwwH/AbsBwgHDAf8BGgHKAeEB/wEAAb4B2gH/AQABwQHdAf8BCQHHAeAB/wELAcgB4QH/ARQBwgHX - Af8BDgGbAagB/wMAAf8DAAH/AYQBggGAAf8BpQGiAaAB/wGqAacBpQH/AaoBpwGlAf8BoAGdAZsB/wGW + A+gB/wPnAf8D5gH/A+cB/wM4AVwQAAM6AWABFgG0AdcB/wEAAZYBugH/AxwBJwNcAd8BygHIAccB/wHG + AcQBwwH/AbsBwgHDAf8BGQHKAeEB/wEAAb4B2gH/AQABwQHdAf8BCAHHAeAB/wEKAcgB4QH/ARMBwgHX + Af8BDQGbAagB/wMAAf8DAAH/AYQBggGAAf8BpQGiAaAB/wGqAacBpQH/AaoBpwGlAf8BoAGdAZsB/wGW AZMBkQH/AZQBkQGPAf8BkgGPAY0B/wGQAY0BiwH/AY0BigGJAf8BiwGIAYcB/wGRAY4BjAH/AbMBsAGu Af8DRwGABAABjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL AQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/ @@ -361,8 +361,8 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/A9oB/ysAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/EAADMwFTA/EB/wPxAf8D8AH/A/AB/wPwAf8D8AH/ A/AB/wPwAf8D8AH/A/AB/wPwAf8D8AH/A/AB/wPvAf8D7AH/A+QB/wPYAf8D0AH/A88B/wPQAf8DzAH/ - A8gB/wM1AVcQAAMMARABIQG3AdoB/wEAAaEBxQH/A0MBdwMyAVABywHJAcgB/wHJAccBxQH/AcUBwwHC - Af8BLwHGAdcB/wEAAb8B2wH/AQQBsgHMAf8BjgG+AccB/wGpAbkBvAH/AbkBtwG1Af8BtwG0AbIB/wGk + A8gB/wM1AVcQAAMMARABIAG3AdoB/wEAAaEBxQH/A0MBdwMyAVABywHJAcgB/wHJAccBxQH/AcUBwwHC + Af8BLgHGAdcB/wEAAb8B2wH/AQMBsgHMAf8BjgG+AccB/wGpAbkBvAH/AbkBtwG1Af8BtwG0AbIB/wGk AaIBoAH/AasBqAGmAf8BsQGvAa0B/wGvAawBqgH/Aa0BqgGoAf8BqwGoAaYB/wGiAZ8BnQH/AZgBlQGT Af8BlgGTAZEB/wGUAZEBjwH/AZIBjwGNAf8BkAGNAYsB/wGNAYoBiQH/Aa0BqgGoAf8DXAHfAwwBEAQA AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL @@ -371,7 +371,7 @@ AfkB/wGdAZsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/LwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8QAAMzAVMD8AH/A+8B/wPuAf8D7gH/A+4B/wPuAf8D7gH/A+4B/wPuAf8D7gH/A+4B/wPu - Af8D7gH/A+0B/wPoAf8D1gH/A7gB/wOnAf8DogH/A54B/wOeAf8DYQHmAxQBGxQAA1QBrwERAbAB0wH/ + Af8D7gH/A+0B/wPoAf8D1gH/A7gB/wOnAf8DogH/A54B/wOeAf8DYQHmAxQBGxQAA1QBrwEQAbAB0wH/ AVoCXQHTBAADVAGvAcsByQHIAf8BxwHFAcQB/wGTAcMBzAH/AQABwwHeAf8BAAGaAboB/wG9AbsBugH/ AbwBugG4Af8BugG3AbYB/wG4AbYBtAH/AbYBswGyAf8BtAGyAbAB/wGyAa8BrQH/AbABrQGrAf8BrgGr AakB/wGrAagBpgH/AZ4BmwGZAf8BmwGYAZYB/wGYAZUBkwH/AZYBkwGRAf8BlAGRAY8B/wGSAY8BjQH/ @@ -382,7 +382,7 @@ AY4BiwEAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/xAAAzMBUwPuAf8D7QH/A+0B/wPtAf8D7QH/A+0B/wPtAf8D7QH/A+0B/wPt - Af8D7QH/A+0B/wPtAf8D7AH/A+MB/wPKAf8DnQH/A4MB/wOGAf8DmAH/A2IB7wMnATsYAAM6AWABJwG6 + Af8D7QH/A+0B/wPtAf8D7AH/A+MB/wPKAf8DnQH/A4MB/wOGAf8DmAH/A2IB7wMnATsYAAM6AWABJgG6 Ad0B/wEAAZMBugH/AxoBJAMMARADXAHPAY0BuAHEAf8BAAGlAcAB/wEAAbkB1gH/AQABngG+Af8BmAG2 Ab0B/wG9AbsBuQH/Ab0BugG5Af8BuQG3AbUB/wG3AbQBsgH/AbUBsgGxAf8BswGwAa4B/wGxAa8BrQH/ Aa0BqgGoAf8BogGfAZ0B/wGfAZwBmgH/AZ0BmgGYAf8BmwGYAZYB/wGYAZUBkwH/AZYBkwGRAf8BpAGh @@ -393,7 +393,7 @@ Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/LwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8QAAMzAVMD7QH/A+0B/wPsAf8D7AH/A+wB/wPsAf8D7AH/ A+wB/wPsAf8D7AH/A+wB/wPsAf8D7AH/A+sB/wPfAf8DyQH/A+0B/wPwAf8D8QH/A2cB8gMrAUIcAAMM - ARABMgHBAeIB/wEEAZ4BxwH/AVgCWgHAA1EBogEAAZgBuwH/AQABowHEAf8BAAG1AdMB/wEAAcIB3gH/ + ARABMQHBAeIB/wEDAZ4BxwH/AVgCWgHAA1EBogEAAZgBuwH/AQABowHEAf8BAAG1AdMB/wEAAcIB3gH/ AQABsQHQAf8BoQG3Ab0B/wG+AbwBugH/Ab0BuwG5Af8BvQG6AbkB/wG6AbcBtQH/AbYBswGxAf8BsgGv Aa0B/wGuAasBqQH/AaYBowGhAf8BpAGhAZ8B/wGiAZ8BnQH/AZ8BnAGaAf8BnQGaAZgB/wGdAZoBmAH/ Aa4BqwGpAf8BuQG3AbUB/wNRAZ8QAAGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA @@ -403,8 +403,8 @@ AYsBAAH/AY4BiwEAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMA Af8DAAH/AwAB/wMAAf8DAAH/AwAB/xAAAzMBUwPsAf8D7AH/A+sB/wPrAf8D6wH/A+sB/wPrAf8D6wH/ - A+sB/wPrAf8D6wH/A+sB/wPrAf8D6QH/A9wB/wPHAf8D/gX/A2cB8gMsAUQkAANcAc8BHwG2AdsB/wEA - AZcBwgH/AQABngHGAf8BBQGxAdQB/wERAb0B3AH/ARgBwAHbAf8BMwHCAdQB/wGjAcIByQH/AcIBwAG+ + A+sB/wPrAf8D6wH/A+sB/wPrAf8D6QH/A9wB/wPHAf8D/gX/A2cB8gMsAUQkAANcAc8BHgG2AdsB/wEA + AZcBwgH/AQABngHGAf8BBAGxAdQB/wEQAb0B3AH/ARcBwAHbAf8BMgHCAdQB/wGjAcIByQH/AcIBwAG+ Af8BvwG8AbsB/wG9AbsBuQH/AbsBuAG3Af8BugG3AbUB/wG0AbEBrwH/Aa0BqgGoAf8BqwGoAaYB/wGp AaYBpAH/AaYBowGhAf8BpAGhAZ8B/wGiAZ8BnQH/AacBpAGiAf8BuAG2AbQB/wG8AbkBuAH/A0ABcBQA AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGL @@ -414,8 +414,8 @@ AY4BiwEAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/ AwAB/wMAAf8DAAH/AwAB/xAAAzMBUwPqAf8D6gH/A+kB/wPpAf8D6QH/A+kB/wPpAf8D6QH/A+kB/wPp - Af8D6QH/A+kB/wPpAf8D5gH/A9gB/wPGAf8D+AH/A2cB8gMtAUUoAANAAXABiwHKAegB/wEuAb8B4QH/ - ASoBuwHeAf8DVAGvAzoBYAMMARADRwGAA2IB7wHLAckByAH/AcYBxAHDAf8BwQG/Ab0B/wG8AbkBuAH/ + Af8D6QH/A+kB/wPpAf8D5gH/A9gB/wPGAf8D+AH/A2cB8gMtAUUoAANAAXABiwHKAegB/wEtAb8B4QH/ + ASkBuwHeAf8DVAGvAzoBYAMMARADRwGAA2IB7wHLAckByAH/AcYBxAHDAf8BwQG/Ab0B/wG8AbkBuAH/ AboBtwG2Af8BuQG2AbQB/wGvAawBqgH/Aa0BqgGoAf8BqwGoAaYB/wGsAakBpwH/AbABrQGsAf8BuwG4 AbYB/wG/AbwBuwH/A1wBzwMhATAYAAGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEA Af8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGOAYsBAAH/AY4BiwEAAf8BjgGLAQAB/wGO @@ -1066,12 +1066,36 @@ True + + True + + + True + True True + + True + + + True + + + True + + + True + + + True + + + True + True @@ -1093,6 +1117,12 @@ True + + True + + + True + Allow locating third party applications with a file dialog if it cannot be found at the paths specified. Only applications matching other criteria specified (like Original Name, executable) are accepted. @@ -1108,6 +1138,18 @@ True + + True + + + True + + + True + + + True + The seb(s):// link to the config file can contain an additional query string, separated from the main URL by '?' or '??' (if the URL itself doesn't contain a query). SEB will then append this query string to the Start URL. @@ -1125,6 +1167,9 @@ IMPORTANT: Always copy the key(s) as a last step, after the configuration file w The Browser Exam Key verifies the intergrity of an installed SEB version as well as the configuration used by an exam client. This means that this key is different for every configuration and SEB version used. It changes when one or more configuration value(s) change as well as when a different SEB version is used. + + 17, 17 + Disabling browsing to previously visited pages (by Ctrl-Cursor left or the button in the browser toolbar, if enabled) might not be desired for additional resources and other content opening in additional browser windows, therefore this separate setting. @@ -1140,6 +1185,15 @@ IMPORTANT: Always copy the key(s) as a last step, after the configuration file w True + + True + + + True + + + True + To be used on Windows tablets. In Window 10, Tablet Mode needs to be activated. Not working with the Create New Desktop kiosk mode, you have to reconfigure the SEB client settings to Disable Explorer Shell. @@ -1152,6 +1206,9 @@ IMPORTANT: Always copy the key(s) as a last step, after the configuration file w 968, 17 + + 17, 17 + 1222, 17