tried to avoid blocking by SEP

This commit is contained in:
Zechert, Frank (EXTERN: Capgemini) 2020-12-20 15:35:05 +01:00
parent 4c9fa6feff
commit a8bd6c1e91
20 changed files with 441 additions and 206 deletions

View File

@ -20,9 +20,6 @@
</applicationSettings>
<userSettings>
<MeetingClock.Properties.Settings>
<setting name="CheckForUpdates" serializeAs="String">
<value>True</value>
</setting>
<setting name="StartMinimized" serializeAs="String">
<value>False</value>
</setting>

145
MainWindow.Designer.cs generated
View File

@ -42,18 +42,21 @@ namespace MeetingClock
this.labelBluetoothStateTitle = new System.Windows.Forms.Label();
this.groupBoxApplicationSettings = new System.Windows.Forms.GroupBox();
this.checkBoxEnableBluetooth = new System.Windows.Forms.CheckBox();
this.checkBoxCheckForUpdates = new System.Windows.Forms.CheckBox();
this.checkBoxStartMinimized = new System.Windows.Forms.CheckBox();
this.checkBoxAutostart = new System.Windows.Forms.CheckBox();
this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.timerEnableBalloon = new System.Windows.Forms.Timer(this.components);
this.groupBoxAppointmentSettings = new System.Windows.Forms.GroupBox();
this.label2 = new System.Windows.Forms.Label();
this.checkBoxIgnoreTentativeAppointments = new System.Windows.Forms.CheckBox();
this.numericUpDownReminderTime = new System.Windows.Forms.NumericUpDown();
this.labelStartReminderTitle = new System.Windows.Forms.Label();
this.checkBoxIgnoreOutOfOfficeAppointments = new System.Windows.Forms.CheckBox();
this.checkBoxIgnoreFreeAppointments = new System.Windows.Forms.CheckBox();
this.checkBoxIgnoreCancelledAppointments = new System.Windows.Forms.CheckBox();
this.checkBoxIgnoreAllDayAppointments = new System.Windows.Forms.CheckBox();
this.groupBoxClockSettings = new System.Windows.Forms.GroupBox();
this.buttonResetDefault = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.numericUpDownScrollWait = new System.Windows.Forms.NumericUpDown();
this.labelScrollWaitTitle = new System.Windows.Forms.Label();
@ -73,15 +76,12 @@ namespace MeetingClock
this.labelTimeIntervalTitle = new System.Windows.Forms.Label();
this.checkBoxDateEnabled = new System.Windows.Forms.CheckBox();
this.timerScrollDemo = new System.Windows.Forms.Timer(this.components);
this.buttonResetDefault = new System.Windows.Forms.Button();
this.timerAdjustClock = new System.Windows.Forms.Timer(this.components);
this.timerGetAppointment = new System.Windows.Forms.Timer(this.components);
this.label2 = new System.Windows.Forms.Label();
this.numericUpDownReminderTime = new System.Windows.Forms.NumericUpDown();
this.labelStartReminderTitle = new System.Windows.Forms.Label();
this.groupBoxState.SuspendLayout();
this.groupBoxApplicationSettings.SuspendLayout();
this.groupBoxAppointmentSettings.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownReminderTime)).BeginInit();
this.groupBoxClockSettings.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownScrollWait)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.trackBarScrollSpeed)).BeginInit();
@ -89,7 +89,6 @@ namespace MeetingClock
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTemperatureInterval)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownDateInterval)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTimeInterval)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownReminderTime)).BeginInit();
this.SuspendLayout();
//
// groupBoxState
@ -195,12 +194,11 @@ namespace MeetingClock
this.groupBoxApplicationSettings.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBoxApplicationSettings.Controls.Add(this.checkBoxEnableBluetooth);
this.groupBoxApplicationSettings.Controls.Add(this.checkBoxCheckForUpdates);
this.groupBoxApplicationSettings.Controls.Add(this.checkBoxStartMinimized);
this.groupBoxApplicationSettings.Controls.Add(this.checkBoxAutostart);
this.groupBoxApplicationSettings.Location = new System.Drawing.Point(12, 118);
this.groupBoxApplicationSettings.Name = "groupBoxApplicationSettings";
this.groupBoxApplicationSettings.Size = new System.Drawing.Size(560, 116);
this.groupBoxApplicationSettings.Size = new System.Drawing.Size(560, 95);
this.groupBoxApplicationSettings.TabIndex = 1;
this.groupBoxApplicationSettings.TabStop = false;
this.groupBoxApplicationSettings.Text = "Application Settings";
@ -208,7 +206,7 @@ namespace MeetingClock
// checkBoxEnableBluetooth
//
this.checkBoxEnableBluetooth.AutoSize = true;
this.checkBoxEnableBluetooth.Location = new System.Drawing.Point(6, 91);
this.checkBoxEnableBluetooth.Location = new System.Drawing.Point(6, 66);
this.checkBoxEnableBluetooth.Name = "checkBoxEnableBluetooth";
this.checkBoxEnableBluetooth.Size = new System.Drawing.Size(172, 17);
this.checkBoxEnableBluetooth.TabIndex = 3;
@ -216,17 +214,6 @@ namespace MeetingClock
this.checkBoxEnableBluetooth.UseVisualStyleBackColor = true;
this.checkBoxEnableBluetooth.CheckedChanged += new System.EventHandler(this.checkBoxEnableBluetooth_CheckedChanged);
//
// checkBoxCheckForUpdates
//
this.checkBoxCheckForUpdates.AutoSize = true;
this.checkBoxCheckForUpdates.Location = new System.Drawing.Point(6, 67);
this.checkBoxCheckForUpdates.Name = "checkBoxCheckForUpdates";
this.checkBoxCheckForUpdates.Size = new System.Drawing.Size(180, 17);
this.checkBoxCheckForUpdates.TabIndex = 2;
this.checkBoxCheckForUpdates.Text = "Automatically Check for Updates";
this.checkBoxCheckForUpdates.UseVisualStyleBackColor = true;
this.checkBoxCheckForUpdates.CheckedChanged += new System.EventHandler(this.checkBoxCheckForUpdates_CheckedChanged);
//
// checkBoxStartMinimized
//
this.checkBoxStartMinimized.AutoSize = true;
@ -277,13 +264,22 @@ namespace MeetingClock
this.groupBoxAppointmentSettings.Controls.Add(this.checkBoxIgnoreFreeAppointments);
this.groupBoxAppointmentSettings.Controls.Add(this.checkBoxIgnoreCancelledAppointments);
this.groupBoxAppointmentSettings.Controls.Add(this.checkBoxIgnoreAllDayAppointments);
this.groupBoxAppointmentSettings.Location = new System.Drawing.Point(12, 241);
this.groupBoxAppointmentSettings.Location = new System.Drawing.Point(12, 219);
this.groupBoxAppointmentSettings.Name = "groupBoxAppointmentSettings";
this.groupBoxAppointmentSettings.Size = new System.Drawing.Size(560, 166);
this.groupBoxAppointmentSettings.TabIndex = 2;
this.groupBoxAppointmentSettings.TabStop = false;
this.groupBoxAppointmentSettings.Text = "Appointment Settings";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(227, 142);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(188, 13);
this.label2.TabIndex = 22;
this.label2.Text = "Minutes Before the Appointment Starts";
//
// checkBoxIgnoreTentativeAppointments
//
this.checkBoxIgnoreTentativeAppointments.AutoSize = true;
@ -295,6 +291,38 @@ namespace MeetingClock
this.checkBoxIgnoreTentativeAppointments.UseVisualStyleBackColor = true;
this.checkBoxIgnoreTentativeAppointments.CheckedChanged += new System.EventHandler(this.checkBoxIgnoreTentativeAppointments_CheckedChanged);
//
// numericUpDownReminderTime
//
this.numericUpDownReminderTime.Location = new System.Drawing.Point(162, 138);
this.numericUpDownReminderTime.Maximum = new decimal(new int[] {
60,
0,
0,
0});
this.numericUpDownReminderTime.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.numericUpDownReminderTime.Name = "numericUpDownReminderTime";
this.numericUpDownReminderTime.Size = new System.Drawing.Size(63, 20);
this.numericUpDownReminderTime.TabIndex = 21;
this.numericUpDownReminderTime.Value = new decimal(new int[] {
10,
0,
0,
0});
this.numericUpDownReminderTime.ValueChanged += new System.EventHandler(this.numericUpDownReminderTime_ValueChanged);
//
// labelStartReminderTitle
//
this.labelStartReminderTitle.AutoSize = true;
this.labelStartReminderTitle.Location = new System.Drawing.Point(6, 142);
this.labelStartReminderTitle.Name = "labelStartReminderTitle";
this.labelStartReminderTitle.Size = new System.Drawing.Size(149, 13);
this.labelStartReminderTitle.TabIndex = 20;
this.labelStartReminderTitle.Text = "Show Appointment Reminders";
//
// checkBoxIgnoreOutOfOfficeAppointments
//
this.checkBoxIgnoreOutOfOfficeAppointments.AutoSize = true;
@ -341,8 +369,7 @@ namespace MeetingClock
//
// groupBoxClockSettings
//
this.groupBoxClockSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
this.groupBoxClockSettings.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBoxClockSettings.Controls.Add(this.buttonResetDefault);
this.groupBoxClockSettings.Controls.Add(this.label1);
@ -364,13 +391,24 @@ namespace MeetingClock
this.groupBoxClockSettings.Controls.Add(this.labelTimeIntervalTitle);
this.groupBoxClockSettings.Controls.Add(this.checkBoxDateEnabled);
this.groupBoxClockSettings.Enabled = false;
this.groupBoxClockSettings.Location = new System.Drawing.Point(12, 413);
this.groupBoxClockSettings.Location = new System.Drawing.Point(12, 391);
this.groupBoxClockSettings.Name = "groupBoxClockSettings";
this.groupBoxClockSettings.Size = new System.Drawing.Size(560, 200);
this.groupBoxClockSettings.TabIndex = 3;
this.groupBoxClockSettings.TabStop = false;
this.groupBoxClockSettings.Text = "Clock Settings";
//
// buttonResetDefault
//
this.buttonResetDefault.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonResetDefault.Location = new System.Drawing.Point(392, 18);
this.buttonResetDefault.Name = "buttonResetDefault";
this.buttonResetDefault.Size = new System.Drawing.Size(162, 43);
this.buttonResetDefault.TabIndex = 19;
this.buttonResetDefault.Text = "Reset All to Default";
this.buttonResetDefault.UseVisualStyleBackColor = true;
this.buttonResetDefault.Click += new System.EventHandler(this.buttonResetDefault_Click);
//
// label1
//
this.label1.AutoSize = true;
@ -598,17 +636,6 @@ namespace MeetingClock
this.timerScrollDemo.Interval = 10000;
this.timerScrollDemo.Tick += new System.EventHandler(this.timerScrollDemo_Tick);
//
// buttonResetDefault
//
this.buttonResetDefault.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonResetDefault.Location = new System.Drawing.Point(392, 18);
this.buttonResetDefault.Name = "buttonResetDefault";
this.buttonResetDefault.Size = new System.Drawing.Size(162, 43);
this.buttonResetDefault.TabIndex = 19;
this.buttonResetDefault.Text = "Reset All to Default";
this.buttonResetDefault.UseVisualStyleBackColor = true;
this.buttonResetDefault.Click += new System.EventHandler(this.buttonResetDefault_Click);
//
// timerAdjustClock
//
this.timerAdjustClock.Enabled = true;
@ -621,59 +648,18 @@ namespace MeetingClock
this.timerGetAppointment.Interval = 60000;
this.timerGetAppointment.Tick += new System.EventHandler(this.timerGetAppointment_Tick);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(227, 142);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(188, 13);
this.label2.TabIndex = 22;
this.label2.Text = "Minutes Before the Appointment Starts";
//
// numericUpDownReminderTime
//
this.numericUpDownReminderTime.Location = new System.Drawing.Point(162, 138);
this.numericUpDownReminderTime.Maximum = new decimal(new int[] {
60,
0,
0,
0});
this.numericUpDownReminderTime.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.numericUpDownReminderTime.Name = "numericUpDownReminderTime";
this.numericUpDownReminderTime.Size = new System.Drawing.Size(63, 20);
this.numericUpDownReminderTime.TabIndex = 21;
this.numericUpDownReminderTime.Value = new decimal(new int[] {
10,
0,
0,
0});
this.numericUpDownReminderTime.ValueChanged += new System.EventHandler(this.numericUpDownReminderTime_ValueChanged);
//
// labelStartReminderTitle
//
this.labelStartReminderTitle.AutoSize = true;
this.labelStartReminderTitle.Location = new System.Drawing.Point(6, 142);
this.labelStartReminderTitle.Name = "labelStartReminderTitle";
this.labelStartReminderTitle.Size = new System.Drawing.Size(149, 13);
this.labelStartReminderTitle.TabIndex = 20;
this.labelStartReminderTitle.Text = "Show Appointment Reminders";
//
// MainWindow
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(584, 641);
this.ClientSize = new System.Drawing.Size(584, 606);
this.Controls.Add(this.groupBoxClockSettings);
this.Controls.Add(this.groupBoxAppointmentSettings);
this.Controls.Add(this.groupBoxApplicationSettings);
this.Controls.Add(this.groupBoxState);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximumSize = new System.Drawing.Size(800, 800);
this.MinimumSize = new System.Drawing.Size(600, 680);
this.MinimumSize = new System.Drawing.Size(600, 645);
this.Name = "MainWindow";
this.Text = "Meeting Clock";
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.MainWindow_FormClosed);
@ -685,6 +671,7 @@ namespace MeetingClock
this.groupBoxApplicationSettings.PerformLayout();
this.groupBoxAppointmentSettings.ResumeLayout(false);
this.groupBoxAppointmentSettings.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownReminderTime)).EndInit();
this.groupBoxClockSettings.ResumeLayout(false);
this.groupBoxClockSettings.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownScrollWait)).EndInit();
@ -693,7 +680,6 @@ namespace MeetingClock
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTemperatureInterval)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownDateInterval)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownTimeInterval)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownReminderTime)).EndInit();
this.ResumeLayout(false);
}
@ -711,7 +697,6 @@ namespace MeetingClock
private System.Windows.Forms.Button buttonWebsite;
private System.Windows.Forms.GroupBox groupBoxApplicationSettings;
private System.Windows.Forms.CheckBox checkBoxEnableBluetooth;
private System.Windows.Forms.CheckBox checkBoxCheckForUpdates;
private System.Windows.Forms.CheckBox checkBoxStartMinimized;
private System.Windows.Forms.CheckBox checkBoxAutostart;
private System.Windows.Forms.NotifyIcon notifyIcon;

