diff --git a/ArchonLightingSystem.csproj b/ArchonLightingSystem.csproj index 3e25566..0c0d11a 100644 --- a/ArchonLightingSystem.csproj +++ b/ArchonLightingSystem.csproj @@ -14,7 +14,7 @@ false - v4.5.2 + v4.8 @@ -88,6 +88,7 @@ + @@ -161,13 +162,14 @@ - + + @@ -217,6 +219,7 @@ Resources.resx True + @@ -240,7 +243,6 @@ - diff --git a/Forms/AppForm.cs b/Forms/AppForm.cs index f8ffbc6..0ba45ec 100644 --- a/Forms/AppForm.cs +++ b/Forms/AppForm.cs @@ -11,6 +11,7 @@ using ArchonLightingSystem.OpenHardware; using ArchonLightingSystem.Services; using ArchonLightingSystem.Forms; +using ArchonLightingSystem.OpenHardware.Startup; namespace ArchonLightingSystem { @@ -25,7 +26,7 @@ public partial class AppForm : Form private FirmwareUpdateForm firmwareForm = null; private HardwareManager hardwareManager = null; private SequencerForm sequencerForm = null; - private StartupService startupService = new StartupService(); + private StartupManager startupManager = new StartupManager(); private FanControllerService fanControllerService = new FanControllerService(); private List deviceAddressList = new List(); @@ -36,11 +37,14 @@ public partial class AppForm : Form private DragWindowSupport dragSupport = new DragWindowSupport(); private UserSettingsManager settingsManager = new UserSettingsManager(); private UserSettings userSettings = null; + private bool isHidden = false; + private bool allowVisible = false; + private bool allowClose = false; - public unsafe AppForm() + public unsafe AppForm(bool startInBackground) { - InitializeComponent(); - + InitializeComponent(); + dragSupport.Initialize(this, menuStrip1); dragSupport.DragWindowEvent += new DragWindowEventDelegate(DragWindowEventHandler); @@ -59,7 +63,8 @@ public unsafe AppForm() FormUpdateTimer.Enabled = true; - startWithWindowsToolStripMenuItem.Checked = startupService.Enabled; + startWithWindowsToolStripMenuItem.Enabled = startupManager.IsAvailable; + startWithWindowsToolStripMenuItem.Checked = startupManager.Startup; // Handle cleanup when the user logs off Microsoft.Win32.SystemEvents.SessionEnded += delegate { @@ -68,6 +73,31 @@ public unsafe AppForm() }; fanControllerService.BeginService(userSettings, usbApp, hardwareManager); + + allowVisible = !startInBackground; + isHidden = startInBackground; + } + + + + protected override void SetVisibleCore(bool value) + { + if (!allowVisible) + { + value = false; + if (!this.IsHandleCreated) CreateHandle(); + } + base.SetVisibleCore(value); + } + + protected override void OnFormClosing(FormClosingEventArgs e) + { + if (!allowClose) + { + HideForm(); + e.Cancel = true; + } + base.OnFormClosing(e); } void DragWindowEventHandler(object sender, DragWindowEventArgs args) @@ -305,18 +335,35 @@ private void cbo_DeviceAddress_SelectedIndexChanged(object sender, EventArgs e) private void closeToolStripMenuItem_Click(object sender, EventArgs e) { - this.Hide(); - FormUpdateTimer.Enabled = false; + HideForm(); } private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { - Show(); - FormUpdateTimer.Enabled = true; + ShowForm(); + } + + public void HideForm() + { + Hide(); + FormUpdateTimer.Enabled = false; + isHidden = true; + } + + public void ShowForm() + { + if (isHidden) + { + allowVisible = true; + Show(); + FormUpdateTimer.Enabled = true; + isHidden = false; + } } private void closeToolStripMenuItem1_Click(object sender, EventArgs e) { + allowClose = true; this.Close(); } @@ -327,15 +374,14 @@ private void txt_ControllerName_Leave(object sender, EventArgs e) private void startWithWindowsToolStripMenuItem_Click(object sender, EventArgs e) { - if(!startupService.Available) + if(!startupManager.IsAvailable) { MessageBox.Show("The startup service is not available."); return; } - startupService.Enabled = !startupService.Enabled; - - startWithWindowsToolStripMenuItem.Checked = startupService.Enabled; + startupManager.Startup = !startupManager.Startup; + startWithWindowsToolStripMenuItem.Checked = startupManager.Startup; } private void sequencerToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/Models/StartupService.cs b/Models/StartupService.cs deleted file mode 100644 index adf62e9..0000000 --- a/Models/StartupService.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; -using Microsoft.Win32; - -namespace ArchonLightingSystem.Models -{ - class StartupService - { - private const string registryPath = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"; - private const string appName = "ArchonLightingSystem"; - - private bool isEnabled = false; - private bool isAvailable = false; - private RegistryKey registryKey = null; - - public bool Enabled - { - get - { - return isEnabled; - } - set - { - if (!isAvailable) return; - SetRegistryValue(value); - } - } - - public bool Available - { - get - { - return isAvailable; - } - set - { - isAvailable = value; - } - } - - public StartupService() - { - try - { - registryKey = Registry.CurrentUser.OpenSubKey(registryPath, true); - object value = registryKey.GetValue(appName); - if(value != null && value.ToString() == Application.ExecutablePath) - { - isEnabled = true; - } - isAvailable = true; - } - catch - { - isAvailable = false; - isEnabled = false; - } - } - - private void SetRegistryValue(bool enable) - { - if (enable) - registryKey.SetValue(appName, Application.ExecutablePath); - else - registryKey.DeleteValue(appName, false); - - isEnabled = enable; - } - } -} - - diff --git a/OpenHardware/Startup/StartupManager.cs b/OpenHardware/Startup/StartupManager.cs new file mode 100644 index 0000000..03977a9 --- /dev/null +++ b/OpenHardware/Startup/StartupManager.cs @@ -0,0 +1,252 @@ +/* + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + + Copyright (C) 2009-2010 Michael Möller + Copyright (C) 2018-2019 Corey Shuman + +*/ + +using System; +using System.IO; +using System.Runtime.InteropServices; +using System.Security; +using System.Security.Principal; +using System.Windows.Forms; +using Microsoft.Win32; + +namespace ArchonLightingSystem.OpenHardware.Startup +{ + public class StartupManager + { + public bool IsAvailable { get; } + + private TaskSchedulerClass scheduler; + private bool startup; + private const string registryRunPath = + @"Software\Microsoft\Windows\CurrentVersion\Run"; + private const string appName = "ArchonLightingSystem"; + private const string folderName = "Archon Lighting System"; + private readonly string appPath = Application.ExecutablePath; + private readonly string appArgs = "/background"; + private string registryKeyValue; + + + + private bool IsAdministrator() + { + try + { + WindowsIdentity identity = WindowsIdentity.GetCurrent(); + WindowsPrincipal principal = new WindowsPrincipal(identity); + return principal.IsInRole(WindowsBuiltInRole.Administrator); + } + catch + { + return false; + } + } + + public StartupManager() + { + registryKeyValue = $"\"{appPath}\" {appArgs}"; + + int p = (int)System.Environment.OSVersion.Platform; + // check if Unix (4) or Unix on Mono 1.x/2.x (128) + if ((p == 4) || (p == 128)) + { + scheduler = null; + IsAvailable = false; + return; + } + + if (IsAdministrator()) + { + try + { + scheduler = new TaskSchedulerClass(); + scheduler.Connect(null, null, null, null); + } + catch + { + scheduler = null; + } + + if (scheduler != null) + { + try + { + // check if the taskscheduler is running + IRunningTaskCollection collection = scheduler.GetRunningTasks(0); + + ITaskFolder folder = scheduler.GetFolder("\\Archon Lighting System"); + IRegisteredTask task = folder.GetTask("Startup"); + startup = (task != null) && + (task.Definition.Triggers.Count > 0) && + (task.Definition.Triggers[1].Type == TASK_TRIGGER_TYPE2.TASK_TRIGGER_LOGON) && + (task.Definition.Actions.Count > 0) && + (task.Definition.Actions[1].Type == TASK_ACTION_TYPE.TASK_ACTION_EXEC) && + (task.Definition.Actions[1] as IExecAction != null) && + ((task.Definition.Actions[1] as IExecAction).Path == appPath); + + } + catch (IOException) + { + startup = false; + } + catch (UnauthorizedAccessException) + { + scheduler = null; + } + catch (COMException) + { + scheduler = null; + } + } + } + else + { + scheduler = null; + } + + if (scheduler == null) + { + try + { + using (RegistryKey key = + Registry.CurrentUser.OpenSubKey(registryRunPath)) + { + startup = false; + if (key != null) + { + string value = (string)key.GetValue(appName); + if (value != null) + startup = value == registryKeyValue; + } + } + IsAvailable = true; + } + catch (SecurityException) + { + IsAvailable = false; + } + } + else + { + IsAvailable = true; + } + } + + private void CreateSchedulerTask() + { + ITaskDefinition definition = scheduler.NewTask(0); + definition.RegistrationInfo.Description = + "This task starts the Archon Lighting System on Windows startup."; + definition.Principal.RunLevel = + TASK_RUNLEVEL.TASK_RUNLEVEL_HIGHEST; + definition.Settings.DisallowStartIfOnBatteries = false; + definition.Settings.StopIfGoingOnBatteries = false; + definition.Settings.ExecutionTimeLimit = "PT0S"; + + ILogonTrigger trigger = (ILogonTrigger)definition.Triggers.Create( + TASK_TRIGGER_TYPE2.TASK_TRIGGER_LOGON); + + IExecAction action = (IExecAction)definition.Actions.Create( + TASK_ACTION_TYPE.TASK_ACTION_EXEC); + action.Path = appPath; + action.Arguments = appArgs; + action.WorkingDirectory = + Path.GetDirectoryName(Application.ExecutablePath); + + ITaskFolder root = scheduler.GetFolder("\\"); + ITaskFolder folder; + try + { + folder = root.GetFolder(folderName); + } + catch (IOException) + { + folder = root.CreateFolder(folderName, ""); + } + folder.RegisterTaskDefinition("Startup", definition, + (int)TASK_CREATION.TASK_CREATE_OR_UPDATE, null, null, + TASK_LOGON_TYPE.TASK_LOGON_INTERACTIVE_TOKEN, ""); + } + + private void DeleteSchedulerTask() + { + ITaskFolder root = scheduler.GetFolder("\\"); + try + { + ITaskFolder folder = root.GetFolder(folderName); + folder.DeleteTask("Startup", 0); + } + catch (IOException) { } + try + { + root.DeleteFolder(folderName, 0); + } + catch (IOException) { } + } + + private void CreateRegistryRun() + { + RegistryKey key = Registry.CurrentUser.CreateSubKey(registryRunPath); + key.SetValue(appName, registryKeyValue); + } + + private void DeleteRegistryRun() + { + RegistryKey key = Registry.CurrentUser.CreateSubKey(registryRunPath); + key.DeleteValue(appName); + } + + + + public bool Startup + { + get + { + return startup; + } + set + { + if (startup != value) + { + if (IsAvailable) + { + if (scheduler != null) + { + if (value) + CreateSchedulerTask(); + else + DeleteSchedulerTask(); + startup = value; + } + else + { + try + { + if (value) + CreateRegistryRun(); + else + DeleteRegistryRun(); + startup = value; + } + catch (UnauthorizedAccessException) + { + throw new InvalidOperationException(); + } + } + } + else + { + throw new InvalidOperationException(); + } + } + } + } + } +} diff --git a/OpenHardware/Startup/TaskScheduler.cs b/OpenHardware/Startup/TaskScheduler.cs new file mode 100644 index 0000000..ad83f0e --- /dev/null +++ b/OpenHardware/Startup/TaskScheduler.cs @@ -0,0 +1,978 @@ +/* + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + + Copyright (C) 2009-2010 Michael Möller + Copyright (C) 2018-2019 Corey Shuman + +*/ + +using System; +using System.Collections; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +namespace ArchonLightingSystem.OpenHardware.Startup +{ + + [StructLayout(LayoutKind.Sequential, Pack = 2)] + public struct SYSTEMTIME + { + public ushort wYear; + public ushort wMonth; + public ushort wDayOfWeek; + public ushort wDay; + public ushort wHour; + public ushort wMinute; + public ushort wSecond; + public ushort wMilliseconds; + } + + public enum TASK_ACTION_TYPE + { + TASK_ACTION_COM_HANDLER = 5, + TASK_ACTION_EXEC = 0, + TASK_ACTION_SEND_EMAIL = 6, + TASK_ACTION_SHOW_MESSAGE = 7 + } + + public enum TASK_COMPATIBILITY + { + TASK_COMPATIBILITY_AT, + TASK_COMPATIBILITY_V1, + TASK_COMPATIBILITY_V2, + TASK_COMPATIBILITY_V2_1 + } + + public enum TASK_CREATION + { + TASK_CREATE = 2, + TASK_CREATE_OR_UPDATE = 6, + TASK_DISABLE = 8, + TASK_DONT_ADD_PRINCIPAL_ACE = 0x10, + TASK_IGNORE_REGISTRATION_TRIGGERS = 0x20, + TASK_UPDATE = 4, + TASK_VALIDATE_ONLY = 1 + } + + public enum TASK_ENUM_FLAGS + { + TASK_ENUM_HIDDEN = 1 + } + + public enum TASK_INSTANCES_POLICY + { + TASK_INSTANCES_PARALLEL, + TASK_INSTANCES_QUEUE, + TASK_INSTANCES_IGNORE_NEW, + TASK_INSTANCES_STOP_EXISTING + } + + public enum TASK_LOGON_TYPE + { + TASK_LOGON_NONE, + TASK_LOGON_PASSWORD, + TASK_LOGON_S4U, + TASK_LOGON_INTERACTIVE_TOKEN, + TASK_LOGON_GROUP, + TASK_LOGON_SERVICE_ACCOUNT, + TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD + } + + public enum TASK_RUN_FLAGS + { + TASK_RUN_AS_SELF = 1, + TASK_RUN_IGNORE_CONSTRAINTS = 2, + TASK_RUN_NO_FLAGS = 0, + TASK_RUN_USE_SESSION_ID = 4, + TASK_RUN_USER_SID = 8 + } + + public enum TASK_RUNLEVEL + { + TASK_RUNLEVEL_LUA, + TASK_RUNLEVEL_HIGHEST + } + + public enum TASK_SESSION_STATE_CHANGE_TYPE + { + TASK_CONSOLE_CONNECT = 1, + TASK_CONSOLE_DISCONNECT = 2, + TASK_REMOTE_CONNECT = 3, + TASK_REMOTE_DISCONNECT = 4, + TASK_SESSION_LOCK = 7, + TASK_SESSION_UNLOCK = 8 + } + + public enum TASK_STATE + { + TASK_STATE_UNKNOWN, + TASK_STATE_DISABLED, + TASK_STATE_QUEUED, + TASK_STATE_READY, + TASK_STATE_RUNNING + } + + public enum TASK_TRIGGER_TYPE2 + { + TASK_TRIGGER_BOOT = 8, + TASK_TRIGGER_DAILY = 2, + TASK_TRIGGER_EVENT = 0, + TASK_TRIGGER_IDLE = 6, + TASK_TRIGGER_LOGON = 9, + TASK_TRIGGER_MONTHLY = 4, + TASK_TRIGGER_MONTHLYDOW = 5, + TASK_TRIGGER_REGISTRATION = 7, + TASK_TRIGGER_SESSION_STATE_CHANGE = 11, + TASK_TRIGGER_TIME = 1, + TASK_TRIGGER_WEEKLY = 3 + } + + [ComImport, TypeLibType((short)0x10c0), Guid("BAE54997-48B1-4CBE-9965-D6BE263EBEA4")] + public interface IAction + { + [DispId(1)] + string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + TASK_ACTION_TYPE Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("02820E19-7B98-4ED2-B2E8-FDCCCEFF619B")] + public interface IActionCollection : IEnumerable + { + [DispId(1)] + int Count { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(0)] + IAction this[int index] { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(-4)] + new IEnumerator GetEnumerator(); + [DispId(2)] + string XmlText { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] + IAction Create([In] TASK_ACTION_TYPE Type); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] + void Remove([In, MarshalAs(UnmanagedType.Struct)] object index); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] + void Clear(); + [DispId(6)] + string Context { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + } + + [ComImport, Guid("2A9C35DA-D357-41F4-BBC1-207AC1B1F3CB"), TypeLibType((short)0x10c0)] + public interface IBootTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(20)] + string Delay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("6D2FD252-75C5-4F66-90BA-2A7D8CC3039F")] + public interface IComHandlerAction : IAction + { + [DispId(1)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + new TASK_ACTION_TYPE Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; } + [DispId(10)] + string ClassId { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] set; } + [DispId(11)] + string Data { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("126C5CD8-B288-41D5-8DBF-E491446ADC5C")] + public interface IDailyTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(0x19)] + short DaysInterval { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] set; } + [DispId(20)] + string RandomDelay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("10F62C64-7E16-4314-A0C2-0C3683F99D40")] + public interface IEmailAction : IAction + { + [DispId(1)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + new TASK_ACTION_TYPE Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; } + [DispId(10)] + string Server { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] set; } + [DispId(11)] + string Subject { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] set; } + [DispId(12)] + string To { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] set; } + [DispId(13)] + string Cc { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] set; } + [DispId(14)] + string Bcc { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(14)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(14)] set; } + [DispId(15)] + string ReplyTo { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(15)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(15)] set; } + [DispId(0x10)] + string From { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x10)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x10)] set; } + [DispId(0x11)] + ITaskNamedValueCollection HeaderFields { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x11)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x11)] set; } + [DispId(0x12)] + string Body { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x12)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x12)] set; } + [DispId(0x13)] + Array Attachments { [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x13)] get; [param: In, MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_VARIANT)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x13)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("D45B0167-9653-4EEF-B94F-0732CA7AF251")] + public interface IEventTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(20)] + string Subscription { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + [DispId(0x15)] + string Delay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] set; } + [DispId(0x16)] + ITaskNamedValueCollection ValueQueries { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x16)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x16)] set; } + } + + [ComImport, Guid("4C3D624D-FD6B-49A3-B9B7-09CB3CD3F047"), TypeLibType((short)0x10c0)] + public interface IExecAction : IAction + { + [DispId(1)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + new TASK_ACTION_TYPE Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; } + [DispId(10)] + string Path { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] set; } + [DispId(11)] + string Arguments { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] set; } + [DispId(12)] + string WorkingDirectory { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] set; } + } + + [ComImport, Guid("84594461-0053-4342-A8FD-088FABF11F32"), TypeLibType((short)0x10c0)] + public interface IIdleSettings + { + [DispId(1)] + string IdleDuration { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + string WaitTimeout { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + bool StopOnIdleEnd { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + bool RestartOnIdle { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + } + + [ComImport, Guid("D537D2B0-9FB3-4D34-9739-1FF5CE7B1EF3"), TypeLibType((short)0x10c0)] + public interface IIdleTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + } + + [ComImport, Guid("72DADE38-FAE4-4B3E-BAF4-5D009AF02B1C"), TypeLibType((short)0x10c0)] + public interface ILogonTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(20)] + string Delay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + [DispId(0x15)] + string UserId { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] set; } + } + + [ComImport, Guid("77D025A3-90FA-43AA-B52E-CDA5499B946A"), TypeLibType((short)0x10c0)] + public interface IMonthlyDOWTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(0x19)] + short DaysOfWeek { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] set; } + [DispId(0x1a)] + short WeeksOfMonth { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1a)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1a)] set; } + [DispId(0x1b)] + short MonthsOfYear { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1b)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1b)] set; } + [DispId(0x1c)] + bool RunOnLastWeekOfMonth { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1c)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1c)] set; } + [DispId(20)] + string RandomDelay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + } + + [ComImport, Guid("97C45EF1-6B02-4A1A-9C0E-1EBFBA1500AC"), TypeLibType((short)0x10c0)] + public interface IMonthlyTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(0x19)] + int DaysOfMonth { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] set; } + [DispId(0x1a)] + short MonthsOfYear { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1a)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1a)] set; } + [DispId(0x1b)] + bool RunOnLastDayOfMonth { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1b)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1b)] set; } + [DispId(20)] + string RandomDelay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + } + + [ComImport, Guid("9F7DEA84-C30B-4245-80B6-00E9F646F1B4"), TypeLibType((short)0x10c0)] + public interface INetworkSettings + { + [DispId(1)] + string Name { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + } + + [ComImport, Guid("D98D51E5-C9B4-496A-A9C1-18980261CF0F"), TypeLibType((short)0x10c0)] + public interface IPrincipal + { + [DispId(1)] + string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + string DisplayName { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + string UserId { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + TASK_LOGON_TYPE LogonType { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + string GroupId { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + TASK_RUNLEVEL RunLevel { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + } + + [ComImport, DefaultMember("Path"), Guid("9C86F320-DEE3-4DD1-B972-A303F26B061E"), TypeLibType((short)0x10c0), ComConversionLoss] + public interface IRegisteredTask + { + [DispId(1)] + string Name { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(0)] + string Path { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [DispId(2)] + TASK_STATE State { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; } + [DispId(3)] + bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] + IRunningTask Run([In, MarshalAs(UnmanagedType.Struct)] object parameters); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] + IRunningTask RunEx([In, MarshalAs(UnmanagedType.Struct)] object parameters, [In] int flags, [In] int sessionID, [In, MarshalAs(UnmanagedType.BStr)] string user); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] + IRunningTaskCollection GetInstances([In] int flags); + [DispId(8)] + DateTime LastRunTime { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(8)] get; } + [DispId(9)] + int LastTaskResult { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(9)] get; } + [DispId(11)] + int NumberOfMissedRuns { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; } + [DispId(12)] + DateTime NextRunTime { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] get; } + [DispId(13)] + ITaskDefinition Definition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] get; } + [DispId(14)] + string Xml { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(14)] get; } + [return: MarshalAs(UnmanagedType.BStr)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(15)] + string GetSecurityDescriptor([In] int securityInformation); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x10)] + void SetSecurityDescriptor([In, MarshalAs(UnmanagedType.BStr)] string sddl, [In] int flags); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x11)] + void Stop([In] int flags); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), TypeLibFunc((short)0x41), DispId(0x60020011)] + void GetRunTimes([In] ref SYSTEMTIME pstStart, [In] ref SYSTEMTIME pstEnd, [In, Out] ref uint pCount, [Out] IntPtr pRunTimes); + } + + [ComImport, TypeLibType((short)0x10c0), Guid("86627EB4-42A7-41E4-A4D9-AC33A72F2D52")] + public interface IRegisteredTaskCollection : IEnumerable + { + [DispId(0x60020000)] + int Count { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x60020000)] get; } + [DispId(0)] + IRegisteredTask this[object index] { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(-4)] + new IEnumerator GetEnumerator(); + } + + [ComImport, Guid("416D8B73-CB41-4EA1-805C-9BE9A5AC4A74"), TypeLibType((short)0x10c0)] + public interface IRegistrationInfo + { + [DispId(1)] + string Description { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + string Author { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(4)] + string Version { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + string Date { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + string Documentation { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(9)] + string XmlText { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(9)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(9)] set; } + [DispId(10)] + string URI { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] set; } + [DispId(11)] + object SecurityDescriptor { [return: MarshalAs(UnmanagedType.Struct)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; [param: In, MarshalAs(UnmanagedType.Struct)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] set; } + [DispId(12)] + string Source { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] set; } + } + + [ComImport, Guid("4C8FEC3A-C218-4E0C-B23D-629024DB91A2"), TypeLibType((short)0x10c0)] + public interface IRegistrationTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(20)] + string Delay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("7FB9ACF1-26BE-400E-85B5-294B9C75DFD6")] + public interface IRepetitionPattern + { + [DispId(1)] + string Interval { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + string Duration { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + bool StopAtDurationEnd { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + } + + [ComImport, Guid("653758FB-7B9A-4F1E-A471-BEEB8E9B834E"), TypeLibType((short)0x10c0), DefaultMember("InstanceGuid")] + public interface IRunningTask + { + [DispId(1)] + string Name { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(0)] + string InstanceGuid { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [DispId(2)] + string Path { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; } + [DispId(3)] + TASK_STATE State { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; } + [DispId(4)] + string CurrentAction { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; } + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] + void Stop(); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] + void Refresh(); + [DispId(7)] + uint EnginePID { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; } + } + + [ComImport, Guid("6A67614B-6828-4FEC-AA54-6D52E8F1F2DB"), TypeLibType((short)0x10c0)] + public interface IRunningTaskCollection : IEnumerable + { + [DispId(1)] + int Count { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(0)] + IRunningTask this[object index] { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(-4)] + new IEnumerator GetEnumerator(); + } + + [ComImport, Guid("754DA71B-4385-4475-9DD9-598294FA3641"), TypeLibType((short)0x10c0)] + public interface ISessionStateChangeTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(20)] + string Delay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + [DispId(0x15)] + string UserId { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] set; } + [DispId(0x16)] + TASK_SESSION_STATE_CHANGE_TYPE StateChange { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x16)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x16)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("505E9E68-AF89-46B8-A30F-56162A83D537")] + public interface IShowMessageAction : IAction + { + [DispId(1)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + new TASK_ACTION_TYPE Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; } + [DispId(10)] + string Title { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] set; } + [DispId(11)] + string MessageBody { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("F5BC8FC5-536D-4F77-B852-FBC1356FDEB6")] + public interface ITaskDefinition + { + [DispId(1)] + IRegistrationInfo RegistrationInfo { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + [DispId(2)] + ITriggerCollection Triggers { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(7)] + ITaskSettings Settings { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(11)] + string Data { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] set; } + [DispId(12)] + IPrincipal Principal { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] set; } + [DispId(13)] + IActionCollection Actions { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] set; } + [DispId(14)] + string XmlText { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(14)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(14)] set; } + } + + [ComImport, DefaultMember("Path"), Guid("8CFAC062-A080-4C15-9A88-AA7C2AF80DFC"), TypeLibType((short)0x10c0)] + public interface ITaskFolder + { + [DispId(1)] + string Name { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(0)] + string Path { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] + ITaskFolder GetFolder([MarshalAs(UnmanagedType.BStr)] string Path); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] + ITaskFolderCollection GetFolders([In] int flags); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] + ITaskFolder CreateFolder([In, MarshalAs(UnmanagedType.BStr)] string subFolderName, [In, Optional, MarshalAs(UnmanagedType.Struct)] object sddl); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] + void DeleteFolder([MarshalAs(UnmanagedType.BStr)] string subFolderName, [In] int flags); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] + IRegisteredTask GetTask([In, MarshalAs(UnmanagedType.BStr)] string Path); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(8)] + IRegisteredTaskCollection GetTasks([In] int flags); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(9)] + void DeleteTask([In, MarshalAs(UnmanagedType.BStr)] string Name, [In] int flags); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] + IRegisteredTask RegisterTask([In, MarshalAs(UnmanagedType.BStr)] string Path, [In, MarshalAs(UnmanagedType.BStr)] string XmlText, [In] int flags, [In, MarshalAs(UnmanagedType.Struct)] object UserId, [In, MarshalAs(UnmanagedType.Struct)] object password, [In] TASK_LOGON_TYPE LogonType, [In, Optional, MarshalAs(UnmanagedType.Struct)] object sddl); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] + IRegisteredTask RegisterTaskDefinition([In, MarshalAs(UnmanagedType.BStr)] string Path, [In, MarshalAs(UnmanagedType.Interface)] ITaskDefinition pDefinition, [In] int flags, [In, MarshalAs(UnmanagedType.Struct)] object UserId, [In, MarshalAs(UnmanagedType.Struct)] object password, [In] TASK_LOGON_TYPE LogonType, [In, Optional, MarshalAs(UnmanagedType.Struct)] object sddl); + [return: MarshalAs(UnmanagedType.BStr)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] + string GetSecurityDescriptor(int securityInformation); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] + void SetSecurityDescriptor([In, MarshalAs(UnmanagedType.BStr)] string sddl, [In] int flags); + } + + [ComImport, TypeLibType((short)0x10c0), Guid("79184A66-8664-423F-97F1-637356A5D812")] + public interface ITaskFolderCollection : IEnumerable + { + [DispId(0x60020000)] + int Count { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x60020000)] get; } + [DispId(0)] + ITaskFolder this[object index] { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(-4)] + new IEnumerator GetEnumerator(); + } + + [ComImport, Guid("839D7762-5121-4009-9234-4F0D19394F04"), InterfaceType((short)1)] + public interface ITaskHandler + { + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + void Start([In, MarshalAs(UnmanagedType.IUnknown)] object pHandlerServices, [In, MarshalAs(UnmanagedType.BStr)] string Data); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + void Stop([MarshalAs(UnmanagedType.Error)] out int pRetCode); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + void Pause(); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + void Resume(); + } + + [ComImport, Guid("EAEC7A8F-27A0-4DDC-8675-14726A01A38A"), InterfaceType((short)1)] + public interface ITaskHandlerStatus + { + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + void UpdateStatus([In] short percentComplete, [In, MarshalAs(UnmanagedType.BStr)] string statusMessage); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + void TaskCompleted([In, MarshalAs(UnmanagedType.Error)] int taskErrCode); + } + + [ComImport, Guid("B4EF826B-63C3-46E4-A504-EF69E4F7EA4D"), TypeLibType((short)0x10c0)] + public interface ITaskNamedValueCollection : IEnumerable + { + [DispId(1)] + int Count { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(0)] + ITaskNamedValuePair this[int index] { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(-4)] + new IEnumerator GetEnumerator(); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] + ITaskNamedValuePair Create([In, MarshalAs(UnmanagedType.BStr)] string Name, [In, MarshalAs(UnmanagedType.BStr)] string Value); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] + void Remove([In] int index); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] + void Clear(); + } + + [ComImport, TypeLibType((short)0x10c0), DefaultMember("Name"), Guid("39038068-2B46-4AFD-8662-7BB6F868D221")] + public interface ITaskNamedValuePair + { + [DispId(0)] + string Name { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] set; } + [DispId(1)] + string Value { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), DefaultMember("TargetServer"), Guid("2FABA4C7-4DA9-4013-9697-20CC3FD40F85")] + public interface ITaskService + { + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] + ITaskFolder GetFolder([In, MarshalAs(UnmanagedType.BStr)] string Path); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] + IRunningTaskCollection GetRunningTasks([In] int flags); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] + ITaskDefinition NewTask([In] uint flags); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] + void Connect([In, Optional, MarshalAs(UnmanagedType.Struct)] object serverName, [In, Optional, MarshalAs(UnmanagedType.Struct)] object user, [In, Optional, MarshalAs(UnmanagedType.Struct)] object domain, [In, Optional, MarshalAs(UnmanagedType.Struct)] object password); + [DispId(5)] + bool Connected { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; } + [DispId(0)] + string TargetServer { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [DispId(6)] + string ConnectedUser { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; } + [DispId(7)] + string ConnectedDomain { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; } + [DispId(8)] + uint HighestVersion { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(8)] get; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("8FD4711D-2D02-4C8C-87E3-EFF699DE127E")] + public interface ITaskSettings + { + [DispId(3)] + bool AllowDemandStart { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + string RestartInterval { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + int RestartCount { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + TASK_INSTANCES_POLICY MultipleInstances { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + bool StopIfGoingOnBatteries { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(8)] + bool DisallowStartIfOnBatteries { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(8)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(8)] set; } + [DispId(9)] + bool AllowHardTerminate { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(9)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(9)] set; } + [DispId(10)] + bool StartWhenAvailable { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(10)] set; } + [DispId(11)] + string XmlText { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(11)] set; } + [DispId(12)] + bool RunOnlyIfNetworkAvailable { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(12)] set; } + [DispId(13)] + string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(13)] set; } + [DispId(14)] + bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(14)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(14)] set; } + [DispId(15)] + string DeleteExpiredTaskAfter { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(15)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(15)] set; } + [DispId(0x10)] + int Priority { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x10)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x10)] set; } + [DispId(0x11)] + TASK_COMPATIBILITY Compatibility { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x11)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x11)] set; } + [DispId(0x12)] + bool Hidden { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x12)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x12)] set; } + [DispId(0x13)] + IIdleSettings IdleSettings { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x13)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x13)] set; } + [DispId(20)] + bool RunOnlyIfIdle { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + [DispId(0x15)] + bool WakeToRun { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x15)] set; } + [DispId(0x16)] + INetworkSettings NetworkSettings { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x16)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x16)] set; } + } + + [ComImport, Guid("2C05C3F0-6EED-4C05-A15F-ED7D7A98A369"), TypeLibType((short)0x10c0)] + public interface ITaskSettings2 + { + [DispId(30)] + bool DisallowStartOnRemoteAppSession { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(30)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(30)] set; } + [DispId(0x1f)] + bool UseUnifiedSchedulingEngine { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1f)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1f)] set; } + } + + [ComImport, Guid("3E4C9351-D966-4B8B-BB87-CEBA68BB0107"), InterfaceType((short)1)] + public interface ITaskVariables + { + [return: MarshalAs(UnmanagedType.BStr)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + string GetInput(); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + void SetOutput([In, MarshalAs(UnmanagedType.BStr)] string input); + [return: MarshalAs(UnmanagedType.BStr)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + string GetContext(); + } + + [ComImport, Guid("B45747E0-EBA7-4276-9F29-85C5BB300006"), TypeLibType((short)0x10c0)] + public interface ITimeTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(20)] + string RandomDelay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("09941815-EA89-4B5B-89E0-2A773801FAC3")] + public interface ITrigger + { + [DispId(1)] + TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + } + + [ComImport, TypeLibType((short)0x10c0), Guid("85DF5081-1B24-4F32-878A-D9D14DF4CB77")] + public interface ITriggerCollection : IEnumerable + { + [DispId(1)] + int Count { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(0)] + ITrigger this[int index] { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(-4)] + new IEnumerator GetEnumerator(); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] + ITrigger Create([In] TASK_TRIGGER_TYPE2 Type); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] + void Remove([In, MarshalAs(UnmanagedType.Struct)] object index); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] + void Clear(); + } + + [ComImport, Guid("5038FC98-82FF-436D-8728-A512A57C9DC1"), TypeLibType((short)0x10c0)] + public interface IWeeklyTrigger : ITrigger + { + [DispId(1)] + new TASK_TRIGGER_TYPE2 Type { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] get; } + [DispId(2)] + new string Id { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] set; } + [DispId(3)] + new IRepetitionPattern Repetition { [return: MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] get; [param: In, MarshalAs(UnmanagedType.Interface)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] set; } + [DispId(4)] + new string ExecutionTimeLimit { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] set; } + [DispId(5)] + new string StartBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] set; } + [DispId(6)] + new string EndBoundary { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] set; } + [DispId(7)] + new bool Enabled { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] set; } + [DispId(0x19)] + short DaysOfWeek { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x19)] set; } + [DispId(0x1a)] + short WeeksInterval { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1a)] get; [param: In] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0x1a)] set; } + [DispId(20)] + string RandomDelay { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] get; [param: In, MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(20)] set; } + } + + [ComImport, Guid("839D7762-5121-4009-9234-4F0D19394F04"), CoClass(typeof(TaskHandlerPSClass))] + public interface TaskHandlerPS : ITaskHandler + { + } + + [ComImport, TypeLibType((short)2), ClassInterface((short)0), Guid("F2A69DB7-DA2C-4352-9066-86FEE6DACAC9")] + public class TaskHandlerPSClass : ITaskHandler, TaskHandlerPS + { + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern void Pause(); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern void Resume(); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern void Start([In, MarshalAs(UnmanagedType.IUnknown)] object pHandlerServices, [In, MarshalAs(UnmanagedType.BStr)] string Data); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern void Stop([MarshalAs(UnmanagedType.Error)] out int pRetCode); + } + + [ComImport, Guid("EAEC7A8F-27A0-4DDC-8675-14726A01A38A"), CoClass(typeof(TaskHandlerStatusPSClass))] + public interface TaskHandlerStatusPS : ITaskHandlerStatus + { + } + + [ComImport, ClassInterface((short)0), Guid("9F15266D-D7BA-48F0-93C1-E6895F6FE5AC"), TypeLibType((short)2)] + public class TaskHandlerStatusPSClass : ITaskHandlerStatus, TaskHandlerStatusPS, ITaskVariables + { + [return: MarshalAs(UnmanagedType.BStr)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern string GetContext(); + [return: MarshalAs(UnmanagedType.BStr)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern string GetInput(); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern void SetOutput([In, MarshalAs(UnmanagedType.BStr)] string input); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern void TaskCompleted([In, MarshalAs(UnmanagedType.Error)] int taskErrCode); + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public virtual extern void UpdateStatus([In] short percentComplete, [In, MarshalAs(UnmanagedType.BStr)] string statusMessage); + } + + [ComImport, CoClass(typeof(TaskSchedulerClass)), Guid("2FABA4C7-4DA9-4013-9697-20CC3FD40F85")] + public interface TaskScheduler : ITaskService + { + } + + [ComImport, ClassInterface((short)0), DefaultMember("TargetServer"), Guid("0F87369F-A4E5-4CFC-BD3E-73E6154572DD"), TypeLibType((short)2)] + public class TaskSchedulerClass : ITaskService, TaskScheduler + { + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(4)] + public virtual extern void Connect([In, Optional, MarshalAs(UnmanagedType.Struct)] object serverName, [In, Optional, MarshalAs(UnmanagedType.Struct)] object user, [In, Optional, MarshalAs(UnmanagedType.Struct)] object domain, [In, Optional, MarshalAs(UnmanagedType.Struct)] object password); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(1)] + public virtual extern ITaskFolder GetFolder([In, MarshalAs(UnmanagedType.BStr)] string Path); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(2)] + public virtual extern IRunningTaskCollection GetRunningTasks([In] int flags); + [return: MarshalAs(UnmanagedType.Interface)] + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(3)] + public virtual extern ITaskDefinition NewTask([In] uint flags); + + [DispId(5)] + public virtual extern bool Connected { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(5)] get; } + [DispId(7)] + public virtual extern string ConnectedDomain { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(7)] get; } + [DispId(6)] + public virtual extern string ConnectedUser { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(6)] get; } + [DispId(8)] + public virtual extern uint HighestVersion { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(8)] get; } + [DispId(0)] + public virtual extern string TargetServer { [return: MarshalAs(UnmanagedType.BStr)] [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime), DispId(0)] get; } + } +} diff --git a/Program.cs b/Program.cs index 13a6e37..d5eec5e 100644 --- a/Program.cs +++ b/Program.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.ObjectModel; using System.Windows.Forms; +using Microsoft.VisualBasic.ApplicationServices; namespace ArchonLightingSystem { @@ -13,7 +15,59 @@ static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new AppForm()); + + string[] args = Environment.GetCommandLineArgs(); + SingleInstanceController controller = new SingleInstanceController(); + controller.Run(args); + //Application.Run(new AppForm()); + } + + public class SingleInstanceController : WindowsFormsApplicationBase + { + private bool startInBackground = false; + + public SingleInstanceController() + { + IsSingleInstance = true; + + Startup += StartupHandler; + StartupNextInstance += StartupNextInstanceHandler; + } + + private void StartupHandler(object sender, StartupEventArgs e) + { + ProcessStartupArguments(e.CommandLine); + } + + void StartupNextInstanceHandler(object sender, StartupNextInstanceEventArgs e) + { + ProcessStartupArguments(e.CommandLine); + if (!startInBackground) + { + AppForm form = MainForm as AppForm; + form.ShowForm(); + } + } + + protected override void OnCreateMainForm() + { + MainForm = new AppForm(startInBackground); + } + + private void ProcessStartupArguments(ReadOnlyCollection args) + { + startInBackground = false; + + foreach (string arg in args) + { + switch(arg) + { + case "/background": startInBackground = true; break; + } + } + + + } } } } \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs index b6765f4..2cff9fd 100644 --- a/Properties/Settings.Designer.cs +++ b/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace ArchonLightingSystem.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.7.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/app.config b/app.config index f198d1d..9137705 100644 --- a/app.config +++ b/app.config @@ -5,7 +5,7 @@
- + diff --git a/latest.hex b/latest.hex deleted file mode 100644 index 4ba39f2..0000000 --- a/latest.hex +++ /dev/null @@ -1,1648 +0,0 @@ -:020000040000fa -:020000041fc01b -:040bf000ffffff3fc5 -:020000040000fa -:020000041fc01b -:040bf400fa7af9ff91 -:020000040000fa -:020000041fc01b -:040bf8005bce6cfd67 -:020000040000fa -:020000041fc01b -:040bfc00e0ffff7f98 -:020000040000fa -:020000041d00dd -:10700000021c400f0000000000601a40c0045a7fbc -:107010000500401300000000019d1a3cd4ba5a2715 -:10702000080040030000000000a01d3ce83fbd2711 -:1070300000a01c3cf07f9c27019d083c05bb082557 -:1070400009f800010000000000a0083c100008251d -:1070500000a0093c1c0529250600001000000000c6 -:10706000000000ad040000ad080000ad0c0000ad54 -:10707000100008252b080901f9ff2014000000006a -:10708000019d083c64ff082509f80001000000008c -:107090000000093c0000292510002011000000001c -:1070a0000000093cf03f292588bf0a3c10204a25f2 -:1070b000000049ad0000093cf03f292588bf0a3c8b -:1070c00020204a25000049ad0000093cf03f292559 -:1070d00088bf0a3c30204a25000049ad0048804066 -:1070e000ffff0a2400588a404000083c00600a4024 -:1070f00025500a0100608a40009d093c0060292556 -:10710000c0000000017889400000093c01002925e9 -:1071100000000a2444492a7d01608a408000093c1d -:1071200000688940008008408005097d404c0900c6 -:10713000006008405800013c24400101254028011e -:1071400000608840c0000000019d083c09bb082584 -:1071500009f800010000000000600840bfff013c8a -:10716000ffff21342440010100608840000084308a -:107170000000a530019d083c94b8082508000001d6 -:04718000000000000b -:020000040000fa -:020000041d00dd -:10738000019d1a3ce8b85a2708004003000000009d -:020000040000fa -:020000041d00dd -:10618000019d1a3c64b45a27080040030000000037 -:020000040000fa -:020000041d00dd -:086200005e2e400b00000000bf -:020000040000fa -:020000041d00dd -:086220005e2e400b000000009f -:020000040000fa -:020000041d00dd -:086240005e2e400b000000007f -:020000040000fa -:020000041d00dd -:086260005e2e400b000000005f -:020000040000fa -:020000041d00dd -:08628000e029400b00000000c2 -:020000040000fa -:020000041d00dd -:0862a0005e2e400b000000001f -:020000040000fa -:020000041d00dd -:0862c0005e2e400b00000000ff -:020000040000fa -:020000041d00dd -:0862e0005e2e400b00000000df -:020000040000fa -:020000041d00dd -:086300005e2e400b00000000be -:020000040000fa -:020000041d00dd -:086320005e2e400b000000009e -:020000040000fa -:020000041d00dd -:086340005e2e400b000000007e -:020000040000fa -:020000041d00dd -:086360005e2e400b000000005e -:020000040000fa -:020000041d00dd -:086380005e2e400b000000003e -:020000040000fa -:020000041d00dd -:0863a0005e2e400b000000001e -:020000040000fa -:020000041d00dd -:0863c0005e2e400b00000000fe -:020000040000fa -:020000041d00dd -:0863e0005e2e400b00000000de -:020000040000fa -:020000041d00dd -:086400005e2e400b00000000bd -:020000040000fa -:020000041d00dd -:086420005e2e400b000000009d -:020000040000fa -:020000041d00dd -:086440005e2e400b000000007d -:020000040000fa -:020000041d00dd -:086460005e2e400b000000005d -:020000040000fa -:020000041d00dd -:08648000c927400b00000000d9 -:020000040000fa -:020000041d00dd -:0864a0005e2e400b000000001d -:020000040000fa -:020000041d00dd -:0864c0005e2e400b00000000fd -:020000040000fa -:020000041d00dd -:0864e0005e2e400b00000000dd -:020000040000fa -:020000041d00dd -:086500005e2e400b00000000bc -:020000040000fa -:020000041d00dd -:086520005e2e400b000000009c -:020000040000fa -:020000041d00dd -:086540005e2e400b000000007c -:020000040000fa -:020000041d00dd -:086560005e2e400b000000005c -:020000040000fa -:020000041d00dd -:086580005e2e400b000000003c -:020000040000fa -:020000041d00dd -:0865a0005e2e400b000000001c -:020000040000fa -:020000041d00dd -:0865c0005e2e400b00000000fc -:020000040000fa -:020000041d00dd -:0865e0005e2e400b00000000dc -:020000040000fa -:020000041d00dd -:086600005e2e400b00000000bb -:020000040000fa -:020000041d00dd -:086620005e2e400b000000009b -:020000040000fa -:020000041d00dd -:086640005e2e400b000000007b -:020000040000fa -:020000041d00dd -:086660005e2e400b000000005b -:020000040000fa -:020000041d00dd -:086680005e2e400b000000003b -:020000040000fa -:020000041d00dd -:0866a0005e2e400b000000001b -:020000040000fa -:020000041d00dd -:0866c0005e2e400b00000000fb -:020000040000fa -:020000041d00dd -:0866e0005e2e400b00000000db -:020000040000fa -:020000041d00dd -:086700005e2e400b00000000ba -:020000040000fa -:020000041d00dd -:086720005e2e400b000000009a -:020000040000fa -:020000041d00dd -:086740005e2e400b000000007a -:020000040000fa -:020000041d00dd -:086760005e2e400b000000005a -:020000040000fa -:020000041d00dd -:04eff0000108000014 -:020000040000fa -:020000041d00dd -:1074a00000a0023cc80443944000622c3e004010ff -:1074b00000a0043cb280849304008014ff0062307a -:1074c00001000424381d400bb28084a30100052470 -:1074d0000400851400a0043c02000424b28084a3ac -:1074e00000a0043cc004842400ff6330080083a48f -:1074f0007c80838fff00453002006690020065a00b -:10750000030065900408057c030065a000a0033c0f -:1075100040046324688083af0400838c01006330df -:1075200005006010000000001200401400a0053c9f -:107530000800e00300000000fdff401000a0053c33 -:107540006880838f01006424688084afc004a48ca9 -:1075500001008624c004a6ac00008490ffff4224f2 -:10756000ff004230f6ff4014000064a00800e00372 -:10757000000000006880838f01006424688084af6d -:10758000c004a48c01008624c004a6ac0000849032 -:10759000ffff4224ff004230f6ff4014000064a0c9 -:1075a0000800e00300000000c0048424c0ff63243e -:1075b000080083a47c80828f020043904000032453 -:1075c000020043a0030043900408037c030043a08f -:1075d00000a0023c40044224688082af0400828cf8 -:1075e00001004230d4ff4010400002245d1d400bda -:1075f00000a0053c0800032488bf023c741043ac83 -:10760000ff00022488bf033c205262ac88bf033cc9 -:10761000005262ac88bf023c005340ac88bf023cc1 -:10762000105340ac88bf023ce05240ac9f000224a3 -:1076300088bf033c305262ac88bf033c105262ac3e -:1076400088bf023c7050438c0f006330705043acd5 -:107650007050438c705043ac88bf023c80504390c4 -:10766000010004240400837c805043a000a0023c5d -:107670000004422400e0427c0226020088bf033c52 -:10768000d05264ac0224020088bf033cc05264acf8 -:107690000212020088bf033c705262ac211000004d -:1076a00000a0053c0004a52408000424c018020022 -:1076b000211865002130000021380000000066ac70 -:1076c000040067ac01004224f9ff4414c018020012 -:1076d00088bf023c50524390010004244408837c3c -:1076e000505243a088bf033c605260ac505243905c -:1076f0004429037c505243a0505243904408037cd9 -:10770000505243a088bf023c0052428c08004230d5 -:107710000f00401088bf053c0800042488bf033ccc -:107720000052a4ac0052628c08004230fcff4014ae -:1077300000a0023cc40440a000a0023c100542246a -:10774000040040a00400438c04ba037c040043ac52 -:1077500001000224888082af8c8082af6c8080af71 -:10776000708080afa08080af908080afb08080a319 -:10777000848080a3808080af948080afb18080a31c -:10778000858080a300a0023c100442247c8082af4c -:107790000d00032488bf023c005343ac00a0033c0f -:1077a00000046224a880842700e0847c040044aca8 -:1077b00002004494400005240448a47c020044a430 -:1077c00084000224000462a4b88080a30800e003bf -:1077d000748080af0800a230ff00423014004010d7 -:1077e0000400a2304019040000a0023c000442241e -:1077f0002110430000004390c439037c000043a0e3 -:1078000080180400908086272118c300000062ac15 -:10781000000043908431037c000043a008004390a3 -:10782000010006248431c37c080043a00400a23078 -:10783000ff004230150040500021040040190400b0 -:107840001000632400a0023c0004422421104300e5 -:1078500000004390c439037c000043a0801804005a -:107860007c8086272118c300000062ac0000439092 -:107870008431037c000043a00800439001000624eb -:107880008431c37c080043a00021040088bf023c6f -:1078900000534224212044000800e003000085a09a -:1078a0000500a010801004007c8083272110620056 -:1078b000311e400b0000428c908083272110620013 -:1078c0000000428c2d00401000e0c67c070046a856 -:1078d000040046b8ff00e73002004390020047a0d2 -:1078e000030043900408037c030043a0000043907e -:1078f0000100469040006330ffff6330ff006330bb -:1079000000004690000043a001004390010040a009 -:1079100000004690ff00c63001004390ff00633036 -:10792000001a03002518660088006334ff006630e3 -:1079300000004790000046a0021a03000100469094 -:10794000010043a00700a010802004007c80832752 -:107950002120640000008390080063380800e003e1 -:10796000000083a090808327212064000000839082 -:10797000080063380800e003000083a00800e0036b -:10798000211000001a008054402004009c80828f47 -:107990000200439040000324020043a003004390f0 -:1079a0000408037c030043a09c80828fa880832767 -:1079b00000e0637c070043a8040043b80000439044 -:1079c0008cff0324000043a001004390010040a06d -:1079d0007c80828f0000439084ff0324000043a03a -:1079e00001004390010040a00800e00300000000f7 -:1079f000212885000011050000a0033c0004632439 -:107a0000211062000000449484008434000044a4e7 -:107a10000011050008004224211062000000439478 -:107a2000840063340800e003000043a488bf023ce4 -:107a30005052428c2000423033004010802004001d -:107a40007c808227212044000000828c030045882e -:107a50000000459807004388040043984000a53083 -:107a600021180000030045a8000045b8070043a8fe -:107a7000040043b80000828c03004588000045984c -:107a800007004388040043984000a538030045a838 -:107a9000000045b8070043a8040043b800008290e6 -:107aa00008004238000082a00000828c0000439051 -:107ab0000100459040006330ffff6330ff006330fa -:107ac00000004590000043a001004390010040a049 -:107ad0000000828c00004490ff008430010043903d -:107ae000ff006330001a030025186400400063386b -:107af000ff00643000004590000044a0021a03001b -:107b000001004490010043a00800e00300000000d1 -:107b10008880828f1700401401000224888082af81 -:107b20008c80828f13004014010002248c8082af6d -:107b30007880829302000324100043140100032480 -:107b40007c8083270000628c02004490020040a0e9 -:107b5000030044900408047c030044a00000628ced -:107b600000004390c8ff0324000043a0010043909d -:107b7000010040a00800e0030000000023004314bf -:107b800000000000988080afb480828f0200439094 -:107b900040000424020044a0030043900408037c36 -:107ba000030043a0b480828fa880832700e0637c19 -:107bb000070043a8040043b80000459084ff052453 -:107bc000000045a001004590010040a001000224f2 -:107bd000988082af9c80828f02004590020044a072 -:107be000030044900408047c030044a09c80828f1e -:107bf000070043a8040043b80000439080ff03241b -:107c0000000043a001004390010040a00800e003f1 -:107c100000000000e8ffbd271400bfaf6c8080affc -:107c2000708080af78808393020002241400621475 -:107c30009c80828f0200439040000324020043a0f6 -:107c4000030043900408037c030043a09c80828fc0 -:107c500000a0033c4004632400e0637c070043a8c9 -:107c6000040043b800004390c8ff0324000043a071 -:107c700001004390010040a0381f400b1400bf8f4b -:107c8000ae808297ffff423000a0033cc80463949b -:107c90002b1043000400401000000000ae808397ca -:107ca00000a0023cc80443a4281d400f00000000af -:107cb0007c80828f00a0033c4004632400e0637c4e -:107cc000070043a8040043b800004390c8ff032402 -:107cd000000043a001004390010040a01400bf8faa -:107ce0000800e0031800bd27b8ffbd274400bfaf60 -:107cf0004000beaf3c00b7af3800b6af3400b5af00 -:107d00003000b4af2c00b3af2800b2af2400b1af45 -:107d10002000b0af7480828f200040140100032443 -:107d200088bf023c505240ac88bf023c105240ac6d -:107d300088bf033ce05260ac9f00032488bf043c32 -:107d4000305283ac105243ac88bf023c7050438c1d -:107d50000f006330705043ac7050438c705043ac94 -:107d600088bf023c5052428c010042300d0040144a -:107d700088bf023c01000424505243900400837cdd -:107d8000505243a05052438c01006330faff601000 -:107d9000ff0003246b1f400b88bf023c11004314fb -:107da00088bf023cff00032488bf023c005243ac62 -:107db00088bf023c105240ac88bf023c1052439036 -:107dc000010004240400837c105243a0105243900d -:107dd0000421837c105243a002000224748082afed -:107de00088bf023c4050428c1000423014004010ca -:107df00088bf023c88bf023c5050428c1000423089 -:107e00000f00401088bf023c88bf103c10001124b6 -:107e1000405011aea08080af7400042421280000df -:107e2000942b400f2130000088bf023c50504390fb -:107e30000421037c505043a0405011ae88bf023c47 -:107e40008050428c020042300500401088bf023c46 -:107e5000fa3f407745000424ec23400b4400bf8fd9 -:107e60000052428c010042300e00401088bf023c9c -:107e700088bf023c1052428c010042300900401081 -:107e800088bf023c7d1d400f00000000040002245a -:107e9000748082af0100032488bf023c005243accf -:107ea00088bf023c0052428c100042301500401046 -:107eb00088bf023c88bf023c1052428c1000423006 -:107ec0001000401088bf023c88bf033c50506490b3 -:107ed000010002240421447c505064a088bf103c5f -:107ee00010001124005211aea08082af750004244e -:107ef00021280000942b400f21300000005211aec9 -:107f000088bf023c0052428c0400423016004010f0 -:107f100088bf023c88bf023c1052428c04004230b1 -:107f200006004010040003247300042421280000ec -:107f3000942b400f010006240400032488bf023c58 -:107f4000005243aca480829304004010ffff4224ff -:107f5000ff00423003004014a48082a3c41e400fdf -:107f60000000000088bf023c0052428c800042307a -:107f70002b00401088bf023c88bf023c1052428c4c -:107f8000800042302600401088bf023c88bf023c7f -:107f90000053428c020042301d004010b480828f9a -:107fa00000004390ff00633001004490ff008430e4 -:107fb0000022040025208300800003241100835444 -:107fc00088bf023c7c80838f00006490ff00843077 -:107fd00001006390ff006330001a03002520640055 -:107fe000840003240700835488bf023c00004390b0 -:107ff0008cff0324000043a001004390010040a037 -:1080000088bf023c005343904408037c005343a0c4 -:108010008000032488bf023c005243ac88bf023c6e -:108020000052428c02004230120040107480828f55 -:1080300088bf023c1052428c020042300d004010ba -:108040007480828fff7f043cffff8434212800006e -:10805000942b400f01000624ff00032488bf023c3c -:10806000205243ac0200032488bf023c005243acc0 -:108070007480828f0400422c0500401088bf023caf -:10808000fa3f407745000424ec23400b4400bf8fa7 -:108090001052428c08004230c203401088bf023c9c -:1080a0000052428c08004230be03401004001024ed -:1080b00088bf123c080014242188800200a0163cce -:1080c0004004d32600e07e7e00a0153c019d023cca -:1080d000fcb542243b20400b1800a2af0052428c5a -:1080e00008004230af0340100000000088bf023c8f -:1080f0004052458cff00a230c08082a3c080838f95 -:108100000019637cff00643021308000798083a3f4 -:10811000005251ae08004330ff0063300900601484 -:10812000b08083278480832721206400000083900f -:108130000000677c0100e7380400e37c5720400b17 -:10814000000083a021206400000083900000677c71 -:108150000100e7380400e37c000083a08a03c01418 -:10816000720004242d000324fb00a5303703a01463 -:10817000a48083a382100200c010020000a0033c70 -:108180000004632421106200b48082af9c8082af1f -:10819000080043389c8083a3000044903c00843056 -:1081a00034000324ad028314a88097270800e62634 -:1081b0002118e00200a0053c0400448c2520850025 -:1081c00000008490000064a00400448c010084241a -:1081d000040044ac01006324f7ff661400000000b3 -:1081e00000e0f77e040057acb28080a3c88080af67 -:1081f0006c8080af708080af988080af788080a3e3 -:108200007c8082270000438c000064900100659010 -:10821000ff00a530002a05007f008430252085005e -:10822000ff00853000006690000065a00222040077 -:1082300001006590010064a00000439008006338cd -:10824000000043a00000438c000064900100659092 -:10825000ff00a530002a05007f008430252085001e -:10826000ff00853000006690000065a00222040037 -:1082700001006590010064a000004390080063388d -:10828000000043a09c80828f000043900100449036 -:10829000ff008430002204007f0063302518640052 -:1082a000ff00643000004590000044a0021a030063 -:1082b00001004490010043a0c004a226040040a095 -:1082c000080040a400a0023c10054224040040a085 -:1082d0000400438c04ba037c040043aca88082935e -:1082e00060004230fd01401403000424a980829301 -:1082f000ff0042300c00432cf80160108010020097 -:10830000019d033c18836324211062000000428c0d -:1083100008004000000000004885009d7c86009d0c -:10832000d88a009d7c86009dd88a009d4883009d48 -:108330006483009dc88a009d2085009d4c84009d1b -:10834000648a009d988a009dc004a2260400439080 -:1083500001000424c439837c040043a0b622400bee -:10836000748091afa8808393ff0063308000022463 -:10837000da01621403000424c004a226c0ff03240f -:10838000040043a0ab808293ff004230020003242c -:108390000b004310030003241700431001000324c3 -:1083a00028004314c004a2261800a28fc004a2ae65 -:1083b000c004a22612000324b722400b080043a4e5 -:1083c000aa808293ff00423080100200019d033c8e -:1083d0004cb56324211062000000428cc004a2aea0 -:1083e00002004490c004a326080064a00300429049 -:1083f000b622400b090062a0aa808293ff0042309f -:108400000300422c0d004010c004a226aa808293d3 -:10841000ff00423080100200019d033c40b5632400 -:10842000211062000000428cc004a2aec004a3264a -:1084300000004290b622400b080062a4b622400b16 -:10844000040040a0b622400b040040a0c004a226b5 -:108450000400439001000424c439837c040043a039 -:1084600088bf023c105340ac2110000000a0043c27 -:1084700000048424c0180200211864002130000088 -:1084800021380000000066ac040067ac0100422403 -:10849000f9ff5414c018020088bf023c50524390a8 -:1084a000010004244408837c505243a0b08080a380 -:1084b000848080a3b18080a3858080a3c48080a3b2 -:1084c000505243904408037c505243a000a0023c09 -:1084d000100442247c8082af00a0023c00044224ad -:1084e000b48082af9c8082afaa808293ff0042302a -:1084f00004004014b88082a310000224b622400b6e -:10850000748082af01000424b8808527942b400f2b -:108510000100062420000224b622400b748082afa2 -:10852000b8808227c004a2aec004a22604004490f2 -:10853000010003240400647c080043a0c439647c67 -:10854000b622400b040044a04004c0a2010060a277 -:10855000a880828f1f0042300100032417004310bf -:10856000020003241b004350c004a226370040141d -:10857000c004a226c004a3260400649001000224c3 -:10858000c439447c040064a04004c392ff006330fb -:10859000010063344004c3a2bc80838f2b0062546b -:1085a000c004a2264004c292ff00423002004234be -:1085b0004004c2a29321400bc004a226c004a226fc -:1085c0000400439001000424c439837c9321400bb0 -:1085d000040043a00400439001000424c439837cb8 -:1085e000040043a0ac80829380004230ff00423000 -:1085f0000800401400000000ac80828f0f00423061 -:108600008010020090808327211062008b21400b94 -:108610000000428cac80828f0f004230801002003c -:108620007c808327211062000000428c0000439070 -:10863000840063308400022404006214c004a22673 -:10864000010002244004c2a2c004a2260400428cfd -:108650008000423020014010c004a226c004b3ae06 -:1086600004004390010004240400837c040043a020 -:1086700002000324b622400b080043a0aa80839383 -:10868000ff006330010002241000621400000000ab -:10869000a88082931f0042300c004014c004a22620 -:1086a0000400439001000424c439837c040043a0e7 -:1086b000a9808393ff006330030002240300625407 -:1086c000bc8080af01000224bc8082afaa8082936c -:1086d000ff0042300101401403000424a88083936a -:1086e0001f00633002000224fd00621421280000f4 -:1086f000ac8082930f004230f9004010000000006f -:10870000ac80828f0f00423002004228f4004010fb -:10871000200002247480838ff1006214c004a2261a -:108720000400439001000424c439837c040043a066 -:10873000ac80829380004230ff0042300f00401432 -:10874000ac8082270000438c0f0063308018030048 -:1087500090808427211883000000638c1000a3af51 -:108760000000428c0f004230848083272110620079 -:1087700000004290ec21400b1c00a2af0000438c93 -:108780000f006330801803007c8084272118830049 -:108790000000638c1000a3af0000428c0f00423039 -:1087a000b080832721106200000042901c00a2af1d -:1087b0001c00a78f0100e230040040141000a293b7 -:1087c000c418027cf521400b1000a2a3080042341b -:1087d0001000a2a3ac80829380004230ff004230a0 -:1087e0000900401400000000ac80828f0f0042306e -:1087f0008010020090808327211062001000a38f58 -:108800000922400b000043acac80828f0f00423045 -:10881000801002007c808327211062001000a38f4b -:10882000000043aca9808393ff006330030002245f -:10883000260062141000a2931000a28f0000439043 -:108840000430037cff006330180060500000439048 -:10885000ac80839380006330ff0063300a006014b3 -:1088600000000000ac80838f0f0063308480842779 -:108870002118830000006490010005244408a47cb2 -:108880002a22400b000064a0ac80838f0f0063306d -:10889000b080842721188300000064900100052423 -:1088a0004408a47c000064a00000439001004490b0 -:1088b000002204002518830084006334000043a0d4 -:1088c000021a0300b622400b010043a00800423800 -:1088d0001000a2a31000a28f000043900430037c7c -:1088e000ff006330170060100000439001004490c7 -:1088f00000220400251883007fff6330000043a09e -:10890000021a0300010043a01000a28f0000439050 -:1089100001004490002204002518830040006334c5 -:10892000000043a0021a0300010043a00500042434 -:108930001000a58f942b400f040006245922400bf1 -:108940001000a29301004490002204002518830027 -:1089500040006334000043a0021a0300010043a05a -:108960001000a293080042381000a2a31c00a38f9d -:1089700002006230ff004230060040141000a28f57 -:10898000000043900430037cff00633024006050fb -:1089900000004390ac80829380004230ff00423060 -:1089a0000900401400000000ac80828f0f004230ac -:1089b0008480832721106200000043904408037cd8 -:1089c0007922400b000043a0ac80828f0f00423020 -:1089d000b080832721106200000043904408037c8c -:1089e000000043a01000a28f0000439001004490bb -:1089f00000220400251883003bff6330000043a0e1 -:108a0000021a0300010043a0050004241000a58ff2 -:108a1000942b400f040006248f22400b000000001e -:108a20000100449000220400251883003bff6330be -:108a3000000043a0021a0300010043a0ac80828f13 -:108a40000f0042300011020088bf033c0053632432 -:108a5000211062000000438c4408037cb622400bc6 -:108a6000000043acac808293ff004230c480832777 -:108a700021106200c004a2aec004a22604004490eb -:108a8000010003240400647c080043a0c439647c12 -:108a9000b622400b040044a0c004a2260400439068 -:108aa00001000424c439837c040043a0ac80829379 -:108ab000ff004230aa808393c48084272110820063 -:108ac000b622400b000043a002000424212800002d -:108ad000942b400f213000000300042421280000c3 -:108ae000942b400f2130000088bf023c505243902d -:108af0004429037c505243a0c004a2260400428ca7 -:108b0000800042302700401400a0023c140542902f -:108b10000430027cff0042300b00401002000224af -:108b2000788082a37080828f0300401400000000d0 -:108b3000051f400f000000008c8080af888080af50 -:108b4000e623400bffff10269c80828f020043909b -:108b500040000324020043a0030043900408037c68 -:108b6000030043a09c80828f070057a8040057b8d9 -:108b7000000043908cff0324000043a001004390b9 -:108b8000010040a07c80828f0000439084ff03247a -:108b9000000043a001004390010040a0e623400be9 -:108ba000ffff1026a880829380004230ff004230f1 -:108bb000110040100200022401000224788082a3e8 -:108bc0006c80828f0300401400000000051f400fde -:108bd000000000008c8080af888080afc880828fca -:108be000ed004014ffff1026c41e400f00000000df -:108bf000e723400bff001032788082a39c80828f95 -:108c00000200439040000324020043a0030043906d -:108c10000408037c030043a09c80828f070057a8b0 -:108c2000040057b80000439084ff0324000043a0d1 -:108c300001004390010040a08c8080af888080af0d -:108c4000c880828fd4004014ffff1026c41e400f3e -:108c500000000000e723400bff001032788084936f -:108c60000200032463008354788080a30000428cb8 -:108c7000003c427c00a0033c1405638c007a637cba -:108c80002b286200ff0064300b108500231862005f -:108c900000a0043c100584240400858c04ba657c83 -:108ca0000e004010040085acffff4224ff00463058 -:108cb0000100c6242110000000a0043c1005838c94 -:108cc00001006524100585ac212853000000a59003 -:108cd00001004224f9ff4614000065a000a0023cf8 -:108ce0001405428c007a427c1e0040109c80828fca -:108cf0000200439040000324020043a0030043907d -:108d00000408037c030043a09c80828f07005ea8b8 -:108d100004005eb8b480838f00006390400063302d -:108d2000ff00633008006014000000000000439062 -:108d3000c8ff0324000043a001004390010040a0ad -:108d4000e623400bffff10260000439088ff03241a -:108d5000000043a001004390010040a0e623400b27 -:108d6000ffff10260200439040000324020043a0ae -:108d7000030043900408037c030043a09c80828f7f -:108d8000a880832700e0637c070043a8040043b861 -:108d90000000439084ff0324000043a0010043909f -:108da000010040a000a0023c100542240a004388b4 -:108db000070043980400601000a0023c09f860001e -:108dc0000000000000a0023c100542240400439073 -:108dd000c439037c040043a0c880828f6e00401415 -:108de000ffff1026c41e400f00000000e723400bc9 -:108df000ff0010329880828f66004054988080afc8 -:108e00009c80828f0200439040000324020043a014 -:108e1000030043900408037c030043a09c80828fde -:108e2000a880832700e0637c070043a8040043b8c0 -:108e3000000043908cff0324000043a001004390f6 -:108e4000010040a0e623400bffff10265200b4545f -:108e5000ffff10267c8082270000438c0000779063 -:108e60000000439008006338000043a07480828fa4 -:108e70000c0054148001f77eaa808393ff006330b6 -:108e800088bf023c605243ac6052428c04004010e8 -:108e90000400022410000224a923400b748082af36 -:108ea000748082af788083930100022422006214d0 -:108eb00000a0023c7c80828f07005ea804005eb8a0 -:108ec000281d400f00000000b2808393020002249e -:108ed000080062147c80828f0000439084ff03248a -:108ee000000043a001004390010040a0e623400b96 -:108ef000ffff10260900e016000000007c80828f32 -:108f000000004390c8ff0324000043a001004390e9 -:108f1000010040a0e623400bffff10260000439015 -:108f200088ff0324000043a001004390010040a0fb -:108f3000e623400bffff1026140542900430027c0c -:108f4000ff00423013004050788080a300a0023c14 -:108f5000100542240a00438807004398040060106b -:108f600000a0023c09f860000000000000a0023ce4 -:108f70001005422404004390c439037c040043a03c -:108f8000e523400b788080a3c0808527942b400f79 -:108f900021300000ffff1026ff0010324ffc0016aa -:108fa00088bf023cfa3f4077450004244400bf8f4d -:108fb0004000be8f3c00b78f3800b68f3400b58fad -:108fc0003000b48f2c00b38f2800b28f2400b18ff3 -:0c8fd0002000b08f0800e0034800bd271f -:020000040000fa -:020000041d00dd -:10eff400e0ffbd271c00bfaf1800b0af1000a0afea -:10f0040000a0103c1c050426010005240600063c53 -:10f01400801ac624f723400fa0000724f22a400fc9 -:10f024001c0504266829400f308082af7026400feb -:10f034003080848f0b3f400f000000003080848fad -:10f04400b83f400f040084242a3f400f0000000012 -:10f054004e26400f320004247d27400f000000009c -:10f064005926400f00000000348080af88bf023c66 -:10f074002060438c88bf023c2061428c03004230f4 -:10f084008010020003006330251043002c8082a30b -:10f0940081bf023c00f6428c288082afffff03242c -:10f0a40081bf023c04f643ac1c00bf8f1800b08f34 -:10f0b4000800e0032000bd2700a0023c4000032418 -:10f0c400540543a05405422401000324020043a430 -:10f0d4000800e003040044a000a0033c18096224d3 -:10f0e40001000524020045a440000524180965a078 -:10f0f400040044a0010002240800e003348082af2d -:10f10400e8ffbd271400bfaf3300032400a0023c76 -:10f11400f52d4077f03f43a0c103a22c0700401413 -:10f1240000000000e8ffbd271400bfaf2f3c400fd4 -:10f13400010004245e3c400b1400bf8f0b008010c0 -:10f1440000a0023c0800a01800a0023c580542247c -:10f154002130850001008424ffff8390000043a038 -:10f16400fcff86140100422400a0023c0800e003d6 -:10f17400560545a40800e0031800bd27e8ffbd2795 -:10f184001400bfaf3080838f02006290030065904b -:10f19400002a05002528a20000a0023c18094224e8 -:10f1a4000600469007004490002204002120c40079 -:10f1b4001f00a4142110000000a0043c1c09842496 -:10f1c40021106000c00088240000878c0400868c15 -:10f1d4000800858c0c00838c030047a8000047b806 -:10f1e400070046a8040046b80b0045a8080045b827 -:10f1f4000f0043a80c0043b810008424f2ff8814c5 -:10f20400100042240000858c0400838c030045a870 -:10f21400000045b8070043a86326400f040043b824 -:10f224003080848fb83f400f0400842401000224fe -:10f234001400bf8f0800e0031800bd27e8ffbd27b6 -:10f244001400bfaf1e2b400f000000006326400fc8 -:10f25400000000003080848fb83f400f04008424f5 -:10f264001400bf8f0800e0031800bd27d8ffbd2796 -:10f274002400bfaf2000b1af1c00b0af00a0023c1f -:10f284001809429000a0033c540562a0540563246d -:10f29400020060a44100432ce400601080100200ce -:10f2a400019d033cbcf26324211062000000428ce7 -:10f2b400080040000000000030f6009dc0f3009def -:10f2c400d8f3009df0f3009df8f3009d30f6009d07 -:10f2d40030f6009d30f6009d30f6009d30f6009d1e -:10f2e4000cf4009d30f6009d30f6009d30f6009d34 -:10f2f40030f6009d30f6009dbcf4009d30f6009d74 -:10f3040030f6009d30f6009d30f6009d30f6009ded -:10f3140030f6009d30f6009d30f6009d30f6009ddd -:10f3240030f6009d30f6009d30f6009d30f6009dcd -:10f3340030f6009d30f6009d30f6009d30f6009dbd -:10f3440030f6009d30f6009d30f6009d30f6009dad -:10f3540030f6009d30f6009d30f6009d30f6009d9d -:10f3640030f6009d30f6009d30f6009d30f6009d8d -:10f3740030f6009d30f6009d2cf4009d40f4009d75 -:10f3840084f4009d60f4009d30f6009da4f4009d7b -:10f3940030f6009d30f6009ddcf4009d84f5009d60 -:10f3a40030f6009d30f6009d30f6009d30f6009d4d -:10f3b40030f6009d30f6009d1cf6009dc09f043c75 -:10f3c40000058424473c400f020005248f3d400b78 -:10f3d40000a0023c019d043cf0ef8424473c400f14 -:10f3e400020005248f3d400b00a0023c413c400f2d -:10f3f4000000000028808427473c400f04000524b7 -:10f404008f3d400b00a0023c2c808427473c400fda -:10f414000100052421200000473c400f0100052481 -:10f424008f3d400b00a0023c3080848f473c400f4e -:10f43400c80005248f3d400b00a0023c603c400ff7 -:10f44400000000001000a2af1000a427473c400faa -:10f45400010005248f3d400b00a0023c903c400f6e -:10f4640000000000010002241000a2af1000a42735 -:10f47400473c400f010005248f3d400b00a0023c97 -:10f48400072b400f000000001000a2af1000a427bb -:10f49400473c400f010005248f3d400b00a0023c77 -:10f4a40000a0043c88038424473c400f0a00052440 -:10f4b4008f3d400b00a0023c00a0043cce2d400f29 -:10f4c4005805842421200000473c400fffff4530ad -:10f4d4008f3d400b00a0023ccc2d400f00000000eb -:10f4e40000a0023c1c05422400a0033c58056324f0 -:10f4f400140043ac00a0033c180963240500659084 -:10f5040006006490002204002120a400180044acea -:10f5140004006390212083000101842c05008014e1 -:10f52400100043ac000102242318430000a0023c55 -:10f53400340543ac00a0023c3405518c00a0103cbf -:10f544001c0510268125400f21200002fdff4010dc -:10f5540001000324060043140000000021200000e1 -:10f56400473c400fffff25328f3d400b00a0023c7b -:10f574002f3c400f030004248f3d400b00a0023cad -:10f58400cc2d400f0000000000a0043c1c05842486 -:10f5940000a0023c1e094224140082ac00a0033cdb -:10f5a4001809632404006290100082ac0500659081 -:10f5b4002118a2000001632c040060142188a0001b -:10f5c4000001112423102202ffff513000a0023c4d -:10f5d400340551ac00a0103c1c051026eb25400f4f -:10f5e40021200002fdff4010010003240600431403 -:10f5f4000000000021200000473c400f2128200289 -:10f604008f3d400b00a0023c2f3c400f030004241c -:10f614008f3d400b00a0023c00a0023c2f3c400f59 -:10f624001c0944908f3d400b00a0023c2f3c400f2e -:10f63400ff00042400a0023c1a0940a42400bf8f48 -:10f644002000b18f1c00b08f0800e0032800bd2704 -:10f65400e8ffbd271400bfaf2480828f0c00401444 -:10f664001400bf8f7d27400f00000000343f400f7f -:10f67400000000003480828f050040101400bf8f0a -:10f684009c3c400f00000000348080af1400bf8f0a -:10f694000800e0031800bd27e0ffbd271c00bfaf32 -:10f6a4001800b2af1400b1af1000b0af21808000d9 -:10f6b40000a0023c1a0942941000401001009290ec -:10f6c4003480828f0500401000a0023c373c400f7c -:10f6d400f0000424f83d400b1c00bf8f1809439030 -:10f6e40000008290090062103f005132373c400f05 -:10f6f400f1000424f83d400b1c00bf8f00008390f0 -:10f7040000a0023c180943a03f005132212000020e -:10f71400a32d400f2128200202000326212071007e -:10f72400feff8590ff0044300f00a414003a427c91 -:10f7340021207100ffff84900b0044142016117cdb -:10f7440003004228210040542094127c00a0023c73 -:10f754001a094294c003442c0f008014fdff312683 -:10f76400e33d400b00000000373c400ff20004244e -:10f77400f83d400b1c00bf8f02008294c003452c4f -:10f784000b00a05401004524373c400f0200042420 -:10f79400f83d400b1c00bf8fffff313203003126c0 -:10f7a4002180110200a0043c18098424010045248e -:10f7b400020085a400006590211044000100632428 -:10f7c400edff7014040045a02094127c0200400652 -:10f7d40001000224348082af1c00bf8f1800b28f56 -:10f7e4001400b18f1000b08f0800e0032000bd2783 -:10f7f400d0ffbd272c00bfaf2800b6af2400b5afa3 -:10f804002000b4af1c00b3af1800b2af1400b1af06 -:10f814001000b0af2198800000a0023c560550941f -:10f8240021900000212000004e0000122110000051 -:10f83400163e400b00a0163c0004822c0800401425 -:10f844005405c3922f3c400f010004245c3e400b3e -:10f85400211000005405d4263c0015245405c392fd -:10f8640021106402000043a002008324ffff6330e0 -:10f8740001008424ffff8430212064023d00052e12 -:10f884000300a010be00022402000226ff00423042 -:10f8940014000012000082a0212040022110000068 -:10f8a40001007124ffff313201009224ffff523224 -:10f8b400212094000400849021186302000064a0b5 -:10f8c400ffff1026ffff1032010042240700001240 -:10f8d400ffff42300500551021204002293e400b15 -:10f8e4002118200221886000211000002310220228 -:10f8f400feff442421106202ffff45902120640290 -:10f90400a32d400f3f00a53021187102000062a012 -:10f9140002002426ffff843001002326ffff63300a -:10f9240021186302003a427cc3ff0016000062a063 -:10f934003f0083300b006010211080002110640010 -:10f94400ffff4230ffff052401008324ffff6330e3 -:10f954002120640203006210000085a0533e400b86 -:10f964002120600000a0033c560560a42c00bf8f3a -:10f974002800b68f2400b58f2000b48f1c00b38fed -:10f984001800b28f1400b18f1000b08f0800e0038c -:04f994003000bd275b -:020000040000fa -:020000041d00dd -:108fdc00e0ffbd271c00bfaf1800b1af1400b0af4d -:108fec000600a01021808000010002241800a2506d -:108ffc0080bf023c4824400b2110000080bf023c83 -:10900c0000504224000082ac80bf023c105042242d -:10901c00040082ac80bf023c50504224280082ac39 -:10902c0080bf023c605042242c0082ac88bf023cc2 -:10903c00106143940442037c106143a41061439477 -:10904c00444a037c106143a43124400b0000118e70 -:10905c0000514224000082ac80bf023c10514224db -:10906c00040082ac80bf023c50514224280082ace8 -:10907c0080bf023c605142242c0082ac88bf023c71 -:10908c00106143948410037c106143a410614394d9 -:10909c00c418037c106143a488bf023c0061439454 -:1090ac008410037c006143a400614394c418037cc6 -:1090bc00006143a40000118e300000ae0c0005ae20 -:1090cc00f700e7301c0007a63000a28f340002ae78 -:1090dc0008000224220002a6240000a6e8030224b1 -:1090ec001e0002a60a000224200002a6000020a6f0 -:1090fc002120a0006202053c9b2e4077005aa5243b -:10910c00080002ae00820224cc2d400f000022a6e3 -:10911c00010002241c00bf8f1800b18f1400b08f07 -:10912c000800e0032000bd270000828c0000438c67 -:10913c00050065300800a014211000000400828c8a -:10914c000000448c00408430030080142110000087 -:10915c00100062380001427c0800e00300000000af -:10916c00d8ffbd272400bfaf2000b1af1c00b0afab -:10917c00218080003000828c0100032413004310f6 -:10918c002188a0000700401002000324180043109f -:10919c0012000324220043500000828c9f24400bb9 -:1091ac00ff0002244d24400f000000000500401475 -:1091bc00010002241e000296ffff4224a024400b53 -:1091cc001e0002a6300002ae240000a60000028e93 -:1091dc0000004394010004240400837c000043a499 -:1091ec0002000224300002aee80302241e0002a694 -:1091fc000000028e0000428c0300423005004050fb -:10920c00300011ae1e000296ffff4224a024400b3a -:10921c001e0002a6e8030224a024400b1e0002a696 -:10922c0000004394010004244408837c000043a400 -:10923c0020000296ffff4224200002a6e80302242d -:10924c001e0002a602000224300002ae401f0224bf -:10925c001000a2af1000a28fffff43241000a3af99 -:10926c00fcff401c2400bf8fa224400b2000b18fb8 -:10927c00300082ac2400bf8f2000b18f1c00b08f57 -:10928c000800e0032800bd27e0ffbd271c00bfaf8e -:10929c001800b1af1400b0af218080003000828c78 -:1092ac0003000324060043102188a00004000324bb -:1092bc00140043500000028ecf24400bff00022408 -:1092cc004d24400f00000000050040540000028ea9 -:1092dc001e000296ffff4224d024400b1e0002a663 -:1092ec0000004394010004244408837c000043a440 -:1092fc0004000224300002aee80302241e0002a681 -:10930c000000028e0000428c0200423005004050ea -:10931c00300011ae1e000296ffff4224d024400bf9 -:10932c001e0002a6e8030224d024400b1e0002a655 -:10933c00300082ac1c00bf8f1800b18f1400b08fae -:10934c000800e0032000bd27e8ffbd271400bfafd5 -:10935c001000b0af4d24400f218080000600405417 -:10936c000000028e1e000296ffff42241e0002a681 -:10937c00e924400b21100000000043940100042458 -:10938c008410837c000043a4300000aee803022468 -:10939c001e0002a6010002241400bf8f1000b08f23 -:1093ac000800e0031800bd270400828c0000428cea -:1093bc0001404230050040502800828c1e008294ef -:1093cc00ffff42240800e0031e0082a4000045a019 -:1093dc00300086ace80302240800e0031e0082a4df -:1093ec000400828c0000428c004043300500601069 -:1093fc00008042301e008294ffff42240800e003ec -:10940c001e0082a408004050300086ac0400a0105e -:10941c00ff000224120002240800e003300082ac9a -:10942c000800e003300082ace80302240800e003eb -:10943c001e0082a41400828c01004224140082ac11 -:10944c001800828cffff4224180082ac2400839405 -:10945c0001006324ffff633011004010240083a43b -:10946c00220082942b1862000b0060540e00022420 -:10947c001000838c21106200100082ac1027022493 -:10948c00200082a4e80302241e0082a411000224fe -:10949c000800e003300082ac0800e003300082ac2e -:1094ac00050002240800e003300082ace0ffbd2779 -:1094bc001c00bfaf1800b1af1400b0af218080000a -:1094cc004d24400f2188a00005004014e80302241d -:1094dc001e000296ffff42244225400b1e0002a6ee -:1094ec001e0002a60000028e00004394010004241a -:1094fc00c418837c000043a4300011ae1c00bf8f45 -:10950c001800b18f1400b08f0800e0032000bd27b5 -:10951c000400828c0000428c020042300500405452 -:10952c001400828c1e008294ffff42240800e0038a -:10953c001e0082a42c00838c00006390000043a0ca -:10954c001400828c01004224140082ac1800828c1e -:10955c00ffff422408004010180082ac0000828cef -:10956c00000043944429037c000043a40c00022413 -:10957c006825400b300082ac0000828c00004394c4 -:10958c00010005244429a37c000043a40500022407 -:10959c00300082ac0000828c000043940100052452 -:1095ac000421a37c000043a4e80302240800e00388 -:1095bc001e0082a4e8ffbd271400bfaf1e008294da -:1095cc0007004010000000002000829404004010ae -:1095dc00ff0003243000858c0400a314211000002c -:1095ec00d524400f00000000010002241400bf8f9e -:1095fc000800e0031800bd27e8ffbd271400bfaf2b -:10960c001000b0af7025400f218080006000401426 -:10961c00ffff02243000028e1300422c5a0040102f -:10962c00ff0002243000038e80180300019d023cd1 -:10963c0050964224211043000000428c0800400048 -:10964c00000000009c96009d9c96009d9c96009da1 -:10965c001097009d1097009d8097009db096009ddf -:10966c00c896009de096009df896009d2497009d5d -:10967c004497009d5c97009d7097009d9097009d6e -:10968c009097009d9097009d9097009d9c96009db3 -:10969c00212000025b24400f06000524e725400b27 -:1096ac0021100000212000021c000592ed24400f27 -:1096bc0007000624e725400b2110000021200002a2 -:1096cc0001000524fb24400f08000624e725400b6d -:1096dc00211000002120000210000592ed24400f03 -:1096ec0009000624e725400b211000002120000270 -:1096fc0021280000fb24400f03000624e725400b23 -:10970c002110000021200002a524400f0a0005248e -:10971c00e725400b211000001c0005920100a53428 -:10972c0021200002ff00a530ed24400f0b00062481 -:10973c00e725400b21100000212000022128000009 -:10974c00fb24400f0c000624e725400b21100000e1 -:10975c00212000022e25400f0d000524e725400b8b -:10976c00211000004725400f21200002e725400b67 -:10977c0021100000d524400f21200002e825400bc9 -:10978c001400bf8fff000224300002ae2110000035 -:10979c001400bf8f1000b08f0800e0031800bd2725 -:1097ac00e8ffbd271400bfaf1000b0af7025400f0d -:1097bc002180800059004014ffff02243000028eeb -:1097cc001300422c53004010ff0002243000038e83 -:1097dc0080180300019d023cf8974224211043009d -:1097ec000000428c08004000000000004498009dde -:1097fc004498009d4498009d1c99009d1c99009dc7 -:10980c000c99009d5898009d7098009d8898009d1b -:10981c00a098009d1c99009d1c99009d1c99009d71 -:10982c001c99009db898009dd498009dec98009dc3 -:10983c00fc98009d4498009d212000025b24400f61 -:10984c00060005244a26400b2110000021200002ae -:10985c001c000592ed24400f070006244a26400bfd -:10986c00211000002120000201000524fb24400fe0 -:10987c00080006244a26400b21100000212000027b -:10988c0010000592ed24400f090006244a26400bd7 -:10989c00211000002120000221280000fb24400f91 -:1098ac000e0006244a26400b211000001400028ee4 -:1098bc002120000200004590ed24400f0f000624eb -:1098cc004a26400b21100000212000022128000014 -:1098dc00fb24400f100006244a26400b21100000e8 -:1098ec001025400f212000024a26400b21100000b9 -:1098fc00d524400f212000024a26400b21100000e5 -:10990c00d524400f212000024b26400b1400bf8fa2 -:10991c00ff000224300002ae211000001400bf8fa3 -:10992c001000b08f0800e0031800bd278011040060 -:10993c000022040021204400801004002120820019 -:10994c00001104002320440080bf023c200c44acd6 -:10995c000800e003000000000080033480bf023cdc -:10996c00080c43ac0800e003000000000080033446 -:10997c0080bf023c040c43ac0800e0030000000074 -:10998c004880838f1400632400a0023cdc14422422 -:10999c0000a0053c9015a52401004224010063247d -:1099ac00ffff6490fcff4514ffff44a00800e00398 -:1099bc0000000000e8ffbd271400bfaf1000b0afdf -:1099cc002180800080bf023c000c40ac80bf023c78 -:1099dc00000e40ac1800032480bf023c080c43acc2 -:1099ec0080bf023c100c40acffff032480bf023c44 -:1099fc00200c43ac88bf023ce010438c03000424d1 -:109a0c008420837ce01043ace010438c01000424e0 -:109a1c000408837ce01043ac0001023c88bf033c8b -:109a2c00341062ac88bf033c681062ac6326400ff4 -:109a3c00488090af2110000040808727388086270f -:109a4c0005000424211802020e0065902118e20082 -:109a5c00000065a02118c20001004224f9ff441443 -:109a6c00000060a0010002244c8082af1400bf8f64 -:109a7c001000b08f0800e0031800bd27e0ffbd27e1 -:109a8c001c00bfaf1800b2af1400b1af1000b0afe4 -:109a9c0021908000218000000c0011242120400224 -:109aac00ff000532b929400f2130000001001026bb -:109abc00fbff1116212040021c00bf8f1800b28f33 -:109acc001400b18f1000b08f0800e0032000bd27f8 -:109adc00d0ffbd272c00bfaf2800b3af2400b2af1e -:109aec002000b1af1c00b0af21908000808004003a -:109afc00401104002110020200a0103cdc141026be -:109b0c0021800202218800000c0013240000069220 -:109b1c0001000792020002921000a2af2120400225 -:109b2c00ac29400f2128200201003126ff003132e0 -:109b3c00f6ff3316030010262c00bf8f2800b38fbe -:109b4c002400b28f2000b18f1c00b08f0800e003fe -:109b5c003000bd27c8ffbd273400bfaf3000b5af04 -:109b6c002c00b4af2800b3af2400b2af2000b1afcb -:109b7c001c00b0af2190800038808327211864002e -:109b8c0000006490aaaa053cabaaa5341900850074 -:109b9c0010280000c22805008018050000290500c7 -:109bac002318a30023188300408003002180700039 -:109bbc00ff0010322188000080a812004011120012 -:109bcc0021a8a20200a0143cdc1494260c0013243f -:109bdc002400032e0300601421100002dcff022677 -:109bec00ff0042302110a202211082020000469098 -:109bfc0001004790020042901000a2af21204002c9 -:109c0c00ac29400f2128200201003126ff003132ff -:109c1c0003001026eeff3316ff0010323400bf8f06 -:109c2c003000b58f2c00b48f2800b38f2400b28f76 -:109c3c002000b18f1c00b08f0800e0033800bd2756 -:109c4c00c0ffbd273c00bfaf3800beaf3400b7af7c -:109c5c003000b6af2c00b5af2800b4af2400b3afc2 -:109c6c002000b2af1c00b1af1800b0af21a880002b -:109c7c00388082272110440000004290aaaa033c9d -:109c8c00abaa633419004300101800000221030032 -:109c9c00c0280400409104002390450223905200f8 -:109cac0042190300002103008019030023186400eb -:109cbc0023184300ff0063301800632c0400601469 -:109ccc00ff0052321700032423907200ff0052321f -:109cdc0030000324030043143880822721105500e0 -:109cec00000040a0c12d400f2024127c80b815002c -:109cfc004011150021b8e20200a0103cdc14102623 -:109d0c00218017020100102623f017002188000083 -:109d1c0080901200019d023c74b7422421904202b3 -:109d2c000000528e0c00162421101e022110570028 -:109d3c000d2e400fffff449021204000a72b400f19 -:109d4c0021284002842d400f21204000ff00543078 -:109d5c000d2e400f0000049221204002a72b400f33 -:109d6c0021284000842d400f21204000ff0053305b -:109d7c000d2e400f0100049221204002a72b400f12 -:109d8c0021284000842d400f21204000ff0042304c -:109d9c001000a2af2120a002212820022130800235 -:109dac00ac29400f2138600201003126ff0031320e -:109dbc00ddff3616030010263c00bf8f3800be8f27 -:109dcc003400b78f3000b68f2c00b58f2800b48fbd -:109ddc002400b38f2000b28f1c00b18f1800b08ffd -:109dec000800e0034000bd27d0ffbd272c00bfaf0b -:109dfc002800b6af2400b5af2000b4af1c00b3af41 -:109e0c001800b2af1400b1af1000b0af4c80828f0d -:109e1c0037004010408091274c8080af38809227cb -:109e2c0021800000010014240200152403001624d4 -:109e3c000500132400002292ffff4224ff00423051 -:109e4c000c004014000022a24880828f2110500088 -:109e5c000e004290000022a2000042920100422417 -:109e6c00ff0042307800432c02006050000040a2fa -:109e7c00000042a24880828f2110500009004290bd -:109e8c000d005410000000000700401000000000fe -:109e9c000d005510000000000f00561000000000cf -:109eac00bc27400b01001026a226400fff000432f5 -:109ebc00bc27400b01001026b726400fff000432d0 -:109ecc00bc27400b01001026d826400fff0004329f -:109edc00bc27400b010010261327400fff00043253 -:109eec000100102601003126d2ff13160100522664 -:109efc002c00bf8f2800b68f2400b58f2000b48fa4 -:109f0c001c00b38f1800b28f1400b18f1000b08feb -:109f1c000800e0033000bd2700e85d4100701a40e6 -:109f2c0000601b4090ffbd276c00baaf02601a4066 -:109f3c006800bbaf6400baaf44781b7c000c7b3765 -:109f4c0000609b405400bfaf5000b9af4c00b8af9d -:109f5c004800afaf4400aeaf4000adaf3c00acaf7b -:109f6c003800abaf3400aaaf3000a9af2c00a8afbb -:109f7c002800a7af2400a6af2000a5af1c00a4affb -:109f8c001800a3af1400a2af1000a1af1210000074 -:109f9c005c00a2af101800005800a3af0001033cf6 -:109fac0088bf023c341043ac9629400f00000000df -:109fbc00010002244c8082af5c00a28f1300400091 -:109fcc005800a38f110060005400bf8f5000b98f50 -:109fdc004c00b88f4800af8f4400ae8f4000ad8f5f -:109fec003c00ac8f3800ab8f3400aa8f3000a98fa7 -:109ffc002c00a88f2800a78f2400a68f2000a58fe7 -:10a00c001c00a48f1800a38f1400a28f1000a18f26 -:10a01c0000606041c00000006c00ba8f6800bb8f0c -:10a02c0000709a406400ba8f7000bd2702609a409d -:0ca03c0000e8dd4100609b40180000427d -:020000040000fa -:020000041d00dd -:10f99800a8ffbd2780bf023c003042240000a2af70 -:10f9a80080bf023c003242240400a2af80bf023c68 -:10f9b800003442240800a2af80bf023c0036422433 -:10f9c8000c00a2af80bf023c003842241000a2af56 -:10f9d80080bf023c103042241400a2af80bf023c1a -:10f9e800103242241800a2af80bf023c10344224d7 -:10f9f8001c00a2af80bf023c103642242000a2aff8 -:10fa080080bf023c103842242400a2af80bf023cd1 -:10fa1800203042242800a2af80bf023c203242247a -:10fa28002c00a2af80bf023c203442243000a2af99 -:10fa380080bf023c203642243400a2af80bf023c83 -:10fa4800203842243800a2af81bf023c70fb422418 -:10fa58003c00a2af81bf023c20fb42244000a2af81 -:10fa680081bf023c3cfb42244400a2af81bf023c60 -:10fa780078fb42244800a2af81bf023c7cfb4224b1 -:10fa88004c00a2af019d023c04ba432403006488e1 -:10fa980004ba44985000a4af040062905400a2a392 -:10faa8005000a52700a0043c8803842400a0033c40 -:10fab8006803632421100000e00106240e800d3441 -:10fac80000a00c3c94038c2500a00b3c74036b2510 -:10fad80014000a242138a2030000e78c3c00a9275f -:10fae800214022010000088d0000a990000009a112 -:10faf8001400a927214022010000088d000006ad4e -:10fb08002800a927214022010000088d000006ad29 -:10fb18000000edac213882010000e0ac2138620120 -:10fb28000000e0ac000080a4000060a404004224af -:10fb38000100a52402008424e6ff4a14020063247d -:10fb48000800e0035800bd27d0ffbd2781bf023c55 -:10fb580028fa42240000a2af81bf023c2cfa4224ba -:10fb68000400a2af81bf023c30fa42240800a2afd1 -:10fb780081bf023c34fa42240c00a2af81bf023c90 -:10fb880038fa42241000a2af019d023c0cba43246b -:10fb9800030064880cba44981400a4af040062906f -:10fba8001800a2a380bf023c002042241c00a2af80 -:10fbb80080bf023c002242242000a2af80bf023c4a -:10fbc800002442242400a2af80bf023c0026422425 -:10fbd8002800a2af80bf023c002842242c00a2af1c -:10fbe8001400a32721100000818008341400072482 -:10fbf8001c00a5272120a2000000848c2128a20334 -:10fc08000000a58c000066900000a6a0000088ac4b -:10fc180004004224f6ff4714010063240800e003af -:10fc28003000bd27e8ffbd271400bfaf80bf023cee -:10fc3800000840ac80bf023c100840ac80bf023cca -:10fc480000084394070004240431837c000843a47b -:10fc5800ffff033480bf023c200843ac80bf023c56 -:10fc6800000a40ac80bf023c100a40ac7f07032466 -:10fc780080bf023c200a43ac663e400f00000000f3 -:10fc8800d43e400f000000000080033480bf023cd7 -:10fc9800080a43ac1400bf8f0800e0031800bd2712 -:10fca8000080033480bf023c080843ac0800e0032e -:10fcb800000000000080033480bf023c040843ac0d -:10fcc8000800e00300000000f8ffbd270400b1af02 -:10fcd8000000b0af00a00e3c8803ce2500a0053c74 -:10fce8009403a52400a0093c6803292500a0063c2c -:10fcf8007403c62421680000019d103c28ba102610 -:10fd0800019d113c14ba312601000c3c51c3193431 -:10fd18005500183ca8d4183714000f2421100d02e0 -:10fd280000004a8c0000428d080042300400405018 -:10fd38000000229521102d025a3f400b00004b8ce9 -:10fd480001004224000022a50000428d0800423034 -:10fd5800f9ff405421102d026c3f400b0000229502 -:10fd6800000020a50000628d2138c0000000c38c6f -:10fd78002b404300020000112320430021208c0067 -:10fd88000000a38c21208300422004000000a4acc2 -:10fd98000000e2ac0000428d08004230f1ff405400 -:10fda800000020a5000022952b10590003004054a4 -:10fdb8000000a28c733f400b0000a0ac030040146d -:10fdc80000000000793f400b0000c0a51b000203a3 -:10fdd800f4014000121000000000c2a50400ad2587 -:10fde8000200ce250400a52402002925cbffaf156b -:10fdf8000400c6240400b18f0000b08f0800e0039f -:10fe08000800bd270500822c3100401000000000ca -:10fe18000c004010019d023c8020040038fe422462 -:10fe2800212044000000828c0800400000000000ef -:10fe380084fe009d54fe009d60fe009d6cfe009daa -:10fe480078fe009da33f400b2120000080bf043caa -:10fe5800a33f400b2032842480bf043ca33f400bc7 -:10fe68002030842480bf043ca33f400b20368424e8 -:10fe780080bf043ca33f400b2034842480bf043c53 -:10fe8800203884242110a0006500a52c0100a05072 -:10fe9800640002246400032423106200ff0043303e -:10fea800c0290300c012030023104500eb51033c96 -:10feb8001f8563341800430010180000431903001d -:10fec800c317020023106200ffff4230000082ac1b -:10fed8000800e00300000000e0ffbd271c00bfafe2 -:10fee8001800b2af1400b1af1000b0af219080007d -:10fef800218000000500112421105002ff00043267 -:10ff0800833f400f0000459001001026fbff1116ab -:10ff1800211050021c00bf8f1800b28f1400b18f3f -:10ff28001000b08f0800e0032000bd27c0110400b6 -:10ff3800c022040023208200eb51023c1f8542347a -:10ff4800180082001010000043110200c3270400ab -:0cff5800231044000800e003ffff4230cb -:020000040000fa -:020000041d00dd -:10a04800301088bf601088bf01000000301088bf42 -:10a05800601088bf02000000301088bf601088bf01 -:10a0680004000000301088bf601088bf080000009e -:10a07800301088bf601088bf00010000301088bf12 -:10a08800601088bf00200000301088bf601088bfb3 -:10a0980000000400301088bf601088bf00008000f6 -:10a0a800301088bf601088bf10000000301088bfd3 -:10a0b800601088bf00020000301088bf601088bfa1 -:10a0c80000400000301088bf601088bf0000080002 -:10a0d800301088bf601088bf00000001301088bfb2 -:10a0e800601088bf20000000301088bf601088bf53 -:10a0f80000040000301088bf601088bf0080000096 -:10a10800301088bf601088bf00001000301088bf72 -:10a11800601088bf00000002301088bf601088bf40 -:10a1280040000000301088bf601088bf00080000a1 -:10a13800301088bf601088bf00000100301088bf51 -:10a14800601088bf00002000301088bf601088bff2 -:10a1580000000004301088bf601088bf8000000035 -:10a16800301088bf601088bf00100000301088bf12 -:10a17800601088bf00000200301088bf601088bfe0 -:10a1880000004000301088bf601088bf0000000841 -:10a19800401088bf701088bf00200000401088bfa2 -:10a1a800701088bf00400000401088bf701088bf42 -:10a1b80000800000401088bf701088bf7000000049 -:10a1c800401088bf701088bf00001c00401088bf76 -:10a1d800701088bf10000000401088bf701088bf42 -:10a1e80000000400401088bf701088bf40000000c5 -:10a1f800401088bf701088bf00001000401088bf52 -:10a20800701088bf20000000401088bf701088bf01 -:10a2180000000800401088bf701088bf001c0000b4 -:10a22800401088bf701088bf00000007401088bf2a -:10a23800701088bf00040000401088bf701088bfed -:10a2480000000001401088bf701088bf000800009f -:10a25800401088bf701088bf00000002401088bfff -:10a26800701088bf00100000401088bf701088bfb1 -:10a2780000000004401088bf701088bf80030000f1 -:10a28800401088bf701088bf0000e000401088bff1 -:10a29800701088bf80000000401088bf701088bf11 -:10a2a80000002000401088bf701088bf0001000027 -:10a2b800401088bf701088bf00004000401088bf61 -:10a2c800701088bf00020000401088bf701088bf5f -:10a2d80000008000301088bf601088bf00000010a8 -:10a2e800401088bf701088bf00000100401088bf70 -:10a2f800701088bf00000200401088bf701088bf2f -:10a3080001000000401088bf701088bf02000000e4 -:10a31800401088bf701088bf04000000301088bf4c -:10a32800601088bf00000020301088bf601088bf10 -:10a3380000000080301088bf601088bf0000004017 -:10a34800401088bf701088bf00000008401088bf08 -:10a35800701088bf00000010401088bf701088bfc0 -:10a3680000000020401088bf701088bf0000004027 -:10a37800401088bf701088bf00000080401088bf60 -:10a38800701088bf08000000901088bf000000000f -:10a3980002000000901088bf080000000a000000ba -:10a3a800901088bf1000000012000000901088bfb5 -:10a3b800180000001a000000a01088bf1800000054 -:10a3c8001a000000b01088bf180000001a00000032 -:10a3d800c01088bf180000001a000000d01088bf05 -:10a3e800180000001a000000a01088bf000000003c -:10a3f80002000000b01088bf00000000020000004a -:10a40800c01088bf0000000002000000d01088bf04 -:10a418000000000002000000e01088bf00000000fb -:10a4280002000000a01088bf080000000a00000019 -:10a43800b01088bf080000000a000000c01088bfe4 -:10a44800080000000a000000d01088bf08000000c3 -:10a458000a000000e01088bf080000000a000000a1 -:10a46800a01088bf1000000012000000b01088bfc4 -:10a478001000000012000000c01088bf100000008b -:10a4880012000000d01088bf100000001200000069 -:10a49800e01088bf1000000012000000001188bf03 -:10a4a800180000001a000000201188bf00000000fa -:10a4b80002000000101188bf000000000200000028 -:10a4c800201188bf080000000a000000101188bf92 -:10a4d800080000000a000000201188bf10000000da -:10a4e80012000000101188bf1000000012000000c8 -:10a4f800e01088bf180000001a000000101188bf83 -:10a50800180000001a000000f01088bf18000000b2 -:10a518001a000000001188bf0000000002000000bf -:10a52800001188bf080000000a000000f01088bf72 -:10a538000000000002000000f01088bf08000000c2 -:10a548000a000000201188bf180000001a0000004f -:10a55800301188bf0000000002000000301188bfe1 -:10a56800080000000a000000301188bf1000000039 -:10a5780012000000301188bf180000001a00000007 -:10a58800f01088bf1000000012000000001188bf02 -:08a59800100000001200000099 -:020000040000fa -:020000041d00dd -:10a5a00080bf023c000640ac80bf023c100640acbd -:10a5b0007200032480bf023c200643ac88bf023ceb -:10a5c000a010438c070004248420837ca01043ac9b -:10a5d000a010438c030004240408837ca01043ac27 -:10a5e0001000022488bf033c341062ac88bf033cd7 -:10a5f000681062ac80bf023c000643940100042452 -:10a60000c47b837c000643a40800e0030000000034 -:10a6100000a0023cb40242241c80838f0800621414 -:10a6200000a0023c00a0023c000242241c8082af39 -:10a6300000a0023cb40242240800e003188082af6c -:10a64000b40242241c8082af00a0023c00024224db -:10a650000800e003188082afe8ffbd271400bfaff9 -:10a660008429400f0000000080bf023c100640ac6f -:10a6700080bf033c0006649401000224c47b447c38 -:10a68000000664a4248082af1400bf8f0800e0039a -:10a690001800bd271880828fb40043240100422493 -:10a6a000feff4314ffff40a00800e003000000008d -:10a6b00080200400c010040021208200401005000a -:10a6c00021284500212085001880828f2110440018 -:10a6d000000046a0010047a01000a3930800e0037b -:10a6e000020043a080200400c0100400212082004a -:10a6f0004010050021284500212085001880828f08 -:10a7000021104400000046a0021a0600010043a0e8 -:10a71000023406000800e003020046a0d8ffbd276f -:10a720002400bfaf2000b3af1c00b2af1800b1af20 -:10a730001400b0af219880002190a000218000007b -:10a74000240011242120600221280002b929400f91 -:10a750002130400201001026ff001032faff1116ce -:10a76000212060022400bf8f2000b38f1c00b28f15 -:10a770001800b18f1400b08f0800e0032800bd2737 -:10a7800000e85d4100701a4000601b4090ffbd274b -:10a790006c00bbaf44781b7c001c7b3700609b4087 -:10a7a0005400bfaf5000b9af4c00b8af4800afafd6 -:10a7b0004400aeaf4000adaf3c00acaf3800abaf33 -:10a7c0003400aaaf3000a9af2c00a8af2800a7af73 -:10a7d0002400a6af2000a5af1c00a4af1800a3afb3 -:10a7e0001400a2af1000a1af121000005c00a2afd5 -:10a7f000101800005800a3afbd2e400f000000004d -:10a800001000032488bf023c341043ac1c808d8fa1 -:10a810001080882710808f8fffffef2100000fad81 -:10a820002080888f2068a8010000a8812400a981c9 -:10a830004800aa816c00ab819000ac81000002242a -:10a840000001032488bf0e3c3462ce2588bf183c2b -:10a850003461182784030d240000cdad0670e80193 -:10a860000100ce3140720e0025104e000670e90145 -:10a870000100ce3180700e0025104e00000003afa5 -:10a880000670eb010100ce31c0710e0025104e00a4 -:10a890000670ec010100ce3100720e0025104e0052 -:10a8a00026104d0088bf093c38622925000022ade2 -:10a8b0000670ea010100ce3100120e00261043009e -:10a8c00088bf093c38612925000022ad88bf093cba -:10a8d0003862292500002dad0000000000000000b6 -:10a8e0000000000000000000000000000000000068 -:10a8f00088bf093c38612925000023ad1080828f74 -:10a900000d0040142080828f010042242400032483 -:10a9100007004314208082af80bf023c00064394ae -:10a92000c47b037c000643a4208080af248080afda -:10a9300008000224108082afbb2e400f00000000f0 -:10a940005c00a28f130040005800a38f110060002c -:10a950005400bf8f5000b98f4c00b88f4800af8fa4 -:10a960004400ae8f4000ad8f3c00ac8f3800ab8f01 -:10a970003400aa8f3000a98f2c00a88f2800a78f41 -:10a980002400a68f2000a58f1c00a48f1800a38f81 -:10a990001400a28f1000a18f6c00bb8f7000bd2728 -:10a9a00000e8dd4100609b4018000042e8ffbd2741 -:10a9b0001400bfaf1000b0af21808000c8ff022498 -:10a9c000020082a0030080a02148800014008a2495 -:10a9d00005008e2432000d2402000c240a000b24f2 -:10a9e000aaaa083cabaa083500a0073c8801e724c6 -:10a9f0002400042404002da109002ca10e002ba189 -:10aa0000130000a221284001211000001900480075 -:10aa10001018000042180300403003002130c3002a -:10aa200023304600ff00c63080180300211866005e -:10aa30002118e300000063900000a3a0010042245d -:10aa4000ff004230f1ff44140100a5240100292534 -:10aa5000e8ff2e1524004a2502000426a32d400fee -:10aa6000c6000524ffff4230000002a202120200cd -:10aa7000010002a21400bf8f1000b08f0800e00395 -:10aa80001800bd27e0ffbd271c00bfaf1800b1af05 -:10aa90001400b0af218080002188c000100080ac7d -:10aaa000c8000224180082ac140085ac05002012f6 -:10aab00000000000eb25400f21200002b32a400bcc -:10aac000000000008125400f21200002f7ff401008 -:10aad0001c00bf8f1800b18f1400b08f0800e00376 -:10aae0002000bd27e8ffbd271400bfafa12a400ffb -:10aaf000213000001400bf8f0800e0031800bd27bc -:10ab0000e8ffbd271400bfaf1000b0afb92a400f57 -:10ab10002180a000010004241f004414211800001b -:10ab2000020003920300029200120200251043006b -:10ab30000101422c0500405402000292020002244e -:10ab4000020002a2030000a202000292030005928a -:10ab5000002a05002528a20002000426a32d400f8c -:10ab6000feffa524000003920100049200220400cd -:10ab700025208300ffff42300700821421180000c7 -:10ab80000200029203000392001a030025186200db -:10ab9000c80063380100632c211060001400bf8fcf -:10aba0001000b08f0800e0031800bd27e8ffbd27a4 -:10abb0001400bfafa12a400f010006241400bf8f6c -:10abc0000800e0031800bd27e8ffbd271400bfaf51 -:10abd0001000b0af508084af00a0053cc02a400fe9 -:10abe000c000a5240800401400a0023c00a0103cb6 -:10abf0006b2a400fc00004265080848feb2a400f40 -:10ac0000c000052600a0023cc00042241400bf8ff3 -:10ac10001000b08f0800e0031800bd27e0ffbd273b -:10ac20001c00bfaf1800b1af1400b0af00a0113cc2 -:10ac3000c0003026c8000224020002a600a0043c86 -:10ac4000c2008424a32d400fc6000524c00022a604 -:10ac50005080848feb2a400f2128000201004238e7 -:10ac60000100422c1c00bf8f1800b18f1400b08f60 -:10ac70000800e0032000bd27e8ffbd271400bfaf98 -:10ac800000a0043c6b2a400fc00084241400bf8f36 -:08ac90000800e0031800bd27d5 -:020000040000fa -:020000041d00dd -:10ac9800e8ffbd271400bfaf7d1d400f0000000076 -:10aca8001400bf8f0800e0031800bd270800032424 -:10acb80088bf023c741043ac0800e00300000000a9 -:10acc800d8ffbd272400bfaf2000b2af1c00b1af32 -:10acd8003a1f400f1800b0af200002247480838f01 -:10ace800340062142400bf8f00a0123cfd3d400fc9 -:10acf800dc0c442621884000dc0c5226572b400be4 -:10ad080050c310340000439080006330ff0063306c -:10ad1800fcff6014010004240100052421304002d6 -:10ad2800281e400f400007244100222e0f00401427 -:10ad3800c0ff3126400052261000a0af1000a38f9c -:10ad4800010064241000a4af2a187000fbff6014ef -:10ad580000000000050020125880828feeff40108e -:10ad680001000424432b400b000000005c80828f0c -:10ad78000600401000a0103c0000429080004230c5 -:10ad8800ff0042300b0040142400bf8fdc10042663 -:10ad9800a73d400f4000052401000424212800009d -:10ada800dc100626281e400f400007245c8082af76 -:10adb8002400bf8f2000b28f1c00b18f1800b08f05 -:10adc8000800e0032800bd27e8ffbd271400bfaf37 -:10add80001000424f51d400f1d0005240100042472 -:10ade8002128000000a0063cdc10c624281e400fc5 -:10adf800400007245c8082af1400bf8f0800e00386 -:10ae08001800bd270800e003000000000800e00368 -:10ae1800000000000800e003000000000800e00354 -:10ae280000000000e8ffbd271400bfaf162c400f3c -:10ae3800000000001400bf8f0800e0031800bd27c1 -:10ae48000800e00300000000e8ffbd27010002241d -:10ae5800060082101400bfaf03000224070082100e -:10ae680001000224a52b400b1400bf8f742b400f48 -:10ae780000000000a42b400b01000224162c400ff8 -:10ae880000000000010002241400bf8f0800e00346 -:04ae98001800bd27ba -:020000040000fa -:020000041d00dd -:10ae9c00c23d0400ff00e730c24d0500ff00293120 -:10aeac0000800a3c003204002530ca000042050034 -:10aebc0025400a012660850024504c01ffffec243c -:10aecc00fe00812d2100201000000000ffff2c252a -:10aedc00fe00812d36002010000000001900c80073 -:10aeec001258000002006011103000000100c6343e -:10aefc000300c0040000000040300600ffffe72400 -:10af0c0082ff2c252138ec00ffffec24fe00812d64 -:10af1c003a002010000000008000c6248000cc2cd9 -:10af2c002138ec000262060001008c312330cc0089 -:10af3c004030060042320600c06507002530cc00c8 -:10af4c002510ca000800e003000000000d00e0140a -:10af5c00000000002130c6000500c01000000000f9 -:10af6c002058cb702338eb00d8ff0010043066015a -:10af7c00ff0001241f00211100000000150000102b -:10af8c00000000002160c6001a00801500000000bf -:10af9c00040020150000000021600801150080113c -:10afac0000000000ff0001240f002115000000002c -:10afbc000a002015000000002140080105000011c6 -:10afcc000000000020580b7123482b01c3ff001018 -:10afdc0004406801dbff001025100a002160080105 -:10afec000400801500000000807f013cd5ff00109c -:10affc0025104101d3ff0010c0ff023cfaffe01cfa -:10b00c000000000001000b24235867012000612d73 -:10b01c00f0ff20100000000020000c2423608b01a6 -:10b02c00043886010200e010063066010200c634c6 -:10b03c00000007248000cc24b7ff8105000000002d -:0cb04c00b5ff0010010007240000000008 -:020000040000fa -:020000041d00dd -:10b05800a88083931f006330010002245d006214fe -:10b0680000000000ac808293ff0042305900401479 -:10b0780000000000a9808393ff00633006000224cb -:10b088002200621400000000ab808293ff0042306f -:10b09800210003240500431022000324100043105c -:10b0a800b8808393452c400b00000000b880839340 -:10b0b800010002241500621400a0023c019d033c1b -:10b0c800e2b56324c00443acc0044224090003244d -:10b0d800080043a4c0ff0324452c400b040043a0f0 -:10b0e800010002240900621400a0023c019d033cf7 -:10b0f80050b56324c00443acc00442241d0003249b -:10b10800080043a4c0ff0324040043a0a88083933d -:10b1180060006330200002242e006214000000004a -:10b12800a9808293ff004230030003241c004310cf -:10b138000400432c060060100a00032402000324c4 -:10b148000900431000a0023c0800e00300000000d2 -:10b158000d0043100b0003241a00431080ff032442 -:10b168000800e00300000000cd808327c00443ac42 -:10b17800c004422401000324080043a4c1ff03249f -:10b188000800e003040043a080ff032400a0023c61 -:10b19800c40443a0ab8082930800e003cd8082a35f -:10b1a80000a0023ccc808327c00443acc0044224e6 -:10b1b80001000324080043a481ff03240800e003de -:10b1c800040043a000a0023cc40443a0aa808293c8 -:10b1d800cc8082a30800e00300000000e0ffbd2748 -:10b1e8001c00bfaf1800b1afbd2e400f1400b0afa8 -:10b1f8004000042488bf033c042064ac81bf033ca6 -:10b2080000f0708cc00c107eae2e400f2120400044 -:10b218008f2e400f21200000bb2e400f00000000a1 -:10b2280088bf023c006040ac88bf023c006140ac73 -:10b2380088bf023c006240ac88bf033c1060629447 -:10b24800010005240400a27c106062a410606294ce -:10b258004408a27c106062a488bf023c1061449438 -:10b268000400a47c106144a4106144944408a47ca4 -:10b27800106144a48403062488bf043c146286ac8d -:10b288000001062488bf043c146186ac88bf063cd4 -:10b298001062c4944408047c1062c4a410606494ce -:10b2a8000442047c106064a4106144940421047c6a -:10b2b800106144a41062c494c418047c1062c4a42d -:10b2c8001062c4940421047c1062c4a410606494c5 -:10b2d800444aa47c106064a4106067940421a77c8d -:10b2e800106067a410614394c439a37c106143a41f -:10b2f80010614394444aa37c106143a41062c29431 -:10b308008431a27c1062c2a40080033480bf023c56 -:10b31800080043ac6202043c005a8424262b400fe8 -:10b3280006200402fd3b400f80bf113c01001024a1 -:10b33800322b400f00000000953d400f0000000038 -:0cb34800080030aece2c400b00000000ce -:020000040000fa -:020000041d00dd -:10b35400000000a010000000010000000800000030 -:10b3640000010000000200a0b40200a0100000a030 -:10b374000800000000000000000200a068010000b6 -:10b38400000000001c0500a0c00700000000000031 -:10b39400180000a01000000000000000f03f00a012 -:10b3a4000100000000000000dc1400a0b400000054 -:10b3b40000000000280000a01800000000000000a9 -:10b3c400680300a04000000000000000880100a005 -:10b3d40030000000010000000080400000802000d8 -:10b3e4000080000020800000408000007080000089 -:10b3f4008040000080000000800080000000800089 -:10b404000020800000406000c00000a0c8000000d0 -:10b4140000000000400000a0040000000000000044 -:10b424001c1100a0c003000000000000440000a0a4 -:10b434000400000000000000dc0c00a04004000038 -:10b4440000000000480000a0080000000000000008 -:10b45400000400a01b010000000000000000000028 -:020000040000fa -:020000041d00dd -:10b46400a8ffbd270400a1af0800a2af0c00a3af42 -:10b474001000a4af1400a5af1800a6af1c00a7af1e -:10b484002000a8af2400a9af2800aaaf2c00abafbe -:10b494003000acaf3400adaf3800aeaf3c00afaf5e -:10b4a4004000b8af4400b9af4800bfaf124000003d -:10b4b4004c00a8af104000005000a8af019d1a3cfa -:10b4c40030b95a27000000000068044000600540bd -:10b4d40009f84003000000005000a88f110000018b -:10b4e4004c00a88f130000010400a18f0800a28f54 -:10b4f4000c00a38f1000a48f1400a58f1800a68f32 -:10b504001c00a78f2000a88f2400a98f2800aa8fd1 -:10b514002c00ab8f3000ac8f3400ad8f3800ae8f71 -:10b524003c00af8f4000b88f4400b98f4800bf8ff4 -:0cb534005800bd27c000000018000042b5 -:020000040000fa -:020000041d00dd -:10b54000ccb5009d98b5009d70b5009dd0b5009d0f -:10b550000600ff0901a10119012940150026ff007d -:10b56000750895408100190129409100c000000034 -:10b57000260354006800650072006d0061006c00d5 -:10b58000740061006b00650043006f006e00740082 -:10b5900072006f006c0000003403560065006c0000 -:10b5a00064007400200052006f0062006f0074009d -:10b5b00069006300730020002000200020002000ac -:10b5c00020002000200020002000200004030904a7 -:10b5d00009022900010100c0320904000002030031 -:10b5e0000000092111010001221d0007058103400f -:10b5f00000010705010340000100000012010002e4 -:10b6000000000040d80434300200010200010000b4 -:020000040000fa -:020000041d00dd -:10ff64002118e003019d083c54b308250000098dc5 -:10ff7400180020110400082500000a8d040008253b -:10ff840000000b8d090060110400082500000c918d -:10ff9400ffff4a250100082500002ca1fbff4015a6 -:10ffa400010029250500001000000000000020a128 -:10ffb400ffff4a25fdff4015010029250300082500 -:10ffc400fcff0a24244048010000098de7ff2015a6 -:10ffd4000000000021f860000800e00300000000b9 -:04ffe4000000000019 -:020000040000fa -:020000041d00dd -:10b61000002a04000080013c2528a100c23d04004e -:10b62000ff00e7309e0006242330c7000d00c00451 -:10b63000000000002000c1280300201400000000ca -:10b640000500001000000224020081040628c50045 -:10b6500023280500251005000800e0030000000075 -:10b6600000000000807f013c010021342b08810094 -:10b670000300201400000000f7ff00100080023ccf -:0cb68000f5ff0010ffff02240000000096 -:020000040000fa -:020000041d00dd -:10b68c001b00a0102128850021100000019d063c04 -:10b69c0098bac6240000839002410300023b0200ca -:10b6ac0026380701403807002138e6000011020057 -:10b6bc000000e79426104700ffff4230023b0200d7 -:10b6cc002618e3000f0063304018030021186600b1 -:10b6dc000011020000006394261043000100842432 -:10b6ec00ecff8514ffff42300800e003000000006f -:10b6fc000800e003211000005480828fc00343280f -:10b70c000600601001004324548083af00a0033c6a -:10b71c001c11632421104300000044a00800e00326 -:10b72c00000000000800e003548080af5480828f3a -:10b73c000b0040182118000000a0073c1c11e72446 -:10b74c002128e3000000a680212883000000a6a089 -:10b75c00010063242a286200faffa0142128e300c8 -:08b76c000800e00300000000ea -:020000040000fa -:020000041d00dd -:10b774000000803fa4707d3f48e17a3fec51783f60 -:10b784008fc2753f3333733f1f856b3f6666663fd9 -:10b79400ae47613ff6285c3fe17a543f713d4a3f32 -:10b7a4000000403f8fc2353f7b142e3fae47213f00 -:10b7b400e17a143f14ae073fd7a3f03ecdcccc3e84 -:10b7c4009a99993ecdcc4c3ecdcccc3dcdcc4c3d84 -:020000040000fa -:020000041d00dd -:10b7d400c3641a1cbd2e00650fb3409b4232523223 -:10b7e400016c8cea092a02f0006c0cb280da409bee -:10b7f40001f0006c8ceafb2a09b2006b60da09b331 -:10b8040060da09b360da016b08b260da08b2409a10 -:10b81400ff170065003088bf083088bf30f280bf52 -:10b82400556699aaaa99665518f680bf10f680bf86 -:020000040000fa -:020000041d00dd -:10b834000080013c12008010243081000200810449 -:10b8440000000000232004009e0005242038877097 -:10b854002328a7000420e400800084248000882c8e -:10b864002128a80003420400010008312320880095 -:10b874004020040042220400c04505002520880021 -:10b88400251086000800e00300000000000000000e -:020000040000fa -:020000041d00dd -:10b894000000043ce8ffbd2700008424030080105e -:10b8a4001400bfaf09f880000000000000008430dd -:10b8b4000000a530019d083ce4b1082509f8000109 -:10b8c400000000000000023c00004224030040107d -:10b8d4000000000009f8400000000000f9ff00101b -:04b8e4000000000060 -:020000040000fa -:020000041d00dd -:10b8e8000000023c00004224050040100000023c19 -:10b8f8000000422403004010019d023c3f000070fc -:10b90800019d023cc0b9422405004010000000001f -:10b91800e8ffbd271400bfaf09f840000000000091 -:08b928004a2e400b0000000054 -:020000040000fa -:020000041d00dd -:10b930000000023c00004224050040100000023cd0 -:10b940000000422403004010019d023c3f000070b3 -:10b95000019d023cc0b942240500401000000000d7 -:10b96000e8ffbd271400bfaf09f840000000000049 -:08b970005c2e400b00000000fa -:020000040000fa -:020000041d00dd -:10b978000000023c00004224070040100000023c86 -:10b988000000422405004050019d023c3f00007029 -:10b998000800e00300000000019d023cc0b94224f9 -:10b9a800030040100000000009f8400000000000fb -:08b9b8000800e003000000009c -:020000040000fa -:020000041d00dd -:10b9c00000606041c000000099aa033c81bf023cb6 -:10b9d0005566632430f240ac30f243ac6655033c0c -:10b9e000aa99633430f243ac81bf023c01000324c6 -:10b9f00018f643ac81bf023c10f6428c722e400b0d -:04ba00000000000042 -:020000040000fa -:020000041d00dd -:10ba04000605050505000000020407040500000002 -:10ba1400102480bf102080bf102680bf102280bf5a -:10ba2400102880bf002480bf002080bf002680bf74 -:08ba3400002280bf002880bf42 -:020000040000fa -:020000041d00dd -:10ba3c00006803408000023c2510620000688240d0 -:10ba4c00040080100010032488bf023c0800e003af -:10ba5c00041043ac88bf023c0800e003081043ac60 -:020000040000fa -:020000041d00dd -:10ba6c0088340ab291e2409cdbed012ee5e812eb42 -:10ba7c006633fe4b70da509a024a5bed012ae5e818 -:0cba8c0012ea20e846320065fcba009d7a -:020000040000fa -:020000041d00dd -:10ba980000002110422063308440a550c660e77042 -:10baa800088129914aa16bb18cc1add1cee1eff1ea -:020000040000fa -:020000041d00dd -:10bab8000100843003008014000000000800e00347 -:0cbac800006060410800e0032060604165 -:020000040000fa -:020000041d00dd -:10ffe8008832903453e404b251e4409c629c20e887 -:08fff80061da006548a0009ddc -:020000040000fa -:020000041d00dd -:10bad40000601a40bfff1b3cffff7b3724d05b0391 -:08bae40000609a4018000042c6 -:020000040000fa -:020000041d00dd -:08baec000800e0032060624144 -:020000040000fa -:020000041d00dd -:08baf4000800e003006062415c -:020000040000fa -:020000041d00dd -:08bafc00005080bf005180bf23 -:020000040000fa -:020000041d00dd -:04bb0400a0e8006550 -:020000040000fa -:020000041d00dd -:04bb0800a0e800654c -:00000001FF