View File

@ -10,7 +10,6 @@ namespace MeetingClock
public partial class MainWindow : Form
{
private readonly string LINK_URL = "https://zechert.net/meeting-clock";
private readonly string LINK_URL_UPDATE = "https://zechert.net/meeting-clock/update.txt";
private BluetoothManager bluetoothManager;
private MeetingClockManager meetingClockManager;
@ -33,7 +32,6 @@ namespace MeetingClock
this.clockSettingsCanBeChanged = false;
this.checkBoxAutostart.Checked = this.settings.Autostart;
this.checkBoxStartMinimized.Checked = this.settings.StartMinimized;
this.checkBoxCheckForUpdates.Checked = this.settings.CheckForUpdates;
this.checkBoxEnableBluetooth.Checked = this.settings.StartBluetooth;
this.checkBoxIgnoreAllDayAppointments.Checked = this.settings.IgnoreAllDayAppointments;
this.checkBoxIgnoreCancelledAppointments.Checked = this.settings.IgnoreCancelledAppointments;
@ -47,11 +45,6 @@ namespace MeetingClock
this.WindowState = FormWindowState.Minimized;
}
if (this.settings.CheckForUpdates)
{
this.CheckForUpdate();
}
this.bluetoothManager = new BluetoothManager();
this.bluetoothManager.StateChanged += BluetoothManager_StateChanged;
@ -265,36 +258,6 @@ namespace MeetingClock
this.notifyIcon.Icon = newIcon;
}
private async void CheckForUpdate()
{
HttpResponseMessage response = await this.client.GetAsync(LINK_URL_UPDATE);
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
string responseBody = await response.Content.ReadAsStringAsync();
string[] versions = responseBody.Split('\n');
Debug.WriteLine(String.Format("Versions available:\n{0}", responseBody));
if (versions.Length >= 2)
{
string winVersion = versions[0].Trim();
this.clockVersion = versions[1].Trim();
if (winVersion != Properties.Settings.Default.Version)
{
DialogResult result = MessageBox.Show("A new version of this software is available.\n\n" +
"Do you want to open " + LINK_URL + " to download the new version now?", "New Version Available", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (result == DialogResult.Yes)
{
System.Diagnostics.Process.Start(LINK_URL);
}
}
}
} else
{
Debug.WriteLine(String.Format("Check for update failed: {0}", response.StatusCode));
}
}
private void MainWindow_FormClosed(object sender, FormClosedEventArgs e)
{
Debug.WriteLine(String.Format("Form was closed because of {0}", e.CloseReason.ToString()));
@ -312,11 +275,6 @@ namespace MeetingClock
this.settings.StartMinimized = this.checkBoxStartMinimized.Checked;
}
private void checkBoxCheckForUpdates_CheckedChanged(object sender, EventArgs e)
{
this.settings.CheckForUpdates = this.checkBoxCheckForUpdates.Checked;
}
private void checkBoxEnableBluetooth_CheckedChanged(object sender, EventArgs e)
{
this.settings.StartBluetooth = this.checkBoxEnableBluetooth.Checked;

View File

@ -14,32 +14,37 @@
<Deterministic>true</Deterministic>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<IsWebBootstrapper>true</IsWebBootstrapper>
<PublishUrl>publish\release\x64\</PublishUrl>
<Install>true</Install>
<InstallFrom>Web</InstallFrom>
<UpdateEnabled>true</UpdateEnabled>
<UpdateMode>Background</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>false</MapFileExtensions>
<InstallUrl>https://www.zechert.net/meeting-clock/release/x64/</InstallUrl>
<SupportUrl>https://www.zechert.net/meeting-clock</SupportUrl>
<ErrorReportUrl>https://www.zechert.net/meeting-clock</ErrorReportUrl>
<TargetCulture>en</TargetCulture>
<ProductName>Meeting-Clock</ProductName>
<PublisherName>Frank Zechert</PublisherName>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.0</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup>
<StartupObject>MeetingClock.MeetingClock</StartupObject>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>
</ApplicationIcon>
<ApplicationIcon>icons\icon-neutral.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
@ -61,25 +66,31 @@
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x86\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
<PropertyGroup>
<ManifestCertificateThumbprint>56FE5054BD39BE64B22752DF38DA4743A6D5E324</ManifestCertificateThumbprint>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<Prefer32Bit>true</Prefer32Bit>
<PropertyGroup>
<ManifestKeyFile>
</ManifestKeyFile>
</PropertyGroup>
<PropertyGroup>
<GenerateManifests>true</GenerateManifests>
</PropertyGroup>
<PropertyGroup>
<SignManifests>false</SignManifests>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>false</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
</PropertyGroup>
<PropertyGroup>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup>
<TargetZone>Custom</TargetZone>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Office.Interop.Outlook, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
@ -123,6 +134,7 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\app.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
@ -159,5 +171,20 @@
<ItemGroup>
<None Include="icons\icon-warning.ico" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.7.2">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.7.2 %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<Content Include="certificate.txt" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

16
Meeting-Clock.csproj.user Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishUrlHistory>publish\release\x64\|publish\release\x86\</PublishUrlHistory>
<InstallUrlHistory>https://www.zechert.net/meeting-clock/release/x64/|https://www.zechert.net/meeting-clock/release/x86/</InstallUrlHistory>
<SupportUrlHistory>https://www.zechert.net/meeting-clock</SupportUrlHistory>
<UpdateUrlHistory />
<BootstrapperUrlHistory />
<ErrorReportUrlHistory>https://www.zechert.net/meeting-clock</ErrorReportUrlHistory>
<FallbackCulture>en-US</FallbackCulture>
<VerifyUploadedFiles>false</VerifyUploadedFiles>
</PropertyGroup>
<PropertyGroup>
<EnableSecurityDebugging>false</EnableSecurityDebugging>
</PropertyGroup>
</Project>

View File

@ -7,26 +7,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Meeting-Clock", "Meeting-Cl
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Debug|Any CPU.Build.0 = Debug|Any CPU
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Debug|x64.ActiveCfg = Debug|x64
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Debug|x64.Build.0 = Debug|x64
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Debug|x86.ActiveCfg = Debug|x86
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Debug|x86.Build.0 = Debug|x86
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Release|Any CPU.ActiveCfg = Release|Any CPU
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Release|Any CPU.Build.0 = Release|Any CPU
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Release|x64.ActiveCfg = Release|x64
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Release|x64.Build.0 = Release|x64
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Release|x86.ActiveCfg = Release|x86
{97CA08CF-C8F9-4D6C-8C15-77695A995169}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -77,8 +77,8 @@ namespace MeetingClock
this.serialPort.DataBits = 8;
this.serialPort.StopBits = StopBits.One;
this.serialPort.Encoding = Encoding.GetEncoding("iso8859-1");
this.serialPort.ReadTimeout = 1000;
this.serialPort.WriteTimeout = 1000;
this.serialPort.ReadTimeout = 5000;
this.serialPort.WriteTimeout = 5000;
}
}

View File

@ -32,18 +32,6 @@ namespace MeetingClock.Properties {
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool CheckForUpdates {
get {
return ((bool)(this["CheckForUpdates"]));
}
set {
this["CheckForUpdates"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]

View File

@ -5,9 +5,6 @@
<Setting Name="Version" Type="System.String" Scope="Application">
<Value Profile="(Default)">v. 1.0.0</Value>
</Setting>
<Setting Name="CheckForUpdates" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="StartMinimized" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>

70
Properties/app.manifest Normal file
View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />
</applicationRequestMinimum>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>

View File

@ -54,19 +54,6 @@ namespace MeetingClock
}
}
public bool CheckForUpdates
{
get
{
return Properties.Settings.Default.CheckForUpdates;
}
set
{
Properties.Settings.Default.CheckForUpdates = value;
Properties.Settings.Default.Save();
}
}
public bool StartBluetooth
{
get

8
certificate.txt Normal file
View File

@ -0,0 +1,8 @@
cd codesign
New-SelfSignedCertificate -DnsName frank@zechert.net -Type CodeSigning -CertStoreLocation "Cert:\CurrentUser\My"
Export-Certificate -Cert (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)[0] -FilePath code_signing_frank_zechert.crt
Import-Certificate -FilePath code_signing_frank_zechert.crt -Cert Cert:\CurrentUser\TrustedPublisher
Import-Certificate -FilePath code_signing_frank_zechert.crt -Cert Cert:\CurrentUser\Root

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="Meeting Clock.application" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="Frank Zechert" asmv2:product="Meeting-Clock" asmv2:supportUrl="https://www.zechert.net/meeting-clock" co.v1:errorReportUrl="https://www.zechert.net/meeting-clock" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" co.v1:createDesktopShortcut="true">
<subscription>
<update>
<expiration maximumAge="0" unit="days" />
</update>
</subscription>
<deploymentProvider codebase="https://www.zechert.net/meeting-clock/release/x64/Meeting%20Clock.application" />
</deployment>
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.7.2" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="Application Files\Meeting Clock_1_0_0_0\Meeting Clock.exe.manifest" size="10155">
<assemblyIdentity name="Meeting Clock.exe" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>S0d0e2SPjw7wP/I9hOIxqRRTtU3+lPFQAPQ2glVlxJk=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<publisherIdentity name="CN=frank@zechert.net" issuerKeyHash="251fc1819b5c536d72e5971b11fde119eabc1a17" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>x/InnQyS4N+xbg5skmw/8wf2ikO7WXrsVcuCHf1lQL8=</DigestValue></Reference></SignedInfo><SignatureValue>c/H/VkpAD8EXjiHRE8PBO+0KJs+6OQuE2O+auV1cl84LwMbvpq+aY8Yx6/0d8HXh2/IGhz0W2YcLtzfpb6AC4ewOXMLpX8S4R8Hj4VnswURMYBZll0h2Rax7FMT3kzEIeROw7xC5DeuHKrlCfFG7wN385e1mB226BWWxMdTytQtf9acv3dSNR5t1h//bsZwR9XyILOdboqt7OnNR3V6RoftDDGboVVRcRis6xiDi0O/M4J799wtkibm+yl+QDhU6siUQvFHYLXAdBpW8dnxw52pFCKX24sX2cmVmPJfUyYtIBCOWgi3PwZEqjLg0iqC86sWryWmeenH19l6KGAYsTQ==</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="bf4065fd1d82cb55ec7a59bb438af607f33f6c926c0e6eb1dfe0920c9d27f2c7" Description="" Url=""><as:assemblyIdentity name="Meeting Clock.application" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" xmlns="urn:schemas-microsoft-com:asm.v1" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=frank@zechert.net</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>HRVXV1f2dTzF6TBDbgjLaarmuXLYj1aWjxNRfihxLVw=</DigestValue></Reference></SignedInfo><SignatureValue>piICvcB7Lv6NxbZmFCD+4NPJq7uaq6gfQM7UHtKdZ1pFJnfU9Tj948LgHt5NIremDU7z/uFlo948tP6U50CpT3K0qvnnbyxEUEo9m0nIilCJ/xQcoAu4omsENrDxSdSSbi30032zvgn7FzmbFteFoXguX2S6OPChXrJ5pVHx06hVEj3EsY/fQqX/nTzOdRNNDSgjdWLngj/d9XBIjhimrmVyT9D7GMBhBPSXpqnnK8RZei7GM3UY6rMSgAkqA9oZJwHglXPvEhESknRalmphRCsHtNeQFxzzLfnCDh0bCKWCIRFrsEMvp+ZDGDE51K4YTMjpfrYWrGUlXTAJkkT08A==</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIDJjCCAg6gAwIBAgIQQ/CGq8+PG7pDuyTJpPVJaDANBgkqhkiG9w0BAQsFADAcMRowGAYDVQQDDBFmcmFua0B6ZWNoZXJ0Lm5ldDAeFw0yMDEyMTgwMjU1MjVaFw0yMTEyMTgwMzE1MjVaMBwxGjAYBgNVBAMMEWZyYW5rQHplY2hlcnQubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQIDAQABo2QwYjAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHAYDVR0RBBUwE4IRZnJhbmtAemVjaGVydC5uZXQwHQYDVR0OBBYEFCUfwYGbXFNtcuWXGxH94RnqvBoXMA0GCSqGSIb3DQEBCwUAA4IBAQAl5Bu37BGhmElxYJzusWgh8LfVY5hcO+U/eHhZCmLBM5FkfouhaHFhvRMf72AHtLRZ+8+crfIjIYjcSid4DmRn2egaeuuBmTdwN5EKa7Ss//rhu+TqWGfkRxWDqsOQUjouXGt9m9GinxnADG68PnumOqEzc2d3vkX6sqCo92ko/7Gr6mafvppbUpjaPA8NIabiyeNI84igPGlwET+uOKg2ajyPR0RlgKNSofXup/H660AfErJcpWkuRiUWe8ATSCx4WDMflWcFILvBqKJZTPI018mwLsQNXbEe5kfMHdXolsP3fATjAJTYP+R7DSC1U/nSVGyV9D49TMBCLy9Q9oHT</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="MeetingClock.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="MeetingClock.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<applicationSettings>
<MeetingClock.Properties.Settings>
<setting name="Version" serializeAs="String">
<value>v. 1.0.0</value>
</setting>
</MeetingClock.Properties.Settings>
</applicationSettings>
<userSettings>
<MeetingClock.Properties.Settings>
<setting name="StartMinimized" serializeAs="String">
<value>False</value>
</setting>
<setting name="StartBluetooth" serializeAs="String">
<value>False</value>
</setting>
<setting name="IgnoreAllDayAppointments" serializeAs="String">
<value>True</value>
</setting>
<setting name="IgnoreCancelledAppointments" serializeAs="String">
<value>True</value>
</setting>
<setting name="IgnoreFreeAppointments" serializeAs="String">
<value>False</value>
</setting>
<setting name="IgnoreOutOfOfficeAppointments" serializeAs="String">
<value>False</value>
</setting>
<setting name="IgnoreTentativeAppointments" serializeAs="String">
<value>False</value>
</setting>
<setting name="ReminderTime" serializeAs="String">
<value>10</value>
</setting>
</MeetingClock.Properties.Settings>
</userSettings>
</configuration>

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="Meeting Clock.exe" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" type="win32" />
<description asmv2:iconFile="icons\icon-neutral.ico" xmlns="urn:schemas-microsoft-com:asm.v1" />
<application />
<entryPoint>
<assemblyIdentity name="Meeting Clock" version="1.0.0.0" language="neutral" processorArchitecture="amd64" />
<commandLine file="Meeting Clock.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel element will disable file and registry virtualization.
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Meeting Clock.exe" size="116128">
<assemblyIdentity name="Meeting Clock" version="1.0.0.0" language="neutral" processorArchitecture="amd64" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>kfghGRCWEkh3gmiwjsePR3juLY6ChBFmVld4j4cwZA0=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<file name="certificate.txt" size="450">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>mg8MWNLjsfczc5OqXFl+0Pa/c5LhW6xoEF3n62NW97o=</dsig:DigestValue>
</hash>
</file>
<file name="icons\icon-neutral.ico" size="6782">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>CLQoqlmtvsajAsTmP2lUEkzbptIyvxOJBQjAGcu01S0=</dsig:DigestValue>
</hash>
</file>
<file name="Meeting Clock.exe.config" size="2576">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>u+BS4Dii1y71Jx/EUpKYZ4LhMYOq1OtnyURfcQeC2+k=</dsig:DigestValue>
</hash>
</file>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<publisherIdentity name="CN=frank@zechert.net" issuerKeyHash="251fc1819b5c536d72e5971b11fde119eabc1a17" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>PWHFP92LIIhAn6SRs7vmecKxdeEGF/1+ZyWw+PVxmsc=</DigestValue></Reference></SignedInfo><SignatureValue>Qw0Q/PM/EPQYSIN167zFYvcNGkjIbrWkXIgtMpFSgJX/xDeGuWu932GMZms+Zi/8zTid7NMFxS6l0arSay/lMmcMx32rC3xIxeusDJ9bpqXKH06xBPiPnVgxECXxiNLff9Pndei8oCns1zO15HXFIKllSfaYElZE3oX8zunYJMVABm4RWYVVz+TnJtntRNZXe8PpBXIiFPwPHJhkeAjAOqWikMI98q1we8WJFmaMB+jF5Vt6gNIaVzDkG41dq8+yW7GjbnWOL1dWt6ZDoICkGz+38IJ1ImD55lj6XCG8OnC0bu2XaDRFA3fTl7LfujYYHSDwsGmb5fZd6AkRDpDnVg==</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="c79a71f5f8b025677efd1706e175b1c279e6bbb391a49f4088208bdd3fc5613d" Description="" Url=""><as:assemblyIdentity name="Meeting Clock.exe" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" type="win32" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=frank@zechert.net</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>5URxICSHsjIQTASb8lWlPdJn2LSbCZK5N7hfAci6wkw=</DigestValue></Reference></SignedInfo><SignatureValue>DDOYbhJzmVGZXczmIwG/f9h6W8VLkyhAWOIUwgDBbI/AlGJDymQAZe/ljYbnb7kW2pGHPrJw0hWZb6wRgELMTvPzMR5JMgKndRM9DxNk/xZ8Q9qvxiPscfuxokQW2VqfdEsgmV3I1wqSj+Bg1jXydh9loIN6F/TSUHORSpAWt/riVPk47EGyWSU64c80tkjpuGwhjVodL8Vob9hs63e0kXBURjZQsGgJ2+fdQyj+OocssiXxA7BXAI8kqwvjsgbyNscsPioK4cmkO59EjrwYhdWt/uTSTEFFBWPeldq+ZYMgFyLGnA4o82197dedtA3qTkp8dMypAOTotj4UpX+2uQ==</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIDJjCCAg6gAwIBAgIQQ/CGq8+PG7pDuyTJpPVJaDANBgkqhkiG9w0BAQsFADAcMRowGAYDVQQDDBFmcmFua0B6ZWNoZXJ0Lm5ldDAeFw0yMDEyMTgwMjU1MjVaFw0yMTEyMTgwMzE1MjVaMBwxGjAYBgNVBAMMEWZyYW5rQHplY2hlcnQubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQIDAQABo2QwYjAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHAYDVR0RBBUwE4IRZnJhbmtAemVjaGVydC5uZXQwHQYDVR0OBBYEFCUfwYGbXFNtcuWXGxH94RnqvBoXMA0GCSqGSIb3DQEBCwUAA4IBAQAl5Bu37BGhmElxYJzusWgh8LfVY5hcO+U/eHhZCmLBM5FkfouhaHFhvRMf72AHtLRZ+8+crfIjIYjcSid4DmRn2egaeuuBmTdwN5EKa7Ss//rhu+TqWGfkRxWDqsOQUjouXGt9m9GinxnADG68PnumOqEzc2d3vkX6sqCo92ko/7Gr6mafvppbUpjaPA8NIabiyeNI84igPGlwET+uOKg2ajyPR0RlgKNSofXup/H660AfErJcpWkuRiUWe8ATSCx4WDMflWcFILvBqKJZTPI018mwLsQNXbEe5kfMHdXolsP3fATjAJTYP+R7DSC1U/nSVGyV9D49TMBCLy9Q9oHT</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

View File

@ -0,0 +1,8 @@
cd codesign
New-SelfSignedCertificate -DnsName frank@zechert.net -Type CodeSigning -CertStoreLocation "Cert:\CurrentUser\My"
Export-Certificate -Cert (Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert)[0] -FilePath code_signing_frank_zechert.crt
Import-Certificate -FilePath code_signing_frank_zechert.crt -Cert Cert:\CurrentUser\TrustedPublisher
Import-Certificate -FilePath code_signing_frank_zechert.crt -Cert Cert:\CurrentUser\Root

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="Meeting Clock.application" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="Frank Zechert" asmv2:product="Meeting-Clock" asmv2:supportUrl="https://www.zechert.net/meeting-clock" co.v1:errorReportUrl="https://www.zechert.net/meeting-clock" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" co.v1:createDesktopShortcut="true">
<subscription>
<update>
<expiration maximumAge="0" unit="days" />
</update>
</subscription>
<deploymentProvider codebase="https://www.zechert.net/meeting-clock/release/x64/Meeting%20Clock.application" />
</deployment>
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.7.2" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="Application Files\Meeting Clock_1_0_0_0\Meeting Clock.exe.manifest" size="10155">
<assemblyIdentity name="Meeting Clock.exe" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>S0d0e2SPjw7wP/I9hOIxqRRTtU3+lPFQAPQ2glVlxJk=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<publisherIdentity name="CN=frank@zechert.net" issuerKeyHash="251fc1819b5c536d72e5971b11fde119eabc1a17" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>x/InnQyS4N+xbg5skmw/8wf2ikO7WXrsVcuCHf1lQL8=</DigestValue></Reference></SignedInfo><SignatureValue>c/H/VkpAD8EXjiHRE8PBO+0KJs+6OQuE2O+auV1cl84LwMbvpq+aY8Yx6/0d8HXh2/IGhz0W2YcLtzfpb6AC4ewOXMLpX8S4R8Hj4VnswURMYBZll0h2Rax7FMT3kzEIeROw7xC5DeuHKrlCfFG7wN385e1mB226BWWxMdTytQtf9acv3dSNR5t1h//bsZwR9XyILOdboqt7OnNR3V6RoftDDGboVVRcRis6xiDi0O/M4J799wtkibm+yl+QDhU6siUQvFHYLXAdBpW8dnxw52pFCKX24sX2cmVmPJfUyYtIBCOWgi3PwZEqjLg0iqC86sWryWmeenH19l6KGAYsTQ==</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="bf4065fd1d82cb55ec7a59bb438af607f33f6c926c0e6eb1dfe0920c9d27f2c7" Description="" Url=""><as:assemblyIdentity name="Meeting Clock.application" version="1.0.0.0" publicKeyToken="df350023158d4dc8" language="en" processorArchitecture="amd64" xmlns="urn:schemas-microsoft-com:asm.v1" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=frank@zechert.net</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>HRVXV1f2dTzF6TBDbgjLaarmuXLYj1aWjxNRfihxLVw=</DigestValue></Reference></SignedInfo><SignatureValue>piICvcB7Lv6NxbZmFCD+4NPJq7uaq6gfQM7UHtKdZ1pFJnfU9Tj948LgHt5NIremDU7z/uFlo948tP6U50CpT3K0qvnnbyxEUEo9m0nIilCJ/xQcoAu4omsENrDxSdSSbi30032zvgn7FzmbFteFoXguX2S6OPChXrJ5pVHx06hVEj3EsY/fQqX/nTzOdRNNDSgjdWLngj/d9XBIjhimrmVyT9D7GMBhBPSXpqnnK8RZei7GM3UY6rMSgAkqA9oZJwHglXPvEhESknRalmphRCsHtNeQFxzzLfnCDh0bCKWCIRFrsEMvp+ZDGDE51K4YTMjpfrYWrGUlXTAJkkT08A==</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQ==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIDJjCCAg6gAwIBAgIQQ/CGq8+PG7pDuyTJpPVJaDANBgkqhkiG9w0BAQsFADAcMRowGAYDVQQDDBFmcmFua0B6ZWNoZXJ0Lm5ldDAeFw0yMDEyMTgwMjU1MjVaFw0yMTEyMTgwMzE1MjVaMBwxGjAYBgNVBAMMEWZyYW5rQHplY2hlcnQubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0o7MrEX10FwagbiRqHXXWsPAt5CpXiFhox84l8UOmQKgvPSyhpQE4SSMtlxuKRX50UzbTdu9EAloeE2vlA8RiQiU0ZD/+EAc224Gx6/trHDQdYy4k4brKnxBWyp8ahoyHiFcQpeVMRiDcjvhe+iuVJ2tqLqKyOb5F5KMKSapk2RM+imaaNKsDt+AgbLvBiqTo44hImKXzxVT4zWpf9+Q3CrSPgTcTmlBtS2rkO/WPbzi9HUIaCZA3xYtFXUwPLoB/R8zpBbjo+PSmKmPxDAZp9GXsO1QUYkywOb+xILA0ZxIh7QKKhhldZcDNu5SyzmoRbACjwCYYz1wKoY0rwEtHQIDAQABo2QwYjAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHAYDVR0RBBUwE4IRZnJhbmtAemVjaGVydC5uZXQwHQYDVR0OBBYEFCUfwYGbXFNtcuWXGxH94RnqvBoXMA0GCSqGSIb3DQEBCwUAA4IBAQAl5Bu37BGhmElxYJzusWgh8LfVY5hcO+U/eHhZCmLBM5FkfouhaHFhvRMf72AHtLRZ+8+crfIjIYjcSid4DmRn2egaeuuBmTdwN5EKa7Ss//rhu+TqWGfkRxWDqsOQUjouXGt9m9GinxnADG68PnumOqEzc2d3vkX6sqCo92ko/7Gr6mafvppbUpjaPA8NIabiyeNI84igPGlwET+uOKg2ajyPR0RlgKNSofXup/H660AfErJcpWkuRiUWe8ATSCx4WDMflWcFILvBqKJZTPI018mwLsQNXbEe5kfMHdXolsP3fATjAJTYP+R7DSC1U/nSVGyV9D49TMBCLy9Q9oHT</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

Binary file not shown.