From 9ae6aa31e759d2ce055d95e3918f2a3c233cabd2 Mon Sep 17 00:00:00 2001 From: jdevito Date: Fri, 25 Aug 2023 14:54:57 -0500 Subject: [PATCH 01/10] feature: adds jsonProperty decorator and static asset class 1. Adds jsonProperty decorator to all config classes. 2. Copied in DynFusionAssetsStatic from DynFusion app. --- DynFusionEPI/Config/AssetsClass.cs | 6 + DynFusionEPI/Config/CallStatistics.cs | 2 + .../Config/CallStatisticsDeviceConfig.cs | 11 + DynFusionEPI/Config/CustomAttributes.cs | 6 + DynFusionEPI/Config/CustomProperties.cs | 6 + DynFusionEPI/Config/DeviceUsage.cs | 8 + DynFusionEPI/Config/DeviceUsageDevice.cs | 7 + DynFusionEPI/Config/DeviceUsageSoruce.cs | 7 + DynFusionEPI/Config/DisplayUsageDevice.cs | 5 + .../Config/DynFusionConfigObjectTemplate.cs | 16 +- DynFusionEPI/Config/FusionCustomProperty.cs | 5 + DynFusionEPI/Config/FusionEssentialsAsset.cs | 9 + DynFusionEPI/Config/FusionOccupancyAsset.cs | 5 + DynFusionEPI/DynFusionAssetsStatic.cs | 209 ++++++++++++++++++ DynFusionEPI/Properties/AssemblyInfo.cs | 4 +- 15 files changed, 302 insertions(+), 4 deletions(-) create mode 100644 DynFusionEPI/DynFusionAssetsStatic.cs diff --git a/DynFusionEPI/Config/AssetsClass.cs b/DynFusionEPI/Config/AssetsClass.cs index 826e303..bff761f 100644 --- a/DynFusionEPI/Config/AssetsClass.cs +++ b/DynFusionEPI/Config/AssetsClass.cs @@ -1,11 +1,17 @@ using System.Collections.Generic; +using Newtonsoft.Json; namespace DynFusion.Config { public class AssetsClass { + [JsonProperty("occupancySensors")] public List OccupancySensors { get; set; } + + [JsonProperty("analogLinks")] public List AnalogLinks { get; set; } + + [JsonProperty("serialLinks")] public List SerialLinks { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/CallStatistics.cs b/DynFusionEPI/Config/CallStatistics.cs index f3f5dc8..cd9a7ba 100644 --- a/DynFusionEPI/Config/CallStatistics.cs +++ b/DynFusionEPI/Config/CallStatistics.cs @@ -1,9 +1,11 @@ using System.Collections.Generic; +using Newtonsoft.Json; namespace DynFusion.Config { public class CallStatistics { + [JsonProperty("devices")] public List Devices { get; set; } public CallStatistics() diff --git a/DynFusionEPI/Config/CallStatisticsDeviceConfig.cs b/DynFusionEPI/Config/CallStatisticsDeviceConfig.cs index 688aae3..a793c5a 100644 --- a/DynFusionEPI/Config/CallStatisticsDeviceConfig.cs +++ b/DynFusionEPI/Config/CallStatisticsDeviceConfig.cs @@ -1,11 +1,22 @@ +using Newtonsoft.Json; + namespace DynFusion.Config { public class CallStatisticsDeviceConfig { + [JsonProperty("name")] public string Name { get; set; } + + [JsonProperty("type")] public string Type { get; set; } + + [JsonProperty("joinNumber")] public uint JoinNumber { get; set; } + + [JsonProperty("userCallTimer")] public bool UseCallTimer { get; set; } + + [JsonProperty("postMeetingId")] public bool PostMeetingId { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/CustomAttributes.cs b/DynFusionEPI/Config/CustomAttributes.cs index 6232283..5078d79 100644 --- a/DynFusionEPI/Config/CustomAttributes.cs +++ b/DynFusionEPI/Config/CustomAttributes.cs @@ -1,11 +1,17 @@ using System.Collections.Generic; +using Newtonsoft.Json; namespace DynFusion.Config { public class CustomAttributes { + [JsonProperty("digitalAttributes")] public List DigitalAttributes {get; set;} + + [JsonProperty("analogAttributes")] public List AnalogAttributes { get; set; } + + [JsonProperty("serialAttributes")] public List SerialAttributes { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/CustomProperties.cs b/DynFusionEPI/Config/CustomProperties.cs index 02ef61d..7be3443 100644 --- a/DynFusionEPI/Config/CustomProperties.cs +++ b/DynFusionEPI/Config/CustomProperties.cs @@ -1,11 +1,17 @@ using System.Collections.Generic; +using Newtonsoft.Json; namespace DynFusion.Config { public class CustomProperties { + [JsonProperty("digitalProperties")] public List DigitalProperties { get; set; } + + [JsonProperty("analogProperties")] public List AnalogProperties { get; set; } + + [JsonProperty("serialProperties")] public List SerialProperties { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/DeviceUsage.cs b/DynFusionEPI/Config/DeviceUsage.cs index 1acb78b..3ae6837 100644 --- a/DynFusionEPI/Config/DeviceUsage.cs +++ b/DynFusionEPI/Config/DeviceUsage.cs @@ -1,12 +1,20 @@ using System.Collections.Generic; +using Newtonsoft.Json; namespace DynFusion.Config { public class DeviceUsage { + [JsonProperty("usageMinThreshold")] public int UsageMinThreshold { get; set; } + + [JsonProperty("devices")] public List Devices { get; set; } + + [JsonProperty("sources")] public List Sources { get; set; } + + [JsonProperty("displays")] public List Displays { get; set; } public DeviceUsage() diff --git a/DynFusionEPI/Config/DeviceUsageDevice.cs b/DynFusionEPI/Config/DeviceUsageDevice.cs index 837e85f..4ef095a 100644 --- a/DynFusionEPI/Config/DeviceUsageDevice.cs +++ b/DynFusionEPI/Config/DeviceUsageDevice.cs @@ -1,9 +1,16 @@ +using Newtonsoft.Json; + namespace DynFusion.Config { public class DeviceUsageDevice { + [JsonProperty("name")] public string Name { get; set; } + + [JsonProperty("type")] public string Type { get; set; } + + [JsonProperty("joinNumber")] public uint JoinNumber { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/DeviceUsageSoruce.cs b/DynFusionEPI/Config/DeviceUsageSoruce.cs index f4251c9..f34fcd1 100644 --- a/DynFusionEPI/Config/DeviceUsageSoruce.cs +++ b/DynFusionEPI/Config/DeviceUsageSoruce.cs @@ -1,9 +1,16 @@ +using Newtonsoft.Json; + namespace DynFusion.Config { public class DeviceUsageSource { + [JsonProperty("name")] public string Name { get; set; } + + [JsonProperty("type")] public string Type { get; set; } + + [JsonProperty("sourceNumber")] public ushort SourceNumber { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/DisplayUsageDevice.cs b/DynFusionEPI/Config/DisplayUsageDevice.cs index 7299ef6..2da2b6a 100644 --- a/DynFusionEPI/Config/DisplayUsageDevice.cs +++ b/DynFusionEPI/Config/DisplayUsageDevice.cs @@ -1,8 +1,13 @@ +using Newtonsoft.Json; + namespace DynFusion.Config { public class DisplayUsageDevice { + [JsonProperty("name")] public string Name { get; set; } + + [JsonProperty("joinNumber")] public uint JoinNumber { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/DynFusionConfigObjectTemplate.cs b/DynFusionEPI/Config/DynFusionConfigObjectTemplate.cs index f86cfaf..8ce9c27 100644 --- a/DynFusionEPI/Config/DynFusionConfigObjectTemplate.cs +++ b/DynFusionEPI/Config/DynFusionConfigObjectTemplate.cs @@ -1,14 +1,26 @@ -using PepperDash.Essentials.Core; +using Newtonsoft.Json; +using PepperDash.Essentials.Core; namespace DynFusion.Config { public class DynFusionConfigObjectTemplate { + [JsonProperty("control")] public EssentialsControlPropertiesConfig Control {get; set;} + + [JsonProperty("customAttributes")] public CustomAttributes CustomAttributes { get; set; } + + [JsonProperty("customProperties")] public CustomProperties CustomProperties { get; set; } + + [JsonProperty("assets")] public AssetsClass Assets { get; set; } - public DeviceUsage DeviceUsage { get; set; } + + [JsonProperty("deviceUsage")] + public DeviceUsage DeviceUsage { get; set; } + + [JsonProperty("callStatistics")] public CallStatistics CallStatistics { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/FusionCustomProperty.cs b/DynFusionEPI/Config/FusionCustomProperty.cs index 8cc3962..3057a94 100644 --- a/DynFusionEPI/Config/FusionCustomProperty.cs +++ b/DynFusionEPI/Config/FusionCustomProperty.cs @@ -1,8 +1,13 @@ +using Newtonsoft.Json; + namespace DynFusion.Config { public class FusionCustomProperty { + [JsonProperty("id")] public string Id { get; set; } + + [JsonProperty("joinNumber")] public uint JoinNumber { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/FusionEssentialsAsset.cs b/DynFusionEPI/Config/FusionEssentialsAsset.cs index 69bcf54..22d0171 100644 --- a/DynFusionEPI/Config/FusionEssentialsAsset.cs +++ b/DynFusionEPI/Config/FusionEssentialsAsset.cs @@ -1,10 +1,19 @@ +using Newtonsoft.Json; + namespace DynFusion.Config { public class FusionEssentialsAsset { + [JsonProperty("deviceKey")] public string DeviceKey { get; set; } + + [JsonProperty("joinNumber")] public uint JoinNumber { get; set; } + + [JsonProperty("feedback")] public string Feedback { get; set; } + + [JsonProperty("name")] public string Name { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/Config/FusionOccupancyAsset.cs b/DynFusionEPI/Config/FusionOccupancyAsset.cs index 623a871..57383c7 100644 --- a/DynFusionEPI/Config/FusionOccupancyAsset.cs +++ b/DynFusionEPI/Config/FusionOccupancyAsset.cs @@ -1,8 +1,13 @@ +using Newtonsoft.Json; + namespace DynFusion.Config { public class FusionOccupancyAsset { + [JsonProperty("key")] public string Key { get; set; } + + [JsonProperty("LinkToDeviceKey")] public string LinkToDeviceKey { get; set; } } } \ No newline at end of file diff --git a/DynFusionEPI/DynFusionAssetsStatic.cs b/DynFusionEPI/DynFusionAssetsStatic.cs new file mode 100644 index 0000000..f417583 --- /dev/null +++ b/DynFusionEPI/DynFusionAssetsStatic.cs @@ -0,0 +1,209 @@ +using System; +using Crestron.SimplSharpPro; +using Crestron.SimplSharpPro.Fusion; + +namespace DynFusion +{ + public class DynFusionAssetsStatic + { + private readonly EISCAPI _api; + private readonly FusionStaticAsset _asset; + private readonly string _assetName; + private readonly uint _assetNumber; + private readonly uint _customJoinOffset; + private readonly PDT_Debug _debug; + private readonly FusionRoom _fusionSymbol; + private uint _powerOffJoin; + private uint _powerOnJoin; + + public DynFusionAssetsStatic(uint assetNumber, FusionRoom symbol, PDT_Debug debug, EISCAPI api, + StaticAsset config) + { + _assetNumber = assetNumber; + _assetName = config.name; + _fusionSymbol = symbol; + _debug = debug; + _api = api; + _customJoinOffset = config.customAttributeJoinOffset; + _fusionSymbol.FusionAssetStateChange += _fusionSymbol_FusionAssetStateChange; + + _powerOffJoin = 0; + _powerOnJoin = 0; + _asset = ((FusionStaticAsset)_fusionSymbol.UserConfigurableAssetDetails[_assetNumber].Asset); + + _asset.PowerOn.AddSigToRVIFile = false; + _asset.PowerOff.AddSigToRVIFile = false; + _asset.Connected.AddSigToRVIFile = false; + _asset.AssetError.AddSigToRVIFile = false; + _asset.AssetUsage.AddSigToRVIFile = false; + _asset.ParamMake.Value = !String.IsNullOrEmpty(config.make) ? config.make : String.Empty; + _asset.ParamModel.Value = !String.IsNullOrEmpty(config.model) ? config.model : String.Empty; + } + + private void _fusionSymbol_FusionAssetStateChange(FusionBase device, FusionAssetStateEventArgs args) + { + if (_assetNumber != args.UserConfigurableAssetDetailIndex) + { + return; + } + + _debug.TraceEvent("Static Asset State Change {0} recieved EventID {1} Index {2}", device, args.EventId, + args.UserConfigurableAssetDetailIndex); + switch (args.EventId) + { + case FusionAssetEventId.StaticAssetPowerOffReceivedEventId: + { + if (_powerOffJoin > 0) + { + _api.EISC.BooleanInput[_powerOffJoin].BoolValue = _asset.PowerOff.OutputSig.BoolValue; + } + break; + } + case FusionAssetEventId.StaticAssetPowerOnReceivedEventId: + { + if (_powerOnJoin > 0) + { + _api.EISC.BooleanInput[_powerOnJoin].BoolValue = _asset.PowerOn.OutputSig.BoolValue; + } + break; + } + case FusionAssetEventId.StaticAssetAssetBoolAssetSigEventReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as BooleanSigData; + if (sigDetails != null) + { + _debug.TraceEvent(string.Format("StaticAsset: {0} Bool Change Join:{1} Name:{2} Value:{3}", + _asset.ParamAssetName, sigDetails.Number, sigDetails.Name, sigDetails.OutputSig.BoolValue)); + _api.EISC.BooleanInput[sigDetails.Number + _customJoinOffset].BoolValue = + sigDetails.OutputSig.BoolValue; + } + break; + } + case FusionAssetEventId.StaticAssetAssetUshortAssetSigEventReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as UShortSigData; + if (sigDetails != null) + { + _debug.TraceEvent(string.Format("StaticAsset: {0} UShort Change Join:{1} Name:{2} Value:{3}", + _asset.ParamAssetName, sigDetails.Number, sigDetails.Name, sigDetails.OutputSig.UShortValue)); + _api.EISC.UShortInput[sigDetails.Number + _customJoinOffset].UShortValue = + sigDetails.OutputSig.UShortValue; + } + break; + } + case FusionAssetEventId.StaticAssetAssetStringAssetSigEventReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as StringSigData; + if (sigDetails != null) + { + _debug.TraceEvent(string.Format("StaticAsset: {0} String Change Join:{1} Name:{2} Value:{3}", + _asset.ParamAssetName, sigDetails.Number, sigDetails.Name, sigDetails.OutputSig.StringValue)); + _api.EISC.StringInput[sigDetails.Number + _customJoinOffset].StringValue = + sigDetails.OutputSig.StringValue; + } + break; + } + } + } + + public void AddAttribute(string name, uint eiscJoin) + { + _debug.TraceEvent(string.Format("Creating assetAttribute: {0}, {1}, {2}", _assetName, name, eiscJoin)); + + switch (name) + { + case "PowerOn": + { + _api.DigitalActionDict[(ushort)eiscJoin] = + args => _asset.PowerOn.InputSig.BoolValue = args.Sig.BoolValue; + _powerOnJoin = eiscJoin; + _asset.PowerOn.AddSigToRVIFile = true; + break; + } + case "PowerOff": + { + _powerOffJoin = eiscJoin; + _asset.PowerOff.AddSigToRVIFile = true; + break; + } + case "Connected": + { + _api.DigitalActionDict[(ushort)eiscJoin] = + args => _asset.Connected.InputSig.BoolValue = args.Sig.BoolValue; + _asset.Connected.AddSigToRVIFile = true; + break; + } + case "AssetUsage": + { + _api.StringActionDict[(ushort)eiscJoin] = + args => _asset.AssetUsage.InputSig.StringValue = args.Sig.StringValue; + _asset.AssetUsage.AddSigToRVIFile = true; + break; + } + case "AssetError": + { + _api.StringActionDict[(ushort)eiscJoin] = + args => _asset.AssetError.InputSig.StringValue = args.Sig.StringValue; + _asset.AssetError.AddSigToRVIFile = true; + break; + } + } + } + + public void AddCustomAttribute(eSigType sigType, string name, eSigIoMask rwType, uint eiscJoin, + ushort joinNumber) + { + _debug.TraceEvent(string.Format("Creating assetCustomAttribute: {0}, {1}, {2}, {3}, {4}", _assetName, name, + sigType, rwType, eiscJoin)); + + _fusionSymbol.AddSig(_assetNumber, sigType, joinNumber, name, rwType); + //Create attribute with join based at 1 + int joinNumberOffset = joinNumber + Constants.FusionJoinOffset; + //From now on use join offset by 49 (based at 50) + + //Create actions to send to Fusion if write or read/write + if (rwType != eSigIoMask.InputSigOnly && rwType != eSigIoMask.InputOutputSig) + { + return; + } + + switch (sigType) + { + case eSigType.Bool: + { + _api.DigitalActionDict[(ushort)eiscJoin] = + args => + _asset.FusionGenericAssetDigitalsAsset1.BooleanInput[(ushort)joinNumberOffset].BoolValue = + args.Sig.BoolValue; + break; + } + case eSigType.UShort: + { + _api.AnalogActionDict[(ushort)eiscJoin] = + args => + _asset.FusionGenericAssetAnalogsAsset2.UShortInput[(ushort)joinNumberOffset].UShortValue = + args.Sig.UShortValue; + break; + } + case eSigType.String: + { + _api.StringActionDict[(ushort)eiscJoin] = + args => + _asset.FusionGenericAssetSerialsAsset3.StringInput[(ushort)joinNumberOffset].StringValue = + args.Sig.StringValue; + break; + } + } + } + + #region Nested type: DynFusionAssetsStaticMessage + + public class DynFusionAssetsStaticMessage + { + public bool SystemPowerOff; + public bool SystemPowerOn; + } + + #endregion + } +} \ No newline at end of file diff --git a/DynFusionEPI/Properties/AssemblyInfo.cs b/DynFusionEPI/Properties/AssemblyInfo.cs index b31431b..28e2ee9 100644 --- a/DynFusionEPI/Properties/AssemblyInfo.cs +++ b/DynFusionEPI/Properties/AssemblyInfo.cs @@ -1,8 +1,8 @@ using System.Reflection; [assembly: AssemblyTitle("EssentialsPluginTemplateEpi")] -[assembly: AssemblyCompany("")] +[assembly: AssemblyCompany("PepperDash")] [assembly: AssemblyProduct("EssentialsPluginTemplateEpi")] -[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyCopyright("Copyright © 2023")] [assembly: AssemblyVersion("1.0.0.*")] From 881eeb3fb39732e54f65c4b43f00e03125349278 Mon Sep 17 00:00:00 2001 From: jdevito Date: Mon, 28 Aug 2023 19:50:54 -0500 Subject: [PATCH 02/10] refactor: updates plugin to implement static assets 1. DebugExtensions to allow for changing debug levels on the fly. 2. Updates static asset class 3. Updates DynFusionDevice to allow for static asset class --- Config/PepperDashEssentials.rvi | 298 + ...4_essentials_configurationFile-v00.02.json | 177 + ...4_essentials_configurationFile-v00.02.json | 166 + DynFusionEPI/AvailableRooms.cs | 20 +- DynFusionEPI/Config/AssetsClass.cs | 3 + .../Config/FusionStaticAssetConfig.cs | 33 + DynFusionEPI/DebugExtension.cs | 29 + DynFusionEPI/DynFusionAssetsStatic.cs | 209 - DynFusionEPI/DynFusionAttribute.cs | 7 +- DynFusionEPI/DynFusionDevice.cs | 91 +- DynFusionEPI/DynFusionDeviceFactory.cs | 7 +- DynFusionEPI/DynFusionStaticAsset.cs | 446 + DynFusionEPI/DynFusionStaticAssetJoinMap.cs | 83 + DynFusionEPI/PDTDynFusionEPI.csproj | 4 + DynFusionEPI/SchedulingJoinMap.cs | 2 +- .../PD_DynFuison_Plugin_RMC4_v00.01.lpz | Bin 0 -> 1118255 bytes .../PD_DynFuison_Plugin_RMC4_v00.01.lpz.hash | 1 + .../PD_DynFuison_Plugin_RMC4_v00.01.sig | 3 + .../PD_DynFuison_Plugin_RMC4_v00.01.sm2 | 5298 ++ .../PD_DynFuison_Plugin_RMC4_v00.01.smft | 3 + .../PD_DynFuison_Plugin_RMC4_v00.01.smw | 3 + .../PD_DynFuison_Plugin_RMC4_v00.01.smw.err | 5298 ++ ...ison_Plugin_RMC4_v00.01_CrosspointList.txt | 13 + ...D_DynFuison_Plugin_RMC4_v00.01_archive.zip | 3 + ..._DynFuison_Plugin_RMC4_v00.01_compiled.zip | 3 + SIMPL_Example/SPlsWork/InitialParameters.dll | Bin 0 -> 7272 bytes SIMPL_Example/SPlsWork/InitialParameters.inf | Bin 0 -> 2805 bytes .../SPlsWork/InitialParametersAdapter.clz | Bin 0 -> 1213534 bytes .../SPlsWork/InitialParametersAdapter.dll | Bin 0 -> 6144 bytes .../SPlsWork/InitialParametersAdapter.h | 34 + .../SPlsWork/InitialParametersAdapter.inf | Bin 0 -> 4782 bytes .../SimplSharpCustomAttributesInterface.dll | Bin 0 -> 8400 bytes SIMPL_Example/SPlsWork/SimplSharpData.dat | Bin 0 -> 2176 bytes SIMPL_Example/SPlsWork/SimplSharpData.dat.der | Bin 0 -> 256 bytes SIMPL_Example/SPlsWork/SimplSharpDataEx.dat | Bin 0 -> 2160 bytes .../SPlsWork/SimplSharpHelperInterface.xml | 55005 ++++++++++++++++ SIMPL_Example/SPlsWork/Utilities.dll | Bin 0 -> 8192 bytes .../SPlsWork/Version.ini | 4 +- .../DynFusion_SimplWindowsDemo_v00.01.lpz | Bin 3227 -> 0 bytes ...DynFusion_SimplWindowsDemo_v00.01.lpz.hash | 1 - .../DynFusion_SimplWindowsDemo_v00.01.sig | 3 - .../DynFusion_SimplWindowsDemo_v00.01.sm2 | 4587 -- .../DynFusion_SimplWindowsDemo_v00.01.smft | 4 - .../DynFusion_SimplWindowsDemo_v00.01.smw | 3 - .../DynFusion_SimplWindowsDemo_v00.01.smw.ASV | 4595 -- ...Fusion_SimplWindowsDemo_v00.01_archive.zip | 3 - ...usion_SimplWindowsDemo_v00.01_compiled.zip | 3 - packages.config | 3 +- 48 files changed, 66989 insertions(+), 9456 deletions(-) create mode 100644 Config/PepperDashEssentials.rvi create mode 100644 Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json create mode 100644 Config/TEMPLATE-VC4_essentials_configurationFile-v00.02.json create mode 100644 DynFusionEPI/Config/FusionStaticAssetConfig.cs create mode 100644 DynFusionEPI/DebugExtension.cs delete mode 100644 DynFusionEPI/DynFusionAssetsStatic.cs create mode 100644 DynFusionEPI/DynFusionStaticAsset.cs create mode 100644 DynFusionEPI/DynFusionStaticAssetJoinMap.cs create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.lpz create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.lpz.hash create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sig create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sm2 create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smft create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw.err create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_CrosspointList.txt create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_archive.zip create mode 100644 SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_compiled.zip create mode 100644 SIMPL_Example/SPlsWork/InitialParameters.dll create mode 100644 SIMPL_Example/SPlsWork/InitialParameters.inf create mode 100644 SIMPL_Example/SPlsWork/InitialParametersAdapter.clz create mode 100644 SIMPL_Example/SPlsWork/InitialParametersAdapter.dll create mode 100644 SIMPL_Example/SPlsWork/InitialParametersAdapter.h create mode 100644 SIMPL_Example/SPlsWork/InitialParametersAdapter.inf create mode 100644 SIMPL_Example/SPlsWork/SimplSharpCustomAttributesInterface.dll create mode 100644 SIMPL_Example/SPlsWork/SimplSharpData.dat create mode 100644 SIMPL_Example/SPlsWork/SimplSharpData.dat.der create mode 100644 SIMPL_Example/SPlsWork/SimplSharpDataEx.dat create mode 100644 SIMPL_Example/SPlsWork/SimplSharpHelperInterface.xml create mode 100644 SIMPL_Example/SPlsWork/Utilities.dll rename {SimplWindowDemo => SIMPL_Example}/SPlsWork/Version.ini (97%) delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.lpz delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.lpz.hash delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sig delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sm2 delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smft delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw.ASV delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_archive.zip delete mode 100644 SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_compiled.zip diff --git a/Config/PepperDashEssentials.rvi b/Config/PepperDashEssentials.rvi new file mode 100644 index 0000000..c45cadd --- /dev/null +++ b/Config/PepperDashEssentials.rvi @@ -0,0 +1,298 @@ + + + 08/28/2023 16:49:45 + + 8.1 + + faf63d8b-cbbb-4080-8260-04f005c49867 + FA + + 01 + Fusion Digitals + + 3 + Digital + + 3 + + + 4 + Digital + + 1 + + + 5 + Digital + + 3 + + + 6 + Digital + + 1 + + + 22 + Digital + + 2 + + + 30 + Digital + + 1 + + + 31 + Digital + + 1 + + + 51 + Digital + + 3 + + + 54 + Digital + + 3 + + + 71 + Digital + + 3 + + + 72 + Digital + + 3 + + + 151 + Digital + + 2 + + + 161 + Digital + + 2 + + + + 02 + Fusion Analogs + + 2 + Analog + + 2 + + + 22 + Analog + + 1 + + + 51 + Analog + + 2 + + + + 03 + Fusion Serials + + 1 + Serial + + 3 + + + 2 + Serial + + 2 + + + 3 + Serial + + 2 + + + 5 + Serial + + 2 + + + 6 + Serial + + 3 + + + 22 + Serial + + 3 + + + 23 + Serial + + 2 + + + 30 + Serial + + 2 + + + 31 + Serial + + 1 + + + 290 + Serial + + 2 + + + + 08 + Fusion Occupancy Sensor + + AssetName + Serial + FUSION ROOM-OccAsset#5 + + + AssetType + Serial + Occupancy Sensor + + + InstanceID + Serial + 71c928c7-dc4d-454d-8ee2-de1a8eb4c998 + + + 1 + Digital + + 3 + + + 2 + Digital + + 1 + + + 3 + Digital + + 3 + + + 1 + Analog + + 3 + + + 12 + Serial + + 3 + + + + 09 + Fusion Static Asset + + AssetName + Serial + Custom Asset 1 + + + AssetType + Serial + Display + + + InstanceID + Serial + f47628bf-9199-4730-8e6d-21abdaf1f55f + + + Make + Serial + + + + Model + Serial + + + + 1 + Digital + + 3 + + + 2 + Digital + + 1 + + + 3 + Digital + + 2 + + + 1 + Serial + + 2 + + + 2 + Serial + + 2 + + + 01 + Fusion Generic Asset Digitals + + + 02 + Fusion Generic Asset Analogs + + + 03 + Fusion Generic Asset Serials + + + + diff --git a/Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json b/Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json new file mode 100644 index 0000000..840ba66 --- /dev/null +++ b/Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json @@ -0,0 +1,177 @@ +{ + "system": {}, + "system_url": "http://portal-QA.devcloud.pepperdash.com/templates/0f50640b-bc89-42d5-998f-81d137d3fc98#/template_summary", + "template": { + "devices": [ + { + "key": "processor", + "uid": 0, + "type": "rmc4", + "name": "RMC4", + "group": "processor", + "supportedConfigModes": [ "compliance", "essentials" ], + "supportedSystemTypes": [ "hudType", "presType", "vtcType", "custom" ], + "supportsCompliance": true, + "properties": {} + }, + { + "key": "deviceMonitor", + "name": "Device Monitor", + "group": "api", + "type": "devicemonitor", + "properties": { + "logToDeviceKeys": [], + "devices": { + "device01": { "name": "TP01" , "logToProcessor": true, "joinNumber": 1 }, + "device02": { "name": "TP01 Xpanel", "logToProcessor": true, "joinNumber": 2 }, + "device03": { "name": "TP02" , "logToProcessor": true, "joinNumber": 6 }, + "device04": { "name": "TP02 Xpanel", "logToProcessor": true, "joinNumber": 7 } + } + } + }, + { + "key": "deviceMonitor-bridge", + "uid": 26, + "group": "api", + "type": "eiscApiAdvanced", + "properties": { + "control": { + "tcpSshProperties": { + "address":"127.0.0.2", + "port": 0 + }, + "ipid": "4", "method": "ipidtcp" + }, + "devices": [ { "deviceKey": "deviceMonitor", "joinStart": 1 } ] + } + }, + { + "key": "room01-dynFusion", + "uid": 1, + "name": "room01", + "type": "DynFusion", + "group": "Fusion", + "properties": { + "control": { + "ipid": "FA", + "method": "ipidTcp", + "tcpSshProperties": { + "address": "127.0.0.2", + "port": 0 + } + }, + "customAttributes": { + "digitalAttributes": [ + { "rwType": "RW" , "name": "Activity - Share" , "joinNumber": 51 }, + { "rwType": "RW" , "name": "Activity - End Meeting" , "joinNumber": 54 }, + { "rwType": "RW" , "name": "Audio Mute - Room Speakers - On" , "joinNumber": 71 }, + { "rwType": "RW" , "name": "Audio Mute - Room Speakers - On" , "joinNumber": 72 }, + { "rwType": "R" , "name": "Online - Touch Panel 1" , "joinNumber": 151 }, + { "rwType": "R" , "name": "Online - XPanel 1" , "joinNumber": 161 } + ], + "analogAttributes": [ + { "rwType": "R", "name": "Volume - Room Speakers", "joinNumber": 51 } + ], + "serialAttributes": [ + { "rwType": "R", "name": "Help Request - Message", "joinNumber": 290 } + ] + }, + "customProperties": { + "digitalProperties": [], + "analogProperties": [], + "serialProperties": [ + { "joinNumber": 301, "ID": "PhoneNumber" }, + { "joinNumber": 302, "ID": "TechPassword" }, + { "joinNumber": 303, "ID": "HelpMessage" }, + { "joinNumber": 304, "ID": "HelpNumber" }, + { "joinNumber": 305, "ID": "KeyboardCustomKey" }, + { "joinNumber": 316, "ID": "hr01Name" }, + { "joinNumber": 317, "ID": "hr02Name" }, + { "joinNumber": 318, "ID": "hr03Name" } + ] + }, + "assets": { + "occupancySensors": [ + {"name" : "OccSensor", "join": 3001} + ], + "staticAssets": [ + { + "name": "Custom Asset 1", + "type": "Display", + "make": "Test Make", + "model": "Test Model", + "attributeJoinOffset": 500, + "attributes": { + "digitalAttributes": [ + { "rwType": "RW" , "name": "PowerOn" , "joinNumber": 1 }, + { "rwType": "W" , "name": "PowerOff" , "joinNumber": 2 }, + { "rwType": "R" , "name": "Connected" , "joinNumber": 3 } + ], + "analogAttributes": [ + + ], + "serialAttributes": [ + { "rwType": "R" , "name": "AssetUsage" , "joinNumber": 1 }, + { "rwType": "R" , "name": "AssetError" , "joinNumber": 2 } + ] + }, + "customAttributes": { + "digitalAttributes": [ + { "rwType": "R", "name": "Digital01", "joinNumber": 1 }, + { "rwType": "R", "name": "Digital02", "joinNumber": 2 } + ], + "analogAttributes": [ + { "rwType": "R", "name": "Analog01", "joinNumber": 1 }, + { "rwType": "R", "name": "Analog02", "joinNumber": 2 } + ], + "serialAttributes": [ + { "rwType": "R" , "name": "Serial01" , "joinNumber": 1 }, + { "rwType": "R" , "name": "Serial02" , "joinNumber": 2 } + ] + } + } + ] + }, + "deviceUsage": { + "usageMinThreshold": 0, + "devices": [], + "displays": [ + { "name": "Display 1", "joinNumber": 1001 } + ], + "sources": [ + { "sourceNumber": 1, "name": "None", "type": "Source - Other" }, + { "sourceNumber": 2, "name": "TV" , "type": "Source - Other" } + ] + } + } + }, + { + "key": "room01-dynFusion-bridge", + "group": "api", + "name": "room01 dynFusion bridge", + "type": "eiscApiAdvanced", + "uid": 110, + "properties": { + "control": { + "tcpSshProperties": { + "address":"127.0.0.2", + "port": 0 + }, + "ipid": "BA", "method": "ipidtcp" + }, + "devices": [ { "deviceKey": "room01-dynFusion", "joinStart": 1 } ] + } + } + ], + "info": { + "comment": "", + "lastModifiedDate": "2017-03-06T23:14:40.290Z", + "lastUid": 5, + "processorType": "rmc4", + "requiredControlSofwareVersion": "", + "systemType": "huddle" + }, + "rooms": [], + "tieLines": [] + } +} \ No newline at end of file diff --git a/Config/TEMPLATE-VC4_essentials_configurationFile-v00.02.json b/Config/TEMPLATE-VC4_essentials_configurationFile-v00.02.json new file mode 100644 index 0000000..2940132 --- /dev/null +++ b/Config/TEMPLATE-VC4_essentials_configurationFile-v00.02.json @@ -0,0 +1,166 @@ +{ + "system": {}, + "system_url": "http://portal-QA.devcloud.pepperdash.com/templates/0f50640b-bc89-42d5-998f-81d137d3fc98#/template_summary", + "template": { + "devices": [ + { + "key": "processor", + "uid": 0, + "type": "vc4", + "name": "VC-4", + "group": "processor", + "supportedConfigModes": [ "compliance", "essentials" ], + "supportedSystemTypes": [ "hudType", "presType", "vtcType", "custom" ], + "supportsCompliance": true, + "properties": {} + }, + { + "key": "deviceMonitor", + "name": "Device Monitor", + "group": "api", + "type": "devicemonitor", + "properties": { + "logToDeviceKeys": [], + "devices": { + "device01": { "name": "TP01" , "logToProcessor": true, "joinNumber": 1 }, + "device02": { "name": "TP01 Xpanel", "logToProcessor": true, "joinNumber": 2 }, + "device03": { "name": "TP02" , "logToProcessor": true, "joinNumber": 6 }, + "device04": { "name": "TP02 Xpanel", "logToProcessor": true, "joinNumber": 7 } + } + } + }, + { + "key": "deviceMonitor-bridge", + "uid": 26, + "group": "api", + "type": "vcEiscApiAdvanced", + "properties": { + "control": { "ipid": "4", "method": "ipid", "roomId": "T01SIMPL" }, + "devices": [ { "deviceKey": "deviceMonitor", "joinStart": 1 } ] + } + }, + { + "key": "room01-dynFusion", + "uid": 1, + "name": "room01", + "type": "DynFusion", + "group": "Fusion", + "properties": { + "control": { + "ipid": "F1", + "method": "ipidTcp", + "tcpSshProperties": { + "address": "127.0.0.2", + "port": 0 + } + }, + "customAttributes": { + "digitalAttributes": [ + { "rwType": "RW" , "name": "Activity - Share" , "joinNumber": 51 }, + { "rwType": "RW" , "name": "Activity - End Meeting" , "joinNumber": 54 }, + { "rwType": "RW" , "name": "Audio Mute - Room Speakers - On" , "joinNumber": 71 }, + { "rwType": "RW" , "name": "Audio Mute - Room Speakers - On" , "joinNumber": 72 }, + { "rwType": "R" , "name": "Online - Touch Panel 1" , "joinNumber": 151 }, + { "rwType": "R" , "name": "Online - XPanel 1" , "joinNumber": 161 } + ], + "analogAttributes": [ + { "rwType": "R", "name": "Volume - Room Speakers", "joinNumber": 51 } + ], + "serialAttributes": [ + { "rwType": "R", "name": "Help Request - Message", "joinNumber": 290 } + ] + }, + "customProperties": { + "digitalProperties": [], + "analogProperties": [], + "serialProperties": [ + { "joinNumber": 301, "ID": "PhoneNumber" }, + { "joinNumber": 302, "ID": "TechPassword" }, + { "joinNumber": 303, "ID": "HelpMessage" }, + { "joinNumber": 304, "ID": "HelpNumber" }, + { "joinNumber": 305, "ID": "KeyboardCustomKey" }, + { "joinNumber": 316, "ID": "hr01Name" }, + { "joinNumber": 317, "ID": "hr02Name" }, + { "joinNumber": 318, "ID": "hr03Name" } + ] + }, + "assets": { + "occupancySensors": [ + {"name" : "OccSensor", "join": 3001} + ], + "staticAssets": [ + { + "name": "Custom Asset 1", + "type": "Display", + "make": "Test Make", + "model": "Test Model", + "attributeJoinOffset": 500, + "customAttributeJoinOffset": 503, + "attributes": { + "digitalAttributes": [ + { "rwType": "RW" , "name": "PowerOn" , "joinNumber": 1 }, + { "rwType": "W" , "name": "PowerOff" , "joinNumber": 2 }, + { "rwType": "R" , "name": "Connected" , "joinNumber": 3 } + ], + "analogAttributes": [ + + ], + "serialAttributes": [ + { "rwType": "R" , "name": "AssetUsage" , "joinNumber": 1 }, + { "rwType": "R" , "name": "AssetError" , "joinNumber": 2 } + ] + }, + "customAttributes": { + "digitalAttributes": [ + { "rwType": "R", "name": "Digital01", "joinNumber": 1 }, + { "rwType": "R", "name": "Digital02", "joinNumber": 2 } + ], + "analogAttributes": [ + { "rwType": "R", "name": "Analog01", "joinNumber": 1 }, + { "rwType": "R", "name": "Analog02", "joinNumber": 2 } + ], + "serialAttributes": [ + { "rwType": "R" , "name": "Serial01" , "joinNumber": 1 }, + { "rwType": "R" , "name": "Serial02" , "joinNumber": 2 } + ] + } + } + ] + }, + "deviceUsage": { + "usageMinThreshold": 0, + "devices": [], + "displays": [ + { "name": "Display 1", "joinNumber": 1001 } + ], + "sources": [ + { "sourceNumber": 1, "name": "None", "type": "Source - Other" }, + { "sourceNumber": 2, "name": "TV" , "type": "Source - Other" } + ] + } + } + }, + { + "key": "room01-dynFusion-bridge", + "group": "api", + "name": "room01 bridge", + "type": "vcEiscApiAdvanced", + "uid": 110, + "properties": { + "control": { "ipid": "D1", "method": "ipid", "roomId": "T01SIMPL" }, + "devices": [ { "deviceKey": "room01-dynFusion", "joinStart": 1 } ] + } + } + ], + "info": { + "comment": "", + "lastModifiedDate": "2017-03-06T23:14:40.290Z", + "lastUid": 5, + "processorType": "vc4", + "requiredControlSofwareVersion": "", + "systemType": "huddle" + }, + "rooms": [], + "tieLines": [] + } +} \ No newline at end of file diff --git a/DynFusionEPI/AvailableRooms.cs b/DynFusionEPI/AvailableRooms.cs index 3b69c7a..2f570cd 100644 --- a/DynFusionEPI/AvailableRooms.cs +++ b/DynFusionEPI/AvailableRooms.cs @@ -86,19 +86,19 @@ public DynFusionScheduleAvailableRooms(DynFusionDevice DynFusionInstance) private void getAvailableRoomsTimeout(object unused) { - Debug.ConsoleWithLog(2, "Error getAvailableRoomsTimeout", 3); + Debug.ConsoleWithLog(DebugExtensions.Warn, "getAvailableRoomsTimeout error", 3); this.AvailableRoomStatus = false; } public void sendFreeBusyStatusAvailableUntil(DateTime AvailableUntilTime) { // "2017-12-09T00:00:00" _DynFusion.FusionSymbol.FreeBusyStatusToRoom.InputSig.StringValue = string.Format("{0}", AvailableUntilTime.ToString("yyyy-MM-ddTHH:mm:00")); - Debug.Console(2, string.Format("Sending FreeBusyStatus {0}", AvailableUntilTime.ToString("yyyy-MM-ddTHH:mm:00"))); + Debug.Console(DebugExtensions.Verbose, string.Format("Sending FreeBusyStatus {0}", AvailableUntilTime.ToString("yyyy-MM-ddTHH:mm:00"))); } public void sendFreeBusyStatusAvailable() { _DynFusion.FusionSymbol.FreeBusyStatusToRoom.InputSig.StringValue = string.Format("{0}", DateTime.Now.AddDays(5).ToString("yyyy-MM-ddT00:00:00")); - Debug.Console(2, "Sending FreeBusyStatus {0}", DateTime.Now.AddDays(5).ToString("yyyy-MM-ddT00:00:00")); + Debug.Console(DebugExtensions.Verbose, "Sending FreeBusyStatus {0}", DateTime.Now.AddDays(5).ToString("yyyy-MM-ddT00:00:00")); } public void sendFreeBusyStatusNotAvailable() { @@ -120,14 +120,14 @@ public void GetRoomList() string fusionRoomListRequest = ""; //TODO This needs to be implemented // fusionRoomListRequest = String.Format("RoomListRequestLocation{0}", _DynFusion.FusionRoomInfo.roomInformation.Location); - Debug.Console(2, String.Format("RoomList Request: {0}", fusionRoomListRequest)); + Debug.Console(DebugExtensions.Verbose, String.Format("RoomList Request: {0}", fusionRoomListRequest)); _DynFusion.FusionSymbol.ExtenderFusionRoomDataReservedSigs.RoomListQuery.StringValue = fusionRoomListRequest; } } catch (Exception e) { - Debug.Console(2, String.Format("Error Requesting Room List: {0}", e.ToString())); + Debug.Console(DebugExtensions.Verbose, String.Format("Error Requesting Room List: {0}", e.ToString())); } } public void getAvailableRooms() @@ -144,7 +144,7 @@ public void getAvailableRooms() } string messageFooter = String.Format(""); _DynFusion.FusionSymbol.ExtenderFusionRoomDataReservedSigs.RoomAttributeQuery.StringValue = string.Format("{0}{1}{2}", messageHeader, messageBody, messageFooter); - Debug.Console(2, String.Format("RequestRoomAttributeList {0}{1}{2}", messageHeader, messageBody, messageFooter)); + Debug.Console(DebugExtensions.Verbose, String.Format("RequestRoomAttributeList {0}{1}{2}", messageHeader, messageBody, messageFooter)); /* * if (_DynFusion.FusionSchedule.isRegisteredForSchedulePushNotifications) { schedulePushTimer.Stop(); @@ -154,8 +154,8 @@ public void getAvailableRooms() } catch (Exception ex) { - Debug.Console(2, String.Format("getAvailableRooms Error: {0}", ex.Message)); - Debug.ConsoleWithLog(2, ex.ToString()); + Debug.Console(DebugExtensions.Verbose, String.Format("getAvailableRooms Error: {0}", ex.Message)); + Debug.ConsoleWithLog(DebugExtensions.Verbose, ex.ToString()); } } void FusionRoomDataExtenderSigChange(DeviceExtender currentDeviceExtender, SigEventArgs args) @@ -246,7 +246,7 @@ void FusionRoomDataExtenderSigChange(DeviceExtender currentDeviceExtender, SigEv Debug.Console(2, String.Format("RoomAttributeListResponseRoomElement: {0} Value: {1}", attributeElement.Name, attributeElement.InnerXml)); string attributeType = attributeElement.GetElementsByTagName("Name").Item(0).InnerXml; string attributeValue = attributeElement.GetElementsByTagName("Value").Item(0).InnerXml; - Debug.Console(2, String.Format("RoomAttributeListResponseRoomAttribute Type: {0} Value: {1}", attributeType, attributeValue)); + Debug.Console(2, String.Format("RoomAttributeListResponseRoomAttribute AssetType: {0} Value: {1}", attributeType, attributeValue)); switch (attributeType) { case ("Online Status"): { if (attributeValue == "2") { RoomList[index].OnlineStatus = true; } else { RoomList[index].OnlineStatus = false; } break; } @@ -334,7 +334,7 @@ void FusionRoomDataExtenderSigChange(DeviceExtender currentDeviceExtender, SigEv Room roomListRoom = new Room(); roomListRoom = CrestronXMLSerialization.DeSerializeObject(reader); - Debug.Console(2, String.Format("Var is: {0}, Type: {1}", roomListRoom.RoomName, roomListRoom.GetType())); + Debug.Console(2, String.Format("Var is: {0}, AssetType: {1}", roomListRoom.RoomName, roomListRoom.GetType())); // AvailableRooms.RoomList.Add(roomAvailable); RoomList.Add(roomListRoom); diff --git a/DynFusionEPI/Config/AssetsClass.cs b/DynFusionEPI/Config/AssetsClass.cs index bff761f..b12c9c3 100644 --- a/DynFusionEPI/Config/AssetsClass.cs +++ b/DynFusionEPI/Config/AssetsClass.cs @@ -8,6 +8,9 @@ public class AssetsClass [JsonProperty("occupancySensors")] public List OccupancySensors { get; set; } + [JsonProperty("staticAssets")] + public List StaticAssets { get; set; } + [JsonProperty("analogLinks")] public List AnalogLinks { get; set; } diff --git a/DynFusionEPI/Config/FusionStaticAssetConfig.cs b/DynFusionEPI/Config/FusionStaticAssetConfig.cs new file mode 100644 index 0000000..9a59249 --- /dev/null +++ b/DynFusionEPI/Config/FusionStaticAssetConfig.cs @@ -0,0 +1,33 @@ +using System.Collections.Generic; +using Newtonsoft.Json; +using PepperDash.Core; + +namespace DynFusion.Config +{ + public class FusionStaticAssetConfig + { + [JsonProperty("name")] + public string Name { get; set; } + + [JsonProperty("type")] + public string Type { get; set; } + + [JsonProperty("attributeJoinOffset")] + public uint AttributeJoinOffset { get; set; } + + [JsonProperty("customAttributeJoinOffset")] + public uint CustomAttributeJoinOffset { get; set; } + + [JsonProperty("Make")] + public string Make { get; set; } + + [JsonProperty("Model")] + public string Model { get; set; } + + [JsonProperty("attributes")] + public CustomAttributes Attributes { get; set; } + + [JsonProperty("customAttributes")] + public CustomAttributes CustomAttributes { get; set; } + } +} \ No newline at end of file diff --git a/DynFusionEPI/DebugExtension.cs b/DynFusionEPI/DebugExtension.cs new file mode 100644 index 0000000..a0437bd --- /dev/null +++ b/DynFusionEPI/DebugExtension.cs @@ -0,0 +1,29 @@ + +namespace DynFusion +{ + public static class DebugExtensions + { + public static uint Trace { get; set; } + public static uint Warn { get; set; } + public static uint Verbose { get; set; } + + static DebugExtensions() + { + ResetLevels(); + } + + public static void SetLevels(uint level) + { + Trace = level; + Warn = level; + Verbose = level; + } + + public static void ResetLevels() + { + Trace = 0; // 0 + Warn = 0; // 1 + Verbose = 0; // 2 + } + } +} \ No newline at end of file diff --git a/DynFusionEPI/DynFusionAssetsStatic.cs b/DynFusionEPI/DynFusionAssetsStatic.cs deleted file mode 100644 index f417583..0000000 --- a/DynFusionEPI/DynFusionAssetsStatic.cs +++ /dev/null @@ -1,209 +0,0 @@ -using System; -using Crestron.SimplSharpPro; -using Crestron.SimplSharpPro.Fusion; - -namespace DynFusion -{ - public class DynFusionAssetsStatic - { - private readonly EISCAPI _api; - private readonly FusionStaticAsset _asset; - private readonly string _assetName; - private readonly uint _assetNumber; - private readonly uint _customJoinOffset; - private readonly PDT_Debug _debug; - private readonly FusionRoom _fusionSymbol; - private uint _powerOffJoin; - private uint _powerOnJoin; - - public DynFusionAssetsStatic(uint assetNumber, FusionRoom symbol, PDT_Debug debug, EISCAPI api, - StaticAsset config) - { - _assetNumber = assetNumber; - _assetName = config.name; - _fusionSymbol = symbol; - _debug = debug; - _api = api; - _customJoinOffset = config.customAttributeJoinOffset; - _fusionSymbol.FusionAssetStateChange += _fusionSymbol_FusionAssetStateChange; - - _powerOffJoin = 0; - _powerOnJoin = 0; - _asset = ((FusionStaticAsset)_fusionSymbol.UserConfigurableAssetDetails[_assetNumber].Asset); - - _asset.PowerOn.AddSigToRVIFile = false; - _asset.PowerOff.AddSigToRVIFile = false; - _asset.Connected.AddSigToRVIFile = false; - _asset.AssetError.AddSigToRVIFile = false; - _asset.AssetUsage.AddSigToRVIFile = false; - _asset.ParamMake.Value = !String.IsNullOrEmpty(config.make) ? config.make : String.Empty; - _asset.ParamModel.Value = !String.IsNullOrEmpty(config.model) ? config.model : String.Empty; - } - - private void _fusionSymbol_FusionAssetStateChange(FusionBase device, FusionAssetStateEventArgs args) - { - if (_assetNumber != args.UserConfigurableAssetDetailIndex) - { - return; - } - - _debug.TraceEvent("Static Asset State Change {0} recieved EventID {1} Index {2}", device, args.EventId, - args.UserConfigurableAssetDetailIndex); - switch (args.EventId) - { - case FusionAssetEventId.StaticAssetPowerOffReceivedEventId: - { - if (_powerOffJoin > 0) - { - _api.EISC.BooleanInput[_powerOffJoin].BoolValue = _asset.PowerOff.OutputSig.BoolValue; - } - break; - } - case FusionAssetEventId.StaticAssetPowerOnReceivedEventId: - { - if (_powerOnJoin > 0) - { - _api.EISC.BooleanInput[_powerOnJoin].BoolValue = _asset.PowerOn.OutputSig.BoolValue; - } - break; - } - case FusionAssetEventId.StaticAssetAssetBoolAssetSigEventReceivedEventId: - { - var sigDetails = args.UserConfiguredSigDetail as BooleanSigData; - if (sigDetails != null) - { - _debug.TraceEvent(string.Format("StaticAsset: {0} Bool Change Join:{1} Name:{2} Value:{3}", - _asset.ParamAssetName, sigDetails.Number, sigDetails.Name, sigDetails.OutputSig.BoolValue)); - _api.EISC.BooleanInput[sigDetails.Number + _customJoinOffset].BoolValue = - sigDetails.OutputSig.BoolValue; - } - break; - } - case FusionAssetEventId.StaticAssetAssetUshortAssetSigEventReceivedEventId: - { - var sigDetails = args.UserConfiguredSigDetail as UShortSigData; - if (sigDetails != null) - { - _debug.TraceEvent(string.Format("StaticAsset: {0} UShort Change Join:{1} Name:{2} Value:{3}", - _asset.ParamAssetName, sigDetails.Number, sigDetails.Name, sigDetails.OutputSig.UShortValue)); - _api.EISC.UShortInput[sigDetails.Number + _customJoinOffset].UShortValue = - sigDetails.OutputSig.UShortValue; - } - break; - } - case FusionAssetEventId.StaticAssetAssetStringAssetSigEventReceivedEventId: - { - var sigDetails = args.UserConfiguredSigDetail as StringSigData; - if (sigDetails != null) - { - _debug.TraceEvent(string.Format("StaticAsset: {0} String Change Join:{1} Name:{2} Value:{3}", - _asset.ParamAssetName, sigDetails.Number, sigDetails.Name, sigDetails.OutputSig.StringValue)); - _api.EISC.StringInput[sigDetails.Number + _customJoinOffset].StringValue = - sigDetails.OutputSig.StringValue; - } - break; - } - } - } - - public void AddAttribute(string name, uint eiscJoin) - { - _debug.TraceEvent(string.Format("Creating assetAttribute: {0}, {1}, {2}", _assetName, name, eiscJoin)); - - switch (name) - { - case "PowerOn": - { - _api.DigitalActionDict[(ushort)eiscJoin] = - args => _asset.PowerOn.InputSig.BoolValue = args.Sig.BoolValue; - _powerOnJoin = eiscJoin; - _asset.PowerOn.AddSigToRVIFile = true; - break; - } - case "PowerOff": - { - _powerOffJoin = eiscJoin; - _asset.PowerOff.AddSigToRVIFile = true; - break; - } - case "Connected": - { - _api.DigitalActionDict[(ushort)eiscJoin] = - args => _asset.Connected.InputSig.BoolValue = args.Sig.BoolValue; - _asset.Connected.AddSigToRVIFile = true; - break; - } - case "AssetUsage": - { - _api.StringActionDict[(ushort)eiscJoin] = - args => _asset.AssetUsage.InputSig.StringValue = args.Sig.StringValue; - _asset.AssetUsage.AddSigToRVIFile = true; - break; - } - case "AssetError": - { - _api.StringActionDict[(ushort)eiscJoin] = - args => _asset.AssetError.InputSig.StringValue = args.Sig.StringValue; - _asset.AssetError.AddSigToRVIFile = true; - break; - } - } - } - - public void AddCustomAttribute(eSigType sigType, string name, eSigIoMask rwType, uint eiscJoin, - ushort joinNumber) - { - _debug.TraceEvent(string.Format("Creating assetCustomAttribute: {0}, {1}, {2}, {3}, {4}", _assetName, name, - sigType, rwType, eiscJoin)); - - _fusionSymbol.AddSig(_assetNumber, sigType, joinNumber, name, rwType); - //Create attribute with join based at 1 - int joinNumberOffset = joinNumber + Constants.FusionJoinOffset; - //From now on use join offset by 49 (based at 50) - - //Create actions to send to Fusion if write or read/write - if (rwType != eSigIoMask.InputSigOnly && rwType != eSigIoMask.InputOutputSig) - { - return; - } - - switch (sigType) - { - case eSigType.Bool: - { - _api.DigitalActionDict[(ushort)eiscJoin] = - args => - _asset.FusionGenericAssetDigitalsAsset1.BooleanInput[(ushort)joinNumberOffset].BoolValue = - args.Sig.BoolValue; - break; - } - case eSigType.UShort: - { - _api.AnalogActionDict[(ushort)eiscJoin] = - args => - _asset.FusionGenericAssetAnalogsAsset2.UShortInput[(ushort)joinNumberOffset].UShortValue = - args.Sig.UShortValue; - break; - } - case eSigType.String: - { - _api.StringActionDict[(ushort)eiscJoin] = - args => - _asset.FusionGenericAssetSerialsAsset3.StringInput[(ushort)joinNumberOffset].StringValue = - args.Sig.StringValue; - break; - } - } - } - - #region Nested type: DynFusionAssetsStaticMessage - - public class DynFusionAssetsStaticMessage - { - public bool SystemPowerOff; - public bool SystemPowerOn; - } - - #endregion - } -} \ No newline at end of file diff --git a/DynFusionEPI/DynFusionAttribute.cs b/DynFusionEPI/DynFusionAttribute.cs index 41157f6..0181273 100644 --- a/DynFusionEPI/DynFusionAttribute.cs +++ b/DynFusionEPI/DynFusionAttribute.cs @@ -23,6 +23,7 @@ public DynFusionDigitalAttribute(string name, UInt32 joinNumber) BoolValueFeedback = new BoolFeedback(() => { return BoolValue; }); Debug.Console(2, "Creating DigitalAttribute {0} {1} {2}", this.JoinNumber, this.Name, this.RwType); } + public DynFusionDigitalAttribute(string name, UInt32 joinNumber, string deviceKey, string boolAction, string boolFeedback) : base(name, eSigType.Bool, joinNumber) { @@ -140,14 +141,14 @@ public DynFusionAttributeBase (string name, eSigType type, UInt32 joinNumber) public eSigType SignalType { get; set; } [JsonProperty("JoinNumber")] - public UInt32 JoinNumber { get; set; } + public UInt32 JoinNumber { get; set; } [JsonProperty("Name")] - public string Name { get; set; } + public string Name { get; set; } [JsonProperty("RwType")] [JsonConverter(typeof(StringEnumConverter))] - public eReadWrite RwType { get; set; } + public eReadWrite RwType { get; set; } [JsonProperty("LinkDeviceKey")] public string LinkDeviceKey { get; set; } diff --git a/DynFusionEPI/DynFusionDevice.cs b/DynFusionEPI/DynFusionDevice.cs index 90a139d..2171389 100644 --- a/DynFusionEPI/DynFusionDevice.cs +++ b/DynFusionEPI/DynFusionDevice.cs @@ -15,6 +15,7 @@ using Crestron.SimplSharp.CrestronXml; using Crestron.SimplSharp.CrestronXml.Serialization; using Crestron.SimplSharp; +using PepperDash.Essentials.Devices.Common.VideoCodec.Cisco; namespace DynFusion @@ -67,14 +68,14 @@ public DynFusionDevice(string key, string name, DynFusionConfigObjectTemplate co FusionSymbol.ExtenderFusionRoomDataReservedSigs.Use(); } - public override bool CustomActivate() - { - Initialize(); - return true; - } + //public override bool CustomActivate() + //{ + // Initialize(); + // return true; + //} - private void Initialize() - { + public override void Initialize() + { try { // Online Status @@ -97,6 +98,7 @@ private void Initialize() DigitalAttributesToFusion.Add(att.JoinNumber, new DynFusionDigitalAttribute(att.Name, att.JoinNumber, att.LinkDeviceKey, att.LinkDeviceMethod, att.LinkDeviceFeedback)); + DigitalAttributesToFusion[att.JoinNumber].BoolValueFeedback.LinkInputSig( FusionSymbol.UserDefinedBooleanSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); } @@ -116,6 +118,7 @@ private void Initialize() { AnalogAttributesToFusion.Add(att.JoinNumber, new DynFusionAnalogAttribute(att.Name, att.JoinNumber)); + AnalogAttributesToFusion[att.JoinNumber].UShortValueFeedback.LinkInputSig( FusionSymbol.UserDefinedUShortSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); } @@ -133,6 +136,7 @@ private void Initialize() { SerialAttributesToFusion.Add(att.JoinNumber, new DynFusionSerialAttribute(att.Name, att.JoinNumber)); + SerialAttributesToFusion[att.JoinNumber].StringValueFeedback.LinkInputSig( FusionSymbol.UserDefinedStringSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); } @@ -215,6 +219,33 @@ private void Initialize() "Occupancy Sensor", Guid.NewGuid().ToString())); } + + Debug.Console(DebugExtensions.Trace, this, "DynFusionDevice Initialize: StaticAssets config {0} null", + _Config.Assets.StaticAssets == null ? "==" : "!="); + + if (_Config.Assets.StaticAssets != null) + { + var staticAssets = from staticAssetsConfig in _Config.Assets.StaticAssets + select + new DynFusionStaticAsset( + FusionSymbol, + GetNextAvailableAssetNumber(FusionSymbol), + staticAssetsConfig); + + //staticAssets + // .ToList() + // .ForEach(staticAsset => + // FusionSymbol.AddAsset( + // eAssetType.StaticAsset, + // staticAsset.AssetNumber, + // staticAsset.Key, + // staticAsset.AssetType, + // Guid.NewGuid().ToString())); + + staticAssets + .ToList() + .ForEach(staticAsset => staticAsset.Initialize()); + } } if (_Config.CallStatistics != null) @@ -386,10 +417,11 @@ private void CreateStandardJoin(JoinDataComplete join, StringInputSig Sig) private void FusionSymbol_RoomDataDeviceExtenderSigChange(DeviceExtender currentDeviceExtender, SigEventArgs args) { - Debug.Console(2, this, + Debug.Console(DebugExtensions.Verbose, this, string.Format("DynFusion DeviceExtenderChange {0} {1} {2} {3}", currentDeviceExtender.ToString(), args.Sig.Number, args.Sig.Type, args.Sig.StringValue)); - ushort joinNumber = (ushort) args.Sig.Number; + + var joinNumber = (ushort) args.Sig.Number; switch (args.Sig.Type) { @@ -427,8 +459,9 @@ private void FusionSymbol_RoomDataDeviceExtenderSigChange(DeviceExtender current private void FusionSymbol_FusionStateChange(FusionBase device, FusionStateEventArgs args) { - Debug.Console(2, this, "DynFusion FusionStateChange {0} {1}", args.EventId, + Debug.Console(DebugExtensions.Verbose, this, "DynFusion FusionStateChange {0} {1}", args.EventId, args.UserConfiguredSigDetail.ToString()); + switch (args.EventId) { case FusionEventIds.SystemPowerOnReceivedEventId: @@ -546,9 +579,10 @@ private void FusionSymbol_FusionStateChange(FusionBase device, FusionStateEventA case FusionEventIds.UserConfiguredBoolSigChangeEventId: { var sigDetails = args.UserConfiguredSigDetail as BooleanSigData; - uint joinNumber = (uint) (sigDetails.Number + FusionJoinOffset); + var joinNumber = sigDetails.Number + FusionJoinOffset; DynFusionDigitalAttribute output; - Debug.Console(2, this, "DynFusion UserAttribute Digital Join:{0} Name:{1} Value:{2}", joinNumber, + + Debug.Console(DebugExtensions.Verbose, this, "DynFusion UserAttribute Digital Join:{0} Name:{1} Value:{2}", joinNumber, sigDetails.Name, sigDetails.OutputSig.BoolValue); if (DigitalAttributesFromFusion.TryGetValue(joinNumber, out output)) @@ -561,9 +595,10 @@ private void FusionSymbol_FusionStateChange(FusionBase device, FusionStateEventA case FusionEventIds.UserConfiguredUShortSigChangeEventId: { var sigDetails = args.UserConfiguredSigDetail as UShortSigData; - uint joinNumber = (uint) (sigDetails.Number + FusionJoinOffset); + var joinNumber = sigDetails.Number + FusionJoinOffset; DynFusionAnalogAttribute output; - Debug.Console(2, this, "DynFusion UserAttribute Analog Join:{0} Name:{1} Value:{2}", joinNumber, + + Debug.Console(DebugExtensions.Verbose, this, "DynFusion UserAttribute Analog Join:{0} Name:{1} Value:{2}", joinNumber, sigDetails.Name, sigDetails.OutputSig.UShortValue); if (AnalogAttributesFromFusion.TryGetValue(joinNumber, out output)) @@ -575,9 +610,10 @@ private void FusionSymbol_FusionStateChange(FusionBase device, FusionStateEventA case FusionEventIds.UserConfiguredStringSigChangeEventId: { var sigDetails = args.UserConfiguredSigDetail as StringSigData; - uint joinNumber = (uint) (sigDetails.Number + FusionJoinOffset); + var joinNumber = sigDetails.Number + FusionJoinOffset; DynFusionSerialAttribute output; - Debug.Console(2, this, "DynFusion UserAttribute Analog Join:{0} Name:{1} Value:{2}", joinNumber, + + Debug.Console(DebugExtensions.Verbose, this, "DynFusion UserAttribute Analog Join:{0} Name:{1} Value:{2}", joinNumber, sigDetails.Name, sigDetails.OutputSig.StringValue); if (SerialAttributesFromFusion.TryGetValue(joinNumber, out output)) @@ -598,7 +634,7 @@ private void FusionSymbol_OnlineStatusChange(GenericBase currentDevice, OnlineOf } } - private static eSigIoMask GetIOMask(eReadWrite mask) + public static eSigIoMask GetIOMask(eReadWrite mask) { var type = eSigIoMask.NA; @@ -617,7 +653,7 @@ private static eSigIoMask GetIOMask(eReadWrite mask) return (type); } - private static eSigIoMask GetIOMask(string mask) + public static eSigIoMask GetIOMask(string mask) { var _RWType = eSigIoMask.NA; @@ -671,7 +707,8 @@ public static uint GetNextAvailableAssetNumber(FusionRoom room) } else slotNum = slotNum + 1; - Debug.Console(2, string.Format("#Next available fusion asset number is: {0}", slotNum)); + + Debug.Console(DebugExtensions.Verbose, string.Format("#Next available fusion asset number is: {0}", slotNum)); return slotNum; } @@ -688,14 +725,16 @@ public void GetRoomConfig() String.Format( "RoomConfigurationRequest"); - Debug.Console(2, this, "Room Request: {0}", fusionRoomConfigRequest); + Debug.Console(DebugExtensions.Verbose, this, "Room Request: {0}", fusionRoomConfigRequest); FusionSymbol.ExtenderFusionRoomDataReservedSigs.RoomConfigQuery.StringValue = fusionRoomConfigRequest; } } catch (Exception e) { - Debug.Console(2, this, "GetRoomConfig Error {0}", e); + Debug.Console(DebugExtensions.Warn, this, "GetRoomConfig Exception Message: {0}", e.Message); + Debug.Console(DebugExtensions.Verbose, this, "GetRoomConfig Exception StackTrace: {0}", e.StackTrace); + if(e.InnerException != null) Debug.Console(DebugExtensions.Verbose, this, "GetRoomConfig Exception InnerException: {0}", e.InnerException); } } @@ -743,7 +782,7 @@ public void SendToLog(IKeyed device, Debug.ErrorLogLevel level, string logMessag { ErrorLogTimer = new CTimer(o => { - Debug.Console(2, this, "Sent Message {0}", ErrorLogLastMessageSent); + Debug.Console(DebugExtensions.Verbose, this, "SendToLog Message:{0}", ErrorLogLastMessageSent); FusionSymbol.ErrorMessage.InputSig.StringValue = ErrorLogLastMessageSent; }, errorlogThrottleTime); } @@ -836,14 +875,16 @@ private void RoomConfigParseData(string data) } catch (Exception e) { - Debug.Console(2, this, "GetRoomConfig Error {0}", e); + Debug.Console(DebugExtensions.Warn, this, "GetRoomConfig Exception Message: {0}", e.Message); + Debug.Console(DebugExtensions.Verbose, this, "GetRoomConfig Exception StackTrace: {0}", e.StackTrace); + if(e.InnerException != null) Debug.Console(DebugExtensions.Verbose, this, "GetRoomConfig Exception InnerException: {0}", e.InnerException); } } public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) { - Debug.Console(1, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); - Debug.Console(0, "Linking to Bridge Type {0}", GetType().Name); + Debug.Console(DebugExtensions.Warn, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); + Debug.Console(DebugExtensions.Trace, "Linking to Bridge AssetType {0}", GetType().Name); var joinMap = new DynFusionJoinMap(joinStart); foreach (var att in DigitalAttributesToFusion) diff --git a/DynFusionEPI/DynFusionDeviceFactory.cs b/DynFusionEPI/DynFusionDeviceFactory.cs index 224bf2d..2768e36 100644 --- a/DynFusionEPI/DynFusionDeviceFactory.cs +++ b/DynFusionEPI/DynFusionDeviceFactory.cs @@ -1,13 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Crestron.SimplSharp; +using System.Collections.Generic; using DynFusion.Config; using PepperDash.Core; using PepperDash.Essentials.Core; -using Newtonsoft.Json; namespace DynFusion { diff --git a/DynFusionEPI/DynFusionStaticAsset.cs b/DynFusionEPI/DynFusionStaticAsset.cs new file mode 100644 index 0000000..f99c112 --- /dev/null +++ b/DynFusionEPI/DynFusionStaticAsset.cs @@ -0,0 +1,446 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Crestron.SimplSharpPro; +using Crestron.SimplSharpPro.DeviceSupport; +using Crestron.SimplSharpPro.Fusion; +using DynFusion.Config; +using PepperDash.Core; +using PepperDash.Essentials.Core; +using PepperDash.Essentials.Core.Bridges; + +namespace DynFusion +{ + public class DynFusionStaticAsset : EssentialsBridgeableDevice + { + private readonly FusionRoom _fusionSymbol; + private FusionStaticAssetConfig Config { get; set; } + public readonly uint AssetNumber; + public readonly string AssetName; + public readonly string AssetType; + public string Make; + public string Model; + + private readonly FusionStaticAsset _asset; + private readonly uint _attributeOffset; + private readonly uint _customAttributeOffset; + private const uint FusionJoinOffset = 49; + + private readonly DynFusionStaticAssetJoinMap _joinMap; + + // key is the fusion join number, not the bridge join number + private readonly Dictionary _digitalAttributesToFusion; + private readonly Dictionary _analogAttributesToFusion; + private readonly Dictionary _serialAttributesToFusion; + private readonly Dictionary _digitalAttributesFromFusion; + private readonly Dictionary _analogAttributesFromFusion; + private readonly Dictionary _serialAttributesFromFusion; + + private uint _powerOffJoin; + private uint _powerOnJoin; + + public DynFusionStaticAsset(FusionRoom symbol, uint assetNumber, FusionStaticAssetConfig config) + : base(string.Format("{0}-staticAsset-#{1}-{2}", symbol.ParameterRoomName, assetNumber, config.Name.Replace(" ", ""))) + { + Config = config; + + AssetNumber = assetNumber; + AssetName = Config.Name; + AssetType = Config.Type; + + Make = string.IsNullOrEmpty(Config.Make) ? string.Empty : Config.Make; + Model = string.IsNullOrEmpty(Config.Model) ? string.Empty : Config.Model; + + _attributeOffset = config.AttributeJoinOffset; + _customAttributeOffset = config.CustomAttributeJoinOffset; + + _digitalAttributesToFusion = new Dictionary(); + _analogAttributesToFusion = new Dictionary(); + _serialAttributesToFusion = new Dictionary(); + _digitalAttributesFromFusion = new Dictionary(); + _analogAttributesFromFusion = new Dictionary(); + _serialAttributesFromFusion = new Dictionary(); + + _joinMap = new DynFusionStaticAssetJoinMap(config.AttributeJoinOffset + 1); + + Debug.Console(DebugExtensions.Warn, this, "Adding StaticAsset"); + + _fusionSymbol = symbol; + _fusionSymbol.AddAsset(eAssetType.StaticAsset, AssetNumber, AssetName, AssetType, Guid.NewGuid().ToString()); + _fusionSymbol.FusionAssetStateChange += _fusionSymbol_FusionAssetStateChange; + + _asset = _fusionSymbol.UserConfigurableAssetDetails[AssetNumber].Asset as FusionStaticAsset; + } + + public override void Initialize() + { + Debug.Console(DebugExtensions.Warn, this, "StaticAsset is {0}", _asset == null ? "is null" : "running setup"); + if (_asset == null) return; + + try + { + _asset.ParamMake.Value = Make; + _asset.ParamModel.Value = Model; + + _asset.PowerOn.AddSigToRVIFile = false; + _asset.PowerOff.AddSigToRVIFile = false; + _asset.Connected.AddSigToRVIFile = false; + _asset.AssetError.AddSigToRVIFile = false; + _asset.AssetUsage.AddSigToRVIFile = false; + + _powerOffJoin = 0; + _powerOnJoin = 0; + + CreateStandardAttributeJoin(_joinMap.PowerOn, _asset.PowerOn); + CreateStandardAttributeJoin(_joinMap.PowerOff, _asset.PowerOff); + CreateStandardAttributeJoin(_joinMap.Connected, _asset.Connected); + CreateStandardAttributeJoin(_joinMap.AssetUsage, _asset.AssetUsage); + CreateStandardAttributeJoin(_joinMap.AssetError, _asset.AssetError); + + Debug.Console(DebugExtensions.Warn, this, "Preparing to create custom joins... digitalAttributes.Count:{0}", + Config.CustomAttributes.DigitalAttributes.Count()); + CreateCustomAttributeJoin(Config.CustomAttributes.DigitalAttributes, FusionJoinOffset, eSigType.Bool); + + Debug.Console(DebugExtensions.Warn, this, "Preparing to create custom joins... analogAttributes.Count:{0}", + Config.CustomAttributes.AnalogAttributes.Count()); + CreateCustomAttributeJoin(Config.CustomAttributes.AnalogAttributes, FusionJoinOffset, eSigType.UShort); + + Debug.Console(DebugExtensions.Warn, this, "Preparing to create custom joins... serialAttributes.Count:{0}", + Config.CustomAttributes.SerialAttributes.Count()); + CreateCustomAttributeJoin(Config.CustomAttributes.SerialAttributes, FusionJoinOffset, eSigType.String); + + + } + catch (Exception ex) + { + Debug.Console(DebugExtensions.Trace, this, "DynFusionStaticAsset Exception Message: {0}", ex.Message); + Debug.Console(DebugExtensions.Warn, this, "DynFusionStaticAsset Exception StackTrace: {0}", ex.StackTrace); + if (ex.InnerException != null) + Debug.Console(DebugExtensions.Warn, this, "DynFusionStaticAsset Exception InnerException: {0}", ex.InnerException); + } + } + + public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) + { + Debug.Console(DebugExtensions.Warn, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); + Debug.Console(DebugExtensions.Warn, "Linking to Bridge AssetType {0}", GetType().Name); + var joinMap = new DynFusionStaticAssetJoinMap(joinStart + _attributeOffset); + + LinkDigitalAttributesToApi(trilist, joinMap); + LinkAnalogAttributesToApi(trilist, joinMap); + LinkSerialAttributesToApi(trilist, joinMap); + } + + private void LinkDigitalAttributesToApi(BasicTriList trilist, DynFusionStaticAssetJoinMap joinMap) + { + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} DigitalAttributes to Trilist '{1}'", AssetName, trilist.ID.ToString("X")); + + foreach (var attribute in _digitalAttributesToFusion) + { + var attLocal = attribute.Value; + var bridgeJoin = attLocal.JoinNumber; + + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SetBoolSigAction-{1}", AssetName, bridgeJoin); + trilist.SetBoolSigAction(bridgeJoin, (b) => { attLocal.BoolValue = b; }); + } + + foreach (var attribute in _digitalAttributesFromFusion) + { + var attLocal = attribute.Value; + var bridgeJoin = attLocal.JoinNumber; + + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} BoolValueFeedback-{1}", AssetName, bridgeJoin); + attLocal.BoolValueFeedback.LinkInputSig(trilist.BooleanInput[bridgeJoin]); + } + } + + private void LinkAnalogAttributesToApi(BasicTriList trilist, DynFusionStaticAssetJoinMap joinMap) + { + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} AnalogAttributes to Trilist '{1}'", AssetName, trilist.ID.ToString("X")); + + foreach (var attribute in _analogAttributesToFusion) + { + var attLocal = attribute.Value; + var bridgeJoin = attLocal.JoinNumber; + + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SetUshortSigAction-{1}", AssetName, bridgeJoin); + trilist.SetUShortSigAction(bridgeJoin, (a) => { attLocal.UShortValue = a; }); + } + + foreach (var attribute in _analogAttributesFromFusion) + { + var attLocal = attribute.Value; + var bridgeJoin = attLocal.JoinNumber; + + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} UShortValueFeedback-{1}", AssetName, bridgeJoin); + attLocal.UShortValueFeedback.LinkInputSig(trilist.UShortInput[bridgeJoin]); + } + } + + private void LinkSerialAttributesToApi(BasicTriList trilist, DynFusionStaticAssetJoinMap joinMap) + { + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SerialAttributes to Trilist '{1}'", AssetName, trilist.ID.ToString("X")); + + foreach (var attribute in _serialAttributesToFusion) + { + var attLocal = attribute.Value; + var bridgeJoin = attLocal.JoinNumber; + + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SetStringSigAction-{1}", AssetName, bridgeJoin); + trilist.SetStringSigAction(bridgeJoin, (s) => { attLocal.StringValue = s; }); + } + + foreach (var attribute in _serialAttributesFromFusion) + { + var attLocal = attribute.Value; + var bridgeJoin = attLocal.JoinNumber; + + Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} StringValueFeedback-{1}", AssetName, bridgeJoin); + attLocal.StringValueFeedback.LinkInputSig(trilist.StringInput[bridgeJoin]); + } + + trilist.OnlineStatusChange += (sender, args) => + { + if (!args.DeviceOnLine) return; + + foreach (var attribute in _serialAttributesFromFusion) + { + var attLocal = attribute.Value; + var bridgeJoin = attLocal.JoinNumber + _attributeOffset; + var trilistLocal = sender as BasicTriList; + + if (trilistLocal == null) + { + Debug.Console(DebugExtensions.Warn, this, "LinkSerialAttributesToApi trilistLocal is null"); + return; + } + + trilistLocal.StringInput[bridgeJoin].StringValue = attLocal.StringValue; + } + }; + } + + private void _fusionSymbol_FusionAssetStateChange(FusionBase device, FusionAssetStateEventArgs args) + { + Debug.Console(DebugExtensions.Warn, this, "FusionAssetStateChange Device:{0} EventId:{1} Index:{2}", + device, args.EventId, args.UserConfigurableAssetDetailIndex); + + if (AssetNumber != args.UserConfigurableAssetDetailIndex) + { + return; + } + + switch (args.EventId) + { + case FusionAssetEventId.StaticAssetPowerOnReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as BooleanSigDataFixedName; + DynFusionDigitalAttribute output; + if (_digitalAttributesFromFusion.TryGetValue(_joinMap.PowerOn.JoinNumber, out output)) + { + output.BoolValue = sigDetails.OutputSig.BoolValue; + } + break; + } + case FusionAssetEventId.StaticAssetPowerOffReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as BooleanSigDataFixedName; + DynFusionDigitalAttribute output; + if (_digitalAttributesFromFusion.TryGetValue(_joinMap.PowerOff.JoinNumber, out output)) + { + output.BoolValue = sigDetails.OutputSig.BoolValue; + } + break; + } + case FusionAssetEventId.StaticAssetAssetBoolAssetSigEventReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as BooleanSigData; + var joinNumber = (sigDetails.Number + FusionJoinOffset); + DynFusionDigitalAttribute output; + Debug.Console(DebugExtensions.Verbose, this, "DynFusion StaticAsset Digital Join:{0} Name:{1} Value:{2}", + joinNumber, sigDetails.Name, sigDetails.OutputSig.BoolValue); + + if (_digitalAttributesFromFusion.TryGetValue(joinNumber, out output)) + { + output.BoolValue = sigDetails.OutputSig.BoolValue; + } + break; + } + case FusionAssetEventId.StaticAssetAssetUshortAssetSigEventReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as UShortSigData; + var joinNumber = (sigDetails.Number + FusionJoinOffset); + DynFusionAnalogAttribute output; + Debug.Console(DebugExtensions.Verbose, this, "DynFusion StaticAsset Analog Join:{0} Name:{1} Value:{2}", + joinNumber, sigDetails.Name, sigDetails.OutputSig.UShortValue); + + if (_analogAttributesFromFusion.TryGetValue(joinNumber, out output)) + { + output.UShortValue = sigDetails.OutputSig.UShortValue; + } + break; + } + case FusionAssetEventId.StaticAssetAssetStringAssetSigEventReceivedEventId: + { + var sigDetails = args.UserConfiguredSigDetail as StringSigData; + var joinNumber = (sigDetails.Number + FusionJoinOffset); + DynFusionSerialAttribute output; + Debug.Console(DebugExtensions.Verbose, this, "DynFusion StaticAsset Serial Join:{0} Name:{1} Value:{2}", + joinNumber, sigDetails.Name, sigDetails.OutputSig.StringValue); + + if (_serialAttributesFromFusion.TryGetValue(joinNumber, out output)) + { + output.StringValue = sigDetails.OutputSig.StringValue; + } + break; + } + } + } + + #region Nested type: DynFusionAssetsStaticMessage + + public class DynFusionAssetsStaticMessage + { + public bool SystemPowerOff; + public bool SystemPowerOn; + } + + #endregion + + private void CreateStandardAttributeJoin(JoinDataComplete join, BooleanSigDataFixedName sig) + { + Debug.Console(DebugExtensions.Verbose, this, "CreateStandardAttributeJoin: {0} ({1}, {2}, {3})", + sig.Name, sig.SigIoMask.ToString(), join.JoinNumber, join.Metadata.JoinCapabilities.ToString()); + + if (join.Metadata.JoinCapabilities == eJoinCapabilities.ToFromSIMPL || + join.Metadata.JoinCapabilities == eJoinCapabilities.ToSIMPL) + { + _digitalAttributesFromFusion.Add(join.JoinNumber, + new DynFusionDigitalAttribute(join.Metadata.Description, join.JoinNumber)); + } + + if (join.Metadata.JoinCapabilities == eJoinCapabilities.ToFromSIMPL || + join.Metadata.JoinCapabilities == eJoinCapabilities.FromSIMPL) + { + _digitalAttributesToFusion.Add(join.JoinNumber, + new DynFusionDigitalAttribute(join.Metadata.Description, join.JoinNumber)); + _digitalAttributesToFusion[join.JoinNumber].BoolValueFeedback.LinkInputSig(sig.InputSig); + } + } + + private void CreateStandardAttributeJoin(JoinDataComplete join, UShortSigDataFixedName sig) + { + Debug.Console(DebugExtensions.Verbose, this, "CreateStandardAttributeJoin: {0} ({1}, {2}, {3})", + sig.Name, sig.SigIoMask.ToString(), join.JoinNumber, join.Metadata.JoinCapabilities.ToString()); + + if (join.Metadata.JoinCapabilities == eJoinCapabilities.ToFromSIMPL || + join.Metadata.JoinCapabilities == eJoinCapabilities.ToSIMPL) + { + _analogAttributesFromFusion.Add(join.JoinNumber, + new DynFusionAnalogAttribute(join.Metadata.Description, join.JoinNumber)); + } + + if (join.Metadata.JoinCapabilities == eJoinCapabilities.ToFromSIMPL || + join.Metadata.JoinCapabilities == eJoinCapabilities.FromSIMPL) + { + _analogAttributesToFusion.Add(join.JoinNumber, + new DynFusionAnalogAttribute(join.Metadata.Description, join.JoinNumber)); + _analogAttributesToFusion[join.JoinNumber].UShortValueFeedback.LinkInputSig(sig.InputSig); + } + } + + private void CreateStandardAttributeJoin(JoinDataComplete join, StringSigDataFixedName sig) + { + Debug.Console(DebugExtensions.Verbose, this, "CreateStandardAttributeJoin: {0} ({1}, {2}, {3})", + sig.Name, sig.SigIoMask.ToString(), join.JoinNumber, join.Metadata.JoinCapabilities.ToString()); + + if (join.Metadata.JoinCapabilities == eJoinCapabilities.ToFromSIMPL || + join.Metadata.JoinCapabilities == eJoinCapabilities.ToSIMPL) + { + _serialAttributesFromFusion.Add(join.JoinNumber, + new DynFusionSerialAttribute(join.Metadata.Description, join.JoinNumber)); + } + + if (join.Metadata.JoinCapabilities == eJoinCapabilities.ToFromSIMPL || + join.Metadata.JoinCapabilities == eJoinCapabilities.FromSIMPL) + { + _serialAttributesToFusion.Add(join.JoinNumber, + new DynFusionSerialAttribute(join.Metadata.Description, join.JoinNumber)); + _serialAttributesToFusion[join.JoinNumber].StringValueFeedback.LinkInputSig(sig.InputSig); + } + } + + private void CreateCustomAttributeJoin(IEnumerable attributes, uint offset, eSigType sigType) + { + foreach (var attribute in attributes) + { + var attributeJoinNumber = attribute.JoinNumber + offset; + var rwType = attribute.RwType; + var ioMask = DynFusionDevice.GetIOMask(rwType); + + Debug.Console(DebugExtensions.Verbose, this, "CreateCustomAttributeJoin: {0} ({1}, {2}, {3})", + attribute.Name, attributeJoinNumber, ioMask.ToString(), rwType.ToString()); + + _fusionSymbol.AddSig(AssetNumber, sigType, attributeJoinNumber, AssetName, ioMask); + + switch (sigType) + { + case (eSigType.Bool): + { + if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Read) + { + _digitalAttributesToFusion.Add(attributeJoinNumber, new DynFusionDigitalAttribute( + attribute.Name, attributeJoinNumber, attribute.LinkDeviceKey, attribute.LinkDeviceMethod, attribute.LinkDeviceFeedback)); + + _digitalAttributesToFusion[attributeJoinNumber].BoolValueFeedback.LinkInputSig( + _asset.FusionGenericAssetDigitalsAsset1.UserDefinedBooleanSigDetails[attributeJoinNumber].InputSig); + } + + if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Write) + { + _digitalAttributesFromFusion.Add(attributeJoinNumber, new DynFusionDigitalAttribute(attribute.Name, attributeJoinNumber)); + } + + break; + } + case (eSigType.UShort): + { + if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Read) + { + + _analogAttributesToFusion.Add(attributeJoinNumber, new DynFusionAnalogAttribute(attribute.Name, attributeJoinNumber)); + + _analogAttributesToFusion[attributeJoinNumber].UShortValueFeedback.LinkInputSig( + _asset.FusionGenericAssetAnalogsAsset2.UserDefinedUShortSigDetails[attributeJoinNumber].InputSig); + } + + if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Write) + { + _analogAttributesFromFusion.Add(attributeJoinNumber, new DynFusionAnalogAttribute(attribute.Name, attributeJoinNumber)); + } + + break; + } + case (eSigType.String): + { + if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Read) + { + + _serialAttributesToFusion.Add(attributeJoinNumber, new DynFusionSerialAttribute(attribute.Name, attributeJoinNumber)); + + _serialAttributesToFusion[attributeJoinNumber].StringValueFeedback.LinkInputSig( + _asset.FusionGenericAssetSerialsAsset3.UserDefinedStringSigDetails[attributeJoinNumber].InputSig); + } + + if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Write) + { + _serialAttributesFromFusion.Add(attributeJoinNumber, new DynFusionSerialAttribute(attribute.Name, attributeJoinNumber)); + } + + break; + } + } + } + } + } +} \ No newline at end of file diff --git a/DynFusionEPI/DynFusionStaticAssetJoinMap.cs b/DynFusionEPI/DynFusionStaticAssetJoinMap.cs new file mode 100644 index 0000000..a368331 --- /dev/null +++ b/DynFusionEPI/DynFusionStaticAssetJoinMap.cs @@ -0,0 +1,83 @@ +using PepperDash.Essentials.Core; + +namespace DynFusion +{ + public class DynFusionStaticAssetJoinMap : JoinMapBaseAdvanced + { + [JoinName("PowerOn")] + public JoinDataComplete PowerOn = new JoinDataComplete( + new JoinData + { + JoinNumber = 1, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Fusion static asset power on", + JoinCapabilities = eJoinCapabilities.ToFromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("PowerOff")] + public JoinDataComplete PowerOff = new JoinDataComplete( + new JoinData + { + JoinNumber = 2, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Fusion static asset power off", + JoinCapabilities = eJoinCapabilities.ToSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("Connected")] + public JoinDataComplete Connected = new JoinDataComplete( + new JoinData + { + JoinNumber = 3, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Fusion static asset connected", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Digital + }); + + [JoinName("AssetUsage")] + public JoinDataComplete AssetUsage = new JoinDataComplete( + new JoinData + { + JoinNumber = 1, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Fusion static asset usage", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Serial + }); + + [JoinName("AssetError")] + public JoinDataComplete AssetError = new JoinDataComplete( + new JoinData + { + JoinNumber = 2, + JoinSpan = 1 + }, + new JoinMetadata + { + Description = "Fusion static asset error", + JoinCapabilities = eJoinCapabilities.FromSIMPL, + JoinType = eJoinType.Serial + }); + + public DynFusionStaticAssetJoinMap(uint joinStart) + : base(joinStart) + { + + } + } +} \ No newline at end of file diff --git a/DynFusionEPI/PDTDynFusionEPI.csproj b/DynFusionEPI/PDTDynFusionEPI.csproj index 7bd30c0..05d0f05 100644 --- a/DynFusionEPI/PDTDynFusionEPI.csproj +++ b/DynFusionEPI/PDTDynFusionEPI.csproj @@ -112,9 +112,13 @@ + + + + diff --git a/DynFusionEPI/SchedulingJoinMap.cs b/DynFusionEPI/SchedulingJoinMap.cs index f57cdd9..6ac8769 100644 --- a/DynFusionEPI/SchedulingJoinMap.cs +++ b/DynFusionEPI/SchedulingJoinMap.cs @@ -167,7 +167,7 @@ public SchedulingJoinMap(uint joinStart) /// Constructor to use when extending this Join map /// /// Join this join map will start at - /// Type of the child join map + /// AssetType of the child join map protected SchedulingJoinMap(uint joinStart, System.Type type) : base(joinStart, type) { diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.lpz b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.lpz new file mode 100644 index 0000000000000000000000000000000000000000..d94d452a32c05c371bf8502be3f5465fd912e6a0 GIT binary patch literal 1118255 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 z zxSPh$!Q9C|Q4NlSTW;)`3%K(7mXK!P=x&e&8q&VfNR$gZuas2VYj8vVgo zCG0K@aJ2nP|~ZyE{sf@z7#iJdg<1N;Th$ZkTd8w)aHxs^HA?8HWy zvGy2XS9ZgU-@)!+X>KvHX~Agc0YE=?EO=M2k?~Np`AF#WP$QccHa;wfwGD3&9>f+z zHV8MevM7}Q5`{WW4VIX^m?8SN2HLb)GdG+}eX zPK3PygV?7<*h^?J>bERLd1^7v{(xePOnEVmbZ;^0%qYPgUns#5{aJ#N#L`I9i!7&< zu@~7$!UqUnD#c%$`m(e^xD&fty3Z8MUCS_r$z}Hs2x39Q8-zDuNyG6e>H`TU49D7= z!!fpDBe0h?gd;{^l;)1W%-l5M=@CYDoaCl*L|?)p!sX?t^L{zb^{H~4>yV0@<*+&` zaK$}evCs4%+g!oeM2@rhAo~!?Gq{}DvlW>CKLZ8<-l#CL)R8y~{YPT9RE)e);l|z` ziP?T~Bx?Rd=sOBAZWQ)DjmonKA0%8x_yXZk!fBO=d84P}HlytwxKq|aF&JWCAci|$ z2i6~$nIs;pikJuZsVMkax&F)oTdj%ML&Vx?>=|Oo8rw{)ug3Nf%RvUVj*!iKe7g?n z&Qjel+~0s*CN>iowlgZo7HKSu*b^FSP3#$97R7^Q0CQz4wYprYdmjFfO(a&YvE{_J zYwUSq?;``x-T>ywKGf>orMfSfKh=FobtjQQ-FLuzVJ{D-y2}cV=oD)}%!4EQmc=j* znxPz@oqrzUgmo>c?mX*6bzP|L57v+B`cvH>ESFdjuu1GXL>VoTskQoh%p1Qo=Qhz7Gk}XZp0cHaQ^x#-H9bqT|Xs*SPx=3N+z-1z+99P zWgxL3#7dQ+#41U%Oc}1s#4p?s8>LiH-7BOyTB#+r16V^=t<(|wm^8;J^NIZctTCIW zJWcEdux9K*@#BCJeSzFM$Gv@UQXJXv@12-p{L38$Jz0WPBQ8bCkxrnwr*9+nz5pl-Eg zF5qUu_Xtl}mIMAxnBassf^a3_8-%+F-zWTp@Fd|`!e0shB)kb|G+Lao?CJa&U?5=( zVQa$fgnbEz5RN3ANH~k|A;RT^YY5j9zDanP@Jqt)2`>{GToAnpqX=6Nb|K6p%p)u( ztR<`?d^+bG3qr>Wa2kfab65RM~U zMEEM<`-Eo*uM-BiBenpv+R1W10Fq+DiGWu50{258Sx)#O;Wol|-Ldv3LJtqbj)WD2 z4|&+;XuHQb(BDJ&IpNQQ!V}Stun}Q`7QkIFs;c z!fk{{0j<4!AGi)AJP0ue(8%J0pq6zCf;g~@plZN^AdJi?lH3>cDwG#c`ANc;gEoQW zwV*cucLwdyEt`T{iUD=*fC{xzm_L;xgWCwWBME*K%FZFn;i|$fq#7_eWG-M9;b4-K z5snF22W@ACU@w-?Z=kI|VJx6ytJ=_6+}aBDWm_YACe%%}dUyd^`LV`fb76n)5w@JE zY*^R`D3^!TaFtrAY;jmT=sz3grYdZEION=O6r-ZPFj(V| zY&X(7kI|~5$)iR=d3%(zQDHly=4v*rbClMgw-MF|VHIH=;iH6W2;Try*xm*+!16~8 zaK28Et91+2RDPHcEg0EKDz|9S#GoHLo0jn~ z7g;S)a|B@>;DEZ%TH6HErNw5;z(O3qU9qkvD^V9g7qaVBdnuZw+PD5 zHnkAX;5OJ}vo`3h%-eQtPC3DPX@h+wwXKG=`Da^Pp@w#d{)BDXEi}Q|q#b5j3E@1# zb%Z|=#)8R{*bd%&h zorghRO*)qYw&{$uJvxtr@_^3M0Lwei1H7;EV!($xuK--t`9;9Zoi_pQ?fe$tC)Dbf z&hI&^>}qFRJI-C2Sd1))FrmvQpwq3(F~GiEP67_@@(o~Bm+t}Z?{Xe+MVE_!Z*;i~ z_+gi;&VpU*!d$?&t_Hw%U7Y}jcE!E@mDcVq3OnA~2PD;9(f>JJah0tme5WhU?+0B2 zq4sE39Q%)5F-lFkA?|3s0oopH{kn@MJCTMGw{-L{s~4Wj1`$>eP9mJ!3)l5SR9?{w z?Y~U8o$vtRv0m8YcZ64ZVf+tg+`1dfvyVJe$Q@hi3=6~Ax78}zUSY3e$ehdmO~*ZR z`M>Ji>H}QaW?~+;ptf0rLkLG?V&>FlZsL*bV&;RM3NvM49!6!Mx7P}e`zUP2U>y7F zgTMAMvbP6gt7`?gn(XC!hAd~^%HzY{_Vs2vM|=|K&03WseqD+9JEGEIv|GeS5qNjC zI3U(C0qiV{Lbik@TkZpPNMnO7b&Rt!8k+@7u)m1S4cO?k9>%0JuxAzr<|!H5;)~4N zp)OcwyC7n@I(v_s*~2>fggdhXIy=eTnHp_nXSo;4(b+}r$JXfVDi35gbY>8ttZhRp za}yD4u+9QS1NMt#<`07+MML(N#!dw_1g17Zwx3-LiW7~Ph_SZo2rN!#-JznV&N4(} zHdZoo^WYrOl-;MXj=_1rW@#)fcnGiuHI^G(BAUUO%GO^qdUa5c%}F}juS^J@E}H9X zdGKt}LT77&7m7r-Quk$}k=4?UIZ|hpZND*-4GH3R%zEvY$0y9te36>i*E! zGa>cBZs=AviFV8*))w6ktV%NTrjYHTGn=BZ9U(h`J)p7uA$vp@_Gqje->0D2g*~aU z(;@EyTT5)2`G=50qAPn}XGcX6`(0ud#1Kw*%YT z#1`EGcBqLhx&`dhCe{dgse{=Sodu~wSwvGSi&P6)T2pHTz0_isqq88jlojeMQXS4J zo7$pV&U~6#qZ_MMI7D}(Lv$-0qC46lx?@;OGi%IRs$*Gqopn&hv7tIkRwuAAI_s<6 z$L8s5h?vgmbv9U?!FK3uxH^lu#9LXFI){bmY=R2wKxZ@51#G3x9#9`*(X{CHE1SX| zQx~%X#AdQ>VJp-n>;Nsn{gzE3Yt+ZsM;hA^@)EF9Eo78F3tO))V@(sJl~Z9`)a7th zWo1Le6Ks*rUQ(ZAyAmZkAGV%7#op1_b}Q=FQdctG z%Bs0VUCq37_PM%-Md|Eo^##^LXXn(HSY9icS!v?nGE&pg3erknOnBnL1g^N9>@SVsYJ8iS+e*#f z!#f+^X308BHSA`Sbk^IjhrL2fo|*Tt*W1c5;BK>zy`?eSZT7MKZS}l1>}Mx*R&6-Q znzoZUI3;4WILulR+iO`6G1+jKb#5oE;BNB)OOu+)3lY-|AFxa9w0K6$HhjoVwU>3c z!aris9m$GvIO0cfgdOWB$A`1>F}v1LwmTIu-|#V8NwM-MAoYdFCU=xn{=E4Cbe;DUCWHw>q-sP8u4 zXiV-lXLN?U&38J(-R1}Oa*8d2=h$01t2UfxM^dDppGK}07uZ>iT_AQ;iL1 zm7aw}9W-2EJ9Ku$@H@M&r)05F+r?$JMq{m^-DT#ICRr-gl@r^`FuIr7m~>>bS%1*{ zldU4Q-;DdqpR8VExWD|#y7jVU$Q72>%a$QmSifG@5p5EGu_~<&&(l}gRE^*_dZP?XdR z>x_M85K4ZA&1+RD%CLE@DwP>FuMNtf46E0X!ldM7TD@)v?7>W%*JfpjWN`gzshqkNWS_4BI1 zPdTG$;u#@8$?I)pU#o%22AyqDLzL(~))A@3P^E1jt@kJoW0;buu@9sCjNwYLUKeVN zR3_+k4UAFBgBm*)wMRrNOZwQx9<6NYBiF;XQE|pb$}XKXH^wMu`pVv~MYS@&ob+$ZsxUq%KaGywYXxGZF-E`5$uH9_W)~?+` z(Lpf}u#Rt;=%|G0>}kZK z4z+8y$5`ypuH2zrgj5syVJ%RhjtSj+D)`;_p@=b zUArsBsSfRCI<%YR;O86%Kj%2Ko9obSoZi-I$O_nDyOuSI;2sY*r~9A zl9e~g0hX+>iH%Tms>bFKTQJaSWuj@PvQn#isnK+?ONq-PX8shc>{jCQteP#=-AbBd z?Ds~~O?#9di0x;1|FBPKmoFLa`ummn8pA8HgUW?`+0GafDGn-ygJd1vy&P0r3S`}; zu=$4fm8AvN{+=)$RyG&ddjCinJQ$hWlRs9L65FpdihaZMv9e5K9b?zCqssEZ(&oU} zou;Eot6`FrK;7rcE{%;PmRTs-tl0gg&y|lf_E_v8(=p{3vBhj<>=Dx!$_1@%bL{7) zFO}qCn`bAKNs_UTW6zkrQks@Xb~-jkoKlu*?AO?zOsAB*QpqmGUNoInj+M$tpx56h zKWhv}^o`?EVHpQu+_w7o98qRH~*@`I2&|nxaeh7Jn!|5L?FP$00kf zv6tdX%zr4!Vok zdBAwdh7((=v6?0qO;9(%Hb*AjVxpeqW;4&3C~aP7vRXLtK~KRQL$B{p4acIAVoO4hyUY_mI`G*wy|+;qL!i+7qPXLDK8)xw)6 zYivi;9cFKysj+XG#z9@a#%>ZT(pXS4xE|yc8XMSbKeVfzW*x&JU`_GC=-S%!^j3XNR@7S0!H%o6{HIfA#FD_JzKNPa+LN%8Ah6kjw?vTR~6Ypg8(nmLN^nrDkk zG(VuRdgz<$$MesgzABYth3ElQ1e zxB0d#Xv8l_#{> zF0e(nIlu6LExIju;X=v~rFV<%?6(wj1g?aX*b6hPuu?OkCRmdBeA!M}ojBc+%FpO*wxuUeUTS3vEa`kH{@5q%b#EswvSjiNI(yR6hwpeo zvZIM>ExG)J&Nf;G@&ovAD7J)spSasHgdfw{$ChHwo|Bs2C!VpC^Fmr;c@ndVGm7|I6oTl?DI!kw|<4d2nvO=f(`DUF}I?d<1Ua+$1P7m`_ zI(xur5zl$i%2qf%#%p!9)@eC@?SVzG{jM>swmUtevkt(X)mh(GyPa0*tO(dDosDmG z!09=iJqT>I&epX0&}og%wg7vc7)0Ln{Z`w>3p)F%)lNHh5$aylnM>=PHfD%v{i9f` zvzEYK(pfiP>vWa{>}8z|YMm$QbvD+4&1?OV(Z-%={h8A%e9bE|BgeE^EjIFcjXg_j zv&N3MnQYj|cfDfGx^JB}@vv8|>}RLVJWpqTIc?=zBs2TBRh{4DJ2i%pc$4qf7)Ihv zeq3V>+X{6DKclh4wr1zI_<4=>8pCYe&o^rfv+iAfSYw!V2l!d72d8e^#X~7I6@A141*7U->b8ZE+6x}*CcxpLh?C3Ky1IV zo7j6AJ5KD7#x8W5EjtUjrq%a44Z#7pw3NP(AgH%U9{RI*9z|Q9wJL)xX*iv z;Tpqz-b>8T81D1lV)-sDm%49v@ezCXYPr}?Y^FM5nDA@0(D(P$h(qF0M=E^(O4a5 zb`w4aBzp+zx{0Y8TMl(e!sVc3FLaM|O%k;l+t@wEwTGzFS-fkC=<%LpZ$Mp|=&iAX zz3zxkd;BQ+i>5m3>Y6P|b+(@6h+~Jz zrnza4R9Cp))mXIu@;;MnPV!Ht0x?Qw zi(LncT8%vdbwk8Foh^19Di(bvXJsX@VPcoYHUldZ-Hu7k!_Y&KsMpx1$;(`eh4UAZ zol1VnwL~=3*>kRCqP51(LEQ+^OJ~oyR*1YWWDi%8*Sd}peNP~p!^|n`U8}@}6H?PJ zWt(e_SbkEn@RZ%I<3;^fQZqK?fa@e-{#w?x1_>l~eO`$Vk0 zj12E(esTL;wEEM^uDcx^~1{+-zTmzDK$ z|4|&(S+@I6BJFQ0D|Y`?tk7AF`z5hMXH(oSi-q*vOISHQA8@}aHfSul=OXv(;;7D6 zxZf04G&Z2;YIj8qQ6#JA`I5U(yXow8cY|80v6(%0xSQ1Z8hf>US}V;JF6dQ zY;Dg^-Cfm78hg9vad&q$fLq!3?w)EVjUDg#i@Ud4sIl*R{^9NmSJ;wW>G^`2zj{Jv zuet@Q*L3!dTZoF^+>&goTe#XuXNTOP)Bsg7Q`&X+hH5LF36B`Hug2Vbk|dymd)3nwe<;n7vSq_LT4nI1{% zR%a{A@#vvWbA?mWo-Xzmujh`ALMnI>UDg`{|6{NmC0wq!s+MWUhKlW2TI!JaW~C zJ*6)m8P9nPP&aEV09d|yLSvB`FMAADL%bx5&)DQKRISrkBCsNLo5s3iZ1*TtPiia~ zSedGNOV%r6x5sdGhQ>C9z2{M(F3{P>9;4KyIy>$$TK!ySXFSHJXNWBU_KU|jHP%Pg z_0G8BF;VTLvrQh8)%!Fy2lps_j_(LA-2pJela%~$7XY*9vY!vghjjXeRqKd7$J*(Q&N)JlJacCb|$ zE}n~Mj_|&JUB-I0SZCM6eiZi1%kxnybH&dIEYTT$PC#dd9T_{tQuPq^aMpsFkEusB zhMJG5CyB{-)t9Ni>dYXPtC0b6t)MSYsi_)6U!GEPb>`){Lao#o_V=_pE0C;~ zpVHXrj6J|s6O*4kct(9$WBA#FXVlHa@UsVjp3kbE>#Tw2D)pw$ns}~OV}c~R1e(vQ zi8^cG`J&oYXH7g`QZs_2XX&AXTwYd(2H7G}uMQ8gMWSA<4zfk!6?JBiEfVY1*Me-3 z*rXl{vPEK(`hAcs60fQB1HM`$HmiOi)=1=t*VX1Bwn)6LwhggG;&ruah%FMYt7#$D z(I$FsQAg>lv*%WIiOy0yx2tc4SVx=axkG(dXPrHFs-NgA#dDYXb%-?*MK15CzlGQ$ zu}A$o#1@G?stC13Vz25OYKz2vwP&a;5(m}FP+KGps`rK3BJrNODAX2-_th7|tdZCw z4ykX4*&=aBeK*V&i9_m#VYWydQjdjMN1Nq&SiP#Vfu0|#4a2Q$nCB6-Pq=loS)QM$ z1v(q(`KdZWXTv-{SI320BT?@1g*rFf7Kty_hr?}=_)>j5+!l%B>Pz9aNSsuUhub1? zN@WqYNSspLB5aX3twu-KBJqvdA<`O&?c!TCJJJ@3Z`FcGTO__!OCoKN_*Siqw2pR! z=Na`8osIQ8tG=PL$(}!`Uq@O;JHqov^(UQ;^*pcssk6zRzo;V08i{I`3#wm~EfN>i zuqaz3E~+t6wn+S@wvVz!;*vTl$`*+~)x}Y^Nc^e39%YNf74=kG`+%omMwHbGx{v{;aXbGj{^Jtg)A&?z(zIW7{(0fEgQFt*mF) z)o96B%d8xz+pDqUta+~2)fV)bq0`E){MF)yx>+)dW$*>B8|n_NuIu3S?1s8WW2MCQ zX_^lVHap)?KPHC#?F1{VpUvh?b%A7-nM2IZH`T@cY&LJI%lp}E-c+CLXR~=zeXgI) zCO%I{VZ*Wz%k6Mt7Ctj*Y8IZ~{|;hIWpi(n-!A!YX)YwmGLo#yvT54O?c1)ildLDn zW-9L>d`B;Hhw>_F^^Tq90g``6<?_hdK$7nXebT-> zNHNdeSnK`2E=xasd;e$t|9{Kd;NCVrW2hW#=ckk;k_6@IJ;)W3JKE`TTQ7I(v1e~v ztoqzTk9|l!ptr4D*xMFiPLe((Dg6iJtjeyuD$B7f>}v0%Kc=@$r`E3b2XC|aWN#bV z`}yC>fqTy=`z*DOzkROS$64w>OKo4Y%eQ(eZzjvK_ANWfVX|W{?_)Pp&)Ss_-%_@= z`cL!uZX@b*+lW4=ony2B5!Z!vwPSR{@KDmx3$k+ z`;0BMvwTBGuGzd@!ur_yHT1FJT=Hi^G+K7IA8NV0%R?Gja*@<-0srPJ(;qmCZ%ME1Bcvov*QTcAQC&=@m zeH_dGHtI6+q=q!7_PLWpB@2fCp;!N#+7rEPWBKPeOP!g09LxVU_ItO#u#Xl0P4hX@ zSx3EZ>T@TFV>~xet+ewFmG_b6A!>U}p9@8s9sBb;et(o}^1JN@atA(3I&u&HRj%${ zSiVAi$tysmug$Uxm4omBt1Obr34KwsCrNq}<`I??-bXsK``&72DV0}{d{tko#L@np z^#xmZTdUjK${lPomG_eT11g`S@(+4hVZRYxC;4x7lHdN(XZ!NrSVX6ODA^v59tQQh z)t{wyJ~tpu<(3#);})mexs%NwZm}R(tA5tDR)11S(wB4w_d}ghl8hzEWZgF_>if zR)6fzhW0*>wbL2_S|7&mWhF_3n zxn5G!vBxvi;{}oj(pjKmI!drsrP{m64a}I0wO-lx8mqhE-J&P2Ui`Cf#as2QuT(^2 z|5G{UAF&z!=p}1=&*f|?qeR?QQrP?7C3$vOVuyE|!I9avvjhIzvC3v-<6JDx#ynpJ zXkt%fJ)pgQ z!yN2A{(n%0>jB*kXGuA>Gf{?}yibnxRTrzoo!0(<+jRc9?GTcbQte18%lo+hO+g)or!6UsK(#b7u>Va{IQ=_P1TR z$@1NL`9C>x4wB@PdoF)X<+Ehr;w=(|UA2=~a#5!w)F$yENjB}J@@h)HIv1LYwd=BO zEjPSP-Za-Hm*unrm0Ke-}o!eI(b`>c9JrjQy*%|JRfMKY8*KT?am4mvt{tdB$LgL2%t0 z0@t|V%#B4cFV=whv1k^=8nQ6>i)8&+CuIQ3fxjp=5RL;`BbEopJQm0D;h4|j*&sL$ zVcppfHWvQUm7%N`8w%y2P)=gkqBZ_FPY|vme2H));WonE3VuuY zAeE00egXKX=Q+S9JpUqz!Z$jt^z`Itzk=br*<%@&1Nn`C>0W_6C@o)OL};B@WBq=!N)(*JM69|DabX=~(1bT;$VR*n<3H zAb&Q0yC{VyedSfjHs@ae#CP@=^H1}^CQlCy^ezHS@W#=#0X&)C3GiZ2cam&T5!0Z2 zCV!`>V4K2vdq2Vd&L8Z(ihB)O4W4WY>rSnz38#ARW@+KG05>|#_uj~x4SEc)>!4@6 zx3RQAFM>|LLEFL3&_O$)?GGWZfMnF5*St3}oQw8+Z?o-WA1!|dmJjkpgAM{t%=pOr z2*+3@@Ku98^Tx5C09-pr@i|SibDD1$gt%pp86+Q2`RE{=sV@eldnG9628H+}C{6`Y zJ{Nhjg2qtpT7cHl3J#ePl1M)=$ z>)Ao}93e*RAU&n%AlnR*iwyOT0Iu^H%l3g}EPEgDFOHF{rKcL#((_(w=@~G!^n~MD zdLrg&nwL2=N2eM24`s9SLV9lHLVA+rLV9}TLiwCaK{HOckTP>AwOv8_E9eQAD@cC@ zJ^ykA>3EXx;`^+~|`8Dvu!(mt10+Nm5e9>yZqvY)g@^%5cTJ*Nx3F>_Tb1mNIw@t(qzvs6bdOt!okNF*h z^0y@UiON6u9TE5$qxKvlAF1H%d?7GP6Tp*;ehEr#@fI~f!CBr*bCIA-D_+meP{hu# zS;dQdp*%Fszp>cZy`}#d(mBH(F7EE1&hUHWD9?d1KARz(o)gfXKUq8y_Pu9|i~T3F z`r>l`)8bh1eJq`QRb1^K$iFL|1NykW(%Gfr1^yWGhY6SYrwc>LYN&NCk^Aj>wt$6| z9Dx~+E~y83TuE!cbk>zHr(}zoPET|WMx}+0qxa}=`(nHHI*>BXfA87MwKDHSBR2^F<5RwlCNS=(gw;& zYGzrpfFw1$tR-M!S=)dFwYsbel;@NsLwQkIdO*7JO4+aG)8ehNf`HTF-Levp94Y(5 z+)w$g49*lv$Hr#obma<_EyMTurK`<`Pk{3)uIM5<)AfURjt%HXKIan_5%yzqhSvq8 zt51+VwoOo88UBbNkiRy(8YD-DuQm5$-wijIF*l|g5|qD&uV<@Zk6kS)WCT=~5swG- zqdjCSNS+PIr@7n4dX88haGuJS2+uP^36>EpEEj4w@*yJ*2Fz6DZhQ&O2s7215g&pa zzw>^ca_>B>f@1;KXcef+V${51HAfZNA85RLX+$UJ zlY4Whyj0mA^;_@?!Zn0@2{#kg6Yd~P;IEXA4N2gymrn#7HE3!G?8fEGd^hr=@$sOZ%ZHMRn-oz&KZ-3c=)a2|6iKJz`I4u$d&wT$GIR31m= z`v~U}K34H;$Z1+@U#J_0J`cV88oMrJp@KWlLYk?CSmZ??MGLY7XffqOq@GCo7UdFM;O3&}$T*H4N=o47dm4{xBNk*!B>$nnQiqyKt$4{v0BmLo%MUH+mZWtbntXA#`LXUyGsrNVAWHt}E8iKH1nXcqCk<7#58* zgawM{M#8yLyaw3baAah?Z;}B=on*K)(mAZX;rdALut3Fa6s!xwu_&`odqe7|dayrw zR9aXO^H$9(W%2Xj7>7XR+fm(dRcSw}*QgJ|c7*g=bRJ=&Rus%zLyYqJs4v9Tbtk17NRy z!mzKPVZ;-L!qE*QaQE&^a>OSx(g4dwV=j#boT**=y?yz&^m}Zr2-~se0XwmE zfZeDznY{*>#*eGOO(XHzqq z1lLk#HkJJXSjT<`oWrgF&S%#F7c#Dx*&=2FT*_Pkmorbm70eHCB?|^z!y*9JvW9^5 zEDmr3YYw=XwF2DA+5_%jT>y8n9)NpU8sGtz1$c<{2mFW)1U$+H10I8OgPEOR!vW8b z&p)tgD4%DwfEU3iGC_Ffh!iVE10yvH$ zgySe8IF2Hk<0xV|j-n~YQMBMVidGy)(T<~UojCfI%zFW*@jif=JO{8Z&j-xmLjm)6 z3E*H}4p_)X1D2Byl^kO`hNI859DSb3?}OUqRJ(#|S5oa7s$I)*MD-l!eKYB7C7m6l zvx{{05*{GUL!|i;#|$~jF++}V%#ag=r#R-x8IE~!o~&IUYnRB{6|!@U>@b0LRDpKP z0`0g6wBRAof{#E80dNlt(G$x6Bg9jH(PAZFtau)-my`60yx^ zwxxm73jup9Xl=F=;%es%81){)ZwZSM5N8suBHT@Qnowzp7)e;v3h`7MMAjBDg0LH5 zAz>ZiO2S=)rwCa)(kJXjSV&k$xUxO^wu|r-A?tt`LD-G3kg$$$CE+f@Q-rJ|=@WJ% zEF`QWTuHc#FsTcTg|LorCE>0l@|LhLi)sm@hk2v5Vc52m%5_v;Nw|h2yQqAM@C->< zA^AhtjWD^8>`=Lma3$dylJBDODMD6+s1~6-g38?p3kgd}UPtAXgu4h&5wc?Hm#`aQ zAz>ZioN{b?hA_GUv6OHPp*oU0tQI(S!d--?2qVTIb|b7KTuG?lFBriYT7k1V{^s=* zujO7Zc)jKIhgX<)1Mgh#V(*dO>G9tv;^EDd}#aCu;6(8{1Ug7yV{5cGA>m7qPrUk3ja z{8zARNMuOskgg%=A^k%JhRh0C6tXeo*N_IGEkiqo)`l(&eJS+K(A}YjLq7@qBJ|tP z-$R4K+JzN|Jsh?wY-8BIuusE&4+{!!8s0iQHGDvLVR%jW?C{6JUktAg-xdCD_{ZU2 zg?}6VYdDMWj);hei)aXv!mg6e02uzw@B%=$h(bW0h^xAV z#*uFstQMr^z4T?34A9&5Xwcn=mj=iK3W~ZZ08R4XKv_FgF4--B`@>dDpPM__;*r{~1 zbDhw>$G~3Lwo$Knpp($+F%N6p?Bn@IhJ8FMZj;=+O>*@%3C@C)yqAf!UlN|lL~q|6 z{DTi;e+|YlzCQ#J%N}su#v!Y}2IS0#34G54(1U%Ws31QLD0AP;zJ)WV2VUWUB$$3d zIt0*zoy98=_8lOHbzs435$*(XPe2ZgVh*tbc`l0LbAksxy>70_5xy))nvs zj7ec90Xh2$#-zY~RSzhif-!NpZ|RBSRnkE|Ldk&gaKdsW3vj;D2XKMX5AXpc8}LCT z7jU665J#uv13s-3K-*^kIeS(a0=QBc29oELA}FsST&60Xh_ z76r&z1O7DNNd7F~D835hm4rcJHAn&pL&WnS2?gYE75*Y%L-7(|bMZ3BTL5y_R=fh( zPOQgS78^m{1CX;`aE;DchIkz?SG)o80f3wh5!(QViZ?L_;Obvt6@VPB;NQkP7rQaf z#U6am9FVi|VjtiH@h;#LaS-!gybm~290r^tK7@7fo+9Aczt9|A51SOPNx2L-+tcp}g_$SWu? zC?cpqP?MmD4=xL?4xSV|Gx&kvrNPexuMOT5d@%S(um}wd%?d3EeJu3Z z(67U0MEp?5SUlfqP*@^Y>+pSA#ui0RpMl30J--}?@Au+0fc&Sh0FykTRy{pEw+q{3 zC+nlhEM`3FZ58}K(oS!;ruS;FRc8GMZNqPueLdiIdvDV7z=L784TYUG0%F-8t`&yB z+zf@kLWpJ&qlak2wM9Agy{HF9pBK7+qC1G z+VL&z*wrA9N!qc8c1+QZ)3oCZ?Ko3A&eo3iYsUw*<3rkUv36Vn$L+!pxJIPGpCNDu z{b6}u;9B7pv{v}SUkLoA1=a(v2VM`n9{6*l*E8rjkZl0{9Z=p%$9;iYL3blri^WOKm&LMT59vPa>#5cs1cbAxgS{Q1IPTHqYubAZpG zHfe#2fX{-z2jFiJ$Y;Ud1Ms&9>Sw{<1Ms&9^k%`|1Ek+G2*TJYtGaZ2Wmy-NJ*IN} zxIV=r%Svj;#g|rAvXt8LvYM*0+N9E=F|}nitVd1RxZ0ZPs`$+65!K_QetH$u3@<7v z>rq`buC}PEcHAv$@%Cm}YDHyPQb|eKxN$wIOUoorsi~>1ku!0ZG!CDqT2D} za>td`3@EA`U&d0%rmV}EJf_UrZbDgAElcT9SpmoFvYH8HHOXbeE2_W_xKdGKXE$YZ zQAMR4Po7*=G`gasf7!T-`|KUEjwQRcrlM*@N>xd9DIBfpWl}$@Xi_#D;4&~XWmtOe z)IKb`Z)R>b6mwGgrzZ7C8J5|nXL^re**Qr$AWrF>n{}H;zuc7m`NMMZ`=(eGDn?Wl zRpRJ|m9g}3lFH$ff<$r}aZ=5Qaja(%P8RqxzOvTJY_&LyoQlz9HEBgvrIj$1=~ZLK z*Y+qcsv1$Ii3ZjbjTr+q$rU3iYKtmK!AcwySrT+yJwhtTvSYnt%$Ph#b(oZjTg`PJ zKYVyujYEHZ#@E`6YebsSNO~0%l4@#-CKo2KfkhQshNM)DA5D}=J;#n@lH8G52j91- zrf75-WOUymthMFzEfqK|Ai(q%!W7uj6M9aCCVTh@C( z|D-HCrHT^izV2FCRVj)4jW4U2oI1X$q_(2E3N(vKT&=FDsGV$;Czst>E?cKeDk~X}ZX{P%-KIi)S^dl^s<@LY zG9{D7O|B}rn;bK=dVH;eqoW~(`_zzcSj-+>RHKcj2L!y9V%4L1^k`_4Q=L>*inE_u zjSFE6OkP=PP4(!UnxZOTHMM#qao0&MtA#BcyI=QT}Yy`}h zz7NTaw(T~k#BBOMd0cJTXr_&Vwir4K(TT^l#b&|ATTxOpu2#>P zbjVBGB8n@^V3*3#48`}TuB){7TybCAQD+`Fh2woUz_g{9=ArS$Kek~1tRIjJw4i?iA2VPzO= zun8VjSCv{Xe&S0?ATz9C=nbLM`(#!xZuOxj>=KaBHEF3^!(RbuF=l2o7mRJW>aY=Z-!TdI<)O8tR$ic-~; zRCN7Zx6~~SCP>X^U>+Xef%z=sU>Lj}e&7I^K!6!CVG@#=mwEGfVZuzpypSv=lguwp zhIuo?0Dk*(&bjB_x>9!=xAA)`>ejvIfA-mDpMCb;XP>JqrM@9un$G1*sr1ysjBtdH zRHB$D%_ov40TFZQLLo7e24N+?kSrQ?GBcTCVzzLV)e_KgZsuxh$zhyGhyhvfykkJ2Rgso=`&IDV!FL z%%|t@t($NniDWWeP>mJllN>CZNaWKh)hV1llPMHs@~On^^gM@Q*0~noPE|_J%@@yV zNF0bclAN2;1DH$CjbXE=%&<<^IIGM}m7v|OI(x=n;(kWPsK(?ZgBT9h@VUanN$)}N2 zI5~r;$fRV{w+KL<%w@BfQcM*5o59g#3$UgNx!F_cZF`!}<)Qq-+!PRne^W)(UpnPm z0*F16odI&rl?ro-*;(I0$=OUgd%2d}g#g6Td_Fe=qbT?m*US!K%w&Nrz=+ZA07#E<5bMb}oq(pZGoDmqD1Pas=>$x^H*+eVJDJYH#LVT2=^hAV zE)XrC(VK}AI-AR#T$uOC@a@bX0dLl9CVLWED|m+r#6C4ktO>|DB`k$KBz!qNoHx zH|@kV2cW&nmBdThl?3FFKI2YFaWqBiZ#uV-B|G zZhkYkEhXlNn8d<7Y_Vy;7YwjaWbTaI6^J@93%gKGQ=oBI0D*mW zHa!DKPD~YmVW($HP|Hk5sUC&;QUTZ`^^3X5+`=r6nf79UEICEBWTz^s8_CY3&4ek$ zRKZLsCh{|Y1*pE@E|~!G(5Wy6Xd2h%$qaE>m6FS%fFuB-6U>N9%=QTr`BDz3b9y#+ zS|K6<#0e`wZZWbDi2|?{h{9ZPo^~gE)20YCSVX)y2@1aCT*^$=E7?gZpwwc-VL6>L z0A*`%^1-ko6}Y1uE#3KNs8fUA}!FHNjYmIAcM zWeoBqZ#bBY;49vmI*WXpL^=f}%tB8pF7esST&Cz#0VWC(6LXnlZzhRzJhGlVTJc-L zk)EB)7v8X4b~0bwGW#@4CMO6>*#j4v=bNpIO(!8yNM%E=85S{9@ytL1qvh<`j~qucV^pM*n?n|feKKBiJw|1rnfJ~yNPd+Oo7>M?>sS( zFvtEmvxzN-C$~N}N=qee`$B4WM!|+>f&?3>HF{E6DfA@DJ=C{8C_nQcou)jwiWPe6 z6#O%kEamN&1SoeRj&cUL8*##Pkp;FMV7JVMjjn*Aj@-fh$Hau|iyHqt+39xmXz6%| z4U_F8(E>rXsdHw2pO0xE+h!ZS zj@QTvr=m6+a-7`RvfZ5n9=TMrs+3SzZ!EUzx_w}>^oBOtWN&ShJQntm^`}cgSRZpfxqETBs$SKhLL1jrYOVYxfnQbk~10!W% zZqMdXPQ-O4O>xj zyO^=*yas}v!z@V2(Xsu(j7Jw!EixY%UhAg|cdM zqOz*0`4frNZVTu^9cBUa~T6{~i^s&YDxcfm#rxHJBOJGxM78nKLuim0nCWHV%sgLe_Pf>QECA`d{;POn%vbej9=8j>rY>);}HmbX4XmBY?kOVYwE zrfXKcDwnjqXvTQ;?<*n{&M-nBkwqi>iV~Rxe&8xOzt1=M} z0Fat6DWY{@`ZpKrXvwBjA<@BT)339nfTojO+nsk1v)?~TU zkeR(Fy0ohzJAcscUfz2xx5slWH6sNBIOYoremDd91ltpX$n@Is*> z^Nys>(Ymb;uzWn9(Qz}+@2t)^f;;G`i2aedOX@@KNsfPo&rkj~e z9=omfMWix7IF!RmUTjlcJyXErVe^!T*L}kxtI^8_+=%(|D$Fp@NyVy5^1IJ&<%jk zQb051;E8l11(Sp)Xnb0cMr+AzPG-x~i7|P60V*XXsnZ!W#Zg^sl`C}78ijlPNQ zUaL*H6QpYPd9@K-)LR9n;sQHUYn^B{GzXXEg?wk402=iKJ4SP%EtEuBCW*9BqJ~M? zQ0%!?v8s5sZ5u8bUSdV6WQ!PCcwuSflc@8vp-Ju%yi>_t0zzWz8m1eXjO5o~M;1!$ zuuNw(eMEeaQ&klhPFsf-X+J0CrH-o8O=K=rp>|Oz^67Z8)oh{@Gbz0>r`UF8(`v;Nu3RGx0PAkIjXJxa5y^JHsv~>ZgFagtr zMSKu-P2k@hL{SZ97urA7ssrz?ldhdwMV--@@71bqNe+sUE9ssTu!~4Gh1E8C%DM2; zQxuvqk>HM+7{HNAHzTh*np{IN1~AL^WzVEdQJ$JA;9Cv|lFebMoFsxSwX*ICEfFd>eYmR#)YRLb~6AxG&L{6d~?4CS5TgKe@W7^(=JY-A7mf9Cv z%*r{Lo6s#nrtKyKoO82Gu?+G|#R)TiWD4jhhm;NoLz#v0VB@BxEw@cHJL)|Zv1cp| z7(=EBm|P|_cu-nQ&U1r=(5*6Qt`sqBRmep#bLHkL8o{(hszUO-44cD4$6(3mSxmHrJG>Bb$T9UZPoLdLr$ZMyg88&qv0%<0)v zG7$pD3Do<~mr7G*a!TZ;k8`)Z>HgsLmZO(XbqS$g4z=f(kv-Lu$_SRY*#c#U4!hsDt0TEGx&>jM81f9=ka`{YAc^Blr3yExTVXibbI@(lzJ`Mt9p~7rBJx|V-a|LC`Vpl&h z6c}CnrmwK+mlq`cyX=Wf5ekbC!#sRC~duv&xaT!s_bTL8}pNs@3 zpcyFfo!XYHYtd^-V`k$`wS7|?cz}8_z1HoN-PL=NZU5v(2{d3scTDJ*?TR%@AbD3o zqR`_tC{1@j7_HXVb#YgM?M=V~c6~w6J(8Ye+dmnlp5{#J0w|#s5PRnE7@g;Z z6EKSsZNEe;3F0|O;EtK8a>0GNMl~;6s8KSnfJzIpYe!UeXR{ohOaVHmT(ThVZDpD; z+cl8>JO`dIRDCf_UIoPQcN^__^LD4CaRk8=OyZRx^U|!$H*U$w6yqYSOmSUzb=7kv znO9$Bk_Jx3)h$M!C=gSZ7b1b`GSa!Fi$;l-Hy__17Nkv%G1-D$#p+s~+o{5HBh|c$ z+It68Uq1Crw7PrhN%pyVdYLPyJ$Fjo$EuzirdwPT7$or=H{%P+`(;T0V z(s61-o|R{8wN%u4s{vSH(1KJPXmGTn=jI_bI_H?4Kol=nUGoTgu6*7it4+Cq%Mz`Q zFiyW@R1J_U>W&waEFlv-jzvg!bPnjSD(P_qgjlioGCFmnE-nMj$_wnR8XS4Tb&`$*)U~N z$SH}e#|SzZX!oWdyH3!}S=OaHy(y>5ohGYbP8vwewTk6RlG>8I+nY4KF*u2ix$F9# zJMCVVM(MwuSCD)KGlJ+_X?V{+@f&}Z#V0g9q4M3sl3 zY%#8b_F@a;^2i-=(XqQuNCP9|<``W?j3G9wS-gbpOoekik86F4m~7USCK(70lzA0~ z*j|Jo>~ooXr*zoKM9yv&Fyc-jWLK7}9aoCCptsGQRHFiOG$-iFlGopv@tEEVuDC>r zCsiV);DcV8aPEkL3RW{>WV=V-n`9IAGRMc z1xyx+T%F_K=`Oj`b?_*L_HTTvhLvZYAD@%k18s}aKNiFG)VlNC0e5vWhAj^x9T|09K~}UI^pGLdaYfa4Yd za!EB`TV5eS1f@=}4C+FsigfSEcm7vFCG)%rRn(1f(B~*)Sbcz}_&AXBhI(8AT-W zO{52Xc0%yQ7X3jf4sn*HOchA6qKqczi_+_i3)ILdy2ZGJ>MOv*VF?nmtSHNGhwqpy zDaEww-0rZQ3medgD2qkWV&8q!pWL{qV>t4Ikkh8?jJCY#QD>=Zai&vVM8ABjD4Nzq zbxQ_^BW#c7yQG7P`@>-sRFk?=C9jfyryNy7dXtL^@6ejrRiOcR)N2jY_r;2o+ncMP zA0wFM3aN~3<%TS30v9)+5J#{5X0^RMYhBcd+_NO2I(m%?+hmcC;4&l!K-;+?C6A0O z^V*H$(pbYLr8_sy>!P3GK~&hhK&U{*+*Sq~iKiu~$UdSq+wlffGhJ)}%Y_+0`GBSa zCVReRi_V&KOPg{W5#64Fb@mIIO-AKDgtQdfc|*$|cvlB2!)=%6qWwc`q0t+@Xz_R;23J2S{NPzZQ#L*cYV<2)pa5Ge=7wy5U;L zG=cx?0Q^g(jB4v* zs?9B#1{gDZQF+xnp6$Hx${=zk=it(=oOdEv)rm3V6xuL_0hUkeWvscnSk+1qBM6&Gp_4siOGRXs>rrpzX~9dAn*g z%ANB*wO|3lTpC{-bi22bv7^=2-mL)FshV9|G{-x$TC4W9Ebm4bEo%nh@t$$MTx;C# z0}L;=*1RQk>r-`D$++yD_H`2b$=E<%P2?!FQ2fdp*+Ln0Y&kmEhYTjNxVpStc8!_S zaPQ@hK=r&L*qiZuj;@_YaNs#*bwG`E1?ulCb!i^OqVMq-DvZLMAyC9T&Ie= z3Q5=MxI?MYDeD5+`Ip%!&dnhMvDq0=xCh|OEb3nLH9o7FY5U#dJg7fEDQ{|czIi;2 ztA!8W7-764&X(7KGdQT`_(|0I@V*itW~$Y~8!f2L0Z^0*${j(*@ThTv6u|yDdXthD zmbo4FBgVTn#)UIVWSK(DwJum>56q-$AQo!R^)}&!r83*O3y0#YWF#2OHRU%fjdZ-h zNaCqnju>`SAB^D^<)pANq+l7hja}DJb%Zbb;J0~mOYFbwh(LNLCTD#aCe4EPT!k(+ zS+nw2FSl*0I#;XLYc_qW(dK)MWB?LuYoJT1bFF5}M4CJ+^f{8&5#vLVEwo*AtQ3Aj z$nxA0rB>xdHh{~<;}LnJFAF$kT2DquarZJ!nY|vrf1*_CuGDOCymtR&spR*~)UBYuLdaDy=DAkq zM6Fu24DO1SdZmCkWZZ+~L*n@McS)}la#@V|xqA*62NN%_CDn?$Q=$&YjNO%J8>AY! zU8tKz(y>rUbkeA9p$G#ZTD;C4GGEdB7j_Z5g3`84_WE@5LJd+Iq#<=``u<10)oNs_ z`s${T2Y9He(f19SwF(+{^lfmto)e3Bfkn>U#uX-zxSI4lrQa|OidT*JXs+CjO zf)wJ9!!o{rG9X$%5pvpi2pc4`fJfTAq#wXi@!zFAV)z%YKAR_o1~d97C)*CixP=<7}T zmW%TVVB-r3S|4}U))%E@?Toskk!uzJ^>UJAVbuM#i~`|Ab6wys*VQ+s=pz6qhO0Yn zs8=!3OXg#&Tlq;OxCtYVodye+6JP|}YYo2_p+%Pb}tVNR!P#63{w(j#kFQ|R16>Jfdh0(v++K{(f- z%VBxr8gz|O<5Zebt1mPesq!{p3I7sE zySsJ1>$*~Jw(Fu&!d}-Un9B4baP}7*6lo`9(N(wT9DSkZL%j>hqDGYr5XN;C;sbL) zB`f&NB|@@D)Ir2QF;mA6E;$yqVr#w&crUA?X5+60Om{3xmCrPR`fGf{z+Ei8#@Y@v zue6nnP09jL_*}US>k~vqK!+nF$xos+4Qr%y^ zM>&CnYi%-oXw_O}{~_3I=&K%D23o*9(XcnD5Fa_(&iySS2&pG&?Z_4^j?-+DM&Pk9 z0PiEFH(#!G-o#oTY0NCDF=@yXS0Sw@)Rsp~sE&b{P;4n}lT|0!vhZxbBjq*zm_keH zsl?P-GleI`P2QMWEPH z$}ypbEsMzPK$Fo795Dg{AN^GohsUUo=%5F;yM2C3YJk`-2p`K2tp z7@lfXK}Xh}Wu{@5T=I0BKPcvi`OX*7h>$!PkV0k){Gy0sX{Af__O>RGOpfFMXUhVC z+;E2B>(SCsn#sBUmIh1ra>h|XpbM+$$~el36tt6I&oHKOVhntn9KXecRZt~H#eK$d zdQ~^5v_V?8M)@_m3J)<(cE+ned7@SzeIG@BLWNz)*l@yLXxM$R)k1d&XIu--@+uH% z2bg@7|Av*h`N2-jm35!mTG-};0s~u&d1VKa(^5t;;IF>+{vmD#dwfC9dawu2j z?PNI*$|cRP8rq7Q%qRh(RwyQ%MFEJfW;CSoMMPyZ;w8~Lpny9Zjw`kdLzm0}A;cdnmhh}VD74TR?TOEv{EAV@B7fFO(&|j%k zN(lZbyPK1ugU2(X3-6X_igThM)+ug@2E@dkQxNJvN{#Zx^<(0o7=?ewEDP*L3|1F zR-qS=c%hwT-B%fYZJEX}WFXA#A!Kz(sp%AKr9!1z5XLsv30A*avjANd-n+#PA);wW zUj>-Ot5VS3GW>RBxd)-G8jV(jN5p;jz9}JFX%VDGiJJ=4N3FN+9f-;E@Y@m>DaEFK z6f_Q`qJpqqp!6ExZ-j8%fO;1wzfQPch8ip49*DmMCit!J9s%5Usc*)gS#Cs@9D|ZH z-i;58h`g)W1Hyl@m!U~a8-d?dK6D6Tm}0NRwy|@;>(<4>i(X?}L>yLXh#~^Rz(fo)HLJ0F9jbhrN@7t>c)g2H~oy#2#$)ZK0A(2usup ztXJ==8lptYWUU86(J+_R2;sG>3B4ibvIAufZaI?{jip1gV^K<(Fvm0M%;G`l%}cHp z%^Jgg5$e=r+t>ob)b3fl6-gzR?JeO4ue&y4CQCDcGtj2dr*#|nXL^|`#NZo=KJF1` z#5lwshGol)Mx0FpUXeX8q%9g3&&mv>c3lf-n((wtn8hBZY3yl@h5h0V=tK7TmIY|D zDq(ft^U|EN77(vpIVW8?x+!CQ<@M@v#(0;pvYdr4te2v1@kT$~t?HiDyt{csO+#by z1cuvTNMhriGX`mtT+{Gk06!weXi*@TIGt+gIIM(u;xz|j{7S%xCZXq|mdCBw=ar(BekF(|9$vu|V#p3SY`>S4~>vrp8pwYx=5wwItaUZ&j!`EP|p z9L2>i5_58xW?z58*?vA z0`}8HS$XI`3o~;D+R4E?4FcEPE-~M z1g8VUjsYsMrvQ*T1S$Fs(o|ur1u$TnCm@7ELYAfqnZIZu6!XyX0=!3{-6X^?4M%f9 zjyeZec(a7sHkNXkFo@_kg&3PkuF^P1Nbsmqh@iBP5L+ZhRXqLNBjZg&TyiFyF`p#S zO5q(PdKNXX_k;4^ei-{5TaL`#!izYvv;IA>DA$yIs0D!Sn?f?T-_}cs=a8vJEH3~a z<~?(QRLe_G&3Hx%n+=IQg*%50+#?q~zQ^VJ5a|a*op(%Wp=JA$qF~aoNyWX8-gAXe zin)TglbEEp1^2p`Cg$Vd@*d%c%?4Y!h_q99L9KbyMu;A5n4Okn^vG!aL>{2Lff2#9 z_dghc@C*Hxr(9}^Vg)LYlUMTnYUl}S|}4_ekE<< z&0Qj_x)eEh)PS{w32~O}IE%7C@MI`|Va^vDPh8#dahsId8hH&#I%?7s+dVCfWj0woEKMj?5|V1t=*CRc zy&dA({@B*Q)j+~I133v2OdX(3OEEj)S>IL2$FP#h6crqlgW|TmhKLp^DBNp9uq=mo z4(u5vGpYI&cPOebS7^mpp}bB&?%LQ)QP&Ey=FpNp0>M2lZ2B$HyS7-An66O6wh&&F z;^GU3;C9iJ!tw3C{f=(YFTxYpc=o3~be!!6VF0!?Ev%CH$>HX_Zl!Ehx^hXzG)|~i zd7YZ_jMD?Pzi_n+&ym(ghz@xaO)0TUJtB(gA>v8wROT!+ZlMy}BG|Z9afAQba`Qx9 zl1n7DvR-n4Fy6}>ojQRx_R6rT9W;_M$Es>GZBz5PhPLEah;w#{ahQBwJk+}@-b38? zN@;MiYHB6(pfLm?X_;*E;qCwQ{TtD=LT-01CLZKHJ;9&h1ktP-02T> zN2Y&_|27r0tJ=5R3tqhhRaMvtGa%xXi2(8%<=PDU^0IYduy z^Me78M>^7$!vptf16)wNyY^Mj{Xn-*clj@Wp1#0T$JvwX4PJ6 z6N$ei!#ohOiR9G|tq$ju24LFS+}O803%*A4*#)v^qvh2=FJ9j}F(aOmCY>n;q3sE2 zzxpX3k#^fw&iWAo%1XRWsxIrGd;I1h9;rb6+MUprf!k$bl_wVk<^_1(q1vfL5<4s%+W2Q-|*A#jWEY&N+e43PR4BdYP|Bie9X?WMS>a9$0S&-`P zxkzH{dAXXmGsTY>WpAcazbs&R7XI<>_|9wDbyt_IN|8_LN0vmK)bwsQ+wt~iSpO#d z2;>nu;$Ni{M@Xm%WuX*zn@eQ7o)}tjAS($N^==kVEs2d@olV?*`4&+QT$BtIk0G7% z{(GxY`WALB!9(~(IugajIR$%@a{wxC+p0{C#A{pbOmoziZ7_)%%`f0JXCA{MR(Z#6 zNPC^h8p@Jo@xm@k$)`i7a$Ttri`%hx-iOOZ%MF6SF`$c$ce=focx&x#(A|s!Mon(A zHLXV|QpEPkQb^p^fyL%<}95Aaia*aR_I-;xi9C&!a$CY2o!X<2<(zDDHMU0`_{SdCD*F!gc$i zIb`0Y(;il*lxLe_Wj6T$DS3%^^mSfxGycn9>jkzbl=;G}A?|ns!PWA?i>Ks~l$YKgUOK0iSlAY%E4|)8rwW4#B1Efta-u( zdv}sA<;^D{A2+fDVc`O8ZqDWkBRu9D^IXn@sVHZVSF}i6dCgfGmbLALaD9kaTC7L(eP)q-+q3wXsP^CQ_)nE$Pc9walD$&=^%%NkflA~aR%N$r?c6uu zGwFG&-9yPJf8LZeB6{N*srJ`@5)~e`GE<0zMiM#f1giDy=DJ!@5Q>-K!>M4 zwaQi{7@>D%6e4ZLV^5mmHlGBe7mD6Lf3SA2aYN+eNWWTZ%agY&D*s$9V*Z-n`tXDG zQ?~z#m;d+$`uR(zHzU`d@3giQCQX~|yDI2?$s6DJ%c@!Y>*Iplec6STI)a`di`IsW2Q~eZ?I)xa)gz-^Qe=eEOH1%lFmNU;F6&=vD@< zNo8qw516<~?)hr#ew6GmyI0iW)uzSox^6f3hbmpuLQorg7>H`EPX!U&nc{CO@uY0SW?a4jB&p7&X%>7OmmClr?5kh>J*36 zex)fyp`r_LEE%R_%o^JmQEQvr)zcPE(xcLr%UkJg|ct?g-z>T70DNPxgcBJuanh>F-)! z-P(&c8>nQxGfs4OJu*F0G9Qv_X*QBGQYEEb#kKe5l_?SL&&Se1pRMkFUE7ki>R7aN z&vI+l^W$M_2(i-AB+QpU%tMl#7SQOPQ3N%BWtm`(R;@X$--iviYd~{qs$o zI%O39Li8zx&%}wTxWKYRtxJCm78DJ#j?HDc*A7tXcPR$HvF@vPTK)U2FXZmMG6a_eN-_`j%#_oLx3pTRDaRr8 z{QLbcC|&tOH(uTT`5hrVGk&#j$9r|NXsh>nPQQnyb~V^Ii9ZU+^|~-KwC$$0*NE<^ z6iRT)d&_q>9~%D)o_oCl{pQJwoRGmU@ik(p8Z)@xf^jSOV^OfJ{Q>#Ng4my`Brr^g-Zb6=88p_k0 zT&`H8F73Sj{Xq)% zC870Uhf{^)sDww6DpoDjsgcFt)b+8duOu;O&!~($&^YQ_}ZG9vYnxvuEWMuiqZ$+O|C{j5|8; zpA438zi^H0JO6KC-P&jMbtq2-*?kM2P->l&4kf0O$Q?Oj6HbeZp73K~F)EU^!sOpW@{o$1xS)xF~a-!#|zMC@yOY>4nAvTaz{IF7FK}Nfsi)s z)?;|zel^PAX7#Mix2pVW?zkG+x=@+qXezq>-4Aqf;HwS0xTjTOC3_t=xca=L?y0Ip ziN%5)2_eU1krsNIP1{}$Sql|k*LT-BFo^-X?er`qgj(+|?s9gk#cvnmv%~zT@x)a4 zfyC6%c#O1%xOVN{m?mIUvnZk=_XjP$SdGv|IK|xARJn%TIoB}_zRA~#%PY&rhA(zG zM_%Pi7Hu=sD^9W<_-$uX42c=Z#Q)}<(l<9vC#bw3D%y}$#ctbTOr^Gc^orzppx3Cj zp4@t>x#FY@a&gz5lkw^=5Ew$&mMW5T+C)RndXI9`d5IfFF_>13gg@}@sT}#!9j~3O(Aqbt^LfBi?m!avON4)NpJCHB zwHI&N`uQ~d^&@RO?45lgcX!3eHmY!`hf8EcO8L1;oVM>%ObFt$d1kD5NP92WT?93b zUpRfmp(2D}SSynwmKaI?B7ecbR7(OcbwPCC(oifd*li|{?_rn*^3tBz@QGn(xdU91 zh0_t|R~p5Wo6x)tiws6mB7^^8Sk7(LEr;{m^&<9b{2)_IbTs|;--%SP^Uk^&*JdTJ zm0E?iiM4=L`Im;Pue{Rw5tP$X`xQ@q9TI!6u4vtaJBNlx+^V&rSCofL1i>qljQLD^A z9D1c!{loF)jmF^O5wm@2&T)!-?fDTCne`Rs2^xE3Tb*A)Go&zfj!Iyd`VrHH*pEsT z8^$ACS{Ek*RU5=i;7(5zD}?tpmnfqiy|d|qmaKqE@ZXMY)^Qa++_AC{p?FKqeq`b_ zUJs%5LRZgHOl2?P7kBSLp_x5OaYwm*f#mxdv_R6M3${jsd5v8T^Ra&(iEkHKMf~Q3!3_D97w*6*9JBHy)rt3#vT>;RstQgoH%z`r!6v0p{7K<8eNpde zIeD^S{EZ@{T0);=zGA9y^Q^6_0=3m7dx!mwuou*LGqYI1klVau;i!~>c_nclxlpmE zAGrSbIC%<*PYE2GNgtC>8&?f`lx&^yIKxZq6x0$=&{aY1JumiXO{4VX7(&@ipdT+) zfsR)a`m=XTTAFXAbpaPt!*`AE?2tlCo4FZjvV6<dt>c?d|cEqkn=T zcbjV1B z-g-CPG&mL8+k0f3M@pobw@xxTiE#X1JS~rnk2{tIE*bD$pG-OmZYiSCA3K)U!;s1u zQwADwu|ie6`ILHB)yq_lKeYsdWPgzNfxRAeLyO>665EO3@kmq^Q`^!bSi z%}9*G#NpsDkWnXdXWKsX`wqQNhxG^WsA;7aO1ly*G-qRK`S@4gl>}su^_xXE-tlya zE?sE1Iy9tb4F7lCJ(V;o2TaV#1^HLKUp(Tr$N$q>U(Zt5dviRIqENAc>WfmVwX1^~ zea<;Loqgn;8WR~7i&T-mT@1)!NS_(j`3Y z)2f-c2H7#j1$$m&>mx`$8MeyXt3)|2mGIWlO10Ji3n38i%*VB{l8^#mH}9e@~V-9Vvpd3`gEPU~|EsS5bR@86BZ$Zog!dl}(q zCeSIa!v9ZrUOsPDZ!%HSK=F4&QP{orC@XZ_F#scacGw3dnw2Qg4JNmA%a!Se| z7Z;yfLw6J}=KI%Pl=j;vqE@!bSqEh)dN%$#mn?C{ba&pu5&IZ>eF^uAkN7ZB<0-@p z@%$7GKl{`ajq~=VYCh-e`DWse+|IjzR1kTPCT2C3Ojcdz6`1`y@lH?dlxO_*MWubm z6y}EocOAPQC#GudZ-?pHZ}gA+rN~~PGts8FEtH$qB8EEQqw-F?N#J^L5 zw|A|Id(Lp>Ddh19a_`)GkNZ{U?Ctv>)wJ&it~s6);X_Id%yu|q)pP$+yol`sR4^ag(c& z(5bS(A^a}=o1Xu)s9U;IJ?w%t>Xys0v?yeHYgsL8-rAb+a7NcMdTqqj2a9ik`m7eK z%X!#s!~M|s#nn#gE2zbPE^>JDDtj3Ei(5qxttOOPGbpZ5z|wg7UN)QLx`7@Z-ZW{t zF);T&P!3HP zbq=@)78LK=?352fk_TG#{z*Cep#Mzwci;}!E3-v+`n2djGbFl(&I*gfZ{FmNBW&MC zQ}`>03iB`)%{^(H(%qhzcry{@6Iaz@w=Vh#x$TtwrFz0ho{E$w%H(VAllU2>awOPn z-Q623ofW~(Ix{CzZ1IsDq$f3~G-r6gJN&*e&zG*9n;1p449PXYZ{xV9!U=J;m-1u< z&IZ(``)ql?<-uji($y$ZF@>^2ZkPn=k<-PBHY&{7(cdi<@5V(t2tpJ$LV?KJVpBOA zcgdCG1F_9T?N$e4s}uAPYK|*nbKVikLh}Tx@GvhRfGC_%Q2r?`(pGUmD25L)fmO#B_3G-_DeM7rbQ`o05lZget^e*=F#GA_$%dGyHRHgD+NO`_n%CIJe&|$P}y5 z;S_s8LYU!*^D~#J38G9b=$pwZ=Wa*+;u`acKZ;V&;0yd~NBE<6c6$M$&k0{3`^va! zQRUG%M&r$xmsFk4zjwOvpG&&9A1mI$G!3>r)9dm!#rSfaj^tbZ;hg#MhS106z`kxEtAp`nuTv0JxUJNI;xm?P;$W^unvF(-m^ZOK?+>MW|9!QPuPK(_SgP%;#Kc%?vg7->q zG;B9S3a$NDE@><95t{^vY^HyP8;N^It<{EOP)xYyFWzFVJ5D8)16|gYx?&RAZ^qvy zN;~|7tSdu3F|l9qYAiHaLjO^tG2o^PR~?rBmkGbY zXlG|sUoq11LOb)oy3y6{81F|X-^t|VX>3#R;H$I7-4o$07n~R1y%r+eLDU_6A==^9 z6hn}En<|P?;9o+9-}I|RpL9bK2uy`RM7M*g-Qq#6#e;q8FNYTo#$_mtAx_j~1Q0MN z6Xm2MYTyd^zTQOcO|?<{m3r=7vrUU_%wCkPu-z%D$j*y}Tn(yz&8K92GckL3Dsn8w zABwc|$ik4Wn?dbQxqLZZsXR8vQjhPyBjj3pe z549K<|3&G(j5GDG4@oI`EjEXWX;O;GiVg9-0v9u=QvCB z@z}p~?ENg)ehJL&^213FF6s@yz4cw&6Q#JfqzYdzPT*iIxiA>+trk*}HmA z#yA$7o$t?M{OR2+I6FhTG|j42(|cHJtt~9vRiZ+8+H*l1xeKukGb&Y0j-pTq5#>bg z8#7~%hOX$B{>xk|Qr~^xurD&vc;v3iXp*xGl5C9f3lx~Z<#JI13Nn~S-+7B={JFEPSau)F$?-J-4U5Bg9BzEut#BoC!us0UQ5;yxZ(mRmNehaK!DPw{ikP!m2%J0^x{? zF}vltM)|%^-0{DIJkgfEQBg*Q`_%HRD#T~t&kzX}Y0eI8KibRHsGS&oh4tlYh0Dje z=$VaIXwlNo%or|N~Iek*JlpKJ!}%#oJ>=KzegVo zD?jwn$ENVF?B`OvWPxTrcRs%G%7p$o zL!zW_%8H6{kX?HEQ6zD%ktM-WY(Q`y&D6llsZS%0JNEj%S3%8~9rkKRRzEKEILDv% z+1`AqcAqUK+|J;xztJV!hDxmF`#8sxtWY24xosNFLbI)B@1bMcrLOmCCVC&D?Azq~ z5ET|(#S|HRT;a8^;Lgg}-vFG=3kTqsn-`~jC z6tVL<6-Ed#Ivb<*=KZL#iIjp@mPtxtoF9tI=Tx4%XLa!1!1ue{72Zc!{*fu?zkO<_ z#e?C0@1Cg5n4h!BJy|&~|H()Tl~AjK8UJ)LqVc$^$4naQr=gnKM1k-6sWjyH54#`q zzL$4i-r@Rwr?LRGGfk;dMA2Q|>Spfc)U=Zwj_RUHPb`rN;+K2Zxnjfx0!|`*mc3&y zlnrU?x<0qBkLste{`fSWG`m!qK4fBGZf>ogjFohp2}$uSC`fYbFe5WFCo+?Ewu_{C z??0fNNy?n8wCmWLzFX%(Nz%?VMV<6CB`fnfqsr5APc7Ye$fCZbcHdh%wjt;RcQdm- z`QDvy+?%d^=80uMs#5kFoimb2?Hy?;O4jF6m7hK<(ouTy$SuB?UTJrCB57}F!DOXc z)>6iuI|X+q9WFK*=r3o5=eW-8*lvncef& zt~=t)Svt-01y0;;1%blJkt#0he>{gH=rVZXVf<{@FVgj28ACNeb@v$0o?h8qGpkRA zOnLpYZUle$@vf(@;kn_Z88`pM?y04d!@GVx(3V>HD;;+6u>u`PEZhoUKsEoc$mDwOkv>FfL^+$evNh<0pVw)gJ zLZv!(dhpEjT+wC4nfwu58&79w)via8>u$)=rC3GJ4~v8kxbi5`F1pp{xi51aG9LCU zdR&HIn23Day;Uf%IEAR}xHxfNkHnvf^<7GzRFcjdm)-hzm6gBd9j2V6CuAGN{*k}@ z@2uYq*VQPZ+v1;l%HzGfBb^?ve(tY3Q+Y(~%r-4&kM$R+xBa+B=9N+F?R?ZK?t@1j z97SuL@b&kQKGeZq!>S%DX355w`TZI*axe|)U-enL9%f~8WjkGok;oqH|NeeCA8NpA z^lDyNS+Bmt#!LNsx8t|5s}$H7)99E+MpnT}|vWEJ#YZZ&gsU%F}vWEhl`noyf9NseQKY^tOU# zv}Kmj_cYabvwU-5w1&p`RZ3$`3ugx6m&lTx5qRs3vcl{-sYsudV+(2vTG@XDd1F7a z$?FgQ7S!*#AA=zHEz9sVH6^fnn?`MI98@=B2T>j41rhoZBQo7JyQcnbqxAW<6qGl= zQ`#(BmTc@u-0OK~(1P*rX<3N8OsA6n_Vd-9&#$&zzS(hAIZF8V+Q0g~a)ac51!^X< zymGSV`YS&zwn!EP)?TBo%WhXxMnB}&#S%@h-adQuFdN2buC6Ba+7FsdD@jRc_A+DZ zi{nW&HNH-U#3&VomZ|@qY|Ub$CXxc1AeQ6&>5UWrx(eC9JIdEEtc*qo{{bWp{>{B9HDh4R>Wyt^-FV4n--t1(w=VEUuM2<521dGX4cFJ&H9Nc*ME!Is5gW0Ej?!YYa;~sGZvLdLpEX;o;wq1R!<1Q5!>^a%>lQ}v zD-(G3^P87`>*A*v5Q9pqHdsf=ghu}R66G1aP@Ou|McNo)U{~u!hul+l58c{$NDA8t z`QzU%cGEssGpZTbo5QI!mJ3fJM4U3&ZU_=nTa9M(=K6N0w=DXYZnGcvjKZtrIM&Bt01E8Emd z@Uzle{V&z=>)pO>)NIzxg*fOp1Ha;r-WX_hji%b|*?Ovg`hs5xrm;)Z1E1VlKx41H zS^E^Y1KOx}gyz*r%x`CF=0DDm8X3z@(5J$j+pOW;&|<;s@6@O*T0(Tw9#h7T8WMYM z^J>%jqF?$Dqi^XeK9H^yMZ=P&e);7@w0-%N;~L3o-pw%aVCIZOu_HWLznn;0U4c<^ zlBl^$rNb4>4?X=&%Xjf?k}&@FEQwu;_pDnL#cqA>DTfvVQ?3XsLP+O>T-;Is06t** z?C;5>xHU5uf(Yns(gaHI*5jA11O*(w=zTqC-}!)`^Vj!Zy>b5f1#jQ;I_ClcUi70d z-~U1DkZ*cd{A{Di85N8Bk00;WGC1%);H~7b`?ICC7v7%VF{t^OG7@o)?U^*UxeOP< zCKMWawUBX(RL+=m>%X<~;=;OAOd<}`J9aHR8FxahhjdO1Vt67JFu5fvxcd_~3{Mmk z-87sYs*c!)r?n0KXlu?G`O^I9(_j`mZBOIfr;?4&B^zTCjT;N9vi9g&Tk9;-^o^v& z`CO!oS~vgIoP<&=VsPhc39+fThAA9IkDC6S(HtC3zpFS^WoPYZm1BZj%$es4@2Q%2 zYo)jl{3%{l%-#>rUf!Yw`gw}zmGO>84&8VMh36%5^+gzKs3S$$)ZKP>bJ_TXY}O{v zatphhNvqTi81OiIyYCtjcH4C+baw+?w{`r&50>vIaAPcTKH(_GHFj z8+3k%^aQCYk4N_S`MN;!J(-(1Uk}Y&VNqr#C%AdXg;~#1D`mt?p$W^9(dAV(X>(V_ z?x&8}p6hry^r+cZiIWiNu<6Xw$lJJvry73|pA09vM>N=C&#&ziP<#E$b>1LO`)KSf z{Kdxb`}OyaJ0+T&?~{!RnNl(7Oi2GD&Up8)(`2XLUnzXxsh^Si?Y}C#c%@_=aO+rQ z?^oxlX%!FcZ?~pwa%Fm4f6rlQerK^onqJuK&Rk8mj}1_h=MVMgr*j|w)7&a!&IC_< z$^UlW^~44KTK{W#yGktODpsD_-jhv|2vw~lBU2_#gK}c3XGOyMQd+(`QFP3%Goswj{ki3`}xuB`D@j_$2DyT z`yuCWz8^1>3y03kql^Ev)+b-Qll4tb`7!O*9Hz!`<@WR4Pqyp7e9o+E-J%}Pb8l_r z|Ni0QO5r8t-JZSADizNCu8oculji;8;m*?AGT2O@-8T8qT_q&{dbRScpw6vt{!u^s zeG*Q0KNvQ1LAIQdvp%Y`by3=BE?P@0;rinlndjzI_};{a|Eg!V^GfL(?%#ONmOa__ zAWPlC<(`?R%-pU+MW23MTWC^ge4hUF&kLhyhk>Rkbzi@UlG`7%^6x%gud&Wwk`{99 zec+!zZ=6|a`QvNb>vTIKp3k{PycAV5Wa$_U<#a%s)lkVYL@nEd%-PVd%`K8LsgnOC zk8t$|VaXDuf>p^48B5mH=InCr+MIfw8{=M~k)%V5ahGqz-@6&`Y)(dam3lDF?nMjz z9Bo7Qo{$)0RiboRFo5sM6@ld0xjS=wo`Vl8%^#R&HQl@(r^KRU^5qwvu^G%n9@rPUQ&3>F56bT$L-)3RasP&F? z>f9+JzQ1ZCuHO+o|0Em>@zUykI!=~dl~#7in$wx@RDNJx>zU6qI-+H>d6E@uwIx$` zhkD~!%3+VEFJC^9Z;CvBKk^qw)9uWT@e3#D!mH|)^7@yH`vg?-lD!Y~qfwtep*nea zDYN-(biEkZ=#6U_0J6J~JlD$ZbbYw)r>a(M@A#}GVF_ZKkC(+-Y@JsPh_3}GE*^c6 z&n`Ac_I|!wTO?uYcBtPz?98Q4e0neAZ=JrlZ&81Hd6408&t|(q)enTk*yOZ3sdpW5 z`wrP2IAY_F>J)!44d?h$m0TNdcXJUb&$CTs=MH{lfqJpshUI+1PcbG|Xc=sYMvJtv z2x8}Db8d5i&rGM3SX|Q7G+$V50c(rFKN)#%+OMNWB)^595=_+1ZoILErMFQ~ORTDg z&SHKO&z|3H5SnCNi`H7Hy5`It8O_;L?J2j&p)$F)0xsTPzV$3UIC^&8vKM-8IF4o5 zDMJ?Q!3M}b8lRI*U5pIa0QsPmiRTN8es8|w_t#zuC+awMi_A2$NBBJ*o$Z32adlAF z_@l@qXo$r)jaZqQ$|h|Kx(P2-Z>kolP1Dp4Q#2!zwY>SfG1?ltvAm4zp*pZE#__44 zH*@g6m#D$^ppR6Q4^2I(ipZfVDSSX2JxXQIbnGREep?nI?{#pvdSsS_s;H#C*WR_X zKBym-mKwz#{AgVdq*v$1NafEP(=5?uvxAjYQv*}JzR(raEQw)Fq7LeR!?&AL#lKZ$ zvOoNeRK{bgrWmF<{e!Z8!JB?_Q_E}%Dk*r&q7aWixqhzYsRUo($x)hvZPWgk1tA`0 zt|O}o=a){d>StF`{HC5YMn`i`(hdhj@4haMgtCL*WBe2*=B?Oit5j1cn1!F)q=rB# z%h;(+>K>?zYmycLHU6HrWKXf!k2{#Tlu(qyC-@d@t~c3>L^EvS?q$XRb9p(KE~YVn zr<%E{JYMb?v>$y|)j!!&W@f>lSw6HN^$*5wDNO_fd>}FGx2RE6kB4UHiP-^W^;8FY zP!2yIw?!Seew$Q3Js;WQY4Oy;_BS@+uHwY3vVpzde7um=l8dU`w_zV0hS!fHFw#@B9|K>@%r+tDn^)l0#!)JEq6F^Bf)9*az8z>bz_o8#a=V zYI!7`9U7OjwXwwLc7P&;;ff4CO2xK64w7P{@h-*dH;tzhTE`Hxp#uGYjoZqpppNp$l0|4=0_@!|vMicD`7K zly|xJYyHVEjq;sR#p|f=p2rP#dukorY0R!3IC5o@kE?IyB;G{%)7wEoo+YPS(Z^2i zloIXc+7oSX-CCH`bT;Zz*Gltr{HTkY^q~tAzhg{7$0Z6If1BGY`6hl7R9ty4Q`$)L z?hkvraBS*9O*eG?W&If$>08j*gj9o{Ixz_q?4*vvMz1qB_qX1}W?M!$D7;^Ac^GAB zu7)IepPVZTFc9^=)8qKo)pX5{rE2CQY;fjvjB86$`m5GBkHzPS?zdFS7cK?l9qgET z>~+;J^IP%dah?xx+d=|HgcR1$UGu}K1}=&P8>ijYLQ9othgB82jM+Xu?sD@%o@bWB zCR=W6&V+0=JnC0*BFU)a`=f#wuY~oAJEim^K3wv}9+b>CmhR8XBifJD%R6e9cy9(T zwq2n1uPzNHQE9aXJ&n>LTU(AdvVUF~+J7l-2_fw0A0PZ(DYm(D^@L-1|JC=a5q%`Z zE0&A1#zU_*vvj4>zUw%LXG|NrlHWf5@Boi+XcLaimYaVU-*dlug`dAV^qIvDrGw}l zan+f-DIa>bE?YKL9{K71_S<>#aza|`&ise`xf0jbJzlKcqrUs`_FqE9me=F?k7xad zW-dK_c^-cM$Wf(4S@~1FwY7fX)2HjSx#1Fp;F~(B{#U;1PfhjPJJ{H4UiNp*?P!~{ z2)%B5RNpevv9##o&B5WV^RrXb$B#Rb+uH6P($p0GIXD>cRY!;FxyM-kgNw@^CuQ{UgFCi296x`)I#f(t zehl#l?t@g8KX1}5g4NtKH0=%H;1x()bCL<}7oBN&F{{1g2`}!6o ze*Fq`_w#uhJ^aPzGoEQsKfOF9S1T(UAF1nkQq0SHOwY4H!&X{s;WCR6_CxZWf01zkEXf1Ei(UuhcZ4f?KOwWYWDqtrbV4s~%L zO*^vlbJNK9=mK-ko{;YQ>GO#F`zUwauKas08Wk0qfo^z}C4E&cJbd|eftq>wmoI4t z)C#g}A~rW3m6iQ{zq*QbYi$d(uD|B1z27CIqLu7r{jPATy<=n~qSW92nS4Tmp;l7T zx%A0NSI^?t!oT?VXC#smt?!;VF?(ixIf+k6T6(#ahShUF9z1;f*s+)$yGwsxh-RO7 z_29>Y{U?9yC!`!w+Y8IgjYyVjVt={+{M|d6fwQx@u0MXHMVvTkES;WG`$=E#^cP9- zMe4KcW6FV7#En)M7Q8n@OW^C#>st@lst&zv=sFd6!B~?u?r@Qa7` zy={19DOvu>Q^}M+)5K5-=|-#Z>C*`kl9KM`M(48f%SOtNIqNMBf6Qa0W{-UQv1WXd zIDkv=w$2XuA*Ro#2I`%TW%`o)TdhAjuz zrziVamdD%6J=1@?yB{y>>(jR+-CBO=;6CicDk|!T&&bG=WXxluZv1;P6qlUrsNEe zGdCYf%Y@CrefwsQAN!J3UJy)QUz{+xYVfwi4B+?xQ3$jGunuraz*zuH1Mma@dEg9h zLINp3RsvqzKo~#JK!S1vkOLSYfZ+iT0O1H2MS=<;Fn|OdfUF970hmPqDgvm1Tse@- z3q}xN4G>fSMiAs8;aw8+L4`1ILx2hdfg6mffLvj)j|+qW@@_zu2YNhU06`D}1Tjzq zKo9`pU{soOtO_K!32-KW$P1hi;58s<0kR-i0AL!YV1NgF13(arYJpKM;Kl`% z0nh~mB`~T32rO1G7x)d}(*nH+@CJZYKn?+;C=etGWVrw@f^Z9r@`4~yFv<-s0AK)e zrGYFjxB;Il12|ED;|5+x5Ch2OAQx~Ba~zPjfgmI>LV^rHb_KcHfHN<=Z^AW@%MXIM zfHnd|1A+v=0HBBf@BrZ-g}?#=WCGkyu)qVvP+$c?I1Dg+z!?cf00;&^1`zqc3ofu9 z;Lu=H6bt}(Cpd8+CIljRfhiy$08RodAVD-2FaiV%fI)z11o#8MZlEW?$%F_X8*zqe ziU9rqrvr$h;2akW%{VE}fhb&{20_>bF!G#mZXgK!AXgFIFQ@=u8_1OfVMw42z(WKl zUy2}z7q|g999~@DA_}|%U?&(A2Sg;$1AqhwIe_d7Fj62)08kJh2M}z*s0C+?aEN3O z1Z_YT0_$901qrTkwvu^4B;XX81jrQvVn|?(1Pla$4`4(=5jT)U5W)aKnUmZj2;c z!Jp;i0Klcg18M<55_rjS>URi1paPs2=;i0sHVTlh031I!jRGS`5XVW5vk-Uzz#t$9 zf?hsw0s$8`4hhHt;5GnX09l!ny;>xo17OIR6kLMqB7hHYUStk>MSvaxP6zos7&YTe zyMY^yF5xb~0kEI|P9x!@5*UD>00>-wn+ps9umj+DI0;JxICBsr2#5eQA;5V6k4=w< zQ!*-?nfIaq1`BBcU!F?py3kX)A7cP1(Fb>GV04L4KOE@5S054&n!3{(Z;1<9M zb3$#401ljjA_#CY@&v$l=!W}<&IQf_+%|yW0mz>6Dr0eH@Y zT0wR%M2>>j>32M~HZvgUPkShXiBY`S{unEX}I4e{I0^CQy-Q^|2>0P)RygALd4uB=^ z|JOu}G|97~%ov5QKAp0OypOQ_b)qrN;R+9J|JbJ#WV@w`I@UvU6)Dl`|DMxfE2Q1~tE#(L-;T4xi3QL|!OEmNnUVI6Hk0(qg zA?T1a1uss4a){6*5!y?H28qxd5pp3yO+=^$K86kZsVzGb$DV>`X}Zbc0z}Aw2puOv z9z-aM2*nX0eIoRp2MCcz8Vql;_6=)d)`Kv&mFc8g_oo>r^wPDxW zvOQy2=}D}PIM%5|RyiEyI97Qa>tPZL;%4fKFm(YF3#XKyiREUZd6@IuOe~U_j%0cY zFmsU1awHQ{T7rb>&^9_=ln(h(peq#o4hmkCf`@+&p+E{msGSJ;5TOksB&q^=;@F`! zY(E^EYRC4BW8p=Zfe2>0DAS3LiA69Wz9k6Gm<$CfBtnmfPy`YBMufVF&>9h%$3Xuu z&?glrQw4(SvdV@H5m@lpr(#)t@vQkImM($S5zCT+x5Tg>#*X4FcPzfBvin$S)*QWg=b_)*kJS+YXk}J$&bJ~rQT)M?{ZM;5 zrC^PT3ECS}Z!C%#V>ZFW~PStEa_qKXFoOO57U4~KNP zb?uwn)lCMK2~zU^fb}m z;qilYwgSpdX4NGplp8 zYV6x>SlEXJeE1O{ml&+Q@9DmJ;c2=uO{!PjaHmv!|qKhQgOMNA?@? z7uEbd97eZnJ>J`Lz4Fb(;kVp<=V=X0se^?_@1$D~zsWW|QllHFOL}9=|0C=%_UZIF z_b~In9nQbv8uyxGT@4w3I)wc)%I{t>jZ@r_-o$^7r2G5+1&NEDx7u}|UHUp*?4cDd zwPF@Jekt&d^GN6y;guH(Z#&f@*uzh_>DTHb=PuKH==}%2HAxlE9Kt%Ho&J?PI#w-O zczOI)Nz>KRN$BSdaitw+2k4lt)v+<2Gb0AB@-6FqY*#`1aN9K6{e2!HuJ(5?jNYP+ zkXFv!u{RipKhFJfmP6sf_SLTBnq#le9e~!a40k7ed8iw;8a|-&Gq6~H(GBM2!@PNB)n^aCBVU!1US@-1_Tif$UF0Jm>i~ESo{RRJ0v&-Kqweh z2SGBRf*V+K0ee6Y;`k6es!ag&!6+XX;s);l;XKHd;n>)Fq{Dg!6X1qnL~~+dYJ;U zF(>vgu>Jr9c(}r#3kfqPj9Fw1Sb%Al7jSc2DHnDn9&jB&kN^ZJP>bNWDEtJP!-_=+ z7|+S3oC7%{z;{4^UoXO;O;H34h-5KP%LDijU^~DWfl*<&EPyJ2%@QXI4;XAm5Pksy z`~(k-hTtw|ib4D!Oo&6d{Qz9$xDK511whc?5H*~#6a>%&WY`mtpcYOB5?trZ$4i*w zW3K?&ic`WculI61fDG>q1)B!J8{`UdrvDbeB?H4cOrY`zU;@09Ko|nB5FGG^ZCnA= z3UlNE*5v<$)}Dj7FuuZtoeLWW4@W0YAvlf!IDiS)mogy3wg_V;63lT@3?H;Y6n;Gn z+&FFE3_A)J=mrE)PH5v105%sZP7A*INESr;{Y6iAU+O5F995EohV?BfVGAEAL+wg1smnkGW1`3=ePjO z%bJ`T7ea7+MigLVIIa#)+m&MzaO1ZkKH!D20*)a!M}}Z`k_BG89A&fN=+7t@SVs_C0a=REAh4#w z^{2(rWZ05w5rjfOfXxmC&cVwGAmBLt9R|BUfX{`%(mE;#f|NKaUW|aFmMhC~K?wkd zd{mWlS_STv2Y~Dd$daH|h@+Fb2%ye6oidF8zY&B}09If)9hUG(04{hvApa+oMQ|%} zfkr?M1sHyg{Td+%?qF1b(^YUGPjeOuG5AUc1Z;4y^k9TI6$V$0Fz6NK?Dzm6z$*y~ zxFO-v1+X_uf=BRH&iM)0&K9IOZBmDTjh!sVF)+A;VdIwOO#UK*v!cPLT*Nu+<7Ys) z#5tqEhXA`c&W3}VkJTT`V#KiuVJi?|>LNJ)0r4(DJO9IIR}L=2N`V)qKqvphXc&(5 zDfn#^yaNR<`5#r|D3C0L!RiJ(q z$U+5*Qh|1>KzJM2lgQphv@OzbjXkbxe_6V|C9mt2xFLCRUjq?Lff%L zaqML~wxJEXz?LHpj<)P68+M=#yTp#|YRC4qWixEp_*fPRb_afDI)a%a%)}#>Jb9OB zQcEO}B}kqQ1ydkTB6OJuU4wxd1NEsu-71hK1|r$89dYbmw(N&EwyzDFYQv8B545qd zESh69TLrp?fp}D)ODd2O21-|f_*I~n7{~zwT~mQz$s@rSoyf5OCjv`1iB%ZO5+$%| z2rQF$R$(Fw5@yo)n7aH-*sNgVf_)|jo~{I)1kYHX4(+1jx6vVGItkVoB%LHq$4k-i zGIab7I(`ow()-VC`002)I$nd0$I>AS3Urf#m;cYo)`^fZ5pp9!JVdCK2pu3oOd>Qx zgu;nX3K8-qLRbt`0A~RM1*<^87|0O=y;Olds6cyEpnob*2nGsOfnY^lwq>Ji*o8Li zUp8zDJ2nFr4IEn%4ul;?bwcgf7B*~MJ2uLWO|@mq*s={_b+cjj!%2iSBAzuxV95|T zq8S*+l1XHRCa~bZ<-i-^@DW%K6IhHSmU1s>21|Znu|)rAeh>6?yq{zU#;3-qEg7BQke> z+5LQD_t|}y0)9Wqc_w0DesJhKY4|T~V65%NhU?cZU)(DPk9mEX>G`#SpzJz!SD@r` zIjPSgrHZFSn>G-|Gl1PL%x%k(c*w4BnkT ztb6r@W-aZr`xBQ?VtCini#k_7FnDVNSM7H^S~E^ko)5?&pl_*DExaj~K>xGnQjbElcPO zd2pGh4B>F;6$#)gMaz+P!N{buJJ)TF=A(d8=@Rvgk`<|$ZT3oux8z-#|M9a8&xccI6_!Q8kwM)Y-c)i6Zyt>%*V`Z08 zV!pkhe*S2H^L3XS3eM^4wsmWx_U|&IKfF8$mIoIVlw1X=OH;d;f7R(w`~6WMUN0qJ z?msSbd#)?`Caak3(V&`Hht_kqr+TxbA9L2x(F``Y(LXPWQlg9&HpJYxRwJB#$|{Vb z=F{@SiNDr{H7AK>Pg(D^p6O|?M~jHU(2(k_(mC=yv~(_T%6pCR#qH)RYIo z*C*oYoD}t5;?ax$e9+oKPd&o*{Pg+kBzBQ(>4%8VkAmmyDCL#EpnA3LW%_QX%B7I` z$f>M%8X^c|e>GSK8b2eVr!&gCu;$k@WfveXE$-c8apFziy80|7TvrS8$i-_d@2#*4 zjrvzh!=V}x^szPmPsz`)@XUNie_q~N`~5I|lpX0S<;0O_+IaEDr)M^26kiU-Xl-s<_B4Y9b3b4*fanvQ_v$P1f;R7g zY<`0i|ERGfb?JEzyZCr7pR@yJqYjeEV8o|4EW(<@W)_QkIs%vOSl-mdXCS_7a=XQ* z<6)1bRO6N3U&H*q4>EAs8V6d?Vfo+L6A$616_LD=WRNP(+vB=XnNOZ#aOn?i62+4wyWD|gddI1 zt6d965Uj;m-4>1(Q;f8c51=`IMdR`@fS8Nr(gP=xxa?nZUQM#y zYR(<1(|IxdOZQu=)qR^KwF@C0DEXBc1+1eXmuxF0s^r%h%nf>HLipEpT(+GtwKFKQ zbd`RNG??6}n5ELY`|RH5V2OSwo>7#Z<(l4sTw|$#N}N28V%4m2p>G{N;)z_pP0_Up z%q*N&08K#8Ub;>0Y z&^SH5g|4|3YD3$Ga%C%#JCk1%J5PXwFu|NW+WxA* zG&8o}l1dl%I|=)caL>KiU2~JwhkAS7qsG7Zngqx);1=`fB)J#>d;GpWWocv=8~nUJWQ1*ZFo#0)$II10UcXoKOdBu4RlaN zVw<-%*3WllS*Y#g*B-3#wI}liF_zzN4T@0z@xAs6b<`{wEx*@-1Y7RnX-Ql44+}fx z_Xz2)r&SW{Kd}vWN92=UOz!bjQMhNnqK-`$ef+a@Adjpnp(Sm}i6rk@TWy=1s1{`{ z``xu~)@ZkiJnVUHuCNJ{_0t9MIvL{}ZpM#xaV(nd#2Z}l*D#3lu?yDul5fkZY)%on z_~vHxpt)G^p9v=XNIx+LmHt^=JoAwEG!KQpE47vWT+~y2Qx;fvt)z&6DXdn^>Y%h@ zy)4r-R_^-cBky}?xOEXF8WB0KtxRPVvzUU>j6X=2TysermVeai=tny~j=A>9!9hI7 z{K5VDhKCsLVZj^AOo}qiYcXji2P_RzPnWPdiRMrJ&6RFWr->-E(M3P~{PkVKpVIop z&xfm;6g~6ru*S78!wKS*G2X5R$4E{N5#5hZ^Ccqw;A@37I6d{=lwCuLKEL?GM9|nl z6sv7Iua`?u<9lgcuHP?}pS@Tctd%ysxO#NTa7<+sw9={@FO#W%5jB`n{nUS=X6|~> zErLt>Pa5_f3WW!zMbE1r<>pibbym?d=36zV=?iG!*qTY#Z8q(l${fX1(KYqod-7_= zN4`O-B>86BXvJ(}jAiocKwavN7a2}GC^y(|gttC$ZuvseEML7LkL4g4ffH=@YlTpA z-k;CUzj3(1UlSGm<)LA3zfvAAg%;VhhWo_kVY>hKZG^li3~r}}SbRmz>cNPpf6dgWWU=6l;E_q$B~TXe-8MKo8F1B{ky z^OSCJ8qIck@v;kROuQRt1)KP6=9Sa#sIJz>&)$c6#dnRm2e}7&pvJ@%@2Bo5tB*Tc z#1e$O{vGVg7t%3nk1q zSaH}(Va%^9eCvBr9V=4)Y2ypJ$WbcndcX7p($8WaP9;lT>^C+`Ex)IX(IODDI`sK+ zH=K>|M<9yI#lh1V6Z?I?UzdJoy5B|1{t%mJ5`SMZ)?X#2L&-+qnH^1E0SBS+*?;1ZPo>3;l$8Q+T?8Aj|H+jk^$ z78`{H`Z4AYIU?kO#*fOi?JG5mntTb0=&+C5=Dw|wT{SN%oz8Nl)^e;o1>Gt%2ge6#>DOx;3Bryrj&B{i8k_H}s?5TFIkph4vAk9-Ml! z`&m{J&SnUk;m~g^dC9-VI4-SvVP#2YwKaZ&mf6hz5_@-briKhczLTD@1&{y2z_EsC zPU8;*4-Ki$C1y%uwN+cK&xEQ^Pam9^QSg{qVNjl&kl=mBrov`GA;&$Vz` z2pyr$SOI#wO@iAUc^SvG?{=~5% zN8^(`F=}w4{E|9DZ*?#|D&FNvY1)MS%d-Y#?AM%>S?@;S1*xIUV|tYE?A*+PxN z@e2I7IL#z+kzMTVm>t8FCjW2Y0=SSh;jO-Z`Td!^-T@A z&uhqJ#qo{J`{?FPFCvzkXYg`AmaCoC>CL^d6Z$1wLcYw#q>owBQJfst(xFEkXnl{u z;*zObSEv(eBUZhKu3+=>wsZtfXM+)o#By&HWk40Pgk#K_Wjp;*j!jDdyI2Z_;8)y8 zozBAc;f!U$14?wmJ7hH6Pf=`jyxm^yc?=2&l(5E)I)4$l9(AEz*?#tim*I@wlBzxG zsh|9nD&ONQqE~BKdvp(nS0_`JTsXaQ zW>-#%f%OqJH{njR#h;N|*82j@{dR;TESdgf-#a!hqvt-SL=>@-;xiZvST4KZnjW9j zsQke8y8O5fKPK-!u>hXct82qV*S=H^d>#sKd51TN!oPPK>Ee*_d+~wO)=N6RzOEkf zkg=wF^;mDdXDD>(5x$CQ2^UBC%-34lEl^*M$?p06cXrlA!5LrYO21I`%)FZVV(Wk zn0t#qZ(h2vH?Gk*a*jK7us~-T?{PQoHwp?f6tp-jkKL>3W2Sofp5uB`WA(=C3}I7l zQCgU-Wos=t)%}&L-#zM?W;hf{o5$De_zt~ii{F2`ziqTMvE`ohqa85jwu$ zFbdm;h|l{9aRsRy_c#)p`BaMPZQ|{mY%4~74ZPyR@EfPT&oa8IWlA;6ti9_nb!3nJ zg$(T)gTmw9+dr%5IIO+okH3BK5)YEy?dD2QYtgR^>K|9f$rR;Q|sWnu(-){{U9k0{xgR2wwxDCN8VlScGQ-AyF9fJWHh1b6n{K*8!4>k_5 zzYy=tA*e9=5jBPnzcW^Gb_H6BU1i>V<9%Fj=RcP@+fCoTPNuB#DWGZRiws$)m~wsz zY1ieb+0(H?RTNxhv%>cm(T^@AvHV`^m5nKvQ9rDF!hAwq6NCDyKo%WWm$J(`wq|Zy z%Y}tJCvkWgvk5mT=SATM@mBj2FEz`(txcJL;=6jOcq>tf<;3BJOOqwDIAMAZCWiA) zIMjJ&Y%CFteW(~u-h6tnXwyx5x zPRUBN_X-_&h3i|j3nFjASY5BqaD6XBQE^SB^y68z8Yvy^CQ|7{323-meZ0krKer;6 z5Yn83UMXs8NmjX|Ic1}?*(CD$$tZ>sNnG&8iKut@;o#ofw@%-~_VFW2{;`Oi$`M(P zKwd*ITr%WYhKqNo z^+RuDcx?J3v#j2Q&(HdF^$DG3CMW7ELM+mlaSa-8?mc@F&NgMC>ys9M`m=@9<1WVV zJqN2YwWkVM>*Y3)RvV4QLwti=%}Zdvq?TjH ze5R~Wt?KlUhy$mo&8#zOJLR#jvxNpp46z6ABo|egOZn46^5GoG8Y(hhqNi_DGP$l7 z_urmQyRA5&NHVhdBTT1lRQ=ENmb0=W`69_9oc0_V%boy2DZH@4NJL zmu>Z%IC+^T(B}laQXKtlUXLQsTwpAav$QFv&gepFOwCQ@vb%NKPpK}$63sWPE_hsJ zEAxbe3B$8C%h>4~;m=^kcsKHUYMxG|O9r7DI0|7j%F;gXPLAA9D?A!dnWFXFwhK8+ zuA8B-<8bZmh)Idi<>N)(D8AJ=H)P|AEiq1{g^`#)Y)JKXh<4X&de_<4J1iJyt+-G6^S`;*&v93@fKViq^JI$L_C*yl{k?*n zM3(Mv4Ya3sxfOKX>M_$cURqE5p;7s;dKnAlO7&;{kEADz^T9a!;VO3s+;si!jO3rX zn_gGcF2x>GavYpnSbH6NusiAShTB#-OZAbz(C<0y(Zq83yC}8BE6Z=Rbp_3F(i&EN zXN=a;gEZg!sBAitDhb2)vHXEY?;Sveo)hDCUOQZa%f?zRnzC42IuIo?)> z_7WoHVCFVwETlF-0#RbuLE)bKg<1M`p77^jE0df-R`AMWZ+$Aj`v@$hBRvHibR}5&Ni^rM&2oJ;AQMl zc7DSWmQYY&JzA$dcj!Fld2G92DO_-&iR;Rf1*(jBeAfV#BVX)}#s-q^CqoNUr3m+p_>eahzKvmW^~AG1mEAs-X%_G2b8Vb+Mn*=Hp}LYr-Vq{XgW zqSFsq?3BM3EJUD^ZPBdVxhnQMEYE#6XG>dI#MP20kv_)GT@h>Wpi=V>=WQn8J&`b{ zL)FHw*}jE5qz?Jd(Yj1d@LP+phL89@G2nb$ACK^?|7|9u5v$Nia@{Sa7lSKw=!3HC zGxVRYVsSbi&#m}A6nfc$fsmEcBFC}M?bsst=7NX_a;Imn-zzA1Z7bN|W@I#oIMyyR zm@4VQWh4x~^gfmjyT@gKwD@Yv4q7gKl4y`S_b1>fqZJbcqE>2B93 zeG4^KT}|M-)zp2lk=r^pwCmV7O*stwT2*(A9MU8Cg06LA@vo&ma1CS)`#C5hg!O|@ z-cPpK6wiSjCp_+Z{LU_a0XD{#Ut-@$lY3Ih}hozk5=Cvb9R}wG2%QzGn zzR6Q`z(Tlmw3W>i_x!gMo=fHWy<|Q$CnLk<0I^HSz8ux4e%*l>i z9WZPTN#EAN(Dg5^eh=kk@1w(b_Ofv&y8ANP$e%flH5+<*r+;2If!|Jy|Y{S zGOa;XqG-zGhA<7rtnT;8^bOT}14}CkJIulhC3UeM>wE4DXX@~Est9aVi0NdrKfvG+ zSFWZp%B_1r9m?0^_KiYjBGh(=OX#$L$0k9qt;g9vhVx?QtD+2S^D(*+cKW$mHdHbW zD>X#R!R4T+4Nc;%_uR&Fg6}sIMQ)B^g}vXcHA`OzlQ2!m+aMZu#W_p>6onw zekupqye(^aY)-9hNG?-`KMt;6K*uJ~tKZO-5Sf`X z*~};l{W!KKiFRTkbjOv9T@_8z70+?Rp|#NK?c}s1YR9^k;nsdqS~e>g2iN!2DLyfp zmmf6nJoN=X`uu3SR*>uAWE^GP)y{uwFiNJ6tLj>#xn~UKhix6vEZ+|PZB&xH4#8;0 z5A}0{OFXZm>M;+!ys)(y=RA7cqOxPwhz&Y|C!9U+#pIG(8m8|V9|$2vOiCJ_Y!bD6 z*a>J}O!s#GfL+r6Ba2*az$@kfC91tp+e`CfVzw#G0Qr3EWXw-1{!(jPjzR7rOX@5= zG0HYWog%X8bL^jSEt-1@RHVi~Ox4WBm{nR8zl)z8YQKtuk)P^|!nJu{nmoIOjP}=` z;R({P>Qc=ijWn*H8pAtxyin{@s2X_-B9%#H=E#P*4KZXGU-l=wY~Y#tpcsZh`&0Xh z6G!ql=Tirj$0}*mSS!EB`{Z1z-}#MEQ0iU7h<1KUO6_pRMzvYz0VfysqBzG=!g|S1 z@^_nq28YiwQ&shPZrPj!Ck0}B;%(6ucjvYHhJxLcK0rV=mytWZIUU-6%`WNsQ`cVv zT&jBRZW^9K;wBnQf*B^%f>O^WcUn*qSa0&7rnUR|B}<|wYM9m?9!L|s-E-egu;Fn2 zN+(sXNZWR$sA8b%57%Df6?7`w3Kw;$tax3N1jY*g{Qe%>s(0r1#4cTyYN_S-ZA=&2 z#3Va@rDfUjbl|nY?7o+d(zj~r0*m7p+qXRyUu*00^ccLX@+$fsdsgaEvn51D(^*NweAm;h6I0IAsiWr32XPt z+?=PHcy`nI!PBhBn~C`RWWSG2e|@YQS;|WcuoAA?kMN+n*ffhEVAje4@IOTqIji>bJ*Dul1v6o}qEqJ&b_bKXSaMD8vuQGq^5$!8q z_fjuEUP(na$soOOR{&qxaO`80+{$Ykf%)b3xx`p$DvEIze4zk0Ejg@b2i?BLmX7sB zRtz$QxPvHVpZn%e-_hu6X9fv)FaOHFXd+a2JTLD|K6w4`0prt)VuLTAeSK@ERDI{W z(R1D2tsvVMhc@aLs!7w8jA)!Ej#aBaJ!y7wnb$w^^tMtkd7PXu6lIP^K<}_?_ES6y zalvG>*z%p=w|Rg z1zV}Vo6V2fh+!%FcmIZ@n0GnFWp@oZar02&xiRwBv%*VkKD))8)jKsJ-L{`_N{J$x zd>Uvb_bIzEvD@xH&=E4_F;p2F#O!Ue;%;lKEyM4Xx)K|EUyf?XgYb?9YeRoEb81x+ zsTE7kb@iFyee*!kYdPJCo;jo`q2VtSXU*DuTJUPHMvJoCF=<~h`up&P2n?sOFuQEm z?^hq01#dQOJ0_OyJU?2;Jys<-DUov2{JnVbl?KZu>8A5TrcCxvi_b*vgT}IyE)yZ++-Sf>uC|8tf@6~WO=s#2=BCv&wNPwlZDBJ2!o@i18YVD zSihd>DUZIN85To9anY|GBX~$6U}dD?7x%1&Pf|1JqO;YFekQlX=N=QW-c5fP7>vB1 zSBLefU1jAM$J44wd$b+6VoChg`nJ!alM8|}o?nL8!*K**@eA(;+I70OCF4fsRxK;3 z`Lj!mk^OUD(?#aeKjd2J;s}NkiN-Fqf5w>OA=KB3;0nSScc8SZ+nl~wNJy<1=AF4a zL7_ZyRl|Klm5bT~U$3;=HY6BdnD9XC_ExI69F|YAh!jo;fyK3g8$RF7gYlvY=(xpH zh;vxn7pnR$VcukBAy5i-#|w%{HR!udk5Bv2COZgsWS>871HDn*sm4l+H5s32jyB-! zdrg$PtBb*z?_*MTq81t7u@5KlMap$suQA0bh(6$xP+RUfY^+s@nzJi*hsPK6<^HwF)7>wXrL7*}W$2akmR zaW5LTS-quoEs035oX4?EAYYo{FsXwLtz?>Dt-js=c0+S)zSP!*i8huz+yte#ydmcx zv3#U%r|7B@XOWSw4uz8d$HepKk8;P zf4vT7mX<^N>lv3kJ3^Mltthck+oRcOEtw8Z>z^*v1&u8^Xl9do zwY}fV`cu!P?J~9L`JgSuf_3rhHMY-K&5aE0)sOpVmnOQu`Hn1l_BpNkYxwTeIFq{+ z+OA{fCUs=C`dZ??!~au{o+M37r9@34eBl9Ah%Y+Rj>jl_0&}~JPtj+=+WJmX-1<~W zReYk9PqsAjm2%g*>IYj@IsL4UQaJo?FCTonTIAeiMsA>VBbq|N0lD{(`wqG1koyg} z*O2=RxyO+E3%R$D`wF?IkoyU_myr7ixrdPZ2f25U`v$pZkoyI>SCIPzxkr%u1GzVl z`vSQqkoy6-7m)h^xd)Kzk6e4?x+B*dx!%aNMy@k*jgjk%TwCP2BG(kTp2)RCt|M{{ zk?V(CJLI|{*9^H{$hAVQ6LO7^>w{by5Ammv zm~V12mGrf)hnllr_LBX)CN^4K^3&@H!R4#wQ3R>~8)eS{7sc`QT;Uq^==}~AJvfRK z^(Z0;*b5dEtY8HTr=X%Dme>*CvBd)4yxG0Go!#>fpFfw| zot=5}+Pryh+V)BK(SOU4LbpGvHI6uNGko*ltPWY}{|2T%nYliFU6;8H+9tX_?b<8m zZ2C^8^}*2{&Tqf)G)cXAT$>r(q~kw$f1SfX6fcO_&IL#p2od>o*p_rBS6>Vyz+YXw6y_WvNjBB5IOSijvYIW zdA)Vu*k|I(Rc}x5>HcC=!o)!JNqZBwcW&^P;eOr! zSvE+tIVK_VY>x>J$v=3Fdo^kM5@YJIm1BwzcKRvq`at9T0_~BpOH#ZOSM@s5rpvl3 z&18jjYUbZ7^{FjhP`An-CAAtjt4gjscf7UW@IMXDDAMZZ>;GI_b zD6Ywnod@psnX^}RSh}9d;aWIyI)V?d4lvuIxE*cu2Y` zGRylUT6S$nen?_z;F6x_S7^R`dbV=Pr%I8x?zs<)ck7+~?X-Vd`1+PM8$a);9ho)0 z^0x*>5v_i>hZ6R+?XY<1B;(nzHsif-<$B!vu%_Cxu-ME z?(4Xs?7>p?o85D3e|FkEI^bKM9bX%@zj7&b$m3S?yQhBIxxe9*%TwokX?*kTod;3F z&;63*@}zYEoFUbn)<#?V5k|O>f?sHFw(7P5q~Ae7^MRjNT=erj*e5adoBJO7IcM5G7cXr*vSyoSrSR}V z4~K)Lp#z^U(};g^JiqkMrvr>TuKl~gbKb*=7w$J-vwhcnmv5uujt{%BX5-}^%R9T< z6wVsyT5x_wp{sX5ckRX}<38^wd|$Wqsf#rheX-m8+l!?W6N;|*BwcGb+<#N3Lm=w3 zt-p33%Bi&Z{_eI5YIdvQzeoATZ(7&%b*t`WPE0;BctopqHgcr> zXLZT(I;~D>RM6~fX#H)C*18t8L@j*Wf?Cb5)7J6Ya5Beobj|My$wZphqp?T)h zw)fw&-@4tf4-V+wb?46i_WTuQ6J6G=&DawiL$|bA_Vbdp^Xl(a^pcOwd)9Ag5-0sZ^miwG^zTc z-({IIm>MH;#ywox(x%nIUA5$C>wL$^6FO|V zJL2z@;wih|y0@)$Gj@x;UD_L|#`jIxHYE0bZ@1~!0XyO|hK>$A5TLyMpUbpMAHvrT zE2tkiQ&j(brBQ$W8GHNY(OS`icAQ>)=imADvQySNNJ<Fn|`uXN*!9-3p%XQl3cH2QSWs!O#- zY}J)b61~0?d2D67J_pAJWONtLU7zE)^1`dQS>d-f7QYT26Q0*zw==-4U$#7GVEsFP zJGm{%uD<5H%j^T$FZ@fRB^SF&)=lkDup?%9zb3Ye7hiR~yYAfnapzyH4(XD$zQg*3 zd1Lf_^^a1B`ZGRk7f9$W*+n_`3m5Um9Z5*(* ziz{;Yp>pu#x*5;kr`sjG+vu0wuTJIZZ}Ov(hR>M%&)=P|-HNN!C$rYwVOaxSom>5O zY+_zy;e|0H<*OE_eez1b{`zT+IXAM`tw0Os+h=V@h7Cl^zl!4bUhlL~yMEu5 zyg3`Cg?)(eua{b7&Vc3tu89+VI^_3tR@2SXcFewV=UubaB%I;6vvGdxyp~L(ytoyrjtt<0Z48Bk|xOZZW#iiOkWBMm`GB*)(uFGOJSGlaK4T9BFWSoa3oiXa18rYNScO45^>! zkvE~^ix! z-k<-=xT0a}&kc&lSNpc;nE&L2f0Me_R}Cl&o3}pC7+dSxr*~Pmo!5N2^I}<(2R`%c zd*|J9N-sKDE2L-NxZk^1lRhoEeab%QpA}{3{B*~d9kwqWbH6Mp>ano+)&<*()0VF2 z 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

yV7+<%JTk)XB`dibj6bq{? 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⁢b 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¥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 X#NFa^S@ina&s1lLM<4#k#^;qOsQ{8hah(kZKaL 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 vU;po^jU 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

  • 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

    aR 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

    6O>XCP@aHI1N@e;I7`a7 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

    <0Oq<*IRM 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%0DJiBfaQD|5u#`vCO2F4A%$}X0GUe(dyT$Prq zJzGtQ5Y-v2#jhFS=-E!ap~QTE;|$}@s3k^u;=1E4HPKMn8I3YHDRHw3H$TKatEERz zJT8h<6$~LG2XZ8G%mz)#wAoI$B9zRJL_wl%^^opp-O-*F{C3Rgy5;j^ew)k!eIuq~ ztXRb|pAn`pc?1Tnw^q^PYU|)WUZ#%qh}(6TkyGdnnDjVL@07@|)aq5St(h?^N9Og# zB`v6V(txPqQj|SnUzJ;;dLs0g4=s$$(xmc}S+gI#L$CVP>zXoLUQH5*Sk{WX;MC~# zIot8F23`)tiGRlwaQw_M@{(P8dVn1gjZ{1gIrwwJ zn9KUn2qbhJdMei#;;{nixi4|Y8oKj|o-D2*8mltMG6l^+&loFAr?&@rq84;Q6ItlT zHe*B|g2?R#2hVIe@>t!H_u#uHecnz)VY{uaqI#-@1xGyXHBAk#^4b!ksNq-5dRgSq zby#OoX`@kDX$1}5q9%>6QJD(@E`OSkllM550c^Dv#+^3X+*upm{6^oP7XqM(hAv@N zF5JN$zssE=idvadZOnRmB8+k8+DVSIJ$F!9O1_k4ktOlr*hbk~HgegH?l|2dW0<6+ zR+Jx+A}yHI&7Wz`VPtu6$uyJL+#SDG$k*a^X* zqt@a^T_Z9ExuUWA)*MZ(LLVzFLz!oU@UF=p;!DX+B^_I7q0@>T?AhoTrm6z0TWoWB?#$wuNxKwp?qoPOW5r1^$pFExp%B zY-LI-opv=?gVPZBF5djZTZNcHiuBI1`Bsep`9dbWyzJ*M(LNGM$9N+wc}qS`+v^Ub zy^?EGk92%|Ii6z!xN>VlPvXZW!Fgq%5FYjGb^0>Ditx^SoGfD*+d;iil}y{+nR!FY zh7j#2(F!r4Vhb74U{Z38c2z|)5OzD2=^N0$>0Xp)>hxMwm~h+43pYTFq0=Qxpz7ESid?yP3$W~qHI_y-I>R7@Cafi}F+j3=MrX;^s7e_+D4M6l_yKKysJeT~A&nqPKLXMdx+l-N;wXU@aofMc2z$@>j!qFTY zdW{uFfs-msx{Xt?HQ#O(3iZ^oUNSe|6LZOyJH6~2OX49}`ghW#IZ=|_`ef1(WfjRq zN=>fb-ek`^<+$aj>w;daxf1eD#oL=@HiQ8 z@u+Ho2T8Gr%x)@Lutxih{J0MCegdMVWM4B)=^Go<#3pKIa><=g(kCD2+Rjx#j6Y(t zWX^5?+I(Ii+ftUvzNls5}PkLlO5xGRB>VSvLmN;|t0L8^-Vm!}6)t-A3SLjYc zh>yvpvO-g>F3gY5mh-b>l2mMg%-3sF>sA+PGo4j#qx#w`{j;m?IOUUdzi!GLVgr z$+`8H z(FVM>V-H}&x7m9tnG@&Pqc?QM%Um#%5mQ^t&-lv$^ad_+-P!87V*6UF~yxSaqGsukJOk-3i2 z)kbPaG|8y7y=3a++gGKr5rz6DDhk&zA$h~LS2a7dLD{CHH*llU%7)rzQ|0WdbQR{z zi$B0}Lhn^FrC-sugQ$U&dKyE=(io;hvz!*tjBVq)>kn!B<)}h9!J~McO(e0DG25hX zbzw<@n<4{87$}fjX=YT(j#XnMQVz6TXtWEyJ5pW*+0>UUN`nR@nl528Y&hXZS;`xw z*jvZL14uUZG1FXRvZKVhwkxEug3)G!Y`SUQm)L@94Zo=CF|FLS0dx88&VDxkg!HuM z8kC|9&Gu#P=3d9}$SL$fXf1*?*NvY0`zH>)v8|Sp0-Al+ALfzEAtQw znNwVvt)bXV55sflwPmrbGj^%`Vdcqvs#Ka<&>O$3HD$3udlR(LvJ5mLkwOOpdCPus zkHef#+7RlSUtgjb2$FQ>5tT2_l!{Xm3#Ey<>k9dag>lr5h4S^Y6I>YDs4ZzwYO;VT zOLQ>HYSr|@0z$^*EE?v@13V9!uT;eqYHo-T ziJTE(Pu(y9a*ax@UWbw&e?m`%no}I8)$=}0ht^e@v^1zc+&0HOyOznyTeBtuqBy@0 zh8=Ap4HwA}dmL86?VO9SsZSKIiBabA_2xwDh{DZzYk4zW7I#Kr+&y`ko9M81>g6=% z^Wjp8u_y*aP3a>Xx}HqTN5{HFGw@_zYCK{gKvXgwCz^zhGoeuqqInLLn7$CvVr@h@ z7E&r@uXs%>&$&gmJoahILE0#d-l5S&qRa&05gFGUns~qiwo5Q(4P6YGl3*p>Obkl0 z<{K3=E=?pr#?G3wHjk_mkrhVVT+Ur=<>d>_;B7~mjPsqf$Wq`nqeBQ~_E2mnDE-r3 zv&nX0%y&8CG+U_So^OQSl5Y+0q6W+PE<=a-K}LnDGMi#^o%LG1hN3guhUOcadO5q7 z=9{GKMoNk~du<9WyAhgIu%yI``_h0+A62Lqh2#D_|FMOC?0Ie!TRflQKOXpIMoN3| z0KWSz&hc^DZ`Rx3>0Mbq&<9ZEs;jjIZ2_fbq2~fW6U-Z>PqH1 zG;<)b8r_?*7iUXvX$cfvw5>TFuS^%1`1mNs`w zbcuJt~+v9N| z9T!?D=9ddyLXj9J_j$z{D< zAMc~hx_g{E<1Rj$AYvPWgf6kwCFN_iDwZAWl3J)|9Zj}Gf$gGj^h6=lMk1j#5TT5> zkFe7Tuh)cmvoXzYnJJ@j-*0LIQN2|#UKErj9zPxvJ5HN41cr(4$u8D=7STep+NlrYJbAxvm%nw_<`A?VPZRlP}>GzOC~ ziPd|X60)^%7w%;tvSe58#eFO?m0%?(VM1l%iZ4F6hodAd7?a-_D+Zn@igv2n_i&TO z2cojoqKa&cC5){J{u`l)hORSlOEu&TEkrftP$8=+Zm%LA)_kbtG#62ki8kxzh4NM{ z7TD2EZ7kzcQ|zbDwM9O#62@m1P!BS`s4&Wh92`d=NJ4*$h^&?|S96vc1#^E2P*u1}1beuT}-^>FD;Y+e@?pp{IEC>A{hGxjJ~&(!xTn z5i~YdA;GAg?Re5ob#U>jCoe3NG4@smy@=HFB5`AgaUb19J-q6c@!aU--m!_vZF_f3 z?%lR~@96lp+>YG%wjKL-kB?7G?%lV4*PdI|0$KAwIpjqSI>mzCNrTeI?HS#fwD`Wzy*WlmZ>404v?o3)e@*WMIf%A=!xH*e<-Ra)`Uvb%hC zCB{(NxcgdvV=?erRc>h>Ph6#j)6;lxc~xH7D;?G>ZM_pUw(dlweB`d3DZKqDyb2#g zn3^WNBiXO=f>O*izR^JUSV>8XFu1Vl2l$M>gV4tT&+sy65#fw0rt{T(psBT&2}z{Sb7M^$n`^p^8=jSf}jH zeR~`)Z=XjOMD=8umnEW;f8jVtN2E;2;Tv=$;Z@azg&p1T?N?^_mRg`RlgbH+W|vdL z*~8vtkvUx9|5%R6biT^hnk)LiTAh1(Wkh-dH!rD=kdicMOyo{VQ%QtymgZ3G8m`b+%&xQ`znml8o#Oy& zO|w{mz}8$x+XFe_sJ1vKOvZC8UOY}PI%L6`3UK#pzS&7+rRkpNtBpG2F-G4H>C3i6 z+)a=BjhcJpt&ETgWaKYUeWO?ww7X7%tc?1|AG+8E$ z2WyS^tF$aJt9mwjqmvc3jy3Y7X=Bu)h!HhQ$tAD7(tVDQ{)jm`Nh5S(EBUKlbA@K; z>CmsltH(S(N;y^t=3s-(qz#2}1B#@fT?woeT0ILPsK9M>QKf&NH)#KGyR(2v(V3{b z#Lj_kR!Y|}nj)}9cc<|7rSKM0cq!f9&Rr?Il=yb0^!GcfDFQkr&AU?Gu`A^ryHe7; zD<#dlQ{vm5(z)$U$>!ZD`Mf*j9eYyLfjuc2)Si@g>`BR&y(tRW-jw+Erl=fyQ}ShR zN}Bhj=E^08+fAmn{j|){Gllw)dPbEtQhg@ z%Fu3B$r7fbpO(vPgyww>Ufm{%(%;3K9^b>3Bc;Q+Q6?Y+<59wAC;4#3!?A1sZh3+w zqZ4S)Ugis@>qT>g*@@}#(Y-r3&|FGV5XYWTeih}KUyWbIc6i#WU_|+cYGNj!yQPaK z>cptYDVD0Xlzd?2j*m#^^HZJ2Nnn~p=~w91Zn$n0Sc#Q8pB5=@z-dh%>yT0R)V7!C2~^CMN^}3 zU#>HN$F4jobs1WXPiXZtZ0bY_b_P`Z(6Q0cB#X{v7B#?)-45}~m1eD}pONrniSBln zl01>w$;fpOeLqklRYz-$YOp3UKH-&kfE!cn>nGOzitFaX=~J@D3?(~s3m+ABsN}VI zw~Fam2Yo!?CeftiDPK{bwIt&$$HwY7ry7_^i&(Zr$Kzi|_o^+{V_z#OV^@)zc@wRzr3@xnX-mz4L|sm=pNX*M zeZf-V=|6b9nlPJ*Kh9=iaaLr!=jgqOm)bCv5u3%J(8#`OdXgh!3O9a8-A0seG6#_U ze9DxVO5|mt&BUMQB{*YA8*JVkyEeEt)N6}+oIoUBzkp7RXj4R+$0PoBO2^C?n8}Bz zq8XN+C)HvsCVrCFayr%oDet#DK5R3(d(d2A5Uqj9N|%_`*l>~mY|EI^y5_R6r`Q;W z?THE|etYBS)^2Sp&f`Lr->9H!&H2?1nJZMHvyI*BEVw@}(vhFJW-}}YbDf4c_dL4g z!aV4npRb%liOt>-elKzv9b>@zZ)ZC#Ix97N;1Kr2XMM9vWE3kO;~x92kA^b#mnIXt z3gw2vtiE0@uh-}$ukhdS+p-WW-RTM5^2DpDW<`DzzFkrFbu=d2h8VEu!@7AkE=Shr z^}0OYl}cF`w#L&wpPx^w;J*0iu{9mcPursPWq%Oa73gSwOR^;%39ZxenLK_}hsCrt zn#;8n(Og?*%65|@!)I>0nqR zCj>A&qxnmA`Nlc!V+>G@tPjoYFVPv;vWl*Jec6!PMtmtjbHKh7yi&MV;cr)SbyPg|d_d+#sEWU?j zx^zfsAuVcvZMR0}G$z0ax863A;Ob3C@dgnO6159I&4-Jj`&}}u^W%bArgYKMF48&> zS*6J`Vd8PBOSB7?PQ{Cb3VxM6fFt)uQZ@{D(`$tEJb=QGvM-q#nq?6*v+ZdqR) zwZ+oBzNeB5wZu4&HX)ETE*+d>&V#fEY;hfTjz)4fgscTiwQ%KsGa0m99t!mgjNStl z>Zs;IPg6O|lfPN7T9w;A!?u~u@mo!5ymnG)%}G?bRcq4W2quVed;F$*DtP|U| zkO<1Wg1wxzAombUtc57pq$ei^*np82D=GGbkD%^&NpCye2<0qEqRe@o%fSHMzL^E&UJ4=Mt#4lpFi22F#mrTn%(7L9C3KI*N&H9FofPAD5#aPr@ zL(7RhDr0oBxMmqk<}&eEJTtsV=rHsoK#V7LQJO*aNoM6YI^`&~J}jmq5=M_XcG!c6 zFiehCi0!eaGJ{Jq1YUc^>iqfu7P|^P)pfPFzGW;r4_5A0XEO5BmipwUNhv*hP5Tz@ zMPF2@<*>fhATqNv1JY)_6AGJKq;pV#TQ%fhgH*p%F5l#{=`--P{A3kQJeKs{%%l5- z-2tpuvgIY7OnPtT(f!Wu0Eq)7w9P?e`enpyGPkx4Z4aIKLu37eLPz0J%Ra>~mFs3p zs;}j5TK4JQn|XA;?cJS<&4Ss}AYyr$%5_60vtu)liLQb5WNo=a z+84%IG9M?sm<}&ijbsjN60TzBe%Mn@jE=iA`JquQPuAlokq=-69h-cY>&Rr^WM^yp zX?=59(#bnKQV)OVj?2#JTI0zuHl3X80(CIf#6$O_m-tnl@iEJG4((2m$bmz=9oHPj zhjA1G=ccB{pbY8mBldy?~}0^SLi5NfVWONun&r3vY+Bz}s(-%8$_svL=X!*K$2_X#OoLZRWj z(xlK~Z6*7)cqT!XCS|t}vRlg7O-1Y$5_U5IyNP@y(Yu*=b^N-M*KRwzPv%?o*l9f1 zHiETAbebQ$<-)#*iszq}Vno{cO()Nz89aw6>tAL{dwME1?SA79rk{EBh*t&nw-Mk zLVoo1Sm)wa-b`yH(P#ZMKIY55GIazD1uHn1Q-41e;4xQq{OKAKJ#EZutS<}!K zzFOUPZzq+raP$d2(HxTfVChV4|J>E*r*-0+KaTF7xAEx(#)PktZjO>*H|K9z7*42h zY2Hjs7AB^~ODbO)&rMF{4waaxb#_p>Jl#92T7E^$@sg3r4s1RnfZr)cxIB<|XAVD{n=4 zHRU~7dB+t-*7!oNp}atOP37IJycQCuyteW>$~&RFHRY`OQLPA~MG?N4Ch($;j@RArdaeiEp_LyIFLL0~cJcznswDL(Xon13e&C%6X=Y$tRNRO5(r>xfe>?y2}w$@vd}@%bm}$ZF)T4 zMI*zF{0&7R-kp3|&W^?$LE()kn{iB6{2Nbg1Pbga85Ha6)FtVcrL7aN<2^I{_@ zwTq1h7R6~{k|mNBCRyBRVG^RS*hrUk#l|MG%zAVuC`}y2xT#Vm7Gl##Q-y=|jWu4& zO>NqduhV=jGu}WgyE}I_X<*i)`$LlL#2g2lsLL{FZX|uTSNJ*+zBXK+`lT+uc$KYX zcC7E+v18}xu3g(klf2zKQh7U*yggobIPlWK?MmV8PT}oI;q6V~?Mvb9PvIR%OY@F2 zX4;pGrhanbTXrmsE_Ua`-jsX=uPZ|Ey7C6RuDk)SD{sK-${X;y@&>%FyaBH(Zz#=O zc|**uFWI-d`|H5#`a1Bsz7D*uuLG~^>%i;!I`F!_4!o|ftL*Jg-_n6D-p(EAyySNf zFZmtBOMVCO65lbpxTh&U9nelQ72Kqd(>*f|4X0V4LwRK20 zWji_Xi;d&bkG)VKFSPRc?p2>mjP&V2ZMxOSYgJZ2(!#aAg(5u?&t2%}ODWRB*Ms)N8bP2s( z@VK0CWzHFnB5LwAWXy~XYYNq>SVzZhh|_L997K+mU^1xl?O3Womm%W67V>EuwD*27 zsMjiVaD}P^v2W}|5wN5Af64r~KXN(FFejGCo8?~ks^-NbiiJcxF}EC=!ep&Madeuo z7%E<)2pz3etLn>joCgq><2qy)Nafm)T%Aw+4M_#0HU3cfW+Rpjz_U+_Q3-e5eKy~& zbX|W&JWsCJBPBs@`ynegL>OIRXJ4-!{3>IfN(OAnTh{7vXIB7vZM}URY?a)IxP|i$;CbBAGN8@kWn>iF!prs;OLGEqb9yua-7YY8Icu#&mqs?EH0^8R zUou+R)W_baOorZO)`@86epc(Yp3Wpx?72X0vao*IZ9U!R#OcSTl2u!8dS^|vLT9i; zD3UonMru_Q#EQ>{ueDk2RSYLRdTV9k;Zm9+MNv5$7{p~DEdmrbT7y4^CzXA zX{Wz0)z7z<@dtJ9oE*VQ!_Y^$n+v9#XWGK|1eRCz+e-XjHKhqXzcg>(smCuz~}~o!UlK3A?Idv{GaynJvSa z*xF=9D;n;2wJ=(WlFf;}jfj1dkFah)8@l+kfiUK>etev27GXzbsD|6!XbDug{d}4@|M5suaicgFO0D%v{%O^ zSk%Y5_T;=*gKnF&cib6{z5UJ&q3_6xf(YZFlfEtE;emSq@jF8 z*QG+$TC;~+d(#Y#&g{8nMYRCyt953}_!|sf2wPY%Co(8~U$SxP;kA^f7Uz!Cb6Grd z+)Mw&!2yFqn&vyAa&q>Qqf3C}~>wU2b(*4S~ch_4teLBtCc{*7K z-AB9py3(9hBfFEnX{h+>ZgeqgY<1WDj0bw(7NNY8==tPwP04Zus+ zxacm$F6KeEC9)DxQRWO7I_p^JZP&Rvopk`=IIk~+1aHz?t<^VXg0?m|Uueu+6_NW~{pCV3+iWfuurCd{$K?3iyLIcQ>( zG$&2mTemt*zA|2H6`@3|%OR}}Yed$b~=S9f+D$1sr zfX@<~3CLiDPZB_~qqo7KkC>s|=H%37y>=qTl}K%vJ~WYxKN;;~I^*cE()0Vy@kMr4C-SUTgD4kM(wPvmo*Z zEmhY-6e=62QV+@Psb&u9sWr{zx`mJp0n33Z>rEpSF$m-vQ!BX@>NanYKhe>Fv6Z9n0+%nY;`uwVG}STUhYVQVe-HXWwRvfyr8Lsf3PsuG4U?fuehu`K}y?c8or?W($?h-gHf4 z)ETo7B6n*zb%%B{@~Jt_XiLv=Rk{ovsV2)g8<5{s*TFZl(QHP!eEmXkc41;>TwPa~ zDbK0vj?5Rz>bi-!TxmjGcWq&63Xb9=A*QBws_RPS9EP3vE6xJXmw?CRZ*F3C4$-LV zj_L@eX6Rt3>n5k>ONSBmXgPnFpQqcxuNyCv^0~QjRX8*=o10UB>A7oFVP-ZDTq@5M zX5pC1&rtxv`MH@XRhZ9Dhw$hE%@|uKIgW2E z;f_LbeN3J{Tum^zZt~$$Zk^{#N62aDT66^q%SYtdc{Nw=4o9bG=T{<@on%SgA1QP0)ColVrslEW@fzh;M^Elr zha=Et%w)|Zx(hnqrlzX^{M`CmYnvKQYIogVYO5BnQUuKft!i%&JzhIee5OLNe>x=HAml2GOj6Fg@kY}wpb%3)*7-?=xtJS9p@0XAPgVi-Y--VF_&8@I{h>=E&C9FtOsAwQ zY|DLK<2sjVHBXLAn+ldkchCT-Kxa3hPA=B?stVdNGfj86nNpjPvrxkJMxCcD=yfec z!>T#^vQlTUO-K4F*?G(t=_xrRSXB^FN8itzTiB!PDI7H!7)N5o%(*aQ&WGk6QtRV? zVUn&O6)twpa5G_zzFX*KU(KQT zrV3@QwcsOfv~7Y}^**ljB$SKJjBSsdcsDn4UgT8*nEp>v&+*^^;*iOO}%UL$DKDmpvB znB=o?=zvb<=)nB`294($@Dy9bigly_iM14pV^E zFYb=Y)xI?5Bo)yfLVeuzT8%$ecR$d5gRKwt1zZzMNL@R~LWPZC+I$^t(}~QvJ;sgy zx}`Ao!Q?h~!X(zmcd3KU=Zea27T3GHMiUQvHUt-sER-bH-$!kjIXx=$yEsdh!==fu z+MA51VgqrBa-ah#JTLL!&fPZ9qzSZhG=;Y_`QV}rq-zETJCMvlH!dgKQZn5BSbn04 z@C?nKRBrO?ckhU0nh91-^+ zkLMKm`?cW{yOf*|=QlqKdWOdzNiPvcp?m#*_*-Q?g zWQ~kqqo7een1y0oY_V9jZmp)wYtuB^ai|CUT})RCmsyog%q7}mon{I2a;{Jd(IPIT z+>DlK5}n07v@ow_6sU1)XBSIK7dx&*O9HA1cj(;yw}gI(UmN=Riu1@G&9EZdvgNKo zWK7omC~=pQPrE^5Ok<~0kgw7tab=^iunnzEm1O=_J6vl=Va@r=ox0azGeP07@}ai^ z>pYEFbQb6+G1B4a%xfnUpYu%je~N~>)*uT7nR^YB3^#=I+F=*R4P&;nhABMz{qEah z3^zpdwm8QP;c?+vH ze083z2u`fm$RdEhmR6W(4q_&l_Nz5o2IJZJA|H1yYN;ZF4vz-yKB=?wjpK4!My*k) zH8F^qqFb?o#uDl;U4zh?3EI4Coz}{t8mbdEX^cUrs!s($lji>$L0hbYO(=Vt11Gx> z=Aw8=0?g4meeAU{u35^IIL#6w#gq?tsZnuN)$cNg0f+f8#o zOlM4Cc|f&0JGfSwyusAvRbG%9WOs>lFnpK!A{hWJmyvz-44ye5w;7Cre5Soby@w> z?3vv3gvbYNwr*#sB6`XgtBZ7~*+WSqSKJhTpL3|O7dr=uGDD$Rq3F_)gfTQS!VqG2^^bTyq!tBZMu zJz<@u{_n94ELAc`}Qh)wuW{N3Tx_zTYBkj$bdZdv4} z$v1Ry9Gbk&Z`GDI;-Sn;sa~ZM`w5OyB4K<)IN}&Tq9@*XvQHev!ng`(D%xdEqdl&6 zR^{qZvn8mDDU-|ol27Mc#KWerbqACZZ;~nT8tpqO>r!V?F0Ke&hg+TO6^YzTMbo#Y zhKCqm&-fTEDC;iNEI!+5?nE}rXLHK5rJbVbX8M%L~X4jWrH(}^(lxK6T6JMvy5y@bScQFeqdEwih#r%8tqhYqAa zT4GvYg`s3s2fcG#PT1pmCGl84z0xp8h9`1RKHY0%*B>;)SmbE^hooYj&VTWEGMTP% zgJ@HgMUIkuC&@Hi9UfJOcdEm?)ZyLg@E&z|uR6R>9o}y(r$phY2Wv;wO6{o5XJ}Rn zV-rw=XkU!ZJk1-MAVOzr`iB^`fAxJ~0rN!K3|&Ru#;OVeh4vFB3Wy_ug(&$OrttLCwSaX|i=+OKot;Xi+Yu-kvFJp6MZM z)}YokiLy+){LQ_7IY1!U(1#mVHifk3oizpS21 z9{BZu75tc9qc_q6XQIVh5iMt}Wt2-d$)({j#pk$iL>2|G?qFV}MJ)8LIlyv@-KZX$}v(Zz1!%$4vXQX?X_IW8}hEmR42_Cekj}J*1VWno&hj z`CQ)lTo^$u9xT#y>P`6oFv>Sh->Ly;T)Lm0kJ_9uP&r$R;X0Wze=@a3r)aZfC>M7x zXk%rTWl@;;PIS}t=a~ytL9K!hQawO zs~RNsKvvHr3obVEe8Kae&_P(>AS|r7ZTV(XN1w(?o=U_tCyS+e-?9z(YHE@0p->R) zKsxgSdMX>o?lGAY(xlTU+De%k@_<!p`150h;yF8Md6O$(Pj$?s#}Is0ZKb^BCe1AlGrw!GL7`Px@Z?t6dxz7=VA<$ zCwwl*H@ZZmZ?3@{l3+Y$WiMwU+#Z!02AzX7oEx(#48fR{LNvXaD-MuRo7S^*pyW4} zrxp$9^-wk4tiyQzts&XtIkI;TbO9JAQ-L>o%ZcB+$Fu3N59p+%js};&70e?P0cE=~tZoLe73_B%M&-m*;C}oh zO>CwT$@8UX(MQe5w^Gts_XB>5OReu`Xj>q%4;M~Xme zJ$$Q5(Aosn*E}vtFA);VE@YPl-Qnp;9S{K|S9>)jxlPv@lf@p%p}~H`O`3Bsj&JZ> z9jBOk0ef2&F;%aXa<|I+awpDv=+2$_G(10qF(UycQDmmb^;tt=+5(rK>A*3PqW%bJ zg`)iGe6?iCm_B>x%bb*mIJ}R-#~fzPte1cRUWz@QWjgWwFg4>7*qnc>=3_xEk<;p7hg$lhNSBuIa0LCOGeVx_ zCk-{)v6#JOFQ*x->*QGYlCz0OF5su92oy{;-Dzpo#1qPoE0{1r^!j;~T`rl|3n%ZD z6#<7M^&b(ge}=UI;fS;}(}QRIL=0kcGtsAqiI$d2&}>ma4i^)@9Mw5lEm4Yb9_(r z`a~4KY8ieKOUc?AX!4sxqhwn9rS5LCUGE>%8vSzBh3nOJxz~Qu$F*XC`?W^zaUYgc z4$^HoSgBEIqsT*;D4(a_Z1h`YpjeTpB1R&4`kF}(Phqf!d>90rg2XMbn$Di+NhU01Z*@bz19Q%+O6$Z`Kz?Q-z?+j zLA%x!7&NxmsNi?K*(O-I*>3k*T`s#sQLR#^bI@$lH@ax6wzZ;Cd#@t})$64el~b*g zTNwD7FZ z*y9QS+q}z>66rI%I96E)kG1H@3#rjaAoIn;AkKO`jB(Kqch0)A)!+m`OWbZ?P*W}g z>76BV7i%!TAEc)g?#$BxImA-;h-Mk&M%8dhGZ5M5urgIlQ-~Qv0II8b6cxh0mM+t1 z?)1Qx&pD&y&<>km8I?rjsD~_dDP-?Ulz?M*&MZR08iocfQgTsf(@gG^u2wI!vq+|c z6M=ELc({*+8V!r37+NYwld9yQ5d9fZpb{8Fr4P5w@VW_JPP@XEk;gWEejVD$#BI?j zCG2Et?=<2FFYJud%qC%f2hHcx z4qD6^QOKZSAl@ngA#`0x)NUDI1#b6pvBz`%SI~sYp*uGOp!>fBfv(mF`-L|Feua=2 z+b9a}_|0U9Fp1Rcuv8uNz*YiCV;osX*y4O25t%e@=-g{)te>x;nht~p=`2)`Tn_LJ zLLhXj?aok6DoTX)DoEQRLA1H#yi9mdXO>A|eBD1i<2fWiEE)0Y1?f=(WmTmp(rZLq z3xM(mklxf;v;{C-8@${?^a^CJs2Lq^y5YviHoQV4*ufKUWyPdjY7Uacl&mYl>ay;| z*dLzrp)DV3Rab(-ID>1u^LCq7#gMctItM6q%C(vo-`(B5&5Mo}^v-HD9$Hfc*&4V@ zujP129f*SRUP#}Porx2UfUUpdrDMC-*7Y&2JKc8ZXIp-+o9E<-lP%k1YQYiThjAlT zDBuIR&BiLAi=n64Y;3F^x(EAZXOd`k*yC3z8dI;K{UJ8;bYAog_OwF06=;KyaX6r` z8i95v%0ol;F>M!!eFG<4xr|#Ep+{-w670u=6W$j6Z@#X1Pt>LUZTNQw{@sOt_t4AS zHT<)Uf6&1E_6_`V)9~D$nH{JN?zZ^Ohk6@}3F&n_HxJ+_F`at1g_IBdl0!hCGPY#-aFAT)gBR|~e73BixPH%U&+V1$!Qm^{}D6v|( zM7{~5nErlq4~WlRqtk1ldCscTTWdT*La0=i3{VEqJwP#)cJ?(@qe*^2A*xiVw5uJd z7@My|76E_+thS-&7*PkfxJ=ZVO8YfPUu)M7N& zpEML^_!4i#Whl9B@E(3)ozIg2&SfFci09VFBZgUz6?|7)p^*;x5OTw3%Imv`STYM@ zj)2NJ$wxTz&=ND;Z^8aVS$ZAwta&vV}d9Rg@+UH>5x_!H`sFPY*QKIyydvZb?g82}%NU z0Dl&0mCx%yhYSk%0JWq}xk)H*HGyB$P$3JB_|cmK{BSlSE*lK*)7lia$R(Sbe99yb zlaTUy6FG2Nimxn)NekZ!lv77He?J8s@xt?ya|zCKq&AVSmmQNGE)tGn{36Wb5YX8V zsmo*7$>l`zg#jo1!*&+1vK++GHLg7W4v!=*my4`;y`-4oinUsmK9E)~(s`PoD&lA+ z9BPtwnGRG>6nAyH3$NI$B+6x@$}qi7diRc?HYt3rVfO^6)#qbs(<78?OWot+1i6f) zk?Or2AvcxB$b->0osoxt0aP=t9q~I)pv8EIOp_)|{OKwg^GGZC%?~@2fFoL~afV7U zBv8UDv;TD<6Zl4p@K^(+taQ?V2Ig0w+IbBZ?W0&OQUt-6?3z%Qv6ZfepOL-6$h`(4-b5U#A2$D9?fNhbD^&63rL13I&ypj%Cp$6g9F6duT zJV`e|JcJHWM&(dH@EH-G8@#adljj}~%&4B6GOKPdUJX+oPkgKo!?@3t%CJXq3lObd zh%L)t68ps>lVOG!riph_w9P5%ndG}V`<`JOLgq*|#*B!vgP~L|0T;{e6TbID97&2> z-}8r7sv#*b2-;{@q6ToRXs)H>A+b-7GWJ8bWK= zM=3q>^cFx-uz^S(X)Hw8j&?rbR6;HveZX9THg(4t>!m<#!!$$dl??3!#0u3rLi@Tz zc4y!3wwrZ@!ku_DA6dRu_IAM?q{i%lFNE^0ovntj6oIvu@M&0K17Yb1fVdZMQ@N&l$L@PX-%dp9X&Nq1Ei>y#5XN9CGsp+KCTE=_r(>Sx!eQ&HaLdA?7zl+SKvK-fUhf>&A^a^t zB>W+gzx%ikCvJb>Z4HCv>AJXnsnggFB3n*9(FeCXB^SfF5CwRMv8^Z!(N~`-oBkBN z(HQKxj0)M2&P2U}k2Dti<8L;ckci@0B2VoJi(_7J+E&sdv>a|NiCW7Yg%PX8n1yd? zubKx(%QJT@JaZ?&Guh>zx_v#|zX$nU*WXh4R1AXQ7Rd=Bz=^lfu~Q46!-K6(ps0rr zokF5|Mf-+6S5TLZa93K+%wT}~iO6*YXNX-=8P5IM(2R7d8@gdW=yqH5r@!65W;)IC z!_H0lDe>Ix{|IiA4Jjk>rLQrwvw5j(s|V3k*{koF>$`2ots zOAfcd$P_PGMvj4pdyC|-zFMZI%_))naNV-@)B$QH_&1`uDJG)2g~TR98s3!E$8^0| z3Aa)2TngSVHDXY?6GIMayS0Lh*A=#B?{YZi?gc0v)=)H>VpxVnk`4WLqIBqGHmM)* z#LV1PCXFHdP^I-$*dTs)wu3xrnww0Z?On1kd=lu8X)^LshNKKMwmX}RcV?&Mj>p^+ zUZOY;yeKt{h{TFGwb2)NqL$QI5<9mbu}f8NskQ7UU%R7n>agC9h>ou(bIuEuiA<45 za4wcCU9?2Y6zF0*Mn55 zK-KoTu<0W30c`GM#{>hFX1!Ev*dVb&8Fofy$Q#L2cd>B^R(aT?O<=X_l|Yx_X_X@XAYKX z@%QMqhgqqhII;-IT;N{ODDCA&$%DucAp~&Jt~TI=ZT0=E9@u79n3vlQ@SYvuz6(>w z8B=@yc<%Y*x#y4PUcq?o6^!Rz!FcZF#e9W^gxv{S9C94GUnouQquv!Gi~PQvAdVq%|$5!0Hv@VNRERL#|5gUQIJWYEcgO)rM7E5!?_S&Z>(b_YY;q! zMd@s_V_242Wom2o$`A9K4BR!cr}RgAh2LywrCV;9UZv#@S{7)511k{62aenz1 zHGl}lq5GW9NLJPpu3fuEZHF65KIl+F%N zlsJuib5IT>bX4Xm@=fN)*vBx{5-g5Y5uqS9kQWMKa%Ka?Y6Z1SbmYY58(BTG5(%w` zT{?35W!U&=>#w$JrTzYmo2J}um02CBJ4607S!^Pcid?p*Hl=E)&gN!wN*+oxKfv0W zq#w%95ms5#gGs|n*;BMefNb&E5~yrcwqtEW9s<&3MEL~#=#gmxCb?@B-#!Ch5h0yt z@5+;{z%XZaVeh3Ql;+^>SrHC%$i>1{M+%TQn?<_aqj*EDo%H80m&o)J{Kj`|j-^E- zoYkF_^gl(X7Pc8Hs;kRCeI}QaIA(V=9d2h%V9uKm9o>|&=Ft(g5!u$-ab!Hyvtv^N zntTF_5pAFgjAZH{<&vb_$UBuUH*?pdfIjl&gHFfkfD-8yxu)mhX>-VftJC3{v?Wp* zHBoO-5RK7_58>q^=7skZNlYS`DClyjJL5A{ildv7=*I6Y5*EJ#OiDD}opR}6Tolbv zDkkS3HHcu6+U*I#RHjRxu?vdX(yRtLLaUCGjQKg_F^AO{+4ZfcJ}!bRygq1=^IGSt zeIF6X1JOVwC?7x<=;jgU_ajIzSHWaMM>oH|>NPc|B2`LypgtV6X#|MOQ_dMD_hY;a zY;Hm-BZY;VaJ`HtK6P&Hp z+`wi!12SiRY8oBW%tlCvn(APZkWl2q(bAL$qa_e4(*)7dKyzyl!EPgxrFj6;aG^Ug zuEVsOjGv;5%AFAu{AdP!eKbm+!_tAln4OxPWO|lNO=&p^8U+Mi2`ko3-Vep7rt&f;$MOnT_2_NNVcaa2vTYw?4VJ;Sy7bC6!5ZTwv7D4(wOEjc~YWO3Pf5gWW=#}RYhUOcYj3h)*Bl-(| zh>@QobjOQi8Ou0BX=b$;H5anq9`bK3>$Pjm#pC)uTkjYedb6Xnn39OecPnj;a_j#pX;ViM)VhE`P@8Tm_wGgH3A&M z07B1!xJBD9u*kAAH1CWe;;7_G8mwbny<;+Du`nla0iuuRnfUb~QkVpY#J%j27}hXt zPA6kK?~dSuI;MJ*SDh^1RfWMgT&=;MM%?+UuyH&^ldp9D6v-RYpJw%BnxI@&A2C2$ z1`azDiDNLomo605lVdZS4akKpx#lBlHMODWiX&+wSNaa4f`$sv4ShlbdWP2stV+`d z&=k3{{3iuG0g3^$=^O_1h(ojSkUvhzr^_^(9K$S1*$|Jq=PV0y>{VV|WN9d$hi7{+^s_HY8npZ&FS5aure z?E-SHL=hPc_B4A$zeUbQT>#*76e7ML6*DDPYkZ$Z2~i=Ey+@MUIk2!2!h{(>aB|fMQzY1KEWYXJe#n=}#YnvVT~oQ|y87)z$>Qh$s-YM;2nhN^n-o zPV~EAWJgmGBU_%Tvs0jR1a=DhgWLUQXqlYczLJF|`U04htrs%`j|_RMg$)2D)}cnE zj8ZZF3H7T*Z3F{ZK>{w%F)*6Kr3q_izR`><%$im*H1*PBg#0ZNAm+OTRA(nX5L)b6L7GMIzJ4T@6~w7D*Q0fErZY1#$umY z0W3_nn>c;hJd|iaXKzbBoo3yD->b;JJgdg*%UhP_e6g}kwC*erp^f8)GrTHGOW1cc zK40O`v8AFaUZ&BOj(gwY#8R+G7yG*15r~DCPx0c!64ZX$!iZdsd{U%n4@i@Qu}tQ{ zrrp8Zd+k#jVG&q7hX=64`^I9$X2sHnXL%4IfJMkN_la$(-~l5IpzkAztjwtV1aHB} zYDmmcRA3auyE{1%7FRS`0SsmcUVwbl{$AfCQDElZi`J!@Fhe}?(TWX-!!Qn{L(^i5 z$T~IwEOBc-aSI+8rk$|lQW5X(^b*I-eN2!sqGhgV9Xo~h;|IC_aFHY77WgI7G13699kD&77|wHinhBT%Me`s` zg<1Ok8%qulp`VvyT%lc%aYUEZ7V;4%-s`%{H(XodaBYz;CgB;%o~XImC{-U$GQL{( z!*?YcJmMuq_(}9xC7F!GNUzNJz}I*ll+WjtDn=HZG1cG^%dQwd;4=~w<|(wv(nT>M z|IH~Y2D_a{m1LME%+|mY1)|$cyn`of!yfzHo3i|-?CjCzC5L+qy&d#J64~Hw*wuIm zBuwHZJQl>hPS^s4-JnIl*g+Gr;^XZ3z|O!tKU1mhmU{c$ez#VyHhWzgMxtrI)~NRP ztBt+x19K#nlwmaw=QI-K_WrKf-xW5@fMRmP5=2-kq8%Kxe)=%RW|%M1XQSCFV>8SN zTnF(HCR-bWc@F!H8H-ZV`KPL%1zc)EdZ z5-J`A06l~~Cu}b0lyO41XM)=*>EzBtF+{jFp8R~TjdhjDqsPGs+|ymfE*?+$QdVC9 zp_T!mm5st^HI(Zhm#URzdWHN>^UaAG0Ba=RGUn!PaW4c~BHyyfh}4`#c9@vE5>Gn6 zc)>~J7pue<2n{|R&H4CBWUJu%Vas4j4!3riBhK5o?&~qwCVh}ROX($uJVN=#Th~R) zc@UTAg9~!irc0VCB;r{^dsjp6lchp64Tl&(;`uT)HaCSNJAEfpH!2B3#MUzvM5L~4 zCrO6NKtr)&CjmMkW_mizNc=Bjr>W>XYM?YR;lATNWcna4No+4S2HOMG~TGL zkjhOEl6!_}BIk$QR2Y;&YnC6P$XIo^PvY<-h!etDD2>&eF?L{W>~;28yST$*p5oDo zH&S1b>zp{u=XA@mAVeK*a~=BYwB(L8#G+6xHVy~&!b3eew>`6n5`VJT$FMn71+6F? zu_9E5C@TijacOtJAawzl$q-uELDCq;!WAqwZxaQ8gY;03FT8@1u8MevT_1&Z_h@=v zoTTI#WIiW(_4M4xOH}9*U9w6hlP-wAM8!e6m#O>QK1+(r)_=L)(^D1A4~*ejV^8g0G~4~1X8Qm_{k0k(X)(vEhCO^DQ>PKhf> zU28zHPOZ~LVb*%J(?NTs?ee2)r66&=v&V7$N44gDsY_jM?$^pixY((A8H#b$0(4d% zL)9H@WV_nhe?mq`)@7+eV|$Hm6?yBuM)h$Ex(A=ogG!AaU-MbI`)*BU*3!Ocf^p^^RFHVTmEBX??zQv1o;Xc#tVX1`zWJua%4 zrd=N1!qF-KH={wU;joqV(PG{c9q_~LA_dU0^-O#;JWIx5SAA|r;<|l!TMOM4zM-_QXB=59q4GSOabn5 zK9QE)-)}Y__FDa&C(>9o4U;dHqg{Gi#05EaOZA$p5NFQk!cL>f$cypUZa#jpHWkOd zd{6ySU#7nrg2_hP*G1{vMz=0y7c~(WLS}o`OgE%{(XwUjQFUz+4qcQA3fiyjv~g!Z zTaxR$Aa;&$hvAiQUdm>RdfBOVY42T|lnap4DIgk?w8IfN7Bgwvo<*$ zQjiJP^Ip5~w2+c^s(ZD@+Sq!nQrK*XMx$taBVvhGR$O)N`A`#Az4fpdHww6xXG68= zJWkb_FiNmlR(mZ&-!Pf|>Q7hWu`tm3BjT7Wh{s@pK>xX8qp)=ZVJkrX36bFaQKo*= zDZr#QGSVNPo{EZdKXuMxEcZeSnxvB%y*FV~f&hv*v2PF(?irsw8Zm!!JR6|D1GM+t zJQAbO_`t=Eir9V^eIgK5nrG9Q8LHK2Qtm$jM4^%{%eF!j5unCu4GD!!3o}@y6I#-TR@?vLlRZg513&1 z&2K*Hd<)Q`g7Iu~6K52?hLEVGh~k<)Viplg%JdK*1TRo%H^T~t=qzo-d?7|VwU0kV zTb?{CVoO*)E`4slIZE@Rn5h$BcZR@2IEw$cIJN?2*8}^wr`s8da&6P!>ts%8k)|CI zp4lVIK$3os4J~2)crmTo?0pnOYda2!Dv^1%Fcl=J09DLU4}_X%EourZQ)K&+#ql-# zvu)5pVz(RO7qB5{Noj@#VC#460A&G#h-U2ezab7hS5LZtYPczLc zB?WUf|F;W*fbJd9-vKg%4v$xbQZKsx=UBWmbX-Zz4>Q@pG3l}4x zPrN4f;NPxX3>4^5C;ky6vAv4w@>-IN%x!q>!!{hiHL=!E&L-LX*0Wg~!QIp29F1mn zau~4ZXQldB<8YK*8#_oClpnZ0X;!OPS}Cw02Z$!3j+Q5vU)xNDtEHw0n}aQQI|=%p;dI#lm{%$p%Ho z#ZCvF=Ym8eB&>)a95NQQv5%bP$w>T?<5Uqsh2DtgYN5zJD)s#NrBIn?BUL}-mw62e z#ys(7+gbcYUiJW@kFW8#qLLZl%H#~k&I6n!$iN+!?*6|T91FPMJ(P3QX zgbJ`WCmhOO_*y#YkNnjkHcaKsv^bL7!mZ6y5HojOm=-u~O3uY;D$*h_`m%MTYh*vg zqL4587(BK%4ZF%-~H_q>uL~mTK|`N*rm%JHDBb6(g*+IXy_Gw5MnBt~bON z|7<@v&~j2kxFvaG%cs2Er&y(nG~EEsE86#EN~a~6Uz*Jww*s-3og`1KLx`*h*wNYN zKd)P$X9Uq(HxYWfGhb3N9~m!C-N#*o8@V7(%~#Th>5l1(w%ac`Eu%0`RX3|i-icG@ zmImHRdj+%_wgdikI{Q{|N*)|N++>$JLyP8sCqU>OiCGcQ+W;6NEd444qQsHNK`TXR zE3UP$m~|-@aYYW(g}JEK6$Y1 zsoNn_0p1~PL9TlOSU7QJ68M<=X1i&5_K&|G%~jtHmEhEkx&uQ~pAi?!^oQvYn%0qs zFeEo}gKwqH{i;Fxx$&;~{ z-SH|rVVS({3>~fxCPU6RAWIM9F?EF9vYw=vf}GB2#E~_oJ7uf=W;8tIR+$rYFnuzf zPo^ugL^0*V1QJ0@$Q$nfjdzP#I$mA1p_S6*J;OPmYoylQxyT%HfJ6=hxEN)qdIlO2 zPmsuyF_KTwtr0P5lH2ukYXWeX6#1yRga{0isp;f=S{p+On`C+g$Y1FXo`uqWK9sV8 zj8;T3Y-bLPt;zvyDXix+k`qXDeQZ#~uaF_hg03FGGdLeY9ICw}0U#_zC9|QM0u=FC zFPRTHSxxb>NwZh=~(u$nA>_(&&V^mx+<&(ny`i_G5}KXZ_jT7i)?AR&eB`< zL=c6&c-2(S@*p1r7A3G{^PpfwR$s&i)*c zR5;l4Nah7KwsfrfsSC0AIFg4VI!>PiMPm}E9cayRXN6FikfX_JVs!~M(pP#~pTNrU zIvHJh5hLpYb5c0PEn!bgHyd|m*fUAvs&d$Sy=V19^-DAy$``Uyz2_c(ISjmSXBKTw zY~^wrf)HPl{l@6GO&kCq{qC{&G#OJbcjw}+WOuGEN)kOga987U>=zW!U7V?h1iL<% z=-9JsNmeTyw>g-<`*>$a1ajpCU@b5J+ScfYy|%d!v|GcxWrt}zn3vMSdL9JntW6bh zqD-dn^wFfz+utW&vFN~yL+$FfJv7%p^|i>{X**Xq4`;p>~% zmE6mk*AVe;r!qWfEH}u^PgnhJlZDajdy-2LKAQH}B2Z4$r&86U3ah84 zBL~EkIQc8-5l|jO?;y%U1GaU{w4RsGXKIh^ z{nHAL>qA)vm(Hnq&S3IK!{i;1vV3<~A4R_MB-+!<;A~Mv{_BC~u*)_*)axkd8&jcC zoK)_c6|fCrpIG)iFz)zhF67{nK05?hPWnsv2NY>6|$JNXgbH;<{NR&uN;R;A+Z9)xt%i z@)^54t)CgP9VB!zl2oWQM-(86L(S7EdA=ZPjpH*TG^xl|NsBWwO6b1mFAFo_m+fiX zy@4~l6i21*Vm3+0d16KeHh0dtC$Je2KS%)LESA;q(E4GF46m9Zb4oaVYFc1NdTlro-M9zFw)P3}7b(tbK* zE&*B_qN^BLDyEuY8LRjoN71O!HO^k?rlBkyeV?HhGU zY=R>n%tiypW&z`*uI+@`MEaP@apC}76j8Qy%4V%Idyz(lKUpFc)lmBg;0K(o56&zP z$Fw`d&-I82c~FaA5r{n?{5-)QUvhImM?N)F1Jw&MUzRTlJQXcV)(7&T>qG1`)2olI z@JN$b2AufzrKdC|oA}Jb87d-(6mAwLdpsHYspP6h-_Bf{lt@mdBvV|x-l99pGqlN& z+G^B;sm7o z>K@8KwgHMhIv`!C)#}6DuUEAuM^IJ|eo2Lo6!7|_P}WC9wARC}A&_dpJ%Bqwn-g>> zXQlecOJ9TQ1Ujt7m|jCJlxXyg@0*=|r-Y(y7%i>!qPoqfotUiFXu-7$lJv1;G&zbf zc=xESOQ4Xm^Yy=el}IO2Y9PJBPYLE^iAZhGA3Jaw?Mkn=U1186S(T3 zX(N+OHBw~zz+aL>(l9k5 zd^{5otclumCs?s{*kiQm&TSz5h%r4_TKf+aJr#+4vj0w_i*h(Bm%l$ljfmk4Ex#1R zp@0W+IH`1c4)tAG5MgeME{X{aN(e@%GHV@ygBAy3_N^$R&Yu{CwTxbHhve`WsG;Um z{VMD5x{@4|mdljG1xZDn10rQG6wl{)u%W|RT#<*UEFsc+;^iWkEkHh!apYu-7P9$< z(wI$yG=v)KB13x3=0AmlD3Nx4d0{dh;-3HNxNTUSlX8+NAyybclyzjZfsJ-zqb5vV<3J zlo$)9iD|Ew=67<<@5IgT6g0n6(0n>? z*mypDa`gt^ct~uqRv}IFT7~RC)GA1t!VeH{=n=M3Vty?Jktt2eEH*?>2d0Tm+FYcD zyvPSoe6?Z9m5${A<2P2hQv#|Fx%9heoS48spf%f-2zbzLDveAI=@5pRzs=o#mqWrGjTyrgkddKZUu&OHD2F^No+n9>qtH(q<$dfYZ{>^oAn!bXk+h%&*EKhL)8#tvj z1zaqM6K9tEHm-$DpcO2Mn2J}6{^>9sj1%@0W}c&S7ay?n?&E>O4ai7`H2+P>pNL#4 z)RKSocdLYSkAHcAX?H-{@2*l4zrKo@fc)y8y1R(?N#^5Ivgf`$LmPm}0%b-DxQzEI5NprflR*fSr=ax5!Teov0GZ&DC;l4at*+>yXTIdO#!)n}Y$~ z35K3va?1YU9;Rnj8_Y#oQ0;gM8 z5q`K8T6iNxWA#o^jf6k~Ixj9ipF&(4os&X**qxJN2c7;bYy#d9Z| zhFpPDd^}4?9H}?gFX{xfzi6HL+d*l3j8A(flT1w(5Uw6fl7SZ`TbKtaGDw+O(+H@! z=F*1q7`>Q>mo*aa;wD>Tj-jE(&`2ZtjX4uOTZR{JnXs9@OBVG{;~3+vuL_rU_#B+m z2lxoH6h_4e3rj0PQ&?zWih=`<*b}1x9CY>t^p}zh39zrPs!5H)!_nrk$rQ)c(>d`D zpbxZI;g@Zv)H3oDMvuk6P8T!g#wkwD(N2rnv)5XR4AWY}DQXU4w#x8P z*|Vr3F6dcR3#M?S#wEjG!u<^!k53as1d#ZyRhAI02u7{;kccOmw1hZblYG>A6FA9cQ>wm_W&@!AXvU%Ar4?>qHQeK>gOi!tq>O#N z(G`#H?QBRI29Q>d3(^wuou|P9qQ!!H(qe^ANQ@bx>ULqvAcZg(4uB~RMk>z^ZF!a= zH?K+F6I;kKY94i;&me$v06o>MC=&naJZ2Y0N6Wd&)!<`LgWhwfN7PA15438KA|4f6 zEZ0plj*Owu>#rOm##tD_5n_%9MPShGt_B^FvRhs~VVGx^DFSV+4x?OeSS-4?3ra=+ zaXNueL5>u4L=>^nAJgP;HXaSgts%ajAFqJqCh^T0>w$~sRcMGk`f8bF+u2xb?XWch zq>*0`Xf2^a17aITLeti`9^nt3gd&6LCxG0nKc(+)qIm zsYRN~r#&AfOvxIgQiG}Z%O>JrXEZdvr~yCPWXLOq7}Qw;T-eDN4iB?4hXS{QsHov{TN)yky2r=qA1yKqG0f^DoW=`c}3x1!$ho6cO9haGQTh z77OqSl@4*!(jyG-D;P*lG(e4p^*Tv~T4*I_IDv(n(2yKyQj9VV==cj@EwUeF=#gec z9wcW|+?p$sR=%+A(@|0OATG*RNJ&Nc3)4j9=$R7dweToC z>3BR$PgyZ~cZQ@itXy3GWMBYgM#jmRj*c699dc7O4?E^t_%Sxs=sVy_NHLjXNU z(F%wBHF9^_j9J2j;(C7^&AWGOPHoz*802OYhi%N~|W)p_I;lSUb0U9TcA zVcC0|-saILThVRY(X%0gA!IF}Xe!QDZ+`H~@c`aT0a^(ahLO0GVZ%>*Qxq+Km6W10 z1}-%0aX=oPnDs=CbGhFnSgf(c&{~e@ig>0pmzOieXR0MEJ#V^*zv$LDS<>F9Ceym3 z!BZyJ_Myn-3aR4R^q9Z!F#R>02Y@f!940_+r+AgdYloa&6*zBjzJ<`*6yW;^?FiBz#k#S8N=For-?S1J;SC}7EpC&;dn2sUVMC9! z6_!IV4k< z-h-+4TGZ>Duh**e+b$V3lsAFrcSq-+SP*H>TSBEKC(ONBb$g}_G^u5|Ml+E(wA@- z{c^6Nt()kM^N~({(8+Ek%1oC%Mx(Yv^N41s?(WbrF z#O@UfJY*KQ!7OrhnfG6r_g(4vt@M0Wva`w91>HK|bH1mw*u`4lNHPp*2lKurLvNC% z*zIJ2%gJJ=k_Db4L${D?{62aP9gCbf7CCavIV^Nh)*T+{pm=WPd=GNIw>Zx=+^acx z^BxSWAZFn7%(*y|UZE{!wgrOMRx~$`Lci-AkfECo-))%q0Q3EQ6*%=O@Z1%9=n9;1 zc?Rr#iCNEHJ-@ejcIw$Oz4f6iJ6vQ{JF=*~8=Ah33}ef+(UM?v6_yhgX-77_RBTkU z0Cc{cvigVkx{VA`3H~K^12_CT|SpTstpp*(EX?f_7L?p2Ig0MaQu`vM>m+BLoU9d# z^<-e3#H%mesuHWA*eO3J(`C}XcjHyn-puV))Il&lxTQ9jGJ&0hzVK9VAeRp|MP>T& zYr2gIYS$*wEPz`w>Z)4;@IgABGm=`q2U0E2uVm7)9;>ID)t zXxDwn!MHKyi_1;`Q;4^)2VNO({vN&$;on#A&%F5s<&n@&H*JbRkRsF2y92`iL|WK| zx=(TRu4FU@nbc=K#?e6RU`r5ZGiVjI)3piu{M!=bID_v2^nF3l8I5vLdc<2stsMhA zh2NpY<|d@Z{Kpi7?SRt1Di^j@({lMsDFaJRY0k-b{GnW>!8xI1oAR{@)66xxO_i;n zK}%}#q4{eXLJSS1<2qRwaah6;RX_2{#JGhteNLSnQn!w&yINa34H+pI=H_F=u~T1A z9JaYiB~_u@*eYHqo8~!{xk(dbOjBt{Wph79G<|q_ji|oHA zylbpzm}j(#bZ^i&t(&1=YWSOuS2s`ah4ctV>CBt#N0btK=DCHU%6OwBaRu4%$o8)Ci%coougp)~H@7jBeG zICn=hYZ945$GK6_nW3xXzU2M{SHxbqa21zn4veWk4Z+6_&75lCZeZT&5EOCc&6+)& zb$BYKRKmhyt>}bUzj95Vv9@Kd6AiEh?OVvYS;%=*M0Fq(Td2SO9KI^_#8tq>M!iF= zc_zmN|7Nyj{{9lrkrkcUGjE=3{Om6vJ)cvE`LHy=%EuTV?|`{fUtPXU4r0gkHO7>A zgHyd}{sq(<&%FxFwGLpV31i%VkuBpa`yftLgTD<(gR>FWOFVxYkfIJNcpu{H@UH=- zRH1C#DdYO8FpGNdZMNb#UImY!tTKG{S+fYfTG*za#i<`c%wt+9wZeGp%>ku)0ub}% z#j9=yz8MQ`V{Y}Lb(%0$^OQKML;R#FcY>7$E7DD(J91aoPHPjSc6{nc)pb5 z^koPsrV$rS7-5_5kh=}3OHf*kAm-lX%ZO^v?Y42w1DZn>DB*zST*dr~=0^7t zd2t4Isoo0BcbwnY>QVug;=IuexG?=iqY$T$@bKA1>21qDxwzL&C_TRq#Oca3<8hUl zTJagf_q~awe2VDAL9k<+kD3MNhMpI4R?v#byq)qT&zd^YB4-|bRkS82w3bra(y2#> zVGsCL3oRbChKB+oydm}K894AfW-s|{SguJ6T0R2xv($ad%I9!P46mQT9^JO zPQ3UQHNsqr}%;p|p%ANtaZJqbm*a=0qawFmi{kgIhm z>_&S|?o2Df#zVs2!-9RpAB#4f>-%sv=kZhAayxpL?5S77=R2~F!!E1E3bUwBN`*B7s zJ*C@mLcL*nVN9tPa_yfGKPA8Vnc?7C5K=gf{{y)@?V#mxS&k{wX z;F^->0r}m&N(4*XnxX>`%T}I~kaKt9oQ>RYYzDk0tQqp%$md%Hms*@A^RTWL|HFAm z`-HNEs2O;-!jJ=SMEnFFB`ZtQ)?kg~DbuN!7CZDi$iX){m>ZwDmffP3b>Y8#+YRPj zFv40i7^k!r=5(rOaHqmS9Olm3F}3wLLNwQK%{x!eL0Uh~w|;1k1P6|)DdzP!Ue{IH z-@@|u2>(pKjA`=m{;;AtAjff>BfJq5-yXE)_*Qw&9#AX6@6hsS{T<{b@5c{ai#OpU z{6Tl^B<_8DbNiBbOW~|IA16oN4t$m9r?7_gcsQ@6{-$tCmS{@%e@yk1R?M_uyMdgm ze9js5VnBQH-11}A-xiDBLYOt23LT5wh$9K*S60l&I%j3|;?~w+1UBgm_ObSoip?YniaBPiS+>DD_qIIi&jwW1e$LW{=>J(U7V0HProAQ0i~s-*2J3&mh&;=3kmG z%r5{T-o3g4>r+Yr7u64x)+u~cxDj9L*F6M!?DswYpox#VVzRez>)t9N z7S?VHzi6DZgyU`Sh-L#GH^h#6a{0sNB{$G_-9tx*NU@Y^Hh*~SmoN~g@Hx&Q=_{DT zyhwgdT@7DbFcxoqyD$mv!uK~Y%)cbQyFPb1ntqF@2+VO?{=*WvRwQCEhTl-`(?VGS zV(t??x1eTb5aQJLDgAw#9!pDo-iIBQx1jsB#n_qwodOxPAbjQilH$LV_I_SHirHCDZt*HY^tMakkXA z{ny^#o9j3pZ}C_vUr`~65BW*enBSIV#tZi}Q?X0!osnV2_&dk}`M z!>qn-HmX0oq;0ct=dz`2!{~eYZe2c~m+PH`Mu&T_MXO=~EAEEeZ4q(^|1{k;q`X@I zy$A3Z>dGYOdxt{7AIUqjjd_=EO*!}nAv~%j7aO!JijCTG1<#>@NJcDR*A2s5Rt)7b zQ0gk7nYRuX3MEYDFvR#h5h<80_#HyI8*e*^9h>)K*mZg_r@8jw`nWBq3sQXGQXm;Q zr@eXz<)ZA}#;x;W|D_OOQ(Cw9-p&G38}G*Lmb%`{w_akdWHP1;+5ud6NM&!l$MAw4 zzJ~QbgB>9ikty?TN^dGlN{ufqQ#zM70=OfuH?Huj=$7!KHr~kWsxWW*C7>kF3Pv&W zPBruXb2?LpG-tPh)w*%z6nePrN`C87nwMqdoY6HocW|AObxr*QUMqxtt+I+3>J z+lOv@AwKE<2L3YaW|S7^BZqI%iS`{d`ZKvg|FP@(3xH{#aFu*7=c`|55xfZc9bNMN za!n5H*I!ay9LMSWx{BaMP*+z`4(!*)AO4Oz_9<}(KBeo%Rmk!UjOcy3TYh6cBnXE; zBN%^w;~^d^*d^3%!_2u!ci{Vw;xn2RUjQNz;peBvw6}?r`V^Xe{oK@_O8I{So%qbw za$RcqG#bLcA&47noDN7j`I80v!X%Jk=H>uR~TE0H+Ga=eOr29P*WA~vf9^~&} zFgD(b+3QGF>j9i+#%;Vkr%jT@nfbZOyv4t}LRtbj^;C&4-fRyStg}2DPVhdDD7|#h3Xu@7IUo*h*M2Gj%FFjX;pW zUQz5t>P(twU`mWuY`t}v%5A<172 zvuJ;U;X!Lnt;z#I#=wF&6Hbg{WmsIB=gi#W5*CVVzgMA$<}DJXslsN7LVi2&Z=*0~ z7veUqXpE$Mw#vVL{|b32F4AjlsH+6O75)`LyX$6?#0|=( zZJv<08wte$glSnU^0)sB?yMeM>HyQ<_IiDE;0jsWyie z4v46AL&-m-{w<^0hVcD+qFxf(Td1^x zUKZijlpe|qcxC?E9WCJ{^SyH@tQy2qN7kr$$DfIoArU}TNyq%*KO(#KbEx1iVR~21 z9!XQ^9X;GA@Sgr0(judlzwm^|TYC$pXU#k!Ik75)S+)|(#InDG3h_{yLQZB)BW>Rm zWFg6Q6NVr^&0RiR$`2urcILiqVbP}bwWSpJI8%1?7nU8(h|+YsmX`ROjx(**eKC=M zd3EFadJPrzC6w`%Jv#5wVEW}STb%LD(t(J}rvSf3 zT|O{zLg{OqQ+`QamgW7rV!{063uCGSxeP1;CtM27iLYssVcE4Eh}T2Uf5!M!4(QKF zwjWdQ>zldfhxBdB)#F-;vM+qCc*a}K2Yy{K+utNjuiQ}m#bHyg9#gr8eNSca0nYEC z>#?)(cPhD(iL@S<74}Ep^YT4977}8a8y}U2I1Kvdk2T5)ny;QvnJN>r>D8&iAx^Dn zN>2;?g;z0i5N~-p(xDPkP2{*)mhDp*^XoL`Yo9%ys1Bc-ce+)EvO6<+w??d74G?wY(Yst~T?6x41s>g0G-VjT}#^Vw9c{%-ys$#FB5_ATh( zL0y|u5jo;=%*S&x6ZrvFK+C*dd`%jM*Npj)^PQ7o!`x#Me?nLeF{QW}S;oUe>Zg_X zlP$ARyGG>R4Zso-ad%)x#_J6dayTBlFoPe!Z2lGOt^2T7HAuemThk`V$sX*z2j(&C zxxa>WH4x2_jwzB6YVFZ0N?`iHtR)v;hegeJx$+j^+MFMo=NmtIYP^*Av z=)kJ!`6`5dJ)1HHiW~0@=MAqlJzO($nH!<(m1^iY-1>WuQ)e7_mogq3l!;%GZ1gJ- zKqcKZbq$YXmLblLX(x@v^}>~BYU^bfU$QM9cVJ$0NiHQW(_;_4pXc(~>)N(5tx!i2 z_pw+`OXWDNoYp60nKhVdYO}0UR}(%@2xb&CC2k@w&83M2+x@y& zD|W;@$`}7rQ6o_kWS`E!hyQFE`ai}E?ZCEG|L4}s=T%bFX0~)OXIbkS(Be=Y$v99# zEoy13LLA84=EpJC&-rJ9ppRnut3aIh9n2NmNI<3$)3|mQdQV^Tm7!*1Ui=&V^ktKL z!dxHh5$+VwSXlS>mao2N^cm2_-H^DF2q0!g#ax*K`2}sOGvR}cY#ee{Q7P9+pD6mH zEpQ7rq?Cjri-s%`&@7#w`VyPfFU~LF{EL!4v72{%vK`e?k*G3nCLWf|mQT1{*t0kN z63u7v#9`tr5z$6{Y=V4mxJ!rmpen>B6Ns6I{Secaz|$wL_2;Jh?7%F9OuryyvmH%- zZRcf<_WUJeV;jqJqU6OSHXioR>~TA%nTJHvmh45mZq`0(e#T_p(5UkI+K0F|{pUsV zx)rVYMB&fq!nij7XGi9eDIbRV4k2evXIEY^q)6!>eGm8>*^n^&ie*LWsSk`Q*jzS0 zi^tB5O2EBj{pAX^{s)y|d4G9Tn^-Yt-8$|IUy(*1LQc5C{5L;Edp5fl{8xrM4W>dp z%@SK3?SBH%69pXw=0J2TDAiN*lqZ|B9I0>&o>|H1Y?@FlObqAmr zcMbCG5bbjt%G`lmHz3yz)pm=dM@p3U4nXe`BOdeJg!1{Gb&pbEjvG|#4M=|z{%#Wl zYuJImSb7CgW0|{D>J4haE|h^a-lBN?cZ*too$hs2_M$Y6d!f1u?br+zwsplyBR-rM# z-rSQMyVNqA3D>E|yM#y1#W}7^jU^g^3dvP$6PB(+O2+VY8c9rloksm0Vd0j{lRNO= zHOhC7dQ_pgat+GB+&8Ibe8av+GwmjgB#z>3Q>K#3)Wf?pPw!AZE}2L2HjUB^N?j!^ zRH>g;s`)z2TP(Lq7`h~_K2aLN$@pq^#Rhc^_+UQC&c6Tpa z-}%FR?IX{}xSrD1aV*{mm7rIi`!V7~ZQMO)Cd;J@uCeDQx5bvcKE z7ytXKWP92F%CvvnpndButzX`OuG2oYE3=|R`{xd=vAeQw-J$u$E4xfP-EFZ_QI?f+ z2TC$8{(<{{gEkYKU=^z7I&E;*Ws|xI@LejpOdCj*hK;w(n}mkzvJ7uf33n+k8_>8x z>8?@JOR`PhqzTFsvrLV-ZOniDU(S~Q&z>##eM4sO1q-X-k<$rgcst8$^4R%NwUB%a zw2X2#;+%Zk(($}Lj8pN`w^!$z{_CFkvTSQ*dvFQGoxy(ffVf#FA{Zf@)xIxRewCoi zR8Y%&>&m+-<)kE4%q5p{Q2{?NhQf5^`BznMeGdFZmzT|GxX)iiDOn zKI04LfNJ-1Pz^_Xif>WpRjLh3=0j#Ee7FaORRJ=Q@6$tQLTyCzkD>C^ec`;` z7cMJKvKqaXm@6IOWK2oU$y}++6c^_3!*#2**^To z){PMzDV?&;wg`7V;S*z^Y6w0x>suaX_Ppi~7pjU7JC$#TaPO`7`2&&N>XY5GvRL|K zcIN|nqN~CQQgo)MfO0-oC&U8sDpsmgH`~I6v+J#WnIzagdWN`z;-pR$f@Oo8ZO}Nq zE-Uk8(ezTuqBxhH!`v2I_b)E0JI>*#1G9a8{c%o|Y6&gB;a#JSTj7hpS5X5^uw{vC zUj(dJ%)p7~#IFrVLM1{}&giJ}tG_Cui%vvo|J{+zGo{lO zSHV6NJ0cqCKCP4U3)wWk5iI`Ju(jl4X@cUoSoX#*ci*TiPh9Ty+H$`T>O^mTe3+`d z2vYe@2E`dvFb5a+IBeUdmm7BrKAw+cudyreXRfwlRR13rSA2dEuYzd5%vVM7S_HrN zzy2Iu`szpN)VVX~$q$<&+={|k^5Xye^DMZRTW&8o5AGFho$i9>o7p-RM)88#FU<;x z!Ci(*Ry`cwWoCJg@p7vf?Mr<<7qOEh?=Y3_WNt25^*XI ztKD$6l~@w0Kx*|4t4hXQ*)(H8)TVtnR62)@x_sEp<-lQlN_9WSTjcwEE38;Db=!v2 zI=i*{_a@HgPl2GWqm9GYKI1xOIyhCq!&!mFKqsGa-QKcQNaH>c#rL77+J;*;bd?BX z4BZfuFn)ckAIt0Pk5=Eu7vYdn9d`m^Rs}}#qC?y+zAlVushm*Tm`9~Fh$FI9a6?A) zgU>~&bQp{nhs+0C=frNzirVP77(aSj9~LiLp9^`J=1nw8bS>dAlRjcj|Z)SDJ=xYDoC4 zhMes-#asM%??K+|7?p0uI_h#ArqGqHaJVG=_5rQ&sSkS#2}8b+YZ<%L8;$Q+{*+22{aMjkechcqALQ4T7yI;2H-F6FkH4PG$DfjApt4!N z2Yv=PQL(d@+_*UPHO5IHUyOI*VlMm4JL(cTHb;h~xMyNz*?hEVShWv(iFeYHO~)L> z`!q+GVW8&sVUsX6~bpD`3g*Q`vRugP8OD41i37Gsa?_Z|sjTVe>^&)NpT3!t8 z3#x7&uN|^)e9OPFwMCW;tuJ=r#^(8bcS5^{A3x07s;ud;(cT)z zOuaOINN0xJmzFW+bG95G56X@1-yi-zaeFpp5r{__S2yT8rr3(k3-GIsaAw`q3I$(z}FX7T>>QOGk^4z#`m zK8@}@%z$XU3toSX_B_4Vnv%K_bTwt=MB z?MI&$Ha%tLPf1D`jRZK83t7}Fzvbq4m)q!Y1bZ|N7f&Y~rx24qwl;oH-)_B3-+oX{ z*I%ZlpM3lSYrFj?>(}}XgzJyfLJc=3;yFXYd(N&Fy$-uROZ-JL&KO*dbr zrjIV(V$H`zt=W&a!}_5q8|PG6)tL42$>i*ot^2;EogT^MbjxnM_svG40z@I*gf!s} zlyn}|SfR30<6FBZFmC^gS1%v)R&!@;jWiz6HdBi(**+D_oZH8Av-l6MUh$uGp}qL~ zA37%SB|N5y^S6gWKcR#3+ffeq!1*+nnjK&LkQ&S_<+Be2iYD2XUf*zip~i^L3wk4a z@gILkrGMVJ@ee4(;0w%cUC?DG4FdGSv_v{IfWF{)!xfjnK9 zcfN=7B(HrQP>V1A-5;m9`6-!i++~{gk3UZHifQZ1H1gsm{@Xtv1}|(}w9?LR2k!!} zv=^6tXe}n3h_6z_A9W(yjewUtF8=(M5N-tj>Bs5NpX<2zr$5ekl%svD{3GpS|M=rH z_m8)-#-qJJcY$&3H+LmTpETB3W}vQBP%bsSHOzLKF0a$IqG0X#J9D)>HJWfis~uwCkr zGqe`s!56w9;oYlVD!_Z!Uv>r`;hv*|_r;y;odj$U^>@#-tF~rSU9WcYE5p7cD^OyQ zn35-G@*azC9n1E#Z&*PH+VoAl*M}*YC(db$c6k^czZrj4MZvni1LLfE0CN$$b4cA| zFMD?l`vZ2yuVUm1%6=Q#o@CSQzEltX=AV9x99yeax9TXPQ^gQ#dvdUb&KLB}2z#I| zu0wy|8@W~^ncLiK^mqGDTQ za+F3~-%)0j^J$_cq;+H2_(_Re4##`nd9`1r7ok+q#%ru^XI}izPQr68*gmh}f4UvF z7w@>$nwc6^&E?%i=SN5lS50hJTy276p1ddiUMG`1w~g7t=YABa`_8bRH2fME)?il+ z`KuC#Qn4&=yj37=>0A_V{62OT?0Z+3cz9w>6GyJ3lm!gKNF9uc=WPmh^<@- zv{wCduKTx6xn8G-U+0#sH7}RV2fp?(v?t9P2pgYokzJCD+M-gC>#?w;QxW^_+eL-gp;t&7Zq^0-(QcU0^z9E*5XZ-t&D@ed_VnF`=2Ku8F>a zOWCW9gP!YX3yE6Wi_75`J~id(@7sycn$oo=w54It#hH--&kBl4HV}a?~D|)t$_(qoz6gUW>iDL876kV614TcY2tW? z($v2pbxyxLGFbeFD?28YZ7cmR2tgIvAFtbadk$fzt`&4@``k`lf9Xzu zIrt&HKECiON{3_Wd*2Ls7tf8le9;GI-TP7^5k~ZYvT0atF0A8zSj+6y%4Mm1Htyjo z*RHE?TkCtSB8bjOeQKPc624@_IORI)Ry$ltUKTF#Z6)Ja>T!hM|CM1;WAjk!EfpMW zFV`CL4l6m$h&;CTao%VUp@57y^Rtd=h%*S^y#0Nv))=Z6Iky+YVfipr$U-t$6}~cn z4#+~bE7e?S(@x7bjT2~}tGz>fcjU$+$>T%OoeQcXh3$wHnSyq`t|geahO`BFN>xo) z`i~;we8b^AyebckQwa*$C+Mi-jL4v{uTRK*n)xQ2DaAIcr}(`k;{8KWL0}aFry{;i8GhrQ z6C(SK)kAXS;$HocJqh%i4yrfYK4)H69S-x;CK^AyazL|wDl^Tz$?BoJ`plLyClv4I z@tX!<=b+e-gCnyUswMi2CFeqFB#xy#21=pI>H2cLoL{014R_UXE3=4$jJDsAZewmR zbBbql2I=FN&!8F>o?`dS#`dNuF6DmV83EMuhcRC$#;qyG*hh?oY0h8MSJxP83fEcL zGa6-*O_^m*L@`X^3tT##ozQ7n$Pr>E>X~6vjvH%7r|6XcM&}p#2jN+eKQ^+;tY5rb zn_F?-kp3zf$xShX`7$+z-ZIR#GkOzKd~0gFfi*hAo0rN{R%UkFgpcT(-e@5m;osUK zTIj|D87E$um#TN~#LM#o>aO*TUs722OX2$)zH9l0OJ6GgjnF{QrLa(7yz{y-?;`ZB zD0H(a05nT)-n(w$*Nju`hM2GTSw!9P+&9Hqxrn8|wkInyB7yGtszq&n#oXWUJ>!-0 zKUMm`x0M#3|30gQ9~(xN7Ge<)XO)ntifguBHeHSX%$3lD8&Y2^go$SJm~qBj>w$61 zv6tve$(7d<*h`i$Q*5Z&0G)T3YeqB>JFs&lDgJq-sBJ0Vc5O%vC^6dfA_)7`|q4{sd2Yz~Y?t6p)gaL3yCoz6eU zd((Lx(*-}$edB$c+s=fNKZYh}Qb2czm<{W<*BtAN+$B-pkT2<66UOub&eT+B8Ry+g z?;|0_M>1DGV_f~e?7a(YT*s9tSl#?}^V1?*(O7yR?RFeTQf&QA>tibpO;R$)`dO4B zYivJ-q9}=DQl$8?#Tf@_{**9|kTDX!iSc5*7%#>=V{J@=iLnmW0b;-boP`Z!fXssj z>i~Y33D&_*fCR_@GrJCU&!^6|#ary>;)cI(4e*)TvXaPMzu@#W&+Q ztp0pD+senf zU+Z5W_Dw@UY{rR~Pt<;yb6fx{M@rBD&%qI@mhTTHPs#ORkK1ZzYOY&>z782Bk@v_sJba8|876upK|C!j0A+f)cPT1`@5a3Sun&9zI6fLU zohJXv+=I|XS0DXhzgJ%p8tGT!yqB%-PDC_H#=tPnU8~@KG3f2~mUDMoKQEcQm^^!S z(HI>L!qqh#$;xMP8&#O`J9DTZ53Ph|8&>&IsWPV_*xQb2hz9^iR8IvbCWK<2vSY)< z9S?R9gHzQZjfQ9S;0XfiCVA5nB2P}qR&2a}tcvecR+-@{nQ$tXw~C#k9m1%KLOMD^ zr;nb7jF0KBhPu!+?*tX{5I}xd*%l8`JA`l_aQhL>C^n!2dvv5cN;6_zopZG;V^RVl ze3}NyQIA^3O&&DbCrzV`XsIi3fV8exTgU6TH-()lvZhD1A&jF$evd=r^5Hj*E2ZM! zR@zZZvmIlaAIESCgwQo&v~G^Jiym>~Gac^Q>#;~7s?8!@_o4!JYtpi)S^Jn$S5!ji z<66E`;^TD68@8omUx7KqK>t%BYg#$%m+5a;UADcgzM= zH4_wmJM|2g1TA;a#czrYVJ$myH7v*K;<#0`5~O@xuQV!A-V!EIM&xgkBl1Vl+rL~{ z#g%d@RA~irg}qZtaytBRk9}K{mPPF~u3TJZdqguu-lxFuEUo$m*Ka4k8-e`gLGuM=HwO`8DbNCz}*OZ(Y>tHBvDGC?* zl+N{j%C(o=okStx$rP&iYrCLfljM)LsE2D?)COFOR+r)%He4n-y2^F(!_?+t;l`xg zuG;w+Gv&(iI;o6#bNL)y8Xi<~I2>ZY^Cs6a!Qfy<0DeG$ze#sfl+iWIQ77D!Z>2xg z^k={ajw;n+{KKyM@{4*p#}lxDSsM3{MkDC!|M7axsG_Z^ z-Hk11rJ+ZO2JFo$E53q(k%rMswjp^)o5t}%h4CGQP_70Lt3vm_9-1y3kGS4DtI%)f z=^$*jnja#?(NQ`ePc`YH-BAio51r?HLQhLn6AuC^%V~EjwOLG%{9dyTXrofK&eR_o zyr}8$WTbRm)nrktxG3X*y(za}*^W1uXrp_bT=HfT2s;F0M9h&dqAL-bIc(+>4#}?X zRNF^cbb2>HW_#i6!+tZdlyU%&t4s;kri&z^go_HbsTNgSt{&6_ir2ek)nzqxe50~D zmNRsti$pc4-v?_~DGG~b_E$#}*jXHKEVIIzA*m8Bj;~t8szL@qsg!Z5bCR}(l4BE< zfjH+Vvvb(oNG0WsqnEPIb$UxNL9_WEoow?W4Qgh3=~(tJP^e$2{mEdU0|D;Tf&0Nb zl9y1OWgDdO{s1bj>0PDp7aM6)4#0c=IlW+YPT|p%GQ42;Fudy_rwaW9`bYx? zbya-Tl_KOk&mNjU`cDlPWc^!9F)XgeO~V_blkf@9vLzPZx&|h8T+HW^;yr-3B7YNy zj#sp9+qF%1>0Jj1;V;1*`8;W@2J0gVPQ2)AVwk_3djgba4<=2jcP4}Yfpkr{@0aP0D`wq5_Grn z7>(lQace@MN-BP{I>f?9+q=hUSBsq9!dm>sA4_d%godiaCq6%;ZrUDf z8LGU4#KSMUW$2N(w1Rg$&y1I!Z)MoMrC=xRFkh*rLRI89& zNgDP0MB|#Mqa9Xk&oF6WX#1ox%W!6GWIEt2i3rP=g}W3k{#%%{j4Roai&e5MLK1d^ zXr0KHtHpz7OTLP=o31PeNJM_V{OyGgnO@mBU$WBJQz|yDN+kP~%XZa;|5CMBu$I_vXZ{!?vFE;89XmpU5UkloK>F!)i^q0&6!!bVwqH|FLdss z)#h$oqX>^P`Hni0ob>Pix)xcvP5`mU?1S3Gh{_v2nM;uT@me71u9bwH)sLvK^O)#t z{Z3WTTF_Z5haSBqF|bNnI$%+(aDSU`N3GDO=#A_ll*;?Nk1BiS^;kV~$~Gu+O-PMd zMObRGTfFLFr!thw@}6pB>q?P09+(Iw*}Ptwnft0l79Lq~a*m8#SXVu$jbQponKD31 zgFdSzEx~SlwfVBb<{Xsv5d5*<$7AGI$dlXE%5xhD)NZWTt8j=LcZEgV#Ez{pV=)f1 zEu%8hj5@AWd*s|)HU%>3C9@dsx(Yp@)K*dZpi=0ZUNt(W%YRO{DE`#e@Hb8&>8+R# zl`hNu!B8dJgHDn`%tO}jX;jDPs-|*?r^-PrGyJ;{ZSExs5#MItuo+Oe+y8B4neqX( zZj;%lglA7akypm0@NucgE~1l17vWU#XSGF`r)qpI^sHWQGm}BFMU+$JOHbg!Cp?FX z&PCZB)cucYTa@UISXrj#{Zt36qL>|bQpDXMLq;F!djiz|x3y>mGm>&m`<09Ksqr$i zN=kC3*zr^0RPoofFPsq)w8Epov$aL1)WF2Y(GF__MHm<- zh+(u=YKzv%->Q)*fZnZQPv1Xhslwp<2XT zy-iZ&%=_dhR@e^>iie0kqMR@uJ+b>uidq@%fFCu{xrM#3+o-I*8|aCcdYe*3C%5XLe&XY~**)^g^@0f6a$vV3$Y;7)y%-kvYGJdIatr!}%s zRam%E+@%1oBB5tBIO7nj{<2y^kK3?nh~Hge=NOEqkn&4wlXI=27RU9qk885*t%@y+tp)VSe1R$XV&iv#+lQCajM;V`X7W;bCx_N{VjZ;0e5>JJm@bC7a^t^DDO1n8uY`lzy%A> zDrBN<9W~H^ZKOtO1RHm(#+9=o*j<#JR@^UQ*6FXVowe0F@-a#Y<@F8(ns7_h5X zKC6Va{A!mkEwXqsd?(3G>c=e!+Vb76jL-GT(_$??K-jB;m8RuAQX|wd>b}ZSiw}Kq zby;cd+@D5igUndPD{mg=r7CGX0{l1#k_t-4HY@2mcFDSp8*jbkx>_qpMsAUvFVos2XhhiuNTo`SC9$%? z9i>xYk7S2&BV|S_lw$e_yJ5u>-yzPSWM9TqhZJv#n4mR|SW0=QHgN7#GJQ{#q+?qu z8&so?ivSOHXKM%RPPbjVNvgVCtGdmXODK+)Qfw(X zVTm584IFQ|yt0W6`w(dwroFXST2hS0x11+!E!VrtOIybEVZUOxQFKUvm%hZ=gTGCV zkVNu0=}g4>!sbeq_779eUb3UP;+)l2rbWDvOU;iGLvCU{fx6?AGR|Nyo$atUMn|2H$93n)cU-w=PP-DJRi*DXF;lQDjp}RKSzQU--C@FyC0Sgj(5aN>=B# z$Bab=Lwk0X6rUte%}lKVs9t@Af!b@Ck4IrbdT+0`)ARZ5Hm{C>=Imu3J9;aUxK*OL`}XHg;FMqKkjB z5KhM=Fl(kG-qXj!sX|j2?*!dVBOT}@mC!p7cokd*${{_#dod`J))=UI^7RVvcG_{r z8L0=t=5i3&+mm{%bUZdOb}bTcI?Y1Qtg=neJy>|vQU*FM^z&+}?1m^=E4P=1b`rjU zAaguPtO}T38F)sZOgIr4uPwZCjHHZ^QOoT7Yy*(+&TxD0fmOM!7mb{~3C|26>uLv0^_I`AO!+A{s zfJK=(f6FgW}G2wk{PG3_%+G4CggvZCyDyPoxCf1yx?JHX21k%lB|NDskaGf}f=G^>i;YsmNqUo!Q zTbR`o4$%>(UL1`suT&l&p?NtPuRla}%e*RUj)L-XG%u%Sh-{_LzM^y;c~`)2*8@9L z$JIp4lMY`kxdv5@cB=HMRyCR_|0Kp(TU4qGN)1sw;tg8UJbvGgC94Zu?3}Zy0E=sUS#LEJ%-zwRfjUEy?r@O zLKJJtk`SM)L?6yylhtS$MM&9vZQ871zGbw%wobj8T(`%_Smm_tRpvFDTrXe4IxMrI z71rEWS+?S{l_~eD$;LH=kf+_A!tW8Zyi5P(wbkYE+a5EeE3KPO1hGcL`gzMatTUIr2QvBX~6fqw0#zWyVV9*ADZlN;DV0&cSWl z(vTVMSU{(xAtSzHO1xzUalN{DW2NP%37h);R*BP^8XSGN*D6tBqK*Z}1Y=i+y4>lQ zrTr;oj^(lYfK6!z()O4dl)NJr8BgjGNfdCu7AgtDXSbjo zQE8Cfy9url)1IQE(rmpiq9nHfv$kPX1&HMZY9B}!XD!lkz9df z$kQ+VR(|Eu`2{jzX;OopbnCbm2!~KR&?m+vXC76uZ?EH87bRkxK0zN%HuDSQc|zw6k(*oE*?Y0-g$9ld6$qXyb1?DbXWCRb$JqO z^6=+aq7+`ur9H6<_dQ#d61cLgdChJ6*j_s1(70K8rc!!M`ASW}0!veGN;HKs=kCU& z?7$M(%RPRbqMTfB!#S#sD0aK+YF46?&S@L|`kCmmxtHs%E>G|ByjRv(T|TEFhk=-d z|J6a}mU8g-il!zP16}jm_3We5X>Vr&m`BY8m$E8Ma3>? z{3foIK=P@el8vUL!9+necd6pvR@%XF@9HIWMWe(+?M#g3%*R~I4P2sejA6S;CWT>T z#YctOjY?6Ird$(r9%GL_gIW{kP7~rzV{&~0n-knF(Obq5&*)5bi@%`h0REVgQ!i(< zAHRZLl|D}?rt@wOt$5(NW|F_GhZnUC z>nU;U}#0zpBl&7cn+?dQ-^2c7L=Ss9Q8=HU8!5c&f`u(OZ33~ajF4` zag)LCehWLb$u6h!rAKOSOxcd;q!o7oR{PWrxbKJ1jz|qco*PV_D3;7JrSv|o;f|Ay zgAtmC^t&+)D9oyC`6_}z+`KjAsNou6Wm3UYj)?vE=CHAP2gKrCgCp@lf^X6_<&@MtolsO=mC#5q)L}-SdnwHJO zLwcHeNy%yAW_3Kidk!h~ksNlbAWh*rRz8JCyyEeXr|1YvaXcvYv_l%{3mSa*us;#F zMF5a?GY(DdZ@cuj0V>!;z@u=%>J>p^&_W^3(c^@kbrmcrQ5=#PCw~~94>o2-!rBcy zCh3flQyNW6PXry?g@6Yn+v&++`LwCDB=`<1V^mZ*#`kIZwN-r#+IqC3 zN^*t>Pd1J{BsNUJ6~D|V*?_OIJxbSKOHa^AG2Bng6>FncS=hJrJGt~bx%8V{vi$+7ptZdB_h?Y=$E|XYIprRw5?`U~H7fT+sN9o;`xKYEZ8|9T zMe1Fq7G`uU%!X=VQkQ;M-zRk~Oqg2eFj(W+$>T&*9PcuvK)S^G(Hi2m%Ty<0B=X`| zHKlopYB^zrCzPB=s9Km)PgCkANp{4sn#VuH{}S~Do(M8`5+}oI-4IC>7X`O0Pl%?7 z+9fmwMnbEb(M^(KV#ub8U=LALn#jcUNfgi|x#A z;rR|Q8zyKBA12Df`z+mgo18QZ4pC!!82 z1JMN634Z+x>OGU1s-}r5#t6e{P0?~nEB5(O>ZOPm%ONvVvs@p@4Y2ex#7hFn0Lo^@ zq(M^r=sw&wZ9iqtDkGz5zTIMv2qUyEGD)Fv4z;neLEirb9l7%7fD?xPoJxp}yOB?f z5hd{)h{g_}Dia=qyOyk4rmXNZ)PsZ(4-?0P&zo@D1?sb`lu&Jb&J(xfc+ghUmNYkI zKhYRWlH#p9NuonJ4yWXMVVb_5deJb|3Glj(TVdXZXC8kR<}usVIhAVrjFPsw2eA8$ z;`V`X_A|t>A=L00bsNaw{O%IJtAkc;x*c-c38`3OMCZ)v7Cvi7<^e{MXDy-XmRXB& zV{V_0#G9rjXuLItX{b#+`(~m-#5>*TEVy&51&FVST{fdt? zx)Q*a?O5u#QEZJ-KO0r{>Pk31AKJ|v$DFD>qWDArG!XL5qD=}j)1%mXWox*cIE4^L zv_v8bI-bqih97E2@?7pw=Fq=uG=G&@SeX^h+rtVITn|7UykiiR4dQ2yL5w5t7ge z%&eG?$dm(`@Zi5KK>u5T);R}zUfpZKS3{LzfUR2*7Jpejhasy!xVaT{{~M$EFQ%_3 z?@?dgZf-TI>jW)1rR-y}*0K)WoYtZaOO?#VrJ|h9me0wUV^#!twzB#&XO*m~=7!7X zdV%E1RnXm;WUV7(QDV5`<>87!v3+(+mF+WENp5yatvctMWJEZoJl_l<6vYV^?+M1 z+c;$B!*B55m!m*Q0|4Ve(Rj}v+@k&?bfQNA0bT)NcJ?^DIj^3g_t;gZt>?>t3Qmd4 zn_)m^r}d1;^SRFEot)un!({`SF?!d5y-fdO)mCVhK zh3_%6HOAD#T_YD$3D-y`c^9_#YF7ZuYsBa7GjP{kJutl9rd$}zl17!i%9hL_pqO(c zf>6>|ba|W&8!Xk`dC^T<&U)*Q{TUx|>dlb(Lu-W_r-RyN};3opj}i1DfjQUcFNytALrbSmpjy6xUz;`zCl-fj2CieQ%+peuq^ zW>Yw?f{Wj{wShfXP5qYHPVK^eL_M}9xDV_7mTQ5#z^(%Kp(OBKAAD<30^2`dh49O4 z7H0Uy^W9oNH#SfeLiZZ3hM|w@iA?QjQhXAwO`WV|Z*{HsYF{(6)zx~UnwhP(-V@c# zZ1vPw;kZ`TBcj)c_=FyNdcFLxEX6&6% zWgC^m)b`d>yVi0~P^%EK*Q0@f95*tpt{zw&vy03hYYlY|+1Az?D%&B~u4V@{|E{8D z%fO8r8&(JRboFhP2yPXvmI!VY?N*W+2CL;@C3|ow34FDXT+oY(jl*L!pkB%}?Z%oSV}zcR zf4lvQ{ruR=iD7zVUSL7>dQx(so+PO`F+{JvlS>+=`cX|w5g6WHSQ^H8!iJYOWJ$~e z+1q{$S?Jx1Q3;B)($}H3DKVPHv#1o~yUA`luQu76?t;V1yy;5z?Zji$3~LW%KA zcA07(bs;t)R9i-9v;h5|+)qetrD}9)KsciUV=j>14<2cMH zncjO)*70EDSIM+qCk8I=o>bmd9j5MzM(YyeYsF)A2_947NFC#dB20^=r8bu;ON~qM zH8znTpHlLC={igV-K!rhU#p2=do_%PbCj#!2oLejf0M`$W$^Smd09PN8S^JYW4tc{>TCiN>+WlXce*8v032LR`B*=uS=}|@ZGlSaDjSbguGl_T-^*K-pn-PgM zigARcP0F%p#72H4TMjAIw9*;FJ@#&OhIGjqPh6h__J}GT40xLgJKRZf?vQO%Ro#k# ztU}ZRmeDg+1gqp(9i?E2>>l>W;K{>#aH3f=Fg_Y;l3U5O1ldGTVJ(%^MB?nHU&~7s zL9LL+%C4N1wb`f$TB0?1V`m|nm|EvxEEcNBp^S@ppWQ+gxp*B+m9t)0tJ1hO3{~V( z#<(@w#J7}%>Gqbka2Rby3| zM^f^l5t+EYPWLCKb+m#4TMkE9+B#YM6W0C%8{wz;Fx&o$5@n|N_O1qVEwt6 zBUi!-hlJ1*DI5~QN~Cb`!CE_o!zy#DNa2vMmMT;@B!rsa_+cAf=xC%0X|`-1xb0pw zpm&*$69o2R9!dS0lAbjhO%H)hbC5`AF0%Ns;+R_2jiCL!)*v}(gii5fsF@a!7vq5Y!~^&a+9g41|}Ml3AQHgN4uzol$>K@59qc9J*w=cgYV%S zY{Vru;}%=aP&cePwWBw%!Dg5TLQU^B9ePMGxwDXCs=EgG9Os4{2tls4`C>}oQ!o@pPcL#EW{Q(_CL=77ajd*uHC7f6l2z+7ODDKCBChx!iG%c+m*ImuNLw4k_&p+yp{mx zZQ(KMIQDGz^gn4a-7DH$oVOCmdq4E;^rxHnoUbXLBs{Muzt35L&g1QD&=$VDR8N$I zTwmUYLd4grTraw+_+NZgdO-0JVz%?ja_*oD%A8B*J15ZeTygL^N;ymfW04Q0I_|4N z?uo#<87`@X)m3xWXL|O?S-+aV|d@4Hy}3=O0nLRmq%mri!mfCjYNE zm~GgwnkycL+FKC=opP91z(Q^-PbuY&Zyi*!|Kzqv<6)!l_%Ut?C(LerP)8lEU>2sU z%Aw6pr@HVkA%WQkP;9rqs`#`y1HzS9?Ck80i`D3>u0sL6Z;K#%Sq%j=9M9olI`#3R z@Rbvq=ERsHm#(r~Nju@A|i2I1L3 z)xGN`AG`xl!~XYGVO{*sJ~1<1_c^5n5ji(Ngw1g^75~9uQ{pg!*A@dNU)vJ z4A-tQU!JZ69uGI5s9W4xI|=chP=z3_>UUvOOSg$9>r+m4AKCcxpueiB8ilS_3ad2B zPr&eZRhpyPn~d#8rvJln#OgBSRgvwsBsm166+`59Y;`6H#A*f+1L+Appb5LF65?r_ z4tgVXRBiWr`s3k|e5C8+s-Rgvjgx2n#K!W$pgu4O^;vx6r@ioSf#6?Jn*+Usc&EVX zNfp0YO65>aqbLH3=y-e;=09(6fQrT^F7h~Ls!Xltv!q0;Q_5WTzv-b%t3_b|IxnM3X9MQKBVEU~3au3yz4W~dk&Z+2GmOdUoq>Lqz zZN$O~uh{^LVY<)gw8J_t^@zc<*BhhYoVevLPl4)*>u)OPo2vLsT*ZED>d)ej%F*>7 zt(vmNYH-3VQYs77SGT8Mi2A$Gmu* z3b0UzkLs9yhBA_r+#IYyPrJrXAbxG7Q1$ITyJ%WzNcVZ#gY zAr#c^0Aue8MwPEJ9*FV37N=!)hts&ZZef+0<|MgL4tJE&EuU1p?t`&+L#u{G19#h; z_*n8WRiKH{un-zvMK;uA$EsrexYxi6=O}AhU$9Cc>e3O5{isL6X=}Kc^PrFNhC}uz z;kEi0@5Z;dJ)A8e4eQ0jAj5fyU~<0}Opa3BUM3uo_U-kx|Kh92KcYp@*m;I;joxBV zTT54)RR#C3otvw@v=6505nk zGY)s@k9LkL#7&Gq=605$$V8TmoqSER8kM#bE~*8P{%Qm-TWlt&us5zRCCA8G3Mto% zKJulI9hFsf>U31NuYt@IIc)wewND>Gf44FR)8oU}jVcO~v|9rHd)7Wn<0dT}8(pM)g zFe&)7>8S^6my0UC;-7{5k%}k@6(eN?mdBF{EH-IWNfKUP$6`TRzV2O~Zz*OHagvG! zmY&j36O8f4li*be^Z%Rb2=pT#3hpUabtQ&{(Wp6-JDocXscK>le8#Um3U}x5xE`$~ z7ZY`#&mfDh(U$Q{5pU_Yu;S7>!qKp)gSE2@e6irkx)O!kN26%_)moz|K3#Yt1?sV7 z2LjSPYkb4Iad@>lJfv#9E3d1@pCuRlReX%$K&`xSXn8wVVePoegW%<4}UQAV{{KlX-KPN z7#(KbnCv69O4{JVfGq;TZylYJua^Fp6%hVbjfil?=aLreBNqfZ!fm38UkUeGdkdQ{ zYaXranfJIpNMJNzTxK=RUuV3bV1~H)F!dVTGaN?lBPC*7BZ^~uf|%5-(X}utekOt2 zTt;bPC_>YeW;?^gxecF}G1j;8riYw$J83#9KlRCYkxdm}KuhsUB+B~s-F=v5 zLW>?}WQCpifGi#HRB#TaY2p3kcJA8~-~#+JTmaXQ-bDR^)!N*{#z>_jm1)ih5!wlF zw+oBnaXImR7PaR=h_PLB1Xoct5kR-85Qc-zc4?TMiSh##RQz=shw@VG7N4-Dt#>$i z>y^St75_S17~h6VJ24A2oZLU`)S`XW;c%{kbcL;2d^#MtRL$}6iWe-_=C-bU?bqYi zc7S#qs%#LhN8oK4iL;4esatp?3j@1ZcIWd=h>K;a-k?PuC?YiZ3$Whf^8$EZjCl3 z=dxY*6xDD6SL@Hj#oI>BegL{P|80Y+JqlM8_s&7Smmxe3f7?j#+eTQTOv&T|`j z?LqVMd=x8dh#+IiCj*rU3mKDIaPzN1@myh=`UBDGL=ra1SlM_pMaQjg_3BY2+-{9A z-5*f$NJRygT2+`(mA|^iG&f}XrX!Fua>4_&Xopj}M>J1-Oe^1zGg92mK8}c%fe%2; zaazm3PM#{myLjS^D>M%Ut_qS?V2P6KDA#OmW2xKZEWi@{a5l+oE82&pnJ2Wcc$E6S z$&WcQYb$I^NnMiBavgkF)5(;lF6?~zB3;^5CaRIu zuV!re*a~dWj25_b-#8JZJVojF>lS6)+Zx!s@k^wC?zL(tNk1t~OIv73g4KbAz*d+0 z#a24mvQ!Cr1K8nh2Etj?O?)EfqdMiI+P#um#}+x8>xDUejsn4lnJcV95EL;;VY{lqQiWNI$H?GGsyPm7-D$oA3@h(htMfMkF+;b(ubRczi3V0*}|W zZPex+ij5B#lO5{wq5QW|{;9TRb(_}9!a$J4r`yQk#iNiO!+2Ml`DqJK*u6yfNPSq= z&%yT#>JA`ziZ>e8xcl28yi&mHgv@Y^pgN+&n4ArzIo`w2rH=&%?o<q};@mH>1QzMd~%xA}v&)`sBKU@c1bj=b3e~%d*Q(u4B5~ zepaz1qCFJVkr=T|C|PU*{MOmjQJ_{l&3LRk1~{Ff198scbDL>%jK_4uDfqq03M`eC zw5rX9qKZF=Z(NrEv72mGQZ1YHGiNGKHtL&$6sN5iQpKBzolNN%QjE=!stq$E7=f~a zq1tO}r`eOd>F_QbA$yuY+*2x@u|RSm=(M*QG8CAy*2hypQLvf!b_$BIX()I%=n!yJ zjI%f94C<2yCM}qQ%C!qqXJlYN>0yRO;X4%{l+GjR4pPcojJ*AGs^?3Q_mj-vCRi`+ z+FbgL1C!dz8coY2X=`VKv2!~yv3@!z9%-up_eT|SGCxh*RMSfz&xd?VP1QqE#ces8rju5=ig># zHqi;R&ALteJ7CSW&ZK2x_cBQ^t_kII*)~KdB}L&NwA^PjL;_OwaVKcnprdaWN%_o?#wskrv^LbLN%qiQ(VMy1+22 zAT<&%F0-RI+ZUPIAUlUq2)U$dIyD}}!&p7k9HXnz+)joB#sjs@5#|mPRQ?@W#N9zq z$7puN6p6yL8nH1up#`Fvmw$)t*jcPa3i<>EW7C6I_9kJ+cQ?CuV(;+p^u9v4o!33Z zGMPSOa}yK8wnLO&VDBU_H5Ilw)^Km<9z96)Z1~Md_&W~20`wnrJC=0JF#h1ozhZobnA<&7%J$A{w}&-(|;lYj_InQBP2V*>v5{zXSjDk z=WZKs&uRu^%$-j|NscgsKWs|lC-3+*s!1jL%K^WhFgx2$yX1Kh{$vQV1B!RFJqegh zkwOG8xdZ3Rb9$r8WT1{=Ry0EO@C9kMPx3Y-?C@q@Dc|DZ;4ZDWZ{c|*!Ma79hX}hd z1js~pq=a}qt!yFK611Cm)}>l52Q{vC#bYMJ*D+#%LEh`!Ih>i(P0O1HjX2y3?L7c= zd<>rBck#>wZEmw%!g&LVT?U@kj&2B>{*m*P+ruoIDP=UEUEZ&~TI{&a306-$tlm&s zS$$!e-YKgmC9v^BkfG88>rC|}v(<98pv#^s;^B&LXlS57y?smz14iS5xgMg4r8`C9 zcw)>{Cf=^oF+9bmg&|6LP6qeC=Y)t}bi$m#J2AVD3 zUUsS)wb=e-&^>K-U-FdRI)5;E`m(j&n;cdw1>KVjhPUlT%eP&P+G|^B{u*kdy`^Kv z*2SLE>AdavrSf%1Rnd7((B+-lkcDTd|mnUJJGl--jwrZ3lUKQ9fz&~7ZO!!9kw$w)%m_IF-& zzQUvT9m(PNmpS76$DL7VRPS!1k8Yxi@%Hwh+n(-5#<0tccn^Uj?Sx?UQNQ6`hvpc_ z@^HA;@m7*gV_eL#*_SY`pv_GCZ@k`AyVut}WTdyINL5$#Roe z;T_z5AD-K-KUMtC<*K0aHJY$0kS9@LmEm?3HUmV+muL!ifjh;VOESqYMTRUoZk|FU zubf-;pE_JFFTZ7^nH+0!DX#doza%eA?W$W9zu`ya<7$639Nu~=EZ29=o0#yH+d}KQ z#Zixk%`?_8ukpBp70TsP>hwCpCPKMQmpX-Djq)r$ZTpb0`Ig~Y;(YmtV!P_KLuNT1 znF}8!8mu945$FpLFg23|1@@X`Zw7Rs+K7zWBgGv%6q`xxps{M4LetcZ&*`Q7?fQ$_ zZ%isA?xRHPW6()adbp%mPbv#qLCRe_f=;l5Od!vP7F~zKDTbr$#qS6x%(h)t8g^vP zW4LD4+e(!^g3)1H?;$R8I4`O7p%}Tz-j}atQ3`V%H~Gry?&ZhLv%`VD>!LP2np3jv zb10^~!K~uyN1o&8V9*lcOr#VA3)CTtip$dgZz}udrC|IClOnse_OGz=3hIGar#Cz~ z9?|0Qw1&QoMks+FXaABqxEh>P@rJA6jMl_qodAc$xsZg1>s^CN*2cneVxNj`X&nuQ zV%|By%r9t5JnL?C==kbbd?=oPjM;nGQ6TvFF4S|Wv^^flon$EGinjG=OJ)YqmPz61rNe%WXW0*M?;#Z=_4{{%< z4$d@jXPY;ppN9d`=JczF>3R}o$vsf}N7ZqFHA}5O&6}#ESNW&#rotvk@q1anWuI^Y z$XLX3CC_THLbfG|-5sLOv$JvK^Sq;ak|F*GZB?+L-KHMn>G+qk>I>AcPdZ&u4jC{@ z35#tplUiU_Vro!)YlB(`L5OX+P6q9N4 zma$C>D7;lITIYss$77dj*=^kRYz_OA3b)S{J#46l{9Dh=(2sjo&`<6DSo@_3%l{y> z^N0^33&G~(8QZ9XTdBfayh<+4g~wK$>s(U2%#1ZRUTscasywF?O19dJDC3v6s@#h! zwaMOI1E>-e@3|C=$toLjI3Dr|>L6p3S_}(oO)$)JS?%Go&Zsb_+0srZ<9z6{E>Top zvYpSo6&VH@u*`(4_1!yUMIyo8nc^!S_bv~6t4i4&9ygi&5zg+2dy;HVGbJ-y&bE7u z2#xlJCpw9s9A&;9-a>Rl*~U!q-tFv?<56R-M@hF`+*-1aAeGHc1-uiA82B8n#@xtbY;=duJj!n}gxd(s zUZ`@~X|*GM;n=%y{$TvlQYFjA1gksQqMoT2O4W3co>UXcQkRu#!;*|C-q5SE(~yF` zXQlO3c9MplJ;3#N5;Q|o4|Y{x`{86I+Yr^voTdoz+cu)6gdgv64RD{NzwHsvWZU%w zYX@1hm+l)*KW}rM&bU(|n>K94(xfxJ6G6x1;8J&-IAeCRYQ&4#M5u3E47h>u?IorIvJPp_w27Z? zlD>Q#V%zkk9$O7A(T=^gQX;ReaF2D`XCO(>iJq7-q4SaX0p#;o4~>o!G#g8(tLFd@f=uP4i>Ht#`R(5I4AVn(rmr4A#HbI z9gka|vL!Hk=2r&ZHkP>iX`VZ(WiruNenAas8s_|D&tbyYJ9?FzL&c^?VHcY0B~kYG zs-xzBOqrX6$Ta-GEvi7W!Wo|aXG<7FOiHb=)pVTp~rF7%cEilF{ zelsk(3V1HQd#2I$GGFauT;hCth0&E$g9k~Ka)>?u))J{cl8MWq<+|V$w6>EI68noP z&f8*mlJkFkrW8Y3vnQ+S@ddEe`dY32$pRgnwvVR6=6pAr92b8SrZ?HK%LmT526mH? zZ_|pGvc@#svv$Rtz2@8UI;4_pd*$)coJx(=ht+aPZ(LEsQB0Y_v4zB0;uYQ7!&}Ru zY29sg3`sS~dWM*+K57{%aA_Y6Hea$w0hXd@d2&e4X zOpl7LS@E3t2{jt5G|7s6c#C)3d9iAu6i$-PU87_3lCZnq@R>}qL3B#-vD~a9Rl^Th zy~S8%Fk=yK$@C z`VLWvkH%BrX1hevVp1N97JEvU#h?>@N7m(ga$4vwdnX!13>8*vq4rOwwd9=E-LQEE+t4A@`wmb zr%R=?8GSfqNvI8vqRM?!k2N%$)Pp8{KkIsRDeV-^?tsQuq|clP8fiT@lEDp|>6>fY zOg4goSlI?EK9h`@qj}Ovy?BkC?Fhs>Ov~TMHU{YYLuNKTI^0XX6u&^e8v7uGse5U7 zJE^-XGMXNpR$&z7oh|(U>81V5e$8;VD^KdYjmdAzj`vP54hrC7l`cw;-uK+0l?(w2;*`$E-D_c&?$ zJZag<^{7WSs?zHKTtK70T$$O5jZqXIgAE%#udH75u<67WxhkZRtw|AAe_0#xWz1@r z#3D>_Fv9iCW3 zcQ%SxS`HK2>;X@V{X1mB%z%$;7r1Ww^+3%tbL>&~>+`J6knPbiFYD%3Jw-9F?apfJ z)T1?H>WO=<%hmg+V1C|iMAZt(aW*Lv^iyP&Z1Cvn*&yR1zFLyT52+|u%YdX(d~$Cr z8#>71kS&Orlgn6dJ{YkLlWwMp&#tZD;_ss%>`OTuQ8`xyYoEU_X9Hv7wsmRV%NOD$RpRDGhC31W9;W zcvC^SR>b1~Pf{()cJ+jHHsn*<`%W9+)YDX-zD*DIh(8r5sCmgZx#HKHZ)w+8_;3qL z{kzL%qgb04l)bYry0n5D4kQ+)iI$$bxjDXEl$t^(W{FduS=?nq48v2iAH52cLT&#%0rQfM>Rs728D#xtbMYUH+7agezZyyK-f?>)>5SDXQu>w``=~||p3;==t2b3#UR|T{Hj8N2tFXDgbdqv)y>iR$H23_;=%g#G zQHkID>)%C|+F<8!nmR0WzuQHlj96kr_Ju5E5IePQkVFXCdau@7v%Xo%1=)^~1<&+js*cBn=2W-ByxDUGe@7A0 zeLg|uwbn3hjk+TWLDq3B!tS@xc)+qWtEkGG~V3o$lYDend_(`s=PWAEBA^RYiA zn!Ez|owpsXc~@D(ilwl_HWAP5x;K_&sXP4iiVUeQObLg5Ht=?xmFoKz&D|sW6nF?xIc^7R0!RT-2=@?r*rKY!HSKJP`T_;D)-P`$^fa z?vaBI$0EF1@_$rK2Q7I4U~X4zOR6>)m2_{hJBAL}PEPzk5t&!Kdkp)QC+J`7!x= zzY_mob`7z5a?F|TnJt*YHO>cVrjw{vw+w$CN#0b)v=X47bR9gP&1nBVhEE$hiqEFktMw_&zW9&uAF#|ds5E?mxEl#pUE_KMzf@x(l`sA>2k$u4 znO>i2q72rjvOskdQcZ<4rc(Ngg2HFkD*$$a5yQHe&!!u5nL-0#2LB-D{Ozgy*@i+o z)wwalPxG$;D zMWyre5AlCV{$3;IhDAvOlGrBmr&Ae(K{W~wEm^9~Tz=vG`T`UPFDXoZ7Fz-8DU*eV z6h?TvN!q5Musx}U)^lZ~s0s@z-GpBt4&;%h3Yj0mwnYST`Kto>O(KgNkwvZ^ia6U) zP#yE5jr1J|N_DMQ8{5-qjCM28#LbZB{9O8Gb#p4$oDPtNtg=uXCK4dLbgqNq*%2~S z()`NHt*QYkWjTYtOnZAOEr9WwscTL(w6>>GUGfIoCeuho$ZaBI=AQ|o2iP<=L%qM1 zkt%;TOJDF+5Xy0!TpPs!lKB8AyVZHh*iVZeX5=+snW9ROd;!Z`Mxp@?0}&%JW;*77 z(17k6R0MK#4!@nEz?V{Lh-{;hm28zfYTBrlnAqAJ5Ofk)Lk^@&a<} z=4NO>qRx-Q6&i9~p)o(+)sTUFeu)vA3-uZOh{e1Cbv^%V76}7tYrSgccT@pg4f)0I z1(EuK&=$MMOMTAMKIh4exzTxQcb*<_o}4OPy4QJn->H7(eEYfcbj^ACh4b_s=jpr7 z)634&Q})wBz4PrY=jlD?>22rfUFWIjJUt5JpF?Kc)sREpHUFzzLwiaA9XA8r0If1* zEK~pQYG}lWT@BRY&jKMeG&E!se1EoM{twtU+|D7bB!PVr*dl?A5@?se1I#drf5l9p z_*X4N4>{`li25tQn~`Paa+}-h>L{nQ)4QbmLrm;yH>aDMgCwoo&ncX~Db$&D`gEo_ z6^)(CHcO}lx>vZ2trECb0`E(Aluye+S5_nGn zZ%g1^2^1ypsOBuize+bWW5oj3?rH#bl_6e`>sV-OP^ny31GYFkZE7JN4sDyCe<=g) z4!4d?+$!@g0U_Y0Mu3rD*nj}%U*eXVe@R%_OKD_==?o2f?Kr@tJ3G5NA>aJfMy^Zv z*3}7c(!vRUf&2r|Y6NbC17d#uM|^vssZdAE0|f=Zu`Y!VJlxh1J-z@i7rNKkF`1Ke`CMgF0X)Wu)u=sB%ZL`uPK>Kw=N7j&2z&Pr75_F>17hvm}YEV2fiFbz<9P z8j)eVnrq}78AcNlxWB^aR);_ruI7jyVI0#H z_!9^$%t7Fb%{1Q6SJwrgbZaPN z%gAPPBnm>qWi~{Z7G6=d%YgVpJ)$euRi~pv6~d(}*Aj@pISh|TxJlnpz{DpMrq`=x zc*NSDEMh)G?Bg^4;S3=#m1J#`t?0G$-NbTbnh(i`^VQR>8_ z%}m@LdUfzlkM|oV@rpP6W8KX9YZt zm>TC?rp^pb8{v~4bT(SU2!?rZ3BTpRg+iGE^=)EY8+HC?dH#dc*)jh^Km?25vG8N) z(&%MQl1?oW&I&IBdiQ;+OENYwT)(PJ$C5-SQpt*Rt6ll%pOHJev6uKIvXC z|CV&BH=)6@@K1|mODC8?zrm!|Nz<5xU)3q-m`bG}GN6Z7YUxzEldeFRbr9woR7>MV zV3r#Bfyna2ug83;zln1+KX?RB~so6B)|FACTmV|A;&}jV~5aE=e;br1Og~ zg~~$KSsWZ7CDIyZn#o}hW^aIgJB%8@hasa_&cfG?6a{lnZ3GY*pz&0D$KtK& z#wG}6F^KbpPNs^E>-z}X3_{``F1N+le*|B_02Nt_q zAxXPD=(x+*ns5y1Slo{VSUi}?;P8P14N&{ytu&}0$*4wbh8&j)Gp9){fXYHOWUzn* z9E5Wnn{YH*96@|&P79R*xn`;6Mv->wh<(mKn}Z@_Crvk^Y>U**40Jzs3nze(@?22MwCQgfhf6F$VO|#o11{ZG?#?WWO%85jtjSBaPFD$6QA+ zXh9P$zm{Kqi&-{|3c#{)5O)}gF<%J^i}H%I=HV}UvU)c1e8+kFwzsrEsPR|3!_M9X=1|Aa?eu9o`KnRe(}Zp z;tMoUD*g1?MUUoH+gayM)qYhxdYv(z=YR6e5bS*tfF8%|Jwfc@?1EoVI z)&jW#BgdW%RGOhFC|)6BQBr^)1#j^Rg4BjI%!M0~oir17S^O1_i5sD>rID;U7JrSD z1wkB9pk_pJ{Z{_^YnlLbn23bJSf$PQ;$P(>QO)lHs`;Ju9%GS;M%8W10Iw%u1LO?A zh=)!f%DQwT@ZMiyXUw*##!NPs%`Y_|UqPCHCsofeGP?I)|3LR3mRFF+z6$LJ4TGII z3%xkq!r_({xHQR7aQ%G={BtV~iIR;5a{c#^A4Jx`ucKybsSRR(h(&H}qS0eTBa#1# z#QRDHWfFYMFLhw-MiScv*&7>Wc>M~5u)pXK^bHIV#V>W?sGrV}im8zU84xBqmTu24 zZEDw90W2W?jq6fb`GRB%q>l`k%G;2oUIq066tc7xI2dI9mCsWXG&d3+)Jn}ptGABT zOTlwCh($`J6w9s6*aa{LBCk|4chvb;Nx-0HUFyykUy{Hps2-y?`KA35eg(pf6d|Wy z;s5k2(8+qvl$zh{On%29V~Lj>3RZN1=!4?PW{q{sYU=7(-^xW;cpf95 zY?^At*~%=bOi97GG|%Olr-x-EPvntxD6vxYX87KPs$vXuEZt}%8JT96OV42JM!eMH zrIm(joEhhE@}0w>H;4Jdtqm`&^kV553?sef>haP@Z+X^=+#mN(ORvzl_zI)>gN(*z zmfpTZsb1w&uhP^W8t@Z^W+ce`(vL_K0vKoWvu!wZ@Jo1J2b{<}O$;o@urq|jZ{R=HMHk))f#2|diu9Wdf&3LeFv#B^0Gd)YF%mR3W$-0% zJ*EbLUZ|tIaxF*?Z$LvqxS3v3n7;oervrc{WA#7y_Kytv*P37alp_7TMEV)u-r?IX z`SuUGuCO8*hi<9mZUXY}^mche2aFj(HA4$6Z^FjMD^Ov&t}%a>RwnY)aLc!&c-l!T zBdAxvfksbwfIvvH$dRt8s}3VlpU-sWSuz->aRSHpm7kE@kuj=mp1>@3w^(slY{}>; z*vbhBoT4UN-VgtAD%i1num$7*xc9WfE0hT_EFHG?4NaC3dJdcy5GW6a4U7JvJbK(89vXhooOw{Am-a0~ddqqxNCG zzdTN@a+YE&pQRX(k`w%x6Z}{JeT~-1;2DVtZfTqb;w+G6@;OvAkm{m~W;f7;%^*DG z+MDqY>+Ti2{D3rQJ+w-M(@qp&JGshG{eTJ)pad-a)h6aCP_=c;Thh(QEGR@VW`i$U zBPI>$?IP!g!F?#Ret#fwbhLPp$`LuJ`4~-aWS1H_O*>_Vfk4}h!dNR<>$EFpX1*9 zJU_ia5uUM7`Hf09RlG_|(eFO|f;v1;4-Uz$^HD1_1alV)%0>d;-6d7b@-Gop7)>Qe^0aZQy+xljX zM78{MKnza@B>41isWE?w-K+uUD8RAa$!6CVTA>vG;1+;aVo=xgb;XL*ueYXn!4`yl znD;eGi0AG>tc;#BQgnRL4)>fjay`F^vQJ}g$jcjcr zHe|>0uR4~0&5UyS*F=QBA%691rqtijtAD5K^P)<4KL7Pk=!X6JC*bjuyn+jzEV_n^ zgh7#zFqWTh!Z`%oTUpb5BUsbVFaImC(dS7yp5d;7w>I5koGp*_5Q~O19FPFvj_aw; zG^s{A7G9C*;tCeyI<3>dD8u9W{Ii*zuv~d9|S@83PBu2$gsC&Iv0aRQC{E|~4+R1-|HfiT-U zu6MWRnpFcZgKRsb0aCoa6=s;1TTs5deh^Iz6m}Y@!0SCtkbMRv8#Kv4n*o{JP9i!e z2H|{~^UmNKWcUP~-?gYl3{n`2lA{QSeJ<0EeY4|wKZ-&m9i&kd;7}UH{d8LE7g;fS3BAt;C#Jjcb)Bx>N(bFUKQvh{TkRO_4y*x^(5@fV zx6X#0xb)kk!DH9BK7_+SwprD6((IB3#{BiivfQwbWmG+CMA|d0RF!&>0`*Dx>mxbj zsQK&T9oOfw+!3#TiD-8opWsG9>~)s(|DM_4-&5x({ykAFJK zWxC!VJxZq@$Zot#>t=*qlev%Jy|s`sRYC0g`VC3;R*>vQleuHE8zf|3e~H!Hog{oi zZCt+rp$vymKLCNHZpND@VY9^IbXFMRn|^vD!(~IniNW4@mpaF@IZCzyAwliU0JW7S zb4S!xf)Y`DMfojtqn3gK9oK(GK$mgWhc|dZb@mSRr+0WVc>NuIk%L>dJr&p(&}?Jj zd07G)mB0pOHLZMW)32AF;pb*9-%t7W1HQe;rTu9aH|0<1`U67vMM3yQ3*i?T;TI8M z-G^UdIq3)35(M+dDB3`ManxtAIH>xDq9`gG74cb|2I}@g{S+;WW2adDUOjS828fYN2OH>CkJrzn6o@D)txl!016MAOOpVTrTu7ZtxAlyTO+0yY zc5G&Ja%@CpA=<#q$hcB1Dbk45+KQRi{-!`8+P#)<};nTu?Um~ezQCP~gyu9=_Ek_I_z zJ6}oe%Cu`Mtbd`!BbsE*D<(13!XhXUN^=lCYrTH2UBW^x;TQYDFSdkVYz)6>55IUI z{Gv7d;@i8iU9J2`>N?A)gbB#MwsH0%zTOZ%{@ofv= z^!iOZ-yYywE8p(r+xtA1;c59Ye_Pftf6ljSeES98zQecg^6h25J;k&7dVYF~Z}0K# zZN9zBw<6yj)$H>_&t!(^Un-C9KoJCfZV>Fvcth+A=6r@(^lt@E2=T(zXbuZ-qM5r z!kh4JU7_AY%P;(dmLM{yW2HOHkiM9u#R&|NZnKdWE7I+Sw6>PUS@3D-ls~sU|=oGExy%8v%=Ro%a$A|#$L~* zZE*O4!C@!>ryn%9PZS#UyR?%>e&IbF`crJe*@D^cxZNdq%b;DxI8pnxH2(Qm>Zda*CSU7qb9+2rC34Pz_%PNwRcG&-_P+9%L4Gd zdTPb|!dqN(>u~`CDzjtZwfur^TqMJvfY5?+!NSj*v}ry*yrmx?3M9ZcuWM@%BoQK% zz$7Z&*a9$SsQFi3ra|Tgnfi1UT7cFO3HqN4tbE80h{@$ONcvPGi7J3QaT=79Q~E`! zqxcqf7q|fuOYaBb$-CC*^KL8lY2oMgL&kbo{1AKLyC|A{H5dtD1{4HyWF0a87A}p! zE!{|Fqo`ab)`h07LH56}vi}8jIux+9W^?|9{PIqMvak!Y`#zL$wn>|l1|ViE5Hp`B zWKbZ)8p;G!#2WpT_gVQde+2F5K$65@7L~f+!cc2LFDl?e8+R(`F8IXV9a6{(nhMN+ zi*5y3<7=}+S%XQ2oF z6G8T%z8yr2)G;Vgq^^@%4=6Q0aBZT$b;IAY0P4 z12+$sBBKG!m+oIv(!<{5``46} zDa5j#AZ{xICpP&ZE7;=AF!g0a@MmA!vXuov?r|oj{#W@k5$d6+g5n=C?8qA{ae57MD5-Sqwr{ z95wL`nsDUXZ9buJrn&e-td}O3V-{EVzW6=3>-|8?0hZ80G*jQT8EE?Rc)1TRJ$UKH zOFv$Y;^h!t_Tpt0FE``m1YZ9Avv7F`LwDij6L|RyUeLy|{s9c_!^{16>BCDeUJm2s zLrnXB;bj0H$MJGEUj7Nw9>mZfUOtDHd+>4qFZ=QGr+E3l;a~l|7sHH!9BB$y)=HCzg*Qa4Zok3k_*T!@vqtY2*2Hj}uNP%Yk z0vQXM+Tk~tE4OEeX>_w_)q%0#3E#A-ItkL2vfv3Vb<_MdP5KQAqTxb*whK3oK-1*s z{|B2Sy+8_6vD%T4X6x{#eS*@tJe`l_Lo6=1woFhgr_v?V146hPN3U0dkd%v|sV zzID^BxWczz^2<$Jt`~S{YiJ}x?S>{cE24pAQ_#DAV$twVS_{hb$~OL>pK@$REsqFf z3yQHwu36qAMyBaXf*LM`GbArS0LQZrh}SKB5Ri8R=^S_m-1}MSc)>`_(gq0`Xgk~- z^u`=%_vc^D;?L?)OW&~{u3?^Ii0{3$QIhA|luN*j)-lZBxm_1Fc!A0L$oP@_sose} zGu7u=n0TIc1>#%YkB6aF8j+vphh~-=X$MDRz7;`slSJMs(oOMYlz5f{hV(Kin0YFJ z4-l0E$yTV1&O&qksW|cGlZ9;TM;xZjx6VQfJk91}z%<8xgt5l@)>6RXm_>+B6qOktA)V-;Lsn4Yjr4FYaNDZX^H1%NW z&r*-19!))#DyHVqG`C24$*Z(VfBh*kfT<(i4;U@&B-5##Y}m9@Ta4_?vJuJ7{8i=+ zKjfbH-$2-FL2H>7(&4wDfP=>6WIF_tVwO$j1Ks@mTfx9T|5h6t+36>4n(t*$jzrBZ z3Y5kAJ@q6|X48$0h%|&yY6IQ`w=CZp`PRg@2ENtvt(k8vd~4%dD{hP6?I`q&k9^DW zt&wj{d~4uaJ>Q!7*21?ozO~Yz^gckO-CcUX)Gq<7yv*=!5DYePs2T6g=D7v$h%Rjf zL*)q;77dkJ)>*@GJAX^_w{$aJFe#R>t(79;(r0~~WwZ#MqjmCjO28fE_nhlLXK|knPR`SM z$4*OjJsEDbASdeBpm&dx4&(hCZi0k6nR%hL7h#XAD-Cn=u3%;kFW_zPNHZu@pK$W` zC^_Kp6aePgJI?FopTe0eE96$bgJE1OSm@*zuVotr7kv9ZURde3@?8w?#LGUsd>$_k zv^1Lh@ddZR%J(r$Y6p}@7B1su5--S<7m9fKDqj8yFW<(?dw5~x-wM6>Z+Q8BJ+gy( zWDfQ1c-f+8A!PB#*s?4CMoeji8u)9p0R6Q-nwP%G+MqXc#Oqex!+KbGuVdu{w2Y)c z$I3tFV3?M0#|ml2zxH`*!G#Q$2R_I%M5DPM2Pt)f^@N+(?Z-5V8SmCN5W0A2!b=t} z&3I|SODkU5@RGyJI=pn?C6AZ&c=-fgHsIw?@NyGgHsWOyUj74KK8cr3ymaB^X1v@2 zmkck8K_IOIxk5{-#ry*)BE=Ky=1fNK&&mbu|J@*DXyV&J=sQ8^`=}5ksfDPfMI4hjQj9?`EU~f4Il&wHVKk~<7;uCz7qrL`*8`rZ3@5%tTKjR z1W}RMzHcpPZL}A(HaZJhdUGQ#qvn@dNr?L)EwPdT!SW|)y1w|m)d^)4p)!BHYCpy5Q$6svo7}_Rt@gqD-D;1z3-0*48~%2~ z+xzJd&OUgvi+oh=g17t0sq9^qqjl~EnD;}fJ&@{t z%B>ro?t(9vb}zi$2l4h$y1Vq5afje7#=;bPDAzp@A6?q+qBoes{cuI-eGnUA9wMlF z2!lfa19R-A@A&H`>=EZ~_;wfM*$oi7AvTv2-|nRY7Vd`Bcj;Q#4R7}AGVCSyvv*Uz z_ftJ~L!A3{{GIfLzfN(8Fhfe% zO(i}=^~k9>#crKr54Auaq-1zlXNPnR@1~Z-_`9jq_fsu&YdYBre>*ANekxHP(aKJM zfvNAJlA(LwUc!4Pwcajj#k=9%PNGXJ;Xdug7}GIiZppi;mG)5VeyW9jDrZ0CyqoA2 z;r3IF?hNQ~FO{>0Quh*`Jyh%5Vp3y=sAUgP?Q|2g{nWy{31h7ByNOo2AtgIm-bXp? zr?TxQe6bhor<%f+#}?(9-A#45kIH?B`U8I3N#FMpF8!KzddSIg54GLCvi-ZEu?t0C zWHdiP^FtKPacYBdGRt7a71k1I1E`b)*3v;Q_N|v3v2mFyYRik^)r%XyS^F z7@nJ3__O*K{*QmWQvcrTpZrGse}Cir{|cW_^F&)B(JKSWl0e1^9ec5K{&O7ZsVl$@ z9&rMQ+nfm`Et)Jo#hs-7^Juq)8=rqqcI?0B4YCcWk*EiJXwS$}J!>WEX;lUO5n!yK z=4o?cafQYEtN-w%;=@QV>uu!ZUQTvq zeM&a_S@bhMLZ0%*v?J~~9C04}MVbeHk>|l*%rX!NVRqkhYQ~^PYg1@JeT~YtOnHDJWrwwrT9=FuC|A2W&c+dPuD{Vf?aFQ# z(wSw+cnONYWbi#URQX;S3yAkzmgnS4C-_S}=_c_G$gw4berUx$#z8<61R8QXGt$gxezo{MoH+O4TbwHIk#})JTFAu-e#I@mm%K+_@%zyG@GZRJd+i&y z#Vu*^t+ul57-HFSDT~t*( zSjX*lJB$elefXZ2UjYU~ytSL|=Di_&_>NhPRuMwARt{Pg-uTk87mTKYIh^sKDW}_E z$jPd7yIiPhCj4GeSo%zffH6xE?(95R>C_|YVJy@%DJ|bx>y(C@( zx*kRw?t~eJVQE2p=nqSenR?_weJFVObjpWfSCe)24!V`%(j~Sw4noWtHp6~R!#!nR zt*KS<%^(YkdH64+?p09I_)^hcEUKod5>Xy4=!U_#ka!KlO*G03o>bdeR^U6snr5DP zb<_8M@RbdxdF@zBw68=V7D2cL#zBhPV3krQIHb$03WwPUr82lqLa`QUwDg4;PNhMY zmO~KfgV=u=wB4$L`x@y(qI!q{M0O~k{Tz~<4~7l{8?_kF0$LD;!3)|yhruV3br^n; z0RtHM$OytPV3@r6{c{*TKEBMWUofiN4XpGuAkmY8Ok$-inPXN8k~4KQqEYIOhHa`R zxPL-bi{pI9p~eyg_*Ko!d0fA!WB46a8+T;EiS@_zzcFdX6Yse3sC$Lgb}66 zwpcGIz5)P(ng<5taCdrI)WMjX7xJwxMNQ+x)*t{d-l@FlB`Q@oFQ-k8`!xNy_NC7V z+UC@qwkbKMpy$L6M@{G&3KJ4aPHi0!-?pWo=o_W)No7CD**Fa-BoHOzqy(&Ut+DE~ zDyojeR6>R8>Y(Mrj6(m0&qp@a?Gr_APQf@G_!+k3--R&?}D{SZ0 z?KU}nnZBU7eL-DXg#)_X3#_OjeL;SR0Bf^pEbpe@fbkYYyr;R5OgxP+ac-anjRk;o ztA0j0gS<|Y>KFZ=seX0*UFYNPtO1Ap0Z=^N2% z7@>QZ+qAkl81%6-hFzCoswUp3UO&tU@GVsy63~m@? zT0`JP;xc*~-i~g9(+U_Xx#Th{nSb;JX9U%zP;D-XI$_~*rc0H6<{S&knH2p^#kX*&33IT7-eu*ZI;0mi99vLNF3z6?|mX zbbMmy2`G4-FU{jBZU!3;87%E*csVa4`-z$3#FZ#FBv$)HA8Y_cBblQ59%QV+rjAw} z4GVoVid%T}A)*7-TF_*`jz+m~qR|>w92Hesa-z7W7bQMJJyMjyu&UX2nE!=5Si&|{ z6qpQ=UmOv!aGqXD-Bjvns02kA2Vfiw z{5ATHzmg6l^DO(Xt*wSgL|;Mx%}@|E(8-J3!XlJWhP|5#P3R7|IsRY1!I2jhgdQ81I6V>IQ_iY`2qzj6nd8Q<-x?-r&ug!)44!=0ebh{KP<{ zw2O6_WG)8zXi(xZ>jB7Ig32}egbgBPE74rFT$t}d>lUHvu;ZFaD?Mr%=%j>w4w^)U zYMdAn3g~RXHr)x+MY2Xps94EdwIx z!w(4pH44Ohj z5OZV3HcXvwp8{gu&9G2|kLO8L;TX0Y!k{mA801DqRtvOpClSd8aOA9x$}@{ada`rh zA|JxZCv5WOB@Hkp&tQ05qM?-g1>m|tgFt)3*^%S^eQ$eQB z2d?|%45jF+a=DZ>dCH21=hGUjuMY1&J5N()nVeHvuIpR1b z)AM26;qCHfqpl`VEN>SG9mNj`oLmmvACL>Br2x86?LPYZdR>g-c zXbicy%*?7FC^@CDt(iKznI_nT)HK4tn2^Qp>*W2A_*g+w@&qPNd{Pb&DB9wc&nIo< z8MV9;`Jj3@C_=+xwv9SO`GupnZ5)lF(PZ0fUf8Vh;BW(riLl^wLADLfVLn33gfdGN z%~=b4+C7_g_r+Ha4~_Tq5AA-WZ=ZWio^0cNJviNtG`3^l$aZq!w(~hU)%ZJYs!ejy z?L{6@vYmY8H`^)o2=koOD9#lsOlp*Gio+q2-3((346Ju#dtvN?fvHe-1O`<3X7|F_ z4AFZ0h93Qx9l0_)D)Y$7;}W-1Kf2^<7^lSYz!a)g3LE5BnM35u&Y@tdswvoWFb6FE|*0q)<~A! zEKPc|6szR#S;0NamI1L0aOFm15E&*##?7~R{68lAZzD+Y|Cp@)YHmESX74LqZ&8Pyc8X0ZMCa*;h+gK7{sR4&7Wc`>WG!5b^-z2#h&~h$ zm*NGbpKB`2F7zQ64g)K7&J^Eyo(eMwUkt!Uu3mGfh+MQ$O+uuZd>2enx6|GgvP&M~ z6-=F!h7X@139%(zvP?Dk4(DTrexlrizMO{{`7!N`DIZP^eMFr{x=KQLU24UYOb8}l zwdACohj^Paq;BE;xheOlT*o&J;eiTL?gvi3CZ8W7e?JlUC;p(*&&O)}ktb0|!`zr^ zmTq|!l-3}BtTilqfvTL+8m3@&pHW)Fz*OPHHU3PQlDk>ee_Ube>xyWqMm}-*ERav5 zDq9r1q-WZ#71JDuToasX7GWbDk*xekK9}Y5C&-Stq$8|e%&kADi3x552?=1TNl7bH zO)RbSLuxw?q3Clk9)(qhCJ!I|Rr6s3*>8dFAhQ9wO30KCj={;M3*=(CLq2iJA8ZKX zewsqA9}S^gAe{!@os!6);UD`PGr>4Y7 zKDlNlm;3Eg+}j8$Df_EQ9DL6~(wV}EvB?G|A6INY;IjPyugT$9SF@9RUI9}VxjUR1 zQA*QZLMRtG0OfL#ey*>VQDqoF4?TsIGngb^@y=D^C01qa?BPR=xJIZco!n4!?}s8WtPR*0xNz{8m9-hH!qnMA7}nzJ?19b~ z9JCZ|=d5Bm@jPZ8_<#_-_#U#bj&(k{m_t`Qg`0Cz+@I&9htBaf(A2bWSbgN2?Ubwm z$x8y1KT){?9-P4K3&s$KY8YhYUsD$q=g+yEKL^e$`_8LvPtaFGjCdU7&*$njJn zSI_%Hx%yC`2@P~*P=w8w=c&nTrJ_Gc&_#EauPcQ~vIc^$tXzRd?#h*IN~ILdd>s8s zbt1i1F|6n^tmr1N3r4qE9WveH1i3B`>gJ?(Nj~^;RIXbr-IB)rfiCnpKj4X@Q^ax3 z9FAD#aKti)BbMpq-ZUoH3nZk99Aw(uB#a^lRIKO5DErO1y=;-5Cbyq0lVX`p?m*_HGV04f5fOx0BePxkPf z2nZ3Wh=Qyb`zj+5)Vw*-2+o2E=BO2ovidAy(-hW^pa&a^Lik2<<1R={trdEJtVMz+2d*_;VP40pl-WT!ryAjK6~M*D$WZ z_z8@^f$_I6{?5;{xEy9xxskxzSfscL<1b)1Qq zH?+Hdc&PDycM(C;?(u1Ng5=@8@te9+4)aaC7u+NhnS2}D+UOU+ORwnjMM39x;kr`Y zL{|DfX}Y8HO(;+ACorb$DT@Noe7i@=5|yn(c|btE#PmEm^?WxBtV-muDv{sH(G)Z_ za1h{D2B#2kkpVS?_?a?>tJ+K&E29G*Iv{8+wt^;gu%MMu0fh>bBhq4S?6Hd2U1T7p zHpM|n$+i_Ofn|q4*&(1DWX0mDMb@cGoZOEO1589C!3XROMU#JrTmDpL~kQc}S*(=9TyqR33IY)n;T z8WxppnpJ7MgZYG7wYv@4{*=`ft_i%8W(_w%(*Ig~8?Eb~Ov>*%Ek<7Upedyk3 zpTCCMdI-H)UW5ku5Kb=NnX*RFW%5+fG$}MLF~TrdrI04yg%K=kd(Ur%_J;iCux0Ys z$zv&kfph$VRem#$OW@;?WTE0f0K6yS<5wn`gnU=KP6SgD1bdEZrr$-Mi&3Y|dB*i$ z%G{Z-r6|LC7^*@fHgZ6ZY1vfIu!fRKL)9lV7@HPrFSa;+TX>|-Z=p6${&>Z;I$q_1 z#1Ov=bIRm^xd5hk(UF2`NRA!6c@1@(^)sB z^D(ce&Q=uFS+A(hR~FUza#5w9Ml@%`mgJp_Dy(!pq)QcrcD9neM=IERq>{bID%pE% zE_;tuviHaw_8yzV-eWO0e<$7ioh~!#WSNsEJx-pk;N)p=GW|3RDCx?}FLz(_ z&q|o!y&L0{8_fYP!o6N{_PWVQl#`Q)RVHFrMIv@pCSs&A5hKj2?{fE;?L>dW{fy}R zr2a&8ES+5K+)jq8pwtXLHVQ#K!FwGOKwuH#6qgo64Fg5&{&tC4*TVb z#9#0dZ^LGLiO+ViHCT4M7^`z>+4W*fdJo&AS{-sd+NvXAP%p=n?W$nRMa=#RxTBty zrwh|3+*5^x8nqih5G$~LNeD2vE<^*`0URYdPZN~0B-zy{1vg5wv_=$s9HtQE<0{zc zBa^IHgs=pSQ+sMBlQ&?=C;3NAoubLPbB-qGnkTg)F|wd38gHC=F|m6MbXL> zqJyX~&V0&DQGBxXj@_FA&x{K)O)hlZ;nV8l5E9o7kH>KLs6X~!BdAWdj zHGwkq<)fJe86pea_xrR3@Ho`hM}8Jk06o3&vA)5cu`lk9?-(A7_x6qV^bhRDk!PPB z<1^E?=!X1ObTyx&9anFOKcIDM`}n{vWbVRNrD#M}`3hTuE!sk@MO%5}lk;(Hqt?%F zWDgLui;pdj5Oxg(*R6FCF0QTSGr3j19kfo53PYdeJlXtoR;jPXlW zJWKjr-CLEK&LpxVPIh9#hgHvjScBe26l4?#N+oxQ= z?MP*O8_Eq{MH4o{Y`5n8?@yyRs@3 z$Rx|EwxZ`^0BS&$zXAozs4ivqcxbOE1y3S47+HI-!o>7H{BJhnZ{`$Woeh{MA|R^gy{I$(<*XAdrB656xJ z?6OBNTd|oHEfZzE=`u@dE@rX)K(xY&B_QP#t&@2TBDAv8Hl^ z&0FVlI<(DfZqU|gtF%t-QEk1}uI-_& z8a;pFH#?~V#t0DSYaw!BWsq;M^s6yJaB=FK_YroN!Vc26*9#}k=RA7UC6_qihZu%G z_~~bw5guoDl8Kwq5~JLg8RC;83t8Pfzu!=;=?zZ$)i5Lhh6{0q`A{6mWtyjRC-JYK ziMe~zSJ(A@d3<4I)o8qhY42-*GD-=6WYo`I%#*Pd+y{o5bu+t)q(#lE3W zwKOkZzP)8x+qT8qmb7kPye;yc*l-b^huvbm2vV1+`4!_ZaDSuN2+8MlzF7Ra5WLPO zCyQ|+kRG(SfTe{MXjSm!6#10BdW%RtKt+nJ?#VcQrU69nxFVW7|A1(CtCy{E2$vIv zR~=YcuUJj*l?VFrg$Q}~f#{-?1&R4>i8-o*k+X=!6&zaB4J|66MTG}ZEJYSqP)cL^ zJPoO;NH1QLz?F+`-UB0`Qv{Zr?CchC(x%Ag1&VTbpopXP#cmkbjVj7EU{QoCS!*cv zvPHQZ;=VH1%$_2}B8OF!uyA(2c#x?NE+`8?AFdF5;(VxSjITnCX{>LCkKz{(a6ktn zAdD47*>5aD`V@n=G>Usa{XZ&f%@wr}5(_xR!?sgAhVF==QgM*6ce`RcEoc#>V`x^qZbn3PuIK#-vevU8OEyQRY{x5ooviS63gQKouWn-{w0IcC zG?#fXL6C?p40CAt)kdv+0B#3T4E^sezTzXP5)5)scf@|a7L=(jMNL9 zU*!~|R~UEO={4ChEzYVf)8edKJbZ?$IL=Apmvy0KjlcOe`DTyC_}Op5JEb-T$;k!D zl|Wmo^6@z}rm=&p6wp?>0TZYA414k!9QWblY>87Yly6c*`6d^YomQwU?#3t-!Xjq^ zh=V1*#uEx0kmJ3j8W_-gTf%LuQj`Dg$L`A#bnhk6 ztzBy4Et%2^7Hps@DN^dRtVC)x5B+<1*xyE_uv>`$J%k(Qi?Ty3Ol+ScRER(zN>aA5 z5YbD+f1CuAVWu1)c)Oa@qQ4yQ{Pgm-(if(R@}dr>s$19Pi{saX?Is6{5d`Qst1J*n zZicR&=qYUt^I>mX*Z~~kn{f;pc#7NNr>G;PExgKshD^jSUR<(4;=Ts<-#yvEe-<-NVB2`0imM=^1CbaYz>N?L9;B zoqgl+JtMt60X&d1sr*y7VZ`;UnE7t1VbDWh1n`LrkBKavf7gJk2pJv25v_=`n_t!mEN zR-g9ye<&{G2~qt*{Os{*TmG>T{GxS4EwWL5YTf$;r4hFkj3b*hn(oo?R%qg~?Jdsn zxqOsvh~J4vJJ^Mz`>GNI1hDz`sJwZFuNfA91Mr7}>kT`J*Hjr|p{@kctAwq|63$AO za4evNUX@H9@Ji!y{rL&+`tuV$(Tq$^3pVg&@L^u#TFuHHy0~Z9u5QU=lH%&e*K7Et zMfFBhHFxFnc#pE#r+vJF{j10Nc8`w@54HD<_iP*=9_!mU-ZS36z2fXRr%%q8l@8e? zag+{+!I2}8(lmq-*J?7%3*7=(E?~MqtqbrPJpsD{=53dR?VIv7|bw;xKl zU{g8-17c2TI&hEX3zN|t4phT1Vcer_h0zrbREael4*0crIIvP%84mng1hrY0e!dR| z4pnAO*UE%am}qj3cbLsX((fIDmflJRXk`XOP%#ut;gPF67u4^Rj+vTbj-`NxDi>wB zfawAu7pQiDS{JY*VV|ENe&Y^_G{i|)Byx3td8#R%$~UCG)#_WTzIIpz>4hi{H4WmK zFOAt>E0oIF#$cWqbgf~{PZ_L0;821fh&!h1iQg<51Ya`ys3fUK=E3m82vSsB%?`48 zSSs6LquHnXth>Fnc7E~8weV|Uo&^thc@{jq<@v#LTHc#orHi7c*n4HnML4DF?qgko z!c%0LJ{M6*bmm5)GZjQ$bY~@W&(~Q+8$RJqX^*)Nla$Ud;dM3z z_VkJpxTfkdge57JUf8?BS#0r5W^DHhn!tUKH)81Yj^yuY@UdvcD3|Hb&2% zgPt$1oz>tKJcX@6JfvOf%r~(yo z3nX&_b?s#-^egm(RbDqMy&>2)=qCu-1}a^Zf_X!pJ1f1x=3C7At1j!WRLAo zuZG7{>P`x(9fyf^+{`l);dN9Kc)TvlDy8dq3yo|zC!LYg=$Ri0?F<*4c$#6!fIc{I ztjhN~`+1db(sNbjRi4sWeqXeSpP${#<}72H*=*xS0uwNEM;KF2CY858!C(Z zZ#t*sgxxqtK{+FzGaHqLakeh;qB)A7Gv_#~&%(^?2WGMv9H>T&qb_aoERCp8-qfh6 zBqe7kHPwJ}Gi>jNTV7)hT(R5?AkIkYBvV`=AAXMQbg+@NkulS9?8s@I*o&yy&tw3} z7X3qrbgRn~sAOS+Y01}spv4FjN`*T z?QU$VJ~TWw*fS1+cVujMq;G6|U-|qUd9*;CJi&f0!%QFKpp=S=Mn)qg=ixZjn(JHbmq z;o4avU#n~6Yjxn;CdMCO%z;3o&o*HY%b+EIv74E$kKt$89AL~S!{hA#7{k467TMgw z<_Mcy`Ld_ke2dKsFsEW{hABsU*QinM8o`P?KaFzdr%~?wFsa7K3nqtgk;6`~1BW_w ziNx!VRfyLQ_7C;;5AA%sHQqDS>)Do;OAW6l`q=!r#x-;5km=K!ScxoD$%grbMc_xc zT$;Is&mL{u)iXA-a9!W{!uFxv z8~Sz+4}7Vwd*4W(=&R-Mrn$;<5Xo2A{2|BoA|)#1lHq_qkS{aLjV{;C$=u84el{oB zEON8E#EtDDbrI#myj(9|;DA;!{9O>`yV*n`;ze_q-$F|%M1e1$*5U{Q%yGsbdYmW# z+>II(Ls4Pt->2C>XKvPe`O9&YDy(7i5}W7QyvQb3j`VZX2BHkT&S9@W*u@2m`6-+4 zn2l;fA;sPZx%4X^{Cj%Rk_IdDKe9ahZw_*DIR3_0K8LP z%S9Jo)7{+_Up>&@H#Dwkn9+^*?H&KbuJOTvrg;Bg&(6M2?Cjs+f?pWv+v&n1Lpzxh zD?CmV6CCrEyL{ShH^#8BZ;WQrSj*61 zU`h6DWZBd7M9fAOF&i}(KI^%0L69f_liOBl2DQ30lQ^s`pm|$D(+*;T30juPzG364 z7E$-()2g0dZvEhe)-N57Ca#~FKltg#SG9bq|Kzp8mM4C1B>T?LZBPDe^}VCpuRQbU z-*y~(=80eVu${mC{}^BM{qOtEd}99ZH1~e*g^oYF=i?vyt$SbnzaQxR*G

    )%XW?s`UBiV& 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ⅆ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/%BvDV=;&>*7 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%0AXq3gs=IAG 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

    K7fSzIvBdAy>YOV%>9^?*A!hr2` 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� zjaf-}*6Fs)VDjtQ;*A5gp(vYHlF~-RCa2uiXsO7&$=Sf%#N*}6VI6DOslrYbu5uoQ zg-n)Jh|9_fvzL|d<{23ohf3hdT;OF^2WY=)E4GC1R|zCcT8RhC*WLtA(ixNDj3|gt zCsGl5FLEptD+&|yUY|qts)(~(Vlmr*T&_dA0&%r!*sh%w)`j_0mA?|jQw-=v+*M#U z%dKWjCMy8oP?&5T?u+GUI|__qe%X6}IVY>wA*WUy^0ChcHIu}@K zYVsA`H!~2gfBs3f;Is0{_kP?s^3HZ)z5B^634Q^xE)7FotB{;hF=m zp0O&V#V5iI9^@8tr3&2EX3RfT??ipai1t-00AM=!^k92Y;5_HGSe{{#IXvIKw-MJN zmhbFA3MNc$V_NuCZt9>~ZEqfo_>l`mG3Jq%MR%H(k2b zE=SX(V6O75Jym&B$4OmVRq3|D0tO|1Vzj`L`q~u>)NPlsEV)oPD)s7A1M@CEb){b) zPw@2XQeFHv%g;AxE=23L!{?J<#WUs-^_+XK_u))8w;|Q&55s8^YT5=+6$(?0*KTXL zQZTsHU(S5#jH0Ut8)^?&PKOH30qJ>K9l4Y(Mmb_g9sEF7U^Rpq z+cFNezz-7IUsCP|yiE=WzTO03%iA876ZTi3d#^lhc8H?ifSs+gTHg3pTkaydbLW1IkMax7-x)?JvBzrWM3iGi_?!1#30>nHTg9TMwe10^hN7{^EN=@yJEtDWq- zGLEY9pNpX}gIVIF8gJf%QH`f*So;*9G3(+lCBjr_?l+wnKfHVUQyq_l{N%B;l^XuY z3~+`=e^f5`=skXH$2%@USh7p0v#oIp(-Xud46}_s^(!%gE9!e?Zf>UZeI=H{afK>- zSI^h=@9&tiZa#j{>PRksZr|zrdLn;4Df)Gr*gnIvAKe%s{+5^z5s9Kh&5a|;f98}D zoG_&Yt3Q(00KU1b6P-#PN|pl71uR$K`@zIUO}aYc6M$>2tKs~ z?BiLp0JZFt8W@o~=gOcIYJY90q&C>yyf)NVc#SafwW?(;ai2x&q}E@sH44?nicUpn z4aOa8o{aP=k~PH>|B~5PrQfDJvgC~$`NjpX1w07qu)Ky7R78;vm?2W3{L#n6-T7zi z%Tb!i=5Eir0o!m4i*QnLCz^Hwac_qijX_+-iNvn52c2#!yLQY5FT0lGrf)B1!VgZc z;YDzAHNE2p_-FOl`PJD6V?ys!6OSF(*A?It`E9$3vucxIlMt-^AT9I5Hf-%G%*#_& zQcAimPidyPzBiP~Yf2)lSVTT?Bl(0E(@Rpvyc2Js0*ATO64gPfWHdfGO$}H3K==bC z?Me#L8rA%AMOw}ozIZjAf+FLQJo=0^C%t0m=?I*Ah)@vZ9&}SgZB=wbpEP9Oi(ENn zQbiA^i7R|A%`A1H8EDVM$W9|lq92BeL3jjK%~Mf-@Kv~5qIDtiaQ=1ZD|hqq$SY4* z+Jd*YO2lRM>$XK)PP>_i=Q2R|K*Z&WIuWlR;#n#lu87BQG$G>UzDT?&>Bqf&PCin) z*p2u{1n4qRk4(wAgpG=UN zOGhgHiod`lXy^HF%{uiv7}(Sqvcb@%HkLjoszDz|Ca3bN zJJRUQs(w(?Z)06z1T%Hvj@lq>fw`o(Uv6re1*w|d{!C@&`!mzM7ZNaRSy_EQbHoMfUr%VLBUYIBhbtT<`RR6* z4M194&8i}#Czrho-TL)?0w;zBSFv@&RtCnNY}Ly6X?MG|l?coBVLjIVYY#l`1~5&} zGl>VD6V2T~W*_h$Iv%a>J<6Bxla_04Tj7jfp^sYWIl{i5$ru!WZr@ujgRt^A?~RkGKcm>k!8}iXCOWy8I1$#>G%oag0au6flSZAs`!q zrkWuufo4zq;}QAU3av?mdPiOlM)m4@k1q4+6g#bej^zLY zmbjLknWi{jyF$4R$X)Eh*CKv9dv86|WOv+K-bXiyDSDpXWX_cyLJn4%q|sev9Sp0u zMf{_05amnn+2HW`DaFK@_wX#yJas6yrcV>mV}O;Z=<2Cn+>vX5s<*iCB-W!;w~I%^ zi|cc`1`Jx!mo4D2DiB?4u##Gqp|?Q7^*@7s@p;&jSzh(32GQ`c%yAzroG7@W+sc9Q z+6cV3y=Z991vmz@D!%t>c}BFbuq{AHo$XC0@LG%Y7NhkraP_e_E!O$D^hr^29y^%DWgAyB0*}j6BTOhe2WFcS?8h&>K8lS!US@&cC zf7_n-5`W~iR+G&M*D;}u`h$Qy`<)0M1=dS9vM8YYMl_f4J6YT}$69oNLOu?4Pnnt% z%D}V3nSAdWgt0v%oun10oYqX3M`Fj@OS%wPW`F_g$PBrFO5*V zsR-CaWX`ea2DoI)Kk}p>hrDhs7J^wG{6p`alDuo6d^Eb|!GojsJ-Ql+P0q5@VN)tO zo1Cb@ebGv#GZs&w)I1*|+p&bdO$C%?y=4`|&+m9)#oio-HN+EE)v48)B1nUN^j@c8 zX>OO&9-+owC2vdBDyKWyjJbGkBQY%DltQkFE_Iuh%PGl5Z*l_kyyPY33=_p_q`BMn zdFQN;IN4o&}GgPWnV$enP+)Gd7tcjgpPR5KV zN3}w<;lr{DR|cxg*==ACT?x2)5l*$!S>-`B2G8n1?O*23$w>GV{N|&%_?wIK%on;2 zqKXj7enQk2)}9#Cl+Fy~xZG0J63O4nizXceD=^M%N3?jBQymTQ&jeGb_ymH#)73?3 zd!meptgsH7X~*JC3?LNrQiyrEu4XQ84!R6phUvna~ zY76k-;P|O2kKSL!L{F_FU%iPKp=A8zyg64$c<2I#ZHo;fe4jcq8qh%jZ0ZoQ5S@`Q zc6^tS0W-&wte<_ASPrk$s!rAU_qjL8uMU~kk&o4RT^1L(yR>G}5&mV3O6 z949w%ZX&wsgL_%{&v+4gqS3Mfxq1a!ii4s1Cbb5}EI(r@JO6MrN9O(qeolY@%Eq5J z6cze>r6n(w<)VZuuVb!~#g$4pYhN6S{p4yK7XJU>xjKg7=zaXLlu-JS;cerdP_uUt@%Kg%ZX@m5pz&o13;cH*>Wj?W7gseN^m zI?;MTqP4>NdcmT#pT1frSO+FpDv{`UAy%diNg->-h8@>RXV?p|tn1C4*rS>~FwoE)A{M4IcnN1sG&^UQqU|790FeQzUX}o4tQaVqi zJM1n$?B2OsTd2Ua!ke99+m&KFDAl%nCf=#GO4?&oa^k&zsw1-}?wp_%x&p`f*3^Z; z*XOwcK>qH0e8E1MQ0>#!YM78C3mO_??Jl~8AGUwWrSqG1uKYR&>f2L_GBYi!7D?41 zCF~%G#E!LF4OeXcv|Ed=Q|%d%I#*K}5Po603ghTEz$U`qw!Yf%q@f9kiO=F01AG?G zpS8qCTY03$T~Z(zaaI0Nxz6Y`b@Q?N{ZWSd9T3`k9no||q0pnm6DbN5-6iPM zMUBLWz1AD8`xY?*C}*J!t&t2{vNP#)hGK%wub@YJ;#VAkerVmV*s^}W2ePoBEPMly zj601{Ja}UoLtchA<+pJLS^Tu3R2Aq0 zG=|UZRosJhpL`S{w!j>?q5oWH#fI0i-J-6ox?Q&xiB#n9JMIlKDHUCVEE|%7gI|G;K^{P6-=&2R( z{(O_Xf|6k|cZB6Njmd_^-sr^*ZUR!B5w;moJx7>ks1*_fHt6Clad|BdEa7SYCDrt90+t3xWOXgqa(6qz+OY3b;3>4Uz;nx)2sygLW6kbhlumfT~QBk<} z;SBw!HA}cBzZ^Y4;DUEQ{EST=eRBej${4z`;A$YEP@WqW=UAH2imwpoaP@NAlJZN+ zu+@_4Y$s=ys;TthA8dWWjf?sB;(Fs5VZsqlFGtJMM6O-0od4=PT>P&K*bvS_=yp=# zj(LWB)!=t?2%z>5Q{eN6w=(3yMGNdY4CIHmQ@#0$yK{+CLhQ9;hNxF?(+z$#cw|ku zIjb9jWsq_*|04hHoyI)g_ib#8>WsvMIbGAK6Au_x2WqQ64(4PcbutpUcN%+i?RC*A zhVsvm@Skf08GJ!)z)i;?2quy#SSqNGNa~_a0gue>`&mfr@#y(qlkKnRi+B*~17Ss2 zvmXN*L+iUhrS!vG_}+-*X&h!GJb*3Cvk2EYMJx zZJAm4(psOr$d4DRtt)uHXk1Y65rxb=$0A}5U^Hb6vHXx zp9Sv@yaxnQP)B|!um=2(2dMGXu!Np1{ftKbQ8>0(RF zda^#9d?k8}*HrNqXk<|nXfRj&9!IRI`)!wAI8s(1A3j2+o2o&_(T3%-Tlgi2xlJkP+#CG)D;2@f1KnrRVaHtd9L%!Jvvn{gd4H~ii}A+ zPps#{jjw&<`ug&8$V^samvbX^-kI;s(E)*xwc15VgEZ9pH7h0d3pIWo2DaX~G9p;| zTO~&gc5W%=G$xc%6}8QMk*Qz6-{{ih6#6i&_v6lQu}R^v0`zo;mej$-XJktL2Sds{ zXPy=Drk@|E=~*!-Mf!eOEdrClbCP-aU8&FV%62DC#LX=;TK)T#?o53B66_PPk9`P)yq!4h9$9P^Q6+f@!F_JS^QQ0aZtVan5WpO-j> zJLe&T%N1a6B5ZcuoL9>JxrQSO+B}Fc@{O=44c<8&n~I|HJwA9I@U2_t%()ZIrbRRD zM%?uQt;oc{KrVcQ4ZD#X2Lk$~%n05_A&N{q2*#HHQuP)Fgz;K6d|Xq9?LhTGqjEA5 z%CQ|lg0^O zHJDHifi(!JhcQnxk$j!*_?DU%qXQa#vMU~k*3kVVo@n@y0)a6$_F%qC@rW>{AWs3x zO9;I+Znm+S;fz6!-=-WTK)I2!ur?!O=stK~8&@l_Q04I}i9&d;k!sMH$Qq)b*?zYz z#<6_enSmmJFlb4JS`)sMIhEKz%EJt>)|uxkL1%*DA>-2IDjbko^EV;*oosC)TYU~0 z#ZNlB+S%3I6rElDR%Cw<468by?I&+FWmzXVa7iq$rc36vU%G_Oymlg{7wF&C##Q^Y zDSMVcyLd#?vhSF1-D-z-6GJO=9-1|^sRO69=$3-FMx;86+KGD;;$CV~4@z{myemBz zS?Yd#O{`Mg$+W1u?=+F8&o zsDzZwJXqmQ8?;HOL91XPSIhGO$Z#hnRkPt20GA&}5b#9$&YXPJ6oKDN-zHwbI78_9 z3{4c^ZPu72CUVU64BjwkvrndLIb!UMXL!LJ+{+tz-n|ic;f$}V13Tgeb>k&IOWzHw zn2$+}#xPpI=6E|n6H>;My12mi8aUTNS>Ml~*6%D{s#aMmx%{#@Kz@;dW1lxyaplS_kbT31GF-y_~Ei-oc zn6Q+^L-QCt*D?@~R2>T50>f1K3KSO}m>MM>G;+%2?fJRUdWJ_vp#cI}`ma6DQQA!z zf3AK|$KKnCk65DZPK*KPBE`v4cn3o~5spmNyh7@dz)N~u%sdA}!_1cp-$Q!`I;M_$ zAeX{m;-*(VNFZ1?)Qyq?C;R{tD%45l9=djDV=hs`<%<35B#=Iuc4$OyXgdjybIua8 zvZ~KPl%k6HcmV}9NQ(Uz!2T6kz7;p7QTz{GP7+&2I)IDc>k0t0A3BNCaNQvC<)u2hUIYdYhNP>8 zvg&|5{Hz&aAv7>Me0YwHeRjK_KY4DJ=eP<@j<1nOTuQ0Pk2E=_`QCoOTQT-r&~+NL z`6RbdIPqjtBJ|&Re+W*MJt@kT_QgLU8&-|?X6BEW5uMa2dixIk|Lwbb+U8YO*RgSQ zN3u(4@wdn>iouXCT{hWV!^Bliy+SSKR_rR3MG(-x6t4z)62g<=gKQbVVn` zT#TbQ&NZr3S1?A(M%bX|B`3m)Z-%EjMU^kWt#!Ck27RQ*Ixljh3jbH<*V3plu8!XS zCT$#8(K|9~twy6Oll$8sy?pV554(gJzRsUI##zfaV^6I|i|{I!!psy41SSBd=b2M1 z9@wwU6kPuOZi@nM^n;s!k|Opt2mAXD+PW*^-}6FW*3Y~ib zP%bv12^5d9oKFQKV)%=T?n)i8CxHH@N?vIJsMK@QBx}G4?|XBw724HNZ!sE*+dY1* z+++t7#e`ja%f;Jk0edpQbyW%4mE}QiJc54VZJBuJM?&d2bQS{I@u@0fsvsF3zJdb$ zr|`XF4qU|hMk*{b#jQHUe`Rbtagu5kZ?WDTy+18u20Vn-@oKCeRt*w9dg}trtAFo2wCwa~;N0*xSR0cERmu1VTy@E@& z7>G-qRZrTLoetub0EU0bb3R_XV?V} z#;VZDC%uLSo%}*f-oU07etNYKZWf7!o56U9GsnCSY9;|+3m*@G17kG$^yTa?*I%x# z2bXk44inZ!GO{&((%G3|=54^Q&_|tjP)4qlxdvHLP3|V|aeMa1H1nl~m#XmYlRa&H`wlPLMtF7g{FTm!sOlL@9oIIwHMe= zEohbnj{DlDf&b*eo-lw#OuRYunxli>Z%o;sE&gp9G^=X@81!KpG>+g_^v+*N;dnBQ z=x=+XS@;GiFZreG;fkt0~dB=Yf+ zOW%K9gxh7Y6HcixlXc;44& zk)zg!XJY~u;$D?pn0k)GPX5HBT0U3{0Oqr4T<+XU!wK%8oE^=KLT?UBp#H$fK|Huj zlEv#H65#@8OkaZ7M3q;-=hE%#RYyK6$L0UxjlqouxHc`Tf@R^lnvVTXy3&pMdqu^i zW`yd^dt>65T17_adD_|l`>~~g4?5NfQ#JX8lBCV0Hx`UP<%`lEW$%?b9Xc!~Il$zyN@f-j>)rDG4Hs@4b%1D+fsoC;0Rpn;jPVh$` z94{$ooOOgVH42tG1?7IH%kFa8AXoR_7x$?PpSHV*LgNl*k$J?J`8)9zw&3>!4}v+z zGXH1QXkHX%hpWT)w4@Kwbc#l49IsK$FIS|)-}K_uQr;712Nyz5m!!C+9Q@=CfOEkd zkn;r7YtPyDB3Dkybq^3hI89vcW@%=aF2XWJf%Z&{>@=bz`mxZm0)djJa#YkGd=>7N zXkCaroPQnqinlpM$cy1v;;UwNvlWE7UEAnr%e9l98Kp;XWR`Zp4(`_TvQ2|xR?BS%CoyxK=B-La8s3}p*nmw@A+a}mxw zE7-noe>3`WaXR_}J_B9=FV$R2>WNAXzIyk=vGIrRjT<4X*CWsI<{sZVHt@cZ@$u}{ z55NEUdupxadsdV$Fagduc!zSM_2Un(?=W514PoWXbwAM8ur(4sxbN~8xgqHHpx1J| zll#@5SPJ0Z*SA=|5%%Pn`O1I(4mRwtsk2u9US7Dye>Y-o+O7rQFFfbj_2#(rkHWJztd%6>pqd&WNh0hU*clM49f0Sf^sIiM1lbN0(R^ zwrkI$`3QDJRr7x4{3;s^Jfha64^{Ur&_e46%)hxoz~|bxA7I=2t9b530F4{UQpXn* zp4Ls|^SuX~Do>_sWKk5DQ~WSQhtp7a*UU`RZU|^Kc-dX`n(O4rPv5trgxX}6 zjXikr6YB@{myX%~%E$=fO*-Y$*55p@*f__F#4bGn#1d+pivop9cRD0}pU8XgpIkkg@ zehaBM57}HS968WyO6S8m<7V&`z6k?z^)DFeo0?9r^fvWjEFw;$msi#h!dt|0q9bf=zF#J&K#L#2A}o{f9czk~I`j^1%Z zQBSdkGq~5_`I3y9zB`vwWqd?Wi`XR;zs5$knqwN9V@^-NT*>BLugY9g(W9KiZ-d)} zOfG9+0~l0T7-uMX{D_JVfwOz=Whm8%B0S$bh<3T3AXX@oD zE~sLH%mC_PTcx#0Z6^NC1FXQ`&bOj5m;nsj2$bbls`a7#kZ_k4nDO=M6d!KgD*P(MqUYET zLUk+Czge9!3P)dI7!!v{H{Ls9>Y>GRg_CqNOKx8`0B(7)UtMrdu+y?GYvy3VHEdnT z3W3-YgEw%ktLbN~-Ir#lCJkOSQ7y!k{CsIvE9!uV!8Ir(Rct3&R;5d4$Oh|l6;kcV zrgpedu$dYVFwX0M2HHd6FNAVa>EFJMEe2y>=d$Pq!gj$*Bo81 z>?B|i{>}`9brc7aZbyTg-tG94iYje6nzR;5X)x9fG!p)UJrO7fD{nRx)=1xjL#qmO z-^45h37U@HU#7%Weo^g&D!bNdr!3K(V^6SLnrb8@k6P$C*O*Q9gVh`l@$;+dHzJ2Z zrq}H~GI4Bx2S-`P5PzqAki|dG9!AL_+R4tSAX6{GHm(PgYwvAp8w(55HEAhJMr^}S zuE*JRfm~L@U6BM+;X);d`@$aAS(Tv=CBPEopjEJOFAU*_C>~V*7a>opjtvaL>OVlNHq8{pUmc{VgJh&SoF>ku|19>C+-UZj(uZ_1r4X`Pb zl@HWl0P)Q8A59-N*?87*`V2p}C!3Y`N9|+kFoxB9Ly9X~>y0_3?xwqJ#h3`|h zfE$_g6&tdhp`%M5%%%@6QKo%ma9}xv85qt{xc8w)Kp|!+>!U&>G?(?ExwU9z)%%>Q z()Z?bd>YJ>uzIQ{gVv(?#7mWY2xn%9EELXs?@`wMPxS?+9+WgE_F7BA(aD4L7s7yUx5a)4w=?!R~Jvv5r1>yFO6x#TX9Qax9Oyf z>I~Bny@)_5_avrN;(yekS-DfUnr3+^t?J}0bE-YX>t`6dBhOo%)nbcdb+B+^T;X2e z(S{ArrRO$scE6SfvccK-f)CxX89cx@J^x-e+aeB5(s?4rBvahD@vS0YOMwg8iW8-U zmi_Um^r*O%#-y9eq#o`s#ba{2v)-uzVm-bMy5YgW%CQ3XFg0u*A^-UkP(f|p)ALmKq^$Ek21MLPN zxfF!xMu6Mr2I8}6ho4N>a&!Yo_<}K`H!u)J=TZ*uxqUe%?YMn05%vRTZV>2nUdRh* zS5cNgk5KF00L7aw=>@l}+RIk#;zGdsOl_H1pFO-fUh$W%x=-icC{DElqFCM`sH2^I zG510t;ku;!Mpo4PMLcC`%JR~PHruDqwrhEh+>2eBEb4=e8N`h*XHD_ z2zkH@ev}z-LEks*pRXkR8K{rQ7sWK+B&D#3=B(?Ku+}4Wc2iVwCj{=<#J5vkcItu7 z`wm#)DE9ExU)!Qr-_buDDiOH}4pCj?S^#GxT!m!Z0g9=h*jsl)&J_p!TsRm zBd8nSo}3I%ZO$I>pZ|A_H>TEh0Sp#oXZSx|NkB+to)y8X;>1qXjP=ab4EMo?WurIq zo9Wx;og}+E!xY{iC()s z=vRr@U*5eti;uK(5+)B+b&|`g+53d!VfxgO`X&r-2O}845y?LJ=sgeswlio?GUu)s zJ)yIjfZj+Q(`c5?2|W;ixM~jlr6)q(S6gLC(`TKxzyJy1rrj2Pvc_Fe98{GPx5#^g zWgWFr$5(SO5+*BBd7H4B8e=(qzKTLsza_=PgpC(RD(8SHJDLec+3U*W3h?Es^f>^e z44%ZKkiTniGz_%~2T#Czf!(uGMfAr3v)c!7^S|a$Th}6OirPC|%eipx(TCyxD(ygD z9Wa_l(Op2uZHS8lHQpxpjt7ypQT=(qc;>JIhja_MT7R2UohTf$kafg1(=jh&!*Bo$ zLn&-$j`vvXz*lDiPI#Tdh#PSL9o+Rz_tY!%#s4a=Tue;Yu)Mz=Fb(LIMsbXyhGyh| z_9kkPMku%fOV1A&&r5gTH#hjn<@ZejF6Ff_4jtR&oPDelDX8z{A_jLP30X_#i_>Vn zz~Y@{Y7CQ+E&5HV63cLl?|Xh+B$N0BpHxW-(T+7A46o&DdsX5X;XS5{!@a=$W4_i{ zCG-?l(0gG>x^iX7#0}0sib2}R3CNW?d}{z4K3Ut{NlrgG^siPLI57vA6o#!7a47?* zyLZ%l+42>6PbE~4e{v0fEzHLWh+(SYzkYHBJuk~}(iyU$L?>+G`PuWo3O_l#)Xkfr z*No&nqmLjQsFsKLreMyhuT<|7MpGE+E<^KEUnA}aB(jdfgqY|jBoFot*Lu7K8#$aGxb@2{-tqDi^grQJ|JHyb4RY*A)pFl;TX(#+ApIqCtPx znj+zo%?-{5JK9J)a8;i)c7S9H(+Pm}0@(ZC@!dSfOxR zT8jtp+V+_828*TDSY=9K=9TGImi(%YY0jcKYXQt@C|DV&Et+Lm5r12UZ)1yygN)fa zWORPh?6!=STJB3-9FYXFT_j_*G0s9QoGlHKHO+EG(sbsBEAX{z9{psMrtU5FYaeUG zh0pA~SyY}HPpT7_k-Deep(|m@pO2T){B0{kThHIY_xpf5u(-u4xa1MAwDHnpz%F3-h58J2I@qJ4cJ`ZX}2BBtL6|HJ;U*U%(%n57s#x# zg%8r6$A=B=1oyr0EghXJ35;Az_|7x^Ft>;%GmWz1cPSn<5m=x@5}l#6$#GI>CBqww zlmSB~IVMI5xPWqP;mBh?Sr3)1M3eYGQ4oS%ypP1zU02+z5Z+=H)I2m7DThcOvbun+i}bV!=@=D)u2^hBJpz)2os`fvU>pWFk?Yb% zS)V&isj8&&i9#gZPX$s+_Bc=$7(UN)qT%9i4AmK>1iF(-&0r{asa{lSSngnCwWyqt zSm4PV@#Bdx#xq&i+Bg>1ST?QK7&6!n4L{lUGpva1L=`d!hH~o=U^XQtv!(-^uzfHo z7Uu%BXE6M0KOSFIt|o_38n5>D7wQ=%a{$b~Sbn1G(8Plx1OcWYQk^=4R7QkUY|qXV zl+O-xLB9l!c=Y1e1B0$78Lx3uBZ7d#MRH3}I#Th!kB)bj9t!vipry1|P#hHpi~pH! z=3U~@H;(VE+f!mKA_r9DhsX)uTu)U<$OV7`hdguX2vgsek|k$n@~4*S7m zc<&j#7>K@g`Je;f*W(0bflj!9dWk zh-D?MKpPo8kz>a#&hrk#aLO;DigpdG@rR*gx{H+_Vd2rS8dX5yyG&%?Z9fQ$0XWsy z1@t@}J#^{fmF+H~cyL-HiYOrA808Yb%OeASq*aLxJIV7HfdTIe*P=6sJgzjxnmQ&{ zb5(ixxEDh!gFf6;P~WSvaH*0YO0gHG67M8U{XkFGu+<&?Vplmkp9v_2bGxz#cQtv6ff1 z?{vJiu?kcv9r<>5i)4&k%mER|`!EsXtS&Jl7^5;JR}d1%I}9ogR}!&p8a6;W8IEp} zdIv+iQ!i5W$cpL5KWLGF7EOSKN6c_DI`T+B##NZFMn}20gCHf-Z3QW%YuFws*+bim zh&)Df)V3TO_I}qB@IxbhjT|Ltl86W5*ASvxa%*&n*rZpZJds8{o7DQ~ z82Auq+KQ8-OVI`hIp$%$F&~Ez+?tD{OTM&+6I-I%+BNoa8YARkI5~vv)_fdYT6Qi@ zO$v^x1#h(D@pxqSW?kz*U9OjWh`Pi}#;Hue%>3~I-M-UH%bU?9S0#Gw zJUmnEsT>UDG<=p;=++$7>PBXyw{w6r({xr^pAQ>7k5sOE?&sX*wnC$XWyb z$T%LS7R}O2H~^Ye2()ZQv5ZUEtP?WczzZ4Y7jY;w+kzufOtO?4(8M;pmMcP6!VlIT z(G8)rLA^$4SBG?m=!{eeoNTmJE2dfJiPR!k!;VN5A?w_bDg>K=_4Nsp^|}U}3P)h3 zdMXv_?pbC`xiUQ@SeQ#UV9L{~IIqcc6lnv>g|cWKi*F3w3A(&RNmki}@Y=CVCe{jC z?**aQ^=^YwGVi)0)w+w}Iw4}hWv@yx@Q*3C!k>%su{rU zsB`bWfCYDA@= zf9jSSdvsw9H+aAO3h(5@K}^#uOR*eMtE?k z3GU3cEaA!m4DK^QE}kZ05gHzG?-n56%ps)6UVS~9F1bM!1E&~z8&Dt2zGpR4k#{qj zM-bAd(QOs0cj<9I&piSFy~7W^(csJF)%eTV)$Qe}Zq!;;pFry{^&;2eYtW%#KA5(H z`KS9tsGC9m>gKdEl&G9kOQLU1K<)1ntw!UUA;?;Nz~24*_U(RxcG3HbRF1k<4B?886&=TW6taW{ zme{~^vOR(>Hg8p&5{iG2ZEMO}Z{|>O`JwtA)zym1H9Myj0~afg3cH>p?1t+&R&6r& z38I_9XfW0Whw9UC0}?J;vrnK5{xbejAv8*nP(IujG6{&P$pm@{1}#dItX@!+=(CIAx|@05<+9{8yW3c#r@70#1rbR&IwHebA1B@IS0 zk*u#t714Gn#3O8TGwF($uK%~aBBr%Dl8Jd@TWB+M`@8~ve={B1LaUGcyQuTm8HR|; zBJ;tC;^J3^ZIR1hTlk~@_jqWHF3zuQ3m$Oz9zM`vQ4_(m+L?tCFLc}^olWTQq}9@Y(fw1X{IRF&L=O$U~~ z+tY%F5{);0( z%a8M?0N`zzogE61P6;RyC(^Xa;;clP5`r5l1>S{a3#>H zJJJ`{UHpBVZjgOU|FcC8=2|+@^LWdq9B_$|FZ2)aB7ef0EWXo+T8CZl`sKxOWZIya z{$z$@pOAVW33%g1z$UcwN-4K|J$2+L9pj&s{(26Cb$9eW&PKpK<=kt>FjZ1a1utZS zBLBM*k*?nP;nzD~qULkB>Qem&y3^1R^Dv0nm9RhD683poc7^N@uE=Yigm~d{H4T6M zsm%iDu`K@l(`KZ^`}^N89dFkV^0sYCruFKkw2Z!SVs|u)FM9{Tx)QpCzj4Y$UtZ2zyAmu2s`vwMNL(uWQ(J zsFc&$7Pd^fot!wT-Q-Io+HHGO+x_Wcym358%5`1R4y89qo^qOdyRKK-9#O9An0Bb! z0{w%*j&S=&xUS*df$!?Nws(h1w)S^)Yv{JSlfDDp)Kxg#YguXT@L2Cq_jO&v$%EX~ zb!{gPaz{tB`upGC<;eB-zrR%^>tk^$x?>rfd=#$m;l)#%9spARx7?TczZztgWSw~M zJJ-roNhi%3=u}Ij=U4+TO{g&wiHaf15_9tWH2&pU2B8z;^vmnWT*4`p-?aeW{HjEd zV{>t(C|Ji~J1R#6gbI7EbwhIxtyk-BVxQh|-7a9tYWKGJHC<-orBOvI@fcs(cavh$ z=@bAPo!y~!38^&60zpNarAAlxmgQ3olJm+kMECCg2Ly2qy;Hv*T1CW{zlQaHW$xfl zTjY+e=j~ziyiJp<>wJ4S1Y!|=-fMOYx9x32CnT}nEuP#WIeorTQUgip>0w=oit?lmbM4+!wi`|W+TC5Z? z$yK^rq4IH(Gpw1WOJRJ$Fk_7xEA&Ld$@tbG=3Nc1FAsD@*U!1H{i`-Df>9kv9eHBI! z`E11EAfGI7kDe=F1$_Ocx+Gq2daa7oYp+U2kdLY8OuDN?(w1%yI)soc(u+4TYN`dB z8qF9DFRsrG?j0iSgcbLjFeZ)}#wN}cv{;vk;(YGa$b%3uo+7ST8CB?HI#&&r>#g!zJl+G{2L_?_kft!?33sdraN z!P48;@^m(S`?un|wOgmzEk%wlXbN4MJ$MSS0clJkgI5^vwjH#`o&VUFg9=zX}{SLo3*Fg=z}faKwPfNrVo?fbekT?5q#JqU85 zRx4vSY3j5DdPYNK29Nh1j2VHesdMu6boBm=%6@B1MSZ6jex3alY&%9=y}p^T)wba~ zY_RiPlBU5JP>k`5@g22x`Y!3&bkgLOV;x_76yYZ`m|>IqSGCyTCaF)rn4t|<3WXP0 z6sBhcbk<=4Fk(mVugH=i9n?N>2BQK|EEK$TMCqk|t$L6J3o+ryZ)_!N&|#g{X-Dbo zR_ExboQ%e4Q{il)Z(71cfsnN%V>LyrE?4(q`)y;YCC6>G-8O#9kgplRvpbo=*!Dkp z&u}NgM?t4-xXBN6b%b~_VQJz$cMF97n|Y7Mqc9%52)1_wdad z13TK;K+}J+;+`k~0v;s?UVaWB%%VRs{)3Xd^54Gt{+Ffc1}=B|SvM069GuY4i^e(i zk}inxNZ=NOp%F_zJ~`2ObS}&X9VE!5(a)Eb_QyAb=lnxOzs=<_hhyINY3Jl+XuZU& z(m1rIO!A8-@>V$+Ga}e)IDBjw%Uq?USx4PDR|Pybm+@jchpK4QL~m*za;MUG51nUd3QX^;S)`+N!yvk`==41 zEONOgHKwx!UgS@Nj?ry+-8GW|LAn=sGZZ;QF2{`MBdZHpT`%)F$0rwaRMR=4_ zfUsX=kKWX4)S0^ox6Q?J^0+*+U9w%34~>##&HzA%@?0_57O##0lf=hpQ#pa(;u%s2 zgXkWmBoRB@7+DyJj=MgWnDYWzZOv;Q1vC8rzGDNkR&9$sp|`MqwyV5L&lrt9fui#t znjuQ@aZF~_CtqOG{Al`?u&zBn)Qtsx@*J6TrIIS*VGQgw*WO`LZuOGL{TPcw>ItXk zA5N*qHrgTBQZP7^%s`5#fHL4+HOWxLN+1hd?u;Y%yDZ51_f(WmtnRAVZV;O8Bn~(f zA5N5VJ#5eEB(qNVXOg4ZI75JyZ2(J+de6U)&~{u#j*~L!JTLsTcxr$GyLZAn&06*% zf|jR06=%d&I|tk=0?)hv^kTxP20qXU;i3-7yoe8UUc{?>E}a?oBD~BIs?$sLh1To< z?jxVoWd~7Tw8fS2#B2FcZ@Lvz5ovfD+kL>Mt;d)um;YIe&tygTGY}u#X$HpQ%nk*o zaZG@D%t?sBvrX1~6@^#R8`HfPs}P0!A(!NZv>&nEG-scwVJ}5^GQ1wRVBTyH!3*2H zmhYO`1A@{w%qRKAj#NXZ4LYITU!mTGVJsU^wm$ww zOSy8$e0H@EK8aR}JI^v}qq+tTo~S$zs# z?Fq`i1WZOwSadMj411x+G?^K6U{ipUwWX;jqioKJh>tdSW8ikdPRW==J{d<#OichF zJ7T_;)h^k&WbUfR9|s zMI-hWjn_ucO)hPrkh{V$9!`mvwvqX@c;s0vo z@TVP?01;eAv)b+=3RMMn_^9K0cu^R?#GkbsmZwm-u-Ujuy{(>A7$%fxT*6OrOgTLy8_giAGq9~ch0qsk-V7qg|SI6?GXr*jxuPrbKA!MC} z?ELypCGN3G+ygDxDZA29zC~rX_BgB4P6xFac;Q0-g1M5JWmUi0>VIwKdSmMtSW>O- zFP%azd8^EGtmi9I-rI!sG)z9rNHNn3WafQ#(mHwB8+j>nfv8Glksl;0aUHb$r4yjF z3lXf#f5sLQyGeiEtmKBQkQ1beMqq-=>vSKL*Tz!WiyE?$)k36ZLj0 zWvb4Re>+#9<3_%5A%XxN)GE|bT+#lNH4i+AGMBUHkwm>9`{7S>{5& zM3C|$5dbxUVe$~z@{$wuND{osSApGE1FU$F9VIvS_<14X^_=%E<>R>OhpaN28WrSE z_Sb};8}j%1bM!|=QwXg43`lc~QFMoJ;mVCynAm6<0f`vrV}TP5KDh9|*Prp$rN$## zkYR3)9bYd3aR`iO5mv(B55@2WTp6_#XHAz!5tGQb!)I`No);lDa#+lsPcBY>k7W&Y zOWU0O-Y}he55}3zD^~~FM9Z#Pe9cmHn_U%KiOmYv$67-QSF7|Bd-NQNzy7VzIjvSW z)1!<|Y=&WAtB6pzs@Sy53$|VPH`Rkp_+?7ht>&;@mJL4X2X)*})A!Bi)ZSl}4p!}^ zGKFZhf(dt{&{UU#yy-L$DKPGyu^>85$*zS|tC$;pZ{zJe1PAe<<@4ULZ-^7Q5z!g= z4yOoIb@kMI@(9Qb%EoV%eW>u2e)BgeRVe}>ML4oyPE`pzkc*JHhdat(+Y3P*L@7x) zS&Kc98x;NWko3IR_mx@03rggV`J-i5cO`}sO;ks9xjFS)sJ+yFws0M|h@KM8Mpf1d zk7q5bJA!_0Z@K}Pxp@^Nn6l`#^hnWw!HybTR%UN` z1t(NvtFpE}&ZvEbBd!eZJetn|m3Z4aj$-s&L{4af#w4bxv_D*dthpSNxgbzzit$z* zS5zj`o@$J|vi@o#TZVYcp4?wJ>GS=K&wvc?v1k2H6om3;+M8B+@et$3;8FL=6UGKRXaJ$%JR7C%FHXU`))?NuEA? z{oJlp-GkyifL3G~_XuOJXIVTB?-{V7fK^m6YkM@t9`V@bs73@AJ3pz*qZ8g0xI(Cl zw+;;4c9GADu#U_J(F&{q4BQB)<+idSs2@`Nrf)3sds^mC6(M+}dD^W5yaLQoL|qnN zoWaV%wP&^}hxDDBsUl?6>(jK)xTEI{nxlpVGCr*tPZstkx-Kiorph+W?=H7r?Fr+sS3`VxU_HMpje^Vps^&h5)K2IOPDnIMZJa>Pxfy<&etH zc#KswutJck7@3kmmQr1vMSJan;BA$m^J8oebt(w~ye7Xw6K;jSB#FV~0rrY7)Z(ay zWNpYatF~|>n z(iHAnuC51{UwWq(!^`1leA62be;b_t=a=i7t53rZ!|~vBkHD2b!l%_i>|epwtUvy8 z)*GJh6;v|oq`GyDLA$;D_44ZTWxV|y|L65!j{sDeUZWXk3jO_c4BpLPbai{vAAA{o zy1E(nJ~jcHhO)`l$pt9>5s5eo@~e2h^FXmu7kG1m@>e}!7f?1{kS;GMQis88rkw%b7heKtW_e$iGz=$&xH zi`W}ghMJowGli>pRc?wO%q(fSOx&iMrSt?PBet(wqwTm8XeQeHDr*>ifoB^PO-As)` zS-LT6j(l zhsX>@`q*r=SXE8LYbj_`1`i+(J^x-;ieiQ&TY~IILm4>MjhF}!O<+D8v{l9{1tWXl zz*)Il=BaWNZ^By^IRMBN&F89WVsj_{Wjok(Y*)${erop8OgT0yIB~HvL)3272A8k* zoUl}Fy@=1o7G2C1*mmbr7%on3edm)GgyIDRN?Dl#!$gay0T3ckv@6M#;&Bd6m$DNMui=BDlP19=DQ)#>Hvd+-CEoz$;)0N3#P z;iuYwxdu7zc+KouhJTG$!|U&j2jK_k#s0)EG#K8m4&Kl0f%kLc;H}Y%zoL3jYpKGJ z*%#ToCRH>*?z}lyho_EL>SwQ};o{f`g4wYV3dcp+4CeS~7UKUdyv2|FIryILyMoZ# ze%ye7Zi32NKPI+yPu*7mI$fK7uyo6KI5nQV$apl}F!>DzHRjkI-UG#8y3d@z8?W=2 zUcp3PU)$|sAVN5a@) zkReNK63ghIw=3cpPK-@9xn4{LjXjachilXiiL+}O^MA{54-Sp`{1EonNv$TaN9?`0k87$B)eJ z=A`z}5@hoZMJgm^jdSaM_uJiQfFKDo|iHxiSARR+sB6!-A7%faNzEQ@m2|Ay9d+4J46F# zMUm7w6ky&3mR8E7xDyX(TUJys>ZEszC-x|uk1AD!E%HQ3CrumzeBCAfwrPv$-9o;QCw5>NZndNWQJk9AjcL6RelyvH(1@? z7cW&2EC7F>g|kvm%TEVcD#FR2_&7^%q9)gY^n9WJs;ci%JT=f6r-KjZs_o|d7?eBU z?7ei3_YSG|KmQ}^nf?!8aEvL|i8l#C@#9xt$yI$i2 zb%IE{N)>fXrbMGmF{M=AXt%QY=^XaarkyPjRdYJ$xR8 zO%vzx=T4EgaXga&ob7f?kpzjV3eMqCR1W|J{AW!L*9$)bCMRMXMV@{|6-=eu7VVG{ zNfIaOgjVIu{m8s8^qrcmbmr^S3$|aYX&p8cY3l8B$jS{o18NOX`a*C@+ zqNVdYWC6%PMGC>wgQsVXxt2rJmnVb-Ldc%en7eu?pBOm-Yi8@ zu>8_yg^M%UK7wA{BoP`d{VI!RGHV2Jf3i8eAIDhkIdfh2wV!_U)H_}9{0jAy*X(EW zH2>Wl$rw#k$r_710~1<_EWS$Y2nsImE&1#|(7EzifpPgWI@b)QxN>cXwC-Vp|KsH~ zWXPji7}W=*k-{2Ekz+Dk%zJZv{az=LJH%zItCU!vX%v8U%$=#QsCg*^$1=2c+;91~ z)nF|Tqrv~Z5g@XYv}tRuCJ2yP8j)JgmWOY(3eu8;ym$o$%F47S8>~h%!tT{x8!3*% zI1-c!l&&U7>1Aia;2i87q?t5X5bsLK&`WBAcOK*-$pyhtLkg57$W`CC!9-Mk3w>H#(xrC$vN(SIeNVb@)Tx0wi*- zVf=Y#paX$8xNGOv^M0=P=LI}+!LjEZcp@N%@fDn0G%rzAjyOjh7blPVeJ_@evpBLn z$sLIYavRnlZH1pLzZ=;f*cDf^Ug?r+V>#uZIGaw!E6Y4R)wz_XZhL)vb?opuoMSiJ zD03GR^olAyj_(y*cWNTf+2v24m%FqTb1w3RAC-T(o5f`xRqi+z)c~xTiZ{ zn~vodN?SS5R-!7+GrFHgAKlNRYN(LwdBL$nmMf7T? z-3(nN(i#%hS8*{M?x9%sq_q^{R3o<|ZmnehX&{qD$5z3ZjQNe84kq_NekCIF4P`zf@^! z%-Gb_+y@T2R*vJ`nDIZrN zJKxGQ7K`iep@{-yiP3<~Jp@2FiYCNU#y5w< z#D7pAZ^IzH7vp{DMJay&5lAOn=-}H_1rK>=GS6f?9hxDvu;DmJX;J%TCn)8B3h@}+ z=LKQGx6=1ykK1S3@J5&BMtg5D9niOewhWsrm~^HJCa`IRn-BKdK=Do&^Xx8$6|q@N zMznLRjPS9B0j{3(iqy!s>MXFXISj|hVeauhsxpi6`r>Gq|~g)1_F7yil{TWdTQjOhtHbzp(pE_5#+Y zmIb%|_`%mXNT3=AIun5nL4KA!mE|_Ws13CWzxtV2^~Ea#3DU@v1t94Zk!7Uvd0c#L z7n4aUGOV=YC*;SC=>uif8pfp2_=0Q_=(@wNbg?Q6jv9-#Dz~e> z6C|q6k<*SN7#!XjoFJ^7?zIWs(zs@IU3EZRAIr)@S%$A3(D5M&GST&!Lxb869ro|6 z+V1N6DobnirS9xmBv{$X`C{98{Kz8*hNJ^X>Q7CM8F{)iI7+U9KizA*4RH)OXyRqX z&W}*EcbJ=AViGoQQ{`(J$l$1gi6VLcFjJUjlVH*=9so|WEWEGe6SB12z0R35qr+)!|}3*6w^GBPQPf;f&V<-8-T_)l{CXr5+3VQa!y8_i?u^S$cu zkA9}8Su6;>qPuRWtw#PgrQ&rLDz*k_uY-vCku^#w&=vx7#jkWEs*r&fjHv@Yca*n) zKlZN3i8ZkIsSGzA{MT`Q@#+xy)zCCB5QMt_&v;$Prh#$atAi+7Wx@0p%hfybC2IO4 zfk}ZSi2uy+j(oVodJkDzwWkLM8<5y**pE+!T<9ywy<(U~G3*4yZy~PXrM}mhbJz!H zZL&adF#v|wSrR};RLoh%hp30?&NLCi=&>Rv@#ml^_}D`@3?Fr_Spjk*@h8rM{#2x- z97R@&tmv2i4Bt)gHp5FhJ3ZDXX_JsMiO#eTRie z5tkue0lpRU~USS|Z)zu|mO@8fwm zrVCQKIxca$Kf(Sr2o-LYAk+T8TvB^pdLRImLhy5QAl19$h;ELEbPqbEbAZt#NxfZ78|-{L+U;!T*=#kilZb z#Bm;p@HyQ#+j$@ht;NvkTfd$aAc|akAN^EZ4{9I#+vz!6kmNS_TNUi{XE#v zwndtHI#gsxL3FJJ8kM(c5pdFY(gv+lG$N^oN}+a35q|^S#3?`;U%*vg=2U862jy>( zk;D`uLZIcBXq-S!ZVs}Ylx8cpc_oc{V1;3wii#9bZA)afVQVvRU4cbGDJ^@pFrceK zLF=nVeHK3?{!DjO#H@$0EUvEaUu8BF<~+Q6>y6_Pbug42e&?A^+M0(HS)jkCw@jx~ zO9g36b*%wbqm*NkNBWP2lk%hRcr89=4thX{3egLSBDJ%o8@j5@gj<8W$ zD!sayivK9cs`SviiNfHc;F4~Gq9oArV=EZ%&(~y)<%}w#=^e_%YH-1r48(E zcABA}#3<}u$DLjPJV3+0y$!#<&-=LP?!4cA{q<&GEee_95|&pMT?+MBq@yH|YQo;@ zJS}_QyZAc>Hmk_3v4XyQw{k{y?0lvTSU(Kqo+JODQQn6JQ5}*C`X^yGm3tmPCfix~ zqkCD@sG`Y`xS{V&LjTU5)j%opre`aNFp*!fqd%L4 z^h%|`0y4dEe4C@NHJS}~auo5?ynbvQrmI=n+ef_nplW-e9VA{f*!a#MT9j2jjDNS@$kmEUyjKQfY zU0xmO`>((EUSKnM3J!f8&!h2+mm5K;`lX>_jgX-x&1dOZ1QI3!?OI7YDVo@8B4Z9Z zwmqE+LSH@M(p`G>yP{n-tnA8l?aFoK4{U9@t^&XA3UyV`vMbTG=@MNADL(JwTpAI( zvRu2eTs9tZDv+y`wr5(9%LMRQmf|u2e4a(PG=xvL{FVmc*%aPVm9-ls%AR3F#8h1g z=+ag{?hvo^liT!OS-kOxOBRb&Kw{j~QnVyWaKF=f#t55m6PXhF2 z%H0&8r>Q3MW8ShdF>^YFk2t)&5aG`$z`FX$)cHdEYo zL3e8IHyje;0`cb5+xze0k&1joWAUjKU%&t_Ug0RfU|}48^yag=8-lf*o9h&-bUPI4 zN08|Q{R@{RODGDPHOgfj8`1_9OtXo5!B(vFDyQ8}^=Ndl0a=}fi%Yd)A3Yw`iV=50 zWgbwP16^q$tK>JcO5t_!C(_{M(pLmVu|inJb-LW=+9ai07sOgh`kcB{OJZLkM|N@# zq6k3C*Vw9^&J(3|Wv;#}SULE+>UgI`u5LOLqhJz@bh8kNnQCrPUa^F8gGS^M>!jRv zy>!1${3xA>gzlwJA7FuRC`iFI#|%x9J4|m<)^v41k4J35(^x&9o32TE=Zdf@CMO?J zqE+C8t$55GK}X5mn(48tXFH9?T@phL_dH0Upc#S?@00ir9!a~TMq$k7L6QPUL(t`f zGAZ5FPxYQRRxc7+XuUl*a;PksDk3@u0f2g--yC?ImonbT*$k4=QC+UqK^SO`YsLur zJsHf|tMyTtb45^Vg%TY^v9^YrJ}>Bk#@^GvDm_PxJJralm}@HlE)BQDNkImXep*FO zgA(|i>R&B*x%l#c3|*YKDOc~eiHdSyaT_{XSGcy&lQZ%n&MQEx)uzHX7R3mR&L`J2?uqi^-R z1%p)HACOBbb8n0MtU-!&_h|8FXwuZ&QpWFW7l&1+;$>oor99?{BEd%#OrP<zS0LLSI{?5I`mkrvn39hCh z7ZxX{d_2#n7MJf`oxOYi_6rwr@reg zR7(}k0nGpX#t|ZUSFfX8Bt_LOHNc_9z`Pdh*gGH7#S1*;>IA`fUsF_EgMj7`VD`UK z>@TmtzXdk(s7c7!EQAgdgRIbF4I-ES_ZwR@&3+-;!CF)&AG?6_ zHW#F{AA>BQ!sT3jwNA3GDaG*+g~I|HYfwc#J~&{5M;V?eNkz7glYmO$UMqrWPEi!T z3(`!LP&_-K0Wi1}hSn$VN?jBq+jOJnZrOS#&{OapCxtU>kRWPSMs9VVbBIsfPW6>C6b9#JVKFFi!r316w z-Jwb?EeKyO+z z0g*BZlIa4^C~QPTH6S^Q#rwb0I6AonjKGPNh{2US5GHslAvt94f4_FmXQV#t%rT>T zKe`i`4I`v77I$fK8=p z_wEyW&l5^slFOjl>zF1(_1HH-;f5iAeZJoI!q0AoWD`cXntCww(iW7i4Y`#=aF$<34SB>Zf@Y<%BxQ_-EBkQMCS^}aVUIe z*Qml#pi1BP+({5qJX#478jyCwmstDxOBl-sxk3GcSh-V6etGD9N#&2#LqsMlz|Bu{ zDzR!TRw=fP6NBYBW^$>)Mt%zC>o}&9AjvIbW`K%F;hU8_Q;DK0G766);1v8*pnS7Z=Nwd}29Ap=f z-JuoWg5iM`jOM88=C!$NG4N$-=2^Jd8aCzZ+OCI{U{$A7cQ;Dc!BoV~xnlgZ4(rky ztBmJDa~~f`Ity#Jy9s$2hiB0QEooPwdn5_vN4d*H(*IFj3CY2L`jjZ|%|sHwp()h~ z;E`~Q(n}4|-v#io5pd@S+0VZ2gQG|@Qlyc?xoe>C>Bn+CB#8q#L3$t00Tp-_-{KjZ z=sj7PqdHj2GuT8)qc(OY-27-%3Q#BJr9o@22#@B#AD048G|AmsVWe0>I_lsFzyXO$ z&~JLv91Gxo0QTH#Q!eK9JQ^u)Ao93IgoLLlEcCf4)-u?Y7xU~anx-JnSW*O_e1iNA zQUN3wQxSmj?$ztTR3Z6MxT^C-|6x}L6va`9NCX@0gK@F91ZGzRRZu| zDYq-`fZUNc?$lDPP<(?l{w#6c%rwP00tL+sCzw5_yLgK<4W5$!~IA3;ST zy<1=fZ|X<>9kyTs9bq1+zcjLbl3ZfG7DwcgH?m@Q#-JwFwI^y)-Iq4edpEr7!N(#touLG=CG(h#?`RR4%>sz*Mix-dA z_o|>8p63$1Ew2w#c0dqBrv^k)x~6P6BQK$M1~>^!c{rWhH~@vo4Alu`;nj{M^0FJ- zrsvx-1E8?Itp2yP?16I2^$A|~Vn7WRS5%INeRlpynWgR0$7pm9OQRd&8Ufatnz+ed zyu$xC&5pW#8{dK29-mEQaGks)JpB};8R+}~ARYbWunFTkwyI;DAsZO8=^I8tZ+m-E z0Fsl~k4Sk`kiKks8D%JrHxXSc=K_{N?Obmx@+@=dzWvX&IJ%r`?a0Y??hD(qUkmQL z#XWS9yz`^EAMz=wm_~&trRGMH;C$u1CfzW9M2=wYMi=HilZL}pM$J~M6U*5UJ-mTk z@&%V{C~vo;*56Uv=;#?%aj?shPQ*ncbD+w*h`A@Zjn|{jm2-_c(;cIfHsNM4(&xG$ zkl}j4s7`q|kj_UVA;w@kYhTO$({i>P66sqYGZ6}%`3=qvu?AxM@)?@Z6}MrGL1~89 z)|*FJ5E?HVyRc~t%;({5+`02VBU(3hF&62m9HTzP;i{fHq_b0GP0($6Y7Hp4i)d&w zz2M`k>MYlt7&1NI0Mh3>i@az1p^is4WtLYs_plGv-Pz!;yqyu=$0m9|51kJ#Q!km# z!?c{mD4K<%JbgXg9-wHVSMshCcFnB5J2ru$GSBxIo5Y{}>+F4#3$BAj;?HKBZuDm` z^CrwBfLMTqg4}MvasX6=3^;lFwm0WGj-WWX;uBvm){`OVw6Xjq8pEPIrBRVFsd9IuzY z_$mgen~8|hi10vFqE}E#tNCzchqyrdp6Q^VWvY}>2x3Y^qvUaxb?JIC_!hYKI_{Ha ziDM-&Sj<(Se-A9Nd6EJXzm&F{p<`-IHj?I)2HNDf zL!2t-ERvMfz_T(5 zbWA-!#-2aHgf0nMwYt7cIMg~~`~Zp}H%g3HEvGy>8aS%MzCLPFlo3e9(ll@41?XDI zzS2r9V_>=?Rl-(N)(wqy^5aO0B3#;D`V!79s;18*EKZ-P++=z5p=rVq*_z}S3-Yha zf1h8xK6`u0m6h{c3R#J{9PSWDn1(CD$9=98aqmBf`~(P$Ig6{K*=q2hlTCfK+A;#_ zU{eUQKu3d=!P8(>xVXDe^x{F>t)Qzrc!OvZ&c||N-O3MBbq3d}G@spJD@Sc|*e*X{ zmB6Zzaa^lBQNpgn<`X89$=Q#W6@CF=Q(4pnK~3`IQWT+&Fn%S^5-k@GyNt%OuJ#Z% z=f&S^*9?|#@`x=E??B8%nRoH`VU~1xdVG3*?YJ|e+e69HshE%B1LA-`lLNewkY1_? z&j2lU_KR=d&UGv*m#_eSdrhfbAUWK7TXc?tUrx{89bMJa=32_$FkZ+mLQ_t%y%Q0z zPw1s2<-9bTPbS`;IJ`S#l>>z|uoyX~UJe4v`Nhf2`!}_aj4)Rz`Vw@9xvX3vw}=d0 z9B6@fKCND$G*-Vt?B!>ymQ({R_2})}i{sk0q9!Mq*bgb^6~*dQ=)0&v7Wv`w?7AME zzUEQZcVyFBt^NjsQT_V$#m)K2YPwGXQk?v(pplYUF~B!ZVnVWP{5|x zN^R_CKHqsMO>B^L9$#Eu-n_3D+l(`1EsWwMna?uZKPZxX_1!=x%uzkv%M8jf;lpz0 z`=hI?4;Pp9s|3Y=91wddA9E7i-Dd@_0vo48uKO6|)9GcaqiYH_nEw$KqKK8$BvaZb zRi_w6#2#J#a#g!_#TmTT+)nbjdQ&=-?0Wa^sNTO1wv9XmK#BQ9WbXt>22lM`+aWnd zd0W6G9|_s;&P;8;be}s8KEioHl|g{ThLLlp@2<}NwN%u3Qv$?G@xnF0oSfK8r@$J6 zEb#RaXbJTj64%GdvY!{{;scqwCjm-TnH7ozQ8z4utp4=;WX0l9R*;H=M%}#u1J#2X zVX(_EC&|0BtCgH!l*^1}b3U1gFSvgdhC=Z!9R|Vgk1nszj^5s!|7+>OX`%Q2xQJbp zbphA^8}Q8j*Sm|8C3sd+WEy;8&WP?v{Y5UP6MGnA=;xbXTAe7j^E+7=JXhJgFt|{D zZFDb2A9eFxE_y;@+k+KgVXE@&5B{K|8o&R5mja2ZUxd|OaJ{we82Ym_a@sI-h(T8k z(1e012NdyA0n77YNUS6@BJn>K8Nyl}3N#3cOd7`{QZ&i&0IW^FYczA^7j$PyWMTFq zqLa#W60K&lB%UP!5TQDW8t2eEn%hW9!S#DH;PHhHv>gb`vvrbnYKefgQ&m>Oy6XVK2GXyTS3G( zhhOX6Q;&>JCG2UG1=%B|W?QP2t^hfgvG?(Upu??nEk0#Maq=s6fhFCnZWnSQI98O# z=&dsFZQ)5X$jylJXQx} z1CCcfgIbgLBb1g_(6zHlf0+_noC6lH06eepQefX0*eaHpYzS+Qwbk1~Ua(~AY>9~; z!jpj)d092JOXQ(59JA+89iGQgBAv~Z^LBw;$PD^n@5a0;v&Lyd%WlyBkARKZAQbR+V%3RAb>g2wb z;b`c(CZGFe00GVc_OZ07ZfN?HfinTawsUMQ^CKz9OY|(O>xQ^aKGxE>f83m+%WDm+ z97QU;Yef0Td_@nE?LnwQ)g-9$KvQxGW2j>g&8tzV1A!flFD4k#w!^v7@aK{naSFOFK8F%M;(8Eza zp4G|OBf*N$SP#(UW{a`@AkF=bC5>a0Cv7Wd%qWHh1z77lilc)E?Z&9iG6Q98$fKx) zlPlOzQ-2Lk=J7<)ltDbmp*=3cfH(|6znEjr>fS%DPF{K`J&^8uI>6X6eh`tek`I_3 zntzb$;-_gm3dr|PQ45HRbmn6lh|9Co69GDNEn|b8H&0dki(HLr#^8Z5m;|@;jKbh3 zW+RCo0`$SCnU`qTeQnPV_n1n6kky%3&gRtuhw>zrfS0AIRS`7>Pim)pSOw+qC~Tq^ zU6PZ?%f}&e_$s)I0LT$+J>whc1#)yV^tACT02_;4V+S%KmOxHHF#{fy7Em3G7Y7)l zxJ+;OWEsf^+?r^MTg{YqCQ5GK56Ge#hC}#&;#$H9e~vtQc`J+*1B~}c9L5zP*-%lN z(IAvmLRm)`)|-iPGunY5I+dQpHLVLd2y$GKd6~a0z#XYWcRld(vs*T4-wxo8!8%+2 zqEL};BuCp8*t#-^SmX_45H;I*9a#0c{D+1pyHDapq(W2iW4hNb9s!^QTLz>k8?r6r z(Q)YgGoF)s1kqGJMM@~mV#|oLxn*YgNrl*I&ZFqjGEyEt!Q=3>xU!U!#8Qs9()H&E zmJ8+6&?Ql9n!Au{JK}D@LmvJ+0idzy+?7c3u(k$`(ebBp(UGAADJ^Fhnxz(br$>|% zOJ?S+$QH;ksciWP+K**qiAuG|;m+J;m^nnFs*%f+(BaGO=po_c5Ys&oK_v)Pm`#$m zar3?7m@H8=2&;qNsE*WBJJ8#^xjudgCTPa(wGi8R#=5b9?Lg&CHd;r@D#ZF8fZYhE zIVKQUHbcFHJ~_p3l6pDXB7LLQ4f=9)V5+)bL7_gDOE{66cU#bM8PB6JtZ4T4AX*DC z2=bp;M8NDGXhiJso!q!A)P|Ma=gKd1HHsT~H&4)q#a3GGTuO12LFGabfQAl}BdlYf z21un}PG2xfV02CrS3yN1TDeWgM<;Pm9sAQXjM5+B{|0)bMnm1)7yctoI0~sJ4uThq zf-HRGtHy*vz9#mejU}s0=e#5bfv`yufRch}fiKq44BJs=AN5JD%z)o%B3P!-!|%7F zi?Ke-=AalH#!s7068d>@~`!w zEO~HLjLP6U>;i>hBb6Z?CBZH4EF-mnWvb7+ES}Ct_)6`N3Y*u-kbcQW03QAq{!VqIOHtqlRai9Sa0qH?x2gq6suprfMOx|20< zz*MPyMRBo@wfCuo9!d#}fvI!2v93<#J!J5ZDiB9Vrn|sI)+5DPf(ZrAXLMi;d0A$} z@OPrD3@#kn#FMDoXRRz#+k`?E9k~+fg8ix^)_KDRfW77#ss{Z0%4wL~6?3JX-zn{3 zHir1*W6$D!FBt#z%WuB@?n|#+9CIl6F!+C62@FH%3ni_aYzUs?lcVdSwe&_B0d*EA4^Dx=F^`x4DFit zXc8*vxscAry}$g&!GTwz_38Qb+4VmU4-a2?-oe4(WWSQCjHVc5e)9i1X1N}Ijt{bm_MiOa5<*f_^hi$CB-6VlK$O1kxv_5(Nf-a|h zm35KCu`U^9DGmS5m>47t4SJ4nqd}%YU3)9AE$Q{V58OZQ!sD66+04tIMDt2&nT|<~FYBCdxQO zJ1Xst5<}R}i1UlibG2LbWv@E1#6P)r|VkEwg#KVn~@XJ%F{YZg{C|Yr1F74eL80bFZ^vdJ*f9oQ+G!q1$~KpJem0pm8Ll zt70>O=Tf9`_#ou^_ckRj@UA}>cU@E@$ww={-J4_Rf)Y<A$FhWZgw2`Aj;8g zGRt*P_mK(Tq2=Cq8H^f?O5FgJctllVHU|$DkvgF|Pit`B4R>w($JN_wE_;Km=I&$c zNvb5gB4inz_PDs}qi-^JmXn-SW~raSbWu&TSC1@zWjg_#d0kx@=yPfVfhhz*iv+vP zubF$lt|=@_aCqX6xgVy>YMJy6*L$U^^a7YtgofQG*YQVz9ZAOxFAgsAKt?4i$u>}B zbvP(bdg!T&VrqQOHCr&@x;iwe3smBCG>4;7kG*f285ojU@JZqmgYtR-b9NW&68y=< zZ+OvXl^UZBSo!RvZutYQ|MK+pS|Gst+W|$Th?-j-hxWR71 zSfE{C2<>=I=2{N+c0hYoC@j+yUMuary-#WIW3gh*zK5Shv5^L0eqHK@z14`jBsR`J z{lMJoio45I+hD7qSDS=I!*MPd8t)a0bV1hn@$3Y-~U3H>^cf z%r;w%xg&Jlz_&W&&lzL%CONzQuRPKZ*yKS(96|d?fyqX4Q=Xnh#~69b@>k1fQ>~8~ zS9m1)sSa-r67FqRJ^gz+_|N`fBuw$`m2-N-dlhhkKCuJpxFthRR2Bn8s?30sf={wa zk4_4l$_@*i97M}oB-cWD_>0K&hj12Ay4YUh1T)wE%D)K8pB}|w$lgD|jp8ARqk}4b z@_aLP?}wHu3&4TWZC+_OZC^^UU$M-AJ<|0TtWa|P4Xq}%$6u@GtLu{i=fD#(S#*-1dZ0XT9Qx}mpu`4L11(m|c4>>ajhiQJZ{-p29A`AmPl*Qysc@k%kt z_~!DAm?E!9kk^Km+|#D@wtSNtRm*+4xX0_Y;>6e(Wf7#*#~NFOuA<;|W$8q*AT5C) zr~Ju_<{%Y0LxGneGf1nvln>w+r`QCU-_u&xq%i|*$52k>BCsuJtp|`cc9lkw^1Pfj zBwq?iVXh*{3tyE;&Y8p}*_qvY=yYDNDl28C>yAPDKt|LF2K!PA7YZAZef;J#)J;)s z!e=jK1J<&|{~j@p8A0ifm7PH4x2qq^>$(&x$xM}qREgoLxr|g&R>2QviqFz@5+tcD z4CeMRlil63e9jPd22LnD)Zi1G?1-^g)HjPt0;Rznoq(uE+Cayj4;Z|o9zagWv!nJo zZYTdv#dvV>V_`P6wTvxSD?3LSLDcH)lnSyc#L1ptbjQa~!piqL#D z+FWJlnQA7;0U{b9x>;>5H`OHGl?{9+$vFZ0;Rx0usJGi>l@!t7y!h%>jnvEwfT;ob z3_0Q^yXPPtb>XWQuP!2;1*+Tdl4yj-KoIKToaea`pfQ0-sDCjgL*W1{mE=9k?)?YB z)yDsr2Waxma38{!LCvgw{!MaJ-bJccuF9ur!&zC-b5-s{2RgVmdU9=26WY4-%4qf3@0n#xv^%$U=hp7rGJiIDZuMdU z?ar;IaBj8on;)w#OSFIUouRg+?YzM)GQ$ud@`d?kRDW^s`rX-!JFY6?-LC9#&s^t; z33Vr0HwRkzJi}?aJI{JN&g5EqI?as3tVS$+4sMvfg+d1k>rRZApSKYsT`0y~3X$b9 zqcm|75z?c?a1a-*HI_O(bSIbklS};9&v6_IKk7{AbT39)$c0-8<5_xhd3KS27&rkb z@ZuFViAd%`SJUCxq=k?a@+mF>TS-j(Fs(dh?E74V>JT0!Yh3mQaLh#_mnhiwn;!x=FL})Dj%ZnL6J#?_ITN&8B@_RG0eJ8_vxE(J%-=}(o0a?u)YTB_6^aL} zADTC5FRjKh882`;2lHJ7By6XCHj-qo9lL_ieU#OK9LHu12ui#I4AcO3oX_+YC!%6~ zgIrp3UdSSm$sB%y7HNs;+Ym{PKkWUtq{Y$;@Va?w8ywr_I;-U{#%i98=U17?GN7UY zN@&an2IC$R=ScpzGvVPuoE%(RO*-RQQ_$%y&vt6!V@7{%q;93BCF2*b ztSWfNkp^3Q%-1sL_MY<22QmKW!x;41=`4F>iBwkBYWan}RLN)9XvAKXgvF9APmM=F z%{zU?r6)N%e~#cFLGyvAyouDjXNjOn_J`j4Q1~ek!;5nch#z3@#qieH98TuI%Goxi zYpoGA@A3wyJ;0a8Sl;_n)}dlH*Ct4QNU1ov>Oz&OR#;6NO>Gx}zl&ttZqEzzDD!v? zfR6jMpd#u%Caf3J14ct}%S`(00n{L6h29XlvxRqUAB_O!uGTfow7e9=wSOB5wu1IG z&+eBSgiDq-i!_IRIc|i0kYzs=%kAz{l@Pp^ksMuaZ7~TV>Lgeuq}@CiI!N`22dGX` z7mvG}R(Nej#=Gxri#=MiWu2T~v_n8;s_ep5JFm38Ksz?K*Ru7jtK?o6&R?lV?0i{W zW_qlzV`&vDPX(#!RTe*&vFfH8m2;A`owEvoNmRh8=pt0*OAqo!XZxqo1UgWnPM+?NGNHO6zc~i?YNW0qnZH`_)Av zDa2{9#AP(&B)7nBg>s7524eTJCyOfZw(N?v6wp>XqeJ(w3nq zEmQ5*B7RmCLD}6j=x*7fO;T51uFKny0d@)9KRL24A%Z*9`C*C-Lq2`Hn80R)X*^Fx z@YlTvb&Xy2dX_7Fo=rTO84geET!c?O0%k=-O$yPU8pWP3%Z_4tt4L7C5aVIWuNvr~ zbFAB9U~8O>tqP`gUkyxOCDj1XQ)SC`WZ7U!-qsVcB&DgUuJia-+`(Kd&!0B$G_S_i ziW`h-Y;8EApK@$Zjzn9w#kZ2EpYc}TNQU;ZKuOd-t)^`YZb?htVz&f~4e95fYYN=9 z>;&f*woIbh+$Amc3WmzH7JDnj-A=-G>?5>G&K7j<%4M&RX3T$+b-x zf;->0Wgrr58+7C$hHlzA^R~?4{aI|H?yi74*k@PGB4Jx@w5H)#-EXi??t%G+_vu~) zJI7t^PSXB;E*%Pjx~>02gSB?sy_@a+WCFFeYRhj=h*yJc{nWy{c3ZrgEx!GsU0b!c zw=Vpp+mpNJ=$DRyUv_aXHQTy+UT^c3dKW*4>zL$al)2~c9^Z@6$JATg3raLJld7=K zEJ7|T_uwacQ5+pC?t=_B0;W@;7~c1ePmZpS_RAx~&uJ(SxBK2{G&X)m!d{ArfLTU@ z>M!8;^zloY^-$&M^AapWqx{PkhR^M@D3sZlAA=dJ{GN6Vcg(~i!+ZfJ7Ez_X4*bLu zI#Xd88IOdCz}$G3Z+Ip#Hn*nZ7BuM}Rd;as;EWT6flF*iIbn9be#A_)<9I63@&VCG zSS5^H1$Pk$8er`#|7Jx7;gUQvUpvs1$1jkbY!HAJi z4M>>=7(4~Pj_$>ncl21zC$q`Y6&(~Ea`|oh1D0j%Utb*@5HSj*Dn zC%wnl#Ab)M8%nP5?saWt4nO!_s`j3cuY2{Krge{ZDF7VLO-&J5O1FSQ49tsDO5~Is z;o+3XXW28JoYpQiUhp#Yi!Xmt1$oPpp+s6Wq559YlHb-E-RRzr?!?Q%$a)Sk@klMv zmAD1Ul2p}Du0ywk51ZnMMRX^Enzu(W&@3^ik`92ev-B$SlZ`?tK|oEiYxRo|BlW!D#oGt89v0JgK`C&L(ICa4hj|*SQDs$ zO$z%$$}_68#OByt@E{@`@zA!HcA<8@9DeNicPJ=ixoceJ@>Nx)UVbZGlo{zfq{@#P znUNmc=dw!06&NU}Vy|#@MiIuEjeR)<<(kK=biriifxtZGEqsgWBME>-tBNQnu1<@T zye3v!B@`}0d8*_}T&5uodLh-XssAaM&f%Lm z(I3QtEU%(qEGt+WPSHjv8*WZ=OQ(2L21&Bh{#XP&1T%vAOLK$&x zgscTk(0ET`4q_)~aP&L6CVU=;#EH zj!-T58Jh*Z-LRAmqBr7G*HYF&$kMz!A=^aA_9SDUrHFOeRm*2=BXFB-rWOKseXuqw ze%D|Bvlhm(*HU94o0)D@?nI>6M!Pqt_#4mA)F*IVnFI$jIz+9k1i5OP9s6l!?yzg= z;6ZyC3q8WOYJ%z0G!`|`R%a=RN zumeuH;x5Ad9V3NH_dX2D;>bI0Sc4msYm(yJR*iA?4_W=4!rU%J8ix<=wQVdn03=s9 zf|WxB=)zs!fwyt|OJ+cL0NYXnG@`zwPdJOwr?1@FE)Mso3^ojY6nR#RlzTtrjTY&9 zs&uBuD`~sHKEWq}F87f9rs#9U{8hOCZCD@aF^z!Z)=x(~v!`ZzuGJZ#G6S$Tmj?@PRQyYyUJC2mzeu|gHo@dM_L zs2xt!nE4zIi4oyOY-j&1$@-Ci#XPNcSz9~l=q4RqM59Xs9=v&{1@exfzv;VDSZ>~Y zxst46$HUF#nY5PjZcmsKRx|47E4|gE74uJr_!>09aHt|a$8jMv*w0FtE5&6fTpHT8PeHm6eggrUP|3aa7wKnb|#cX0F^d|rES$l&u14i0a3a_mly-N~^#Id&(< zuqQ{$NcpnaS58Y}gr&6s?kz61Ee^15W9Mt-M_och54QXgaoN4crE?n}BwKOPdV9aJ z!E0#wJU8542d-gN--w)CnY)K9PwuZc#}t03-cUpswD0%QN}RX9(4h-$w8iGmSr-R2 zIcB|eJ+oF;uLr+VAvKhYayvsCi3?YU;8JN}aMjk!+@+37w#Z_v+5^>N&DK5@OM=(tAlPFAq2s735n35%z@ z>pm-O#>z{djW%P2ekY;Ul~7MYKs^y{=9#E7EvxG{QfSt!uz%#;#-Fh6u0sKRMbt|5 zeM{j*WFDitA(daF3dwmBYmtd$8bnM$b3B-{I2ujholQ*eaTCb$ek9exAeH5v_s!}I z8gD)}F;D!*;<#AsgTR*nrV7Fea69q1o_Oq_e#K6ETP9>aC;hFZ$a^Z9+fF3!MDh?K zdF$ozQ&Cp+&-2h)8+H0wGt+MEWUwSsVdjs z#(ydr+)gm<1e5!mJ1vGk>O!)%P+okhr+W}b;iKLQEi@6`7Y!Jk9Kfc;kQ7?@sYE?C z0>Oq?kE*9%P>?UhSpe(wY_}zlq>wXvxs^JKQPp20pT{lK6eyE;j%AQlO;iTCxFn2N z#2Ts+D^%dNW{>pC2z#y0((+Mi7pRAL`sBuQ@rYn7@#$JJo#C;&-~kR%rv9y%#EINT z_~#l7Sw7VAhAUKO8R2p{ygKCNzSx&N4=x=1Q+Y{5IK{xl#VC2ID5OOEPgJznM&j~D z(7azF`tTbeQhTAT3aO6oGJa8M0LTHgbTHWt19mVFd8oX!BLlCiX_PBm^D-szf=G3T z{Kvbu#F!D)pB4!*d3Bct(QKX}UkiUa6xq(ANF?x4vjlNaO-yBbA7KsWBu?`H)iWM&aI}KRT@C7+?VIpQQIXo$WqkTJ;+AcD5kfoXvnsO;~Mxt$>I=hGQp0}~Z zB@{f?qgC6cHA+q zknNXi2TK&glDO^on6&G8f6V<*nvMjBeGXceyco=?I^&8VjxnxsaSI8 zlns!y(*0(OH_@8=#IirS=HIn=WgvvkZ^7_zujb7v0^nj{wz7%94hF1AERO)Cx58*F z>yIm#FIx(RGBy_J2uvy;U7ii~G4H5uVc2{M*1|lLiNmu96g59QgjYtSWyQ<3CH}Mb zvSh_eFQroXQsxnJ`dFGL#A@21q0qn%naW*=T8=@UybVytUVLZAJ$CAf3K16CS3Q(2 zb{(H+&Sp3S@j?m)3xjVh69rdVbd5`fNR+CcuwrTu;zPFX(+F61< zz$UPNNra<9ZGjOeOQ(flAh1Y6Q#gOO#J1*bi()4lXMY*KD@IcVxyrq=S9buy?xGMQ z7z#dBe;($psh8F}M|IF^1Havs7VV7Eky9^3mN2mt4z#5lEJLYJpxnfztHmiMSq{qR z9=oX7#mRu%ww>NP_$IF2i*3oac5Hx-dZA_1ovdghD|VuyS5fgg4#RlS`c6$c2Qh>- zwA#J3TU@d6MqDEjua^C`a+7JI+KE`X;te8oUjb{IpkFN|Wq7mHZFdf|rgb&UVT06n zl;IW!#g3iM;ds9aZo}5%qM%CHwTD!W@6KNBdC040qVg(Q=>8UdD399iEVqnOI?b0K z;OfjSj=KH*c*3wB7E?`uO2@F&0Q)xKBN zc3r55iQ;ROxCH{}N6XlX+{MvV#F3ZIN3iYE$vg}nf8yg&KApe@O3d?&nG7|1zTGwNMWn?*ez&l?`Mkya?1Vg;7+&u@{)@cEV=geOrs>%9;+1?|{^QiX=X`^-~O?*~4!pL4x^%>T%217?&g8|N8J{+kJgqMp}-K!cucj zc7Cr#=Y+oZao-~5c@^-Xn8RO(FZ+2^s;;pbl#Q@-jTX~CPp@3aiPQc%$~*|{~kyW0w$PT8QFM^iuY?*!(urSUvLLyxY_ zZy%TWW|81A=}$hWKk%+GWM#lMw%wROq#PHih>`w8vv{{)`si73B^DrlDlwqc&x}DR z?ZEP)O`tc^<{h6 zCe19Wo3sAWOl>PqvIzn-OhX-l0!uZDCTC|S+QbUkxWc|I9HnIs#=hagpx^cl9r#O| zX{)c0^0XAXCaSEtXGy%2nObHzym! zqv@>qyjNB(S?Nt9@Rm@ikpCb)1u3Y!dpQ}FF5{(1Ov@Zn!Pv9iZ}aFSI=&p5kob?L zAeBYxnvCe+Q$>|Do~6DVM1a;9eR7FqaPpH~i%;3UcN%3u_IN2KA`#I@P)Y_mj_G6R zOY4v$OmCg`(&1Z&rbEw2uc-uASO%}8*{IM(L<7Zq$_PvJ|G>B$lC2VLN|>{WhI{`3 zv|z#IDGqgJs*&rJ&PVs2k6SB9M}K|sVn44{fuPeN;ai559awnP^iXc_aN&VdN^{)+ z^EOI)rym!lH7b0l3Lf#KlsJW1t(M_smQ(u_!M>&^z<& z4-%c5#^HmIQlfhfp}|wW2_r$2C;)!RJ|ea8jc! z71Dw5okH<8jz7+4T7~b~#?|}7H`MJJFmCXvlpbxFfQ8$ash5u8N-;+_Q$x;Gy9IbD zi~Be&8w7MmkI|%b@Dmt^-gRu`7mdZlpNCfIuSP<}C#`0!u4`LV%@IC!CnS+yxgtm(m z9CDN*aWkXdhfM=SjdhU(8GO$-iBd~rA$%+3J$G|cnmly15XF-TrZJ&n$Qzp%zaTxj z7)XLiSX`VWwu}e6{gKa)6gF7(a9q7us%lZY*s1?1n9ir%G_XvEST2CV#Xy7Su~6(OQ8c)O7WHaI90!3u;} zGhy{wI4YvZDP&#CZ~oJx-Gs{|;fckte7VQLGL1)mW@R1*F%AB#9^EYs0x3s^==VV(9 zfFzHh+(?B$NEIjRyX#@{i;g(*YV7K=`%NAtA>>6uwy)Tk_ zFRrRu2;y*+Jh6N|6V=5iJAEX5LO-h`5B1Js4%L6O6Mb9J`XkzgjVT@!7L^ZG$y(V;y1#EgcYUFH zZ1Y7dqjgp=>GjoJs#0#c_8&Ka>SsTdQIk&K=+IG&H8n<7Zz>Oe^w_Za7 zd;(JLzUg)y<4e}covbW1bdYxn(dotO4%s!o1vPF!{k)F93g@=#g*}7%#!vMzQn6sx z0J=cZdul0X#E7KBL)j$gs4;-JA=y1l^9)VJv-Ct>74`+7G!XOfAYIPwPDJQd2aYbz zpz~Du4wL7Czsz#?C)X#aT&AOYG4+Q>8buQ|^F+49T+t)5hjAO?laHs@zW0}RY7Jk# zs$LZIjD)v&kDq4hV>OC)lNwhW2<#!~n}#CK0F^*$zZxogDr&rAxk6vKuix|2@^1U^ z-Er=6Q7)4a-CDdXZC^$PaWL2f`Q@-lLKj{*{19Jan9 z?x=sb*n`$omy+(e&9m=&YbeaB)mOrHs)X4rSpPkb!Ni6KnnLymyeRJkv5;+kbFOQ{ zif9yKTu^4F_EjQyhlcl3Rf%m1FO@$kM&=E@_AAmP&Z0@&R5nN*1VklXj7qAJl7qS{ zg*yXV26s{3*tOVh0F?siR7V8xVC=bqu?EM3$WSe5q|p~lYc+ssf~;6}1au|+FGwwg zhKB~Tu~M(&n+lnmSO~W6t3%7G1X4i|q!V_qn)w5Ey ziRGVVV%jQ~*CoK#B{#n~YVkg-6^9;cJ*CUHrA@O-nXZUa0=}q5x1bAG zN?5B@LNg+@s)(_6L5%gN+%8U}3z`>4Y*sp>Jv&@mT>?*}XodrW6`P{9VkmoLft8`^ z)VDgmxnig&5=f8=IsrXxp2)O96^Y2Vd%51m%AHi|%(@$>k!!Jfz z>}qpyKa1c`QKQBJ7L+G4<gPcX;>99x;^~NM16~Af0B=Fj|-Sfyem`I>=CP_EPC1Coz@zeWb zurQk%OZV`eH=-J*aZ++1G$fX(KI&ly!vV?BRH=IxbcDJx^9dH-n*#6ZAm3ae;lmhX z2XTh7pQ$6xmK@4+Q6|z93*k24)28d}hFcq`310aVNy~$@7W!hwOxX&Ih;=hqmrU>Dc{s-OKXPi1 z^THGPoss-zVE;&to>)3}L4>{)55l$QZUISj^@%T2E?hpKaYdG^*NXrQ2i#y`wPwXY zFrVE;aUzc6De0kIvqkI$G(G}J6KodD_eqRpk>QiG2p*n~sJ3)(K+p7aojtHwhLAt>`EAJ~?i719sj&LO#d;+NQ z*qw<4PbNC7H+&bVVf|IF;C1LXyP8}go{YQO97OHoDSNM|TmgUS`LkIVu!pQT0(@EC z3u$Sjy&N3sH=%R4xYug&YbNy2;awKoH@#|f)DBBZ5A&Z%5;Xb{QSu%=@2ZO0poA@k#ye9T zgfTFMn_Nj}GVc+JxwqIn9#%t{!IKoOdrf}t2_i_a#m0LG~4&0I64^lutUcC zD5w{HGCrUh$y4D+mUKW^49A`3)(CMbE-J&Y@ zz^gvsLsw5weq*5;iU-DCL-Dd|Rq{fx&7Iu@4&NhKm=H^oUMsM@`07=SpXiBRk~ASN zx;o_ZPl3eQqA7`U_?|bJZPK+nih3Q;ZUK^457Spg`sR|&<%&m++VqNN7_@dT^$N+$ z`pP~Z%XSY9DzF-@+^1xK-L*-v`PBKRACbD_pTX%UlzSzoEf9FXgKm%V3`A1M)I4(uVpZB z`UrNl2^Ua z{3|vlmjpZsuwqM`JYq;(sWc!z;*Hfa6y8RYV8vC6D(r4SuMydC_8J4uN;o3^z*I{e zkv8AMRnF<5=#OX;+|4-_4KbgC zpp$w^MSfL<-;Q|uxiqnm%xl~~ zu9x0R4sI zw;)S@g7xVWvLrTP_{e>HYfKHy#RB$e^G@>{-&Wj^Pt%Gc`ni^PawOWaExwgR{fxJI zs~e^w<$Jl4Zs1@nY3YMsASpuGDcM;yZMS=;9(knwbw~gFvUR?oftX@=UyZ~0)5=-1 zoJaZ#2XS7gFt<|a| zb+C0D@7e}EYB#lucGo+*?Xq?EMNM^(E#5r4yMrgm^TS_8oCN7CPW1`#a~y}lk6iim zQr$*K;!pj^zY}BQUV`%U@;Ya!CCvyKG$t7RFnr7}IPjIqfNdCeOdtkWEmbz<%k(vh zcN+tZ)hxIY3lKk*do56T6=M*}owK}XvFtmgout_pXOf1PeEkKJvk&s+6sszW?(}o; z&UK2T*Wo;M?UpmaXJO@wdl0@4avv6ZpYyR^sm+pBQ9`$MYDDWxLtm`XKY8~V_o8F_ zD}+NGKG}qb=Na~uF4lZhy(-xpQPqrerG%hVJJF@ckNl!gNRHm+;+A?WsljmtnKRwY&+Q?Y%VqMM#W+s z*tx(hHbudx&5FW+)R9&k>{##Bg!S}Udy(2lv?)V@X3oAC5IOxE4dXfwh1`MAY*@cdv~T;~B17)vB$$+7acYe9}e3VX9B6{&`MB-Ayu(Fg*dzU5}3ojW3q6 z@P4r_@c#C&bd=^DOqbLx-tCUhes>HY^JPDseW#7nPMw)?$Dbn0b042}8)&x|cYCqr zUc}D9KYXt}2alQf?e~3+?(Dm73xBw}6tI!|m`x_b87N!r-agXFm3ne+^P)m+(S*7J z(Zv{gyIXmP(bfZEAV{FnCjKLLkHSVT4jwIPp~1u~8#HW4mMdyyexl35Ng$Oo+GWC# zY)CCj`0GB?HRD*h!;Mof=Gn#M61Y*AJgZuUBp$5;IWxqfOxZoC7=MZ+E->i28PuLe zAzK)&QkDkTd%bSGAbKM{ZD{M!+`Fx}+j^hn);m7&GrwJYo9Pep{_-Ec9iJRsAN_WC zc=-G8ue@8(zdo9^)QY>X$&T72>Wg8Ou;>@Bu2lKY95jp}ShCA{pc*_N`@<{J;U}(y zo5bV|M~bLIcvQ?4$e5QSr+)B{Ty5VZ-Axow9sc}Ln+f0~A4m60v3x9z#=7P_&vqli z1F1>PE{;GI^@0oX$3(6F(((t*Z+Kf z>W#%H^!cQ*IGgmm~7ySNuv_a8qbSm|SG)02o<2+U)&tS&f;?t%ww zA*^nroR%r)q-Dw(Swa{ylT#>%fER!D&#UXxccn$^7nZIxNcAG!);PbVM3OQtc_qKe z?|)ZopuajTAIy)1#4YvyqTKfa!$WUNi#l+~PO@YVtT@%6XgeEr4w^#OwVlG@7= z(tq@fUOOFZoX_^^<9vD@e-zOQE^5a{o)aJO3WjE-GJs9vO`X{08Ha40$784b#`W?( zK(u0?KTM%{%g$fyH3sUYx)G27=#=PzU-sx-HL1>xO=wtDA2u^k9kUA z7%$Qvy}$fTiVyhwZ?9T1oRmeDOSY0SXotZmc((Q)?_ThYVXG;gtxWvyIn0jdUsW+% z%ZsJXSFLj%{Gn!|&#b*t+3E`8_+#qLXUgk$~cnw3q&3EloS|7an~35ePB$qdDcblI-@mr*W%vWIyu(%S$%sG6khqBy}7`(+m1^ zFwLiayQt4U7%t{jMXU978tQ9Wdr=_ zDp%XjrJG}Eh1?HZrnH?DS|Vay1B zHJR`@pYZjv32WKWV8f$G@m4KT=`dT_4YXJO`xQ~p)(YYy$oKfgH9QGMG-;ucNpWS^ zr9=|#^OYC{ik$#cT?bRqoMh_Fb*cufAex$DN3}B5KwX>qVGE+k7yG1{oMA_@GRflk zZP;d;(R+Ooj3(I8t3)sRt>Q{@(Q7?Yi^ks(t4gdNzHddWAHMHT=b+(tv?|f+f=bvo zB^H_%T>QSj%_Wz%qgaVzS72thIl5AM?_idIN}go9ZeL>UJa^g>Cw~Nc-ywZf!^AsCvjPlUIG_i+k+x&I^Bx=ib7P$aM=KRC~Ew z`N-bdM$b3(vk^u0tILB#)=3GlCQ1Hnaan;1{E`7)mZ236?U`9MYih*vmPsS(R3HKj zzL!t{G?Kv%PpQI9c_FRt1>U!~lyXi`z7w3Ht7{nNi4$F9xHVb4ZdB~H^k3A{^$6v* zPt<`1(b1q?~{}*3I!K$BN}$)5hv0ZUUvafiR)Z)sb{96$Vrg)?b7a zdxw4ZY1fFq6jV^m3GwtSH};}=Q-yrp7f&`Ml-YVgqIr!JNte2Gy}%gH{(VZhH`$|m zb4T@dk4+x$#pq*7IwB|iD~xi974*Ovu4D0Wio}B%Th71W|8H0`ljZ7EA)KecL^c zjDv{;I%kq}b6f(7&>KI!KaR(ZRi}G+&!ZyH(jqjK*oMS1PaQq%U^pN-ny&CN*I?sB zz(`Zz-BeLMkBDP!A8j$5LFIcZm9rzxmKknoy<0P;2APVBc{ZE7sx!`@-dmb?;)~c$ zovn!UKAwkTj8~HJgZOe}7BI+r1r2NM<@kvskUdjWaNmjt5w<~6M#loYOgW1AfU1bO zX>!P(=(xkesuN`(m`|~9NYKnqH(|{lXVRa7(T{=$c1@!a~Z{sb#7TsJ2as2Ed@j<29eDg+`RL`rk2Y>WX(hZT9|y6PJ_g$ z3}r9KIv0z#aJ;t0RtPWWNyrm~DDODWyPECO%|iIbkH%rkeN8~>bmOfC^CHT-HMiw{ z7#xH2udzG0Wa0@Gd5ovQpOlHfk>02X1?dKN`o%QJ;M0>lN3VMsN4K4rhg-@9+!)NH zuDqj^nI_O$pd@t~l&~pR=#p8E$}h82y7{wN7|3>2r4gh9w6G=8av85*^=#NEAs2}( z4~t(PUeN^QLSFs(j6v&pfaTO8*E{8&XBbZo96`S$chKz>=iI~(0e&n~o1`^9lH($V z*a9!7V;|pbE|-?9M@Ig&Z4ak|>dPj8Z7+7xw;fb@Ea^Ue>Gehi)~E zm0)EN9-J~;$?3-TnnLzXpe!9?95EAgh;^c{JDHM93k+TbG*_$bEQy#nVaoViImb*j z8^^j-80PW{Lzt@>C6O&NmXS&{DZlqtWjd8!Rt!;(LHcuvNg7f5l)A&k?E(fwmiSSM znl;!8t8QrVRmrugrci&L05_!6?lgWq%}ZTjb{Cfu#C>4o)3&V!c`LY8;J7Y1Od*F} z<7eshq43rOW!_4hHOAIah0{Vmb3oUn5gb7y$ogr~qt2c&O4jIZBe#!KJU1QrGZog- zqr(v!S;L+LN>X{`B2+aoU7fSbB6Vq;f2~C@<>BQaW?AQ?^>oKIY3(jPMBZ4^R4(=ZVy1XS488U!uuzL5WdoKa}nR zeig%zN8x;24IX{*2tNn!-W`m`*KgkZIGz5Orhn3ptmqWLyRsQxdT2tUlsZ&_J^v0F zC94chx3yXzuG%sdv_F-@z#}&rlLd2%xk;Q%ySW$9?jadD{n8EsB+nl>guBk7mh~! zWyCG$oem3@zBpn$U|rJx5=@oxQ$RhrKj_H3i2`)F`eAhjLi^s$_3_JnjGa;4L*N6N zcvD**xB8`uCF^X@*9nqqMsrTl9?UoNkB}%)d1HxT)G22nO9syyN;t>@6}=iws?5g5 zjQ(+D0Z-*f+Ah1F3Axhr*Ut@W{ma@N{j##GKe9PaF3-PXHFV0o9Oci`ZzF?<$f-~7-kifM+8iHXQ7&%YBBZNvm&aix^tr-l_0RQafH z7XI$r&9ZP|{v8XqWa00=bzxzAYH$|*;rqT>_=oQ|%ff~EcP!kJg@5?og@y5{VOjX9 z_uKNTjb4`nc7NVon6J;mS57zPSDUypm$kwAL$Y9J-p;m&Tk`2Be^YA{{AtjWON z{O}|g_?sU#fM1GVo2_R?t1-48%W9QsGPLdAa-I$1OkcxypPFdwY_3q;ZmA4DhS?E8O(jeHk zFOwjO^Wje^E22>r#JUavg>Uxi=dtVBufH*-8X_s6ArCs{1mtL3muZWw9M?<>SSKq0 z_`AxuRJu&~nH75~QQVO~t2bh$0oS-1TM=HbJC@+})~cQ*?E?BA)Gbx*)bP?k*HcQl z?Cze`x?{Aq-B)y{`7sM;>i^3%CRH}thwqM!l1Wu2evfU{zx@%nnlI}hB?5~uiHPfA zVdvx%EGymcJXrgt|7hBqUc+f!_^YylLAk3_ z{z+Hx$MR9vh#$Cd3#V0&4I4jj(|apRuxaXMKn_h!z zUAeg1u-ea)iyeY$)nh|)F_m;YO?ci$3P8WfL<(WJ0rXt5K5?h)pHF0K z=rm>k5-2Q z{q)EN*!i~=6U>uJFD?2(7Pz^5t9!sxYvCGZkQX3DT>b2);^y+qM##L|(7h~SY3VuS z%0?^p>T6i_d7Qn*-tEiT>$-U7Owjrfo-nsU_I`Kbxt8lZ3DB7mCy#E6rJEvV8C)tU zO?dI4hUs+eIxdh-+KZWxH&Dx$2z+HJ@72XR&P8_kLENq;XCkI?W*{iX2_QZWAH?_& z>lYru5|ae57muhBA~woG^5?z8EaPW1{vUIoU>7jmBtga9R*zIu?}0tGNnyBxuk+`( zMNq0_FWVY>I7Q7xu6dGffP(xEIvuD5*R~MRTvIEeRa+2hikV~AHA}RbMNNV~ZXz}O zh#br%R461A7PC$JTI#?qfl*t>JFM4oucYejDm0jyzcW&YW%%vW(iGEo zuB|=at+4%?raMn=tL{K66Be}(3JY$v7d}nH*NK0J zrdSJ$aKf)5zs_(iEw%)Xfj}+Y7!0^ZrZG47{`SK(_QnFNiYeu6F0Ad5d@P}60q-R_uYyxUL3w`4$DYVVi_m}l3~;@9DF0`nKWpDTTpiVCA5}B4G$RTw9>TV z+GG*3FZ%$abwF!OXFl*`I*NgdYS2RmGAsd>^CLE%m)yn+{LvVo(;LQOT#99Bicj=m z9C@dqKxFNEM;T~3xAP3Z1)bs~9+7Xszc)AeQx7A+3C!-NPeaHI~HwI`&_iqvG_PK&~XZ<{_E&hzG9MVxY zYUKpQHtEmA%29yrj2#P>o{h1yvvrQcIIZljW#a7k9tfUu6Ay#`TxGs2h)H9*6#D5L znqNew3EiqtE&aeK56Rr)v;1+(*!O3sYugAc-zXfhPx=R<>TA@@ll+szL-vqir3RTj>P71|XXq@NayAsd^^O#Nt_s|}XX zZP$J-EJRbBFXJO)5v_Qr%CZClEV$m>(fScumrs^+rD6!8@jf1V<5tbtI z(=hyfu27twMOUapx(0^ROY}x_?)O2-4?{7cvxl-GS?NdPAG?X0W2~2BnP4x9jY(c^fmpv3 zQy-PGMwzTyawqC--TG)gK_3nkA#u&dUPkie?!=P$-)uDl;P;K6z6HzwESkhEL<2jx zBH$=LLl_tLAUTDMi<90ObQ4H8ybvaWhh;gU2D$J{u#XMHFtOcfzMs4p7q5=xqXi2NVX!5{jpOikZ@BIhCJ|I7f zr@@~V>D5LBDZ&L4lYX| zHxmh9*|=1|t)`q=wUBIq%UgZ(MgH^`#?xP%nMwrjq2vp>E#DJd?e?TTa+njits!#6 zOpI0ikfI5xd8uuoBpN{40#*K$dy$tzn=nZ4aUl~B*{iB8U$26sFxO9-;VWO2xP9Ksc!5!~FmA{TVaE0MOslvs!c);2^l{ex{+9F3%4Og@{l-=3lX}XY1jjLd1 z(*b5tvCvGR-}Vh_<;&DEv@%`tV|+v&^-XALOBrGfkCHok)H#xNZlfKy+PRf)^jfnc z8wn-nglR_PC`8Xm$M#$9$Ef%)@_F}+C#S~ZEn^qJi5Cot9_r;!lF-%ZD{d6a;MGNG zeuxX>mAK>O=GfykUVmwc)|yL7w`d(QK>?@YQ;>o_T}SWoGG3Z{*)oSD_0u5KIef4_ zogxg8=z~m%W-i=WoTIp*;2A#=WdFvAvG3ANAQt~==34Q`X^uvecHSh3r}B($lIHI! z{qlJheo8#)rE{t)I03`zaVc)ejcpshCbG`mtI#Ugq&6APPf{ZeYBQQX{-Zb7ud;iR zJ6})$Qt2SkUQj@H98nG@Q3WU6_fDfM$R2gvAjR06Mq~N0&EJKz?0mQSic5^kj;>BW z$+Y)EdK?28)8~!wQiFU3V?qhacfRH*Va~?6!BsxafBbfQa&&$4o7@84U%apBpaPC6{QgQV z_3*8T?y~y>Pds_h3$mp6BL$@@jTh2 zw3K|mla{5Q^`s>T%gtFn$M8(5geCsbnXt?)=7N$&1k*uCas&Cf=BK#Z47;-o4&Q+w z4(=j(V@TF<=qGo|7N=YroC0k19y{}i<%9h~^A$V*C zYyX*Y-Rs*q{NPn|SGH{3(}NK47kN!ixP{+0s!AVA7CcIObV20Dgkt!zTFo|EXWI1&$<1s* zGKGaQHg%jm@>Wmhp%!>74VW z1=IP|rW6yJ$~v(;4@VisdFXd6W6M!s2$C3il(F)&YklBJxFohpBsHt@*PS4+Yi_tp z()nx_Cs}?rs2gSLJ@NojIFF$!?=U>1>5Ko&Pdw5!jROx9%Xs7?IPxW{oB2;Sz#h5du#?nnT z*r~$-Xv5kO%DBeEXUraZ!;avyX?Nc2&YRtNvw9WH&YSC!_&3VSsBO7B6;=SYO{YTL zQd?gkDK5~_#M9uD7$4LLkNFQZ4RM-BYhRb< zHBV%0Go_|2-bj~fA$WmJ$`@~}i>Xy8V@na26 za(pw$BA|tq=wgPW=eTNrmTWxjp>AQVj+Y}uz3em;t2Zdi1dxXOW2ucX&_)IQib`WP zta_pfEu>UdvzW#O?4~Pj9&&+UXRWm(gdcO@Q4U}!bOezP><@UEk5E|7i9!5mb#>z2 zj~rG16$@dagp=74T&{l{%d_#`=lGx$bA?rr+>LP&R`8GsHLc3$kg%oKfj*q4L$%pU zxjW9eIi16J^)Z+=0S%w$!wf{w7*_xPv-d8}Z5vtM=)Z#NRDF@ZqGTu8otjBzvn5M% zq8eNBTJj{bQ&V1uge0sXfCGS*G`H^me)~N71vJP82!NE$)b3a$fqtGoeV)G~Psvha zeTSL6YdI4e?4c8)msTWnPNA1CqT99Hxw{VeLTy)*!TdWdBLrugN%sRRU8^oeSgxZm z<&*(27dEf-je6E#peq`Z)Y&I4g(Zw^C2gbUB*0}oVT`F7YGmRfIC0X{2D{+-!{k1E zEUaX_4em8&cplv@(oY-SXd4h*56e3k+tFr&TDl&cESuMWv#8UYCxtm$>4V8q_f@|n}9DF*au zLMN7yEzw&4;qvwVA2+iTz>R(tb4a@EhfswIlRH(=mT$9rlTqA4H{$Ca+0l8b)O>p? zj36NQuks^+SIVRWm-#9#t?jYjJ~(-pi$CE;J87E97+ZJ#x^KzFX$=fZK6W!+X_u{j z2;dXH(Qx0xK=`)ZlV8K4HFAg-VzSA^;l4!}jIa{chh4jjvD$>Y6vtvsoEjKgW>#L( z8>kWBjjc51fg}H^Y3Li?)YIaac)_5%8W$C7HL%kA&?Uv*L@8JswLezDBy)e_Q=ICM z`s2%EtRzYMQ@N*(* z!MV9o-;1BOgJ}cI{TbTwI?1DQ*$`BoY=V9H{XAM8X?@-?+g^W#;=cz{*(=t!@&ikw1)Z!VZ0dZyF5 zL2VgR&9sC?ZC__elHJ4Yg8K&{74ilqa*8q3Lh3+=NkW{~(RRIoY9R#}Sb#MmVRLj< z$O=h0+BOO>N$(-Fb7^SpRE-A_uVvv$bnk~Z@=M#*<~ALfJ5hDm%?^Thd4?bl>CGv- zRt1xwZt|O`lyA<}V=k3Yzj**VcN|TVkbJ(ExZ_q7oQmZ?ho%(330wA}T5P)E0)X0skN*CyI`#fbx+l_@g3B zsh|WG(UH(xi(BwRNf?g2y1Eu^Q1894sH!Tz{cseVX$l}4%@h~$xjR;MmFlS#&K_^k z8Zf!Z{!NEPm6vXaCt&U3PCNFyS^PLGifkIA=E))h)JnGEBzsz9tJ^3Q|G-&;N+p6z z0L#W8QZC>Ve2(%WCfsHjddI*uO9*Bod%<^nr>!WBirqcSHHI10(A-#l5Qj;~g$3NJ z9IWOTNrPmunMKa;pmu!NNn!E32UG3?@NEHkh!_I60+v+~W_hf?`%(?VCzM2s~*`fzP)F_guZ>=|3F9BGj$|8?U^HPx8K`M z4X=q8kFZ3{6Wgn3R-BD&MHY^g#4<$;He$F|zYRKVC{*PBgtq?2X4j81!lbbx2R10f zq~U>cAqys1IQvltBpu;HjxHLaq(&ftZcf5d<~>;Tt_QdssC{L-BEwa&+-%is1#+3K zN)+r9tmI-?pwL6WK0%HsP*n-QisiD6p-5J@Vp*O}ZNkEpw{2K*H5+sV!-$3Od{)L2 z?*aW#L~I^9%I?s%Wjxtz)tl18wuy|>>%?`Cf>CL41!&rCJ61z96^QG(>V6UkNhn#& zlmw54uY=$szDZHTPRrjwkR_P_IydB6N9zm=DlVaiyW~fF>OX>SQBBA{N8fTWS* zTCb*59Q?0&Ai-5s-b3vNxG@)VmmSXT$kF;tKfj5SuO~NT(2cofg4a^uO&9Qz<50_*7$}A9~AtWetc|U&RrPpT6}~C|Baso3LZ3 zpu8G^MRyD4DJ&!9IAAzT!s6*9?Tjc^-G9|rFq8g+)Q5-Lj7le-}Z%QB5i_1!% z;*MW%g+(qY4I&?0S$zM&SQa^ypQds}rHnG3i4)_pv#>qzyMyl}w>mgGxeQ)IIokV- zLNFtQ0Tvk4r<`!JvFXQ`mgdxVmAw9OG=a9S1aeI8uL3Bq_FJOKQL zao=GX2C|T+X#Gyr1^n%YBS+IG;t-}q4C4A*l)3_7$BXbL68Fj5H_yc(d#S3w8-?P< z`GM~8h~(QD-e=?HNYWl1d^0Vxd~ex1r{@Ry`BpGFq+4RFlvG#^ve%7rI)m0zH72@D zka3Nr6ROUABTj=c9-~}}IFKl&i2({ZXhy_Q+K9y<9c+!N!tom3H)mJAwe=ARdhfqiW+h{RHrJ1 z0zG&X!HRc*`hj6~Ao?ChA(+^rG-A91XEZG4PT*=~cX2gGM90&rP+6xE?K$B!3nf^~ zP)AM8&ADnU6^(~9Zf%77R=7t49b{*D^-UgFN274hb~>T(V!EvEx_qF*u4%yVqmr7$ znGv*{PH}cIp|xc~B&CDo((p>{=t-mdMjW>doqRPxU;$x4r`(mQ^Yjn?PinHb)#7Ii z8JTEcClda^^5MFDLEf5Btq}FRE;cIxUUUVUKDfw-G+dOoSq|YBhgd;r1=0*YLs5`v zPsWmVfNtjct_|k4LcBPRK?ut7$Fr<_oh?!i+_9N_#VTaSq;d^y3_0M_^EL~Zf+blp zQ7Q2u>Kl<-@hIr<0j&slgyF4;o}tS{fKQ0$KWB;9(;x}2qJ-P&gH$deq3Oouqx!=G z(~OJ*Dsct95@c5U=OTtUKB11@#YN#_BBNZ8XqIbr`N0bXnG2;v#fqDtuP9F*wE{Ud zGSZ=47g`+xPu5Cn+$kMFQY|XJ*4s?q*5%G^YIS9^k<$4GFKKZj9{|bR+a69n=I@*>?>T4dSAJ!DOQj|3q6A))1HgIY3 z>nH~u{~56O0qR67J!=z#SzZTZ=__63y`pC;Ol22SaG}nviSqo)C}GSX3temv?P^&X zT+#^cGctutSO7v0MZL3iRz&Jzp^ zON)3G8PSV4p7G3~7y@{oEs`0tXMz<5-}ika zhLJTu2r`U7rqb!01Wu~HmOd&)rXSLHil9XDQAZDiq}GL&r!}hx{#WZ12c}BINFRe^ z2IJAU?pfPr3ZV*TH!!k!80W?#Ik4|Z@bY2y$CodIefZ=0`q~MIl`yA5lGzcmye4)BmV2}-&yyG&M~^D*Izcz|5bNyerFZADJM#p=6qzPO5K z?o5_zY*>cgpjVJhXYW3|dUJXd@XNuo;<12#sm39GiOYjuLsY(_^*q9(Y9y3fd5bsk z=SUnIK6Uj~T|F@xQ^Uk)j54rDj}=2I^qhIR7k|6BJb7E0CVp_;s>SlTfqR*!)n!(g z?B}yzJodlS8~>1_#!t%!>AcL_54$&Br7G!B0VHF zmK@L0XNC|}eTpDU8OsbhDL!7kDp;~{wC-C4Y#5e&lFn3OY^S&qbWneevqjNx_vEGO zz@PEEN<#pNY$6~*u9M8w?XXN?`UuEi3S1RaHH->Ez^dj8j%VaNk*jd}NorTPjE?3J zJ7N8>9e**%lyAt$fn>c|0`36Z%liUqx>@UZp2A?5S6I^K|D-9h+{)~iRs z)Z1fe)URNDg_H(vn%hu^cPYOODx=i3_MT(ZKj$Hv(f=Dfl>a5s;OnACKZj8sFFbVn zHu(I3WjaZ+>{Age=28*Ajvt)&Lde>h9oo+JIMr3BlbJLXK~U6b6gpVL{nrpOe|cMl zXBK@ZWJ@F8(WTW4av;@$th!dL2hID*mM&czs?Zxu_yrIqHh3)Fhxh9XMtOM8NMGWg zR8W5MNZFiW6P&gWjRF9M8%~LUqt|ks55Ag1L@6v;XC0zK4&pB}ZlPUbz%F)SJ7O35 z30>GAlk98|@96tfRBU1gcRJB?C*n2!r_%yO|pRbJ|&t5wN(M$Lx? z_~lJY5*w!HE}jvCMytw#c3m>2+q3TuUOpQ;I~m1n7R(5&Aumdqp-j>@J1wo{u9f!II6T>xbyz(E9QSt02 zNM^-C2u)9=S)I6scYZ%z(qh-b2$z?Em<87uR0zXVcB$SK7Nku@n|0Zwz@0&<&OKj& zwi;?*gX~P{{SvI`)@%2+riLv$Caj{kFkV^;C8w+susdk&NzKv}yq2YexMlZvxG1wb zan`1&x->!_G1?;4yGV+9#?!zDU5!^k@^19>!f9MzN!N!B^`a&isa`@qM|2e^OKM?R z1&Zd#1HZhDZ*G?k2p(uNqCe^pz49JWBhjw_-*M5j-dT*h zhrqnKV8t6{S{nVmKesC}F9R{Z8`x&^eaRd|T*)RZ{}Md5!5CVVm!VI{Z%m!`*c;25 z_ZW~-2%5DMnsp7bi0jYv1X*51O)aY-_HeHQlf>Q5t-3YVbB^{g>{Uwjs-R7{6dai3 z83j-V=m+9^g?H$(aMxO+)iyCNN5wFg_*YQI4r>{-+4obj(Q?TPSY^fuLrfxUvG1A} zdZ10UF7y+KNgnK_uHXz*X2L`c6FAr=*8LRAQLk4g5!U_=Vp^#&OsUlHZ6FOqp*So_ z^f^kTi~KegVnsf^b!h-tzM_ddV1*fN+E{4nxtF~@Q`UELI`%ATd;a}cs8;TRAE1E+ zX(TRfag#M9TaUuN^^$d_CgQAG^q|rZxB)S?&UHAONyMd84ooz5y0>e{HIgAgqn4!Q zGE-pKj4XYN^Qi5!MwJi8~r$hkB>3@R%`R*nD?+>tL zFCV^txe30d{oI`iZKGw*xkcSa;i%tQp_on7IRBdkB;3!nn`2^oBd%)DJvwZoWN1-}>0y^n0R`pXd74|E>8Y#dV zD1XX}^mGb(**aX#p;`L(3TEv1^}qCrb}Ioz)vKsDQ?1DRaJ8WhyL3y1JKshj1_z;T zb?L4Y6%(x}hPI^I)Io5}PhD0wGH|x7n)#1s-2O8t%SmM~osF2U$oiOd7voT+s+6Sk zHcZ1C?}Ala(5#pQ;cN!~n?f-0UG_OLJUInv9@8vIsPJiEH$o0Ju5CrjafhS8Y$CQ3 z7luEnSWQ|hSLJn=RXO;W7VQ@3(l$5oMc2^$2B#&y!BV>|ro|0iVujv@%FP4J(90fN zo1s-Crr{x9wLmWA6G3DYv;);tH}-6>YXG= zV^gfb7(w<}!KF4H9PUststsG=`6g0Vr;Wj>I%@aSmWL|%IIum;A#~UvK2NoyLh^b8 z_IlfhOsbE~(U(JdSZdpNIGd^O`p9Px?U_zuO{A(~oV-3d?1c=%xKtSrOCtVd+7epU zXR~N_5Ck8J$cmoB*Jm?Ofmkrm2@wrjYmR4;$21sgnxet3WMPoRr3Ea(vlSHbOb8gy zKvso6(&AZjaBgcV#9JqVH>O5dFyL{JBq(NGyYb?(eHxGPtrWYWu`Eql73E%ML3Z#CR zvZLVS`q1EC!KdhvR)>k5O)_G4ue4+$H#(~BCJW-pqY5hW-9;%q>|>9(NSyYmUm5aM56gMEE+D0mW0r3jJ+iT zY!d76FN_N_)Cn;9)iKbH%O8y0tm0xT=`Th*Td`>$zDaLi)F-J|L{ zeQcn;C=eD{M+$BgYq@G8s2q;nrCAjxCk0mA@b5qhtX}b0%*L`3sHQx(5>qI$JE(tG z39FD?zP=tb_DPdn=`NhlIkA&RGBPEsQ)lV5I0c1qyK#WHaVo3wpMSX|4-t#^TXjZ* zSh1JTO0DV7@6|QG1p7nAgvaR%Cb3@ zEM;}acg+Tx(0erE^{U{#XS<;5jN515m6P7}0+21Q;@du~1IF(hYER0%*4%{rASH=> zW13Yq|9FBp0_9^X0iWNWba=;?mX25C5D=Nvw=L*x>W!=Yf&eq#2gLIg(SfPz>~)97iD zOPmf#FhX1Vt^>h{*S;TwUS{z%Oid55-?|yO2idRN1eL3z?aVAUhmnoP)^)MJ-f{N* zd9~Zjghmd)2Nji_#yzUv8OPGiGrQE`?CH+xkJ-^g(Cg>z#{;ijNy)l3!a{%D_!Bss z&AM4Uegj=zXbyQE&t?<_30|XI=npfR%tX>#J%bsk57U>yJr zu_T1+Yb;X$P&`;sdL}`4q^W~C;plSN3BeoaC|ARx?$Ie>{4jyLfRf^LRde0&i5Og{ z213-u*$SBl56)g_O${t{ID@+D8;thg09aaG`f4 zVoZMCie3zMRU;ZK1nK5!vR;nZyY+8?C764DH0Qbs{(E;7Je8}UhvU3;H$n%yHooX< zp==ei*uj#G?LR>iHjR5bY}bks+8eD$r-kKa>dw@#S^Km>3|nBBRzgAl7U?#s*al3| zH1o~cpu1|TBO0G^h?^kFQ}IM&_Cm|(c*Cj|S`+IfA)#%&`w$DYGtzyKLsDrM{pb~}UJ?n)T$NDqHAtPb928@ci4B8t==w2BOQ z@pBMfiJwBqtin`acnPrw2(=zmBcZ_feqRA1LQJ_f>51u2dJzrS#-;)aCQFVF%ATFl&=9y<-tih&1NkwX)nMpYf1gkz9tof zLf4`pH-r?P2_QEH0Q5e}zNPYDD;}Wcg4{sfD?2vul-a;epxAZ}Gp^pcd6u+OQJ)~s+Nr2dLPae{ zP*J};w%;5os zNv{e0hQ_&BrvhSWbdS?wvoQA@&SnP{OaGx6*a*Bx2G{Z{P~#n{7NUL+B`an+SXWO? z8cv&>QdT+uv`m!{+vnz-QjF{QJR%jrs&~Qb1sWfqE|We{-iD>%qmc|yO|pA)spWiS zakY{X7LL>tmDLB|hV@KLRhhul0bIk{xOIvmRw{X@{=fu1#p65U!mx(fMXOQ}?u$xr z%1a>MX(FrhT>nG?x#4U-OOwZjS@d`ej}kG;)|_j$m?z*MjXE6`lOm_k|4eS#U>WFY zs_>U&-mkJOiNdtcEc0p85=EWa$t;TI&&arfwQGcsRfsN=M_N1L28*jQk609Nus&&D z0b35f1jMCzO5qZRpFc* zV&U{QD9T4D>Ra-Bk$Tj!TjfVP9G}BfN&!czbYyX0R3RPsJel=F&#%`hB?ram3UJbv zL}G>L3>2cYFildp#2&7K((6wja01?{I0P=RzB@zc}{&hsxs zF__pR%G8FcdEt8TTAA~5y}22cf)3=XNU$cqdg7a73RgJDFN!NDLSeR`rl{$E#}#&5 zVRWu=1~HcqJ?mXqx1`ix(Ey|n*ecUC#F@^-cyE;qytvxeI&dmh@K!~S&`k-ZvoLs; z;y|8NBti%Yg%b2R>&9Y4pM+St$0u$Qlp%z;PP04MH1XFw&jcM6d`8f44f@w4I66MO zJPe9Rex}R;j*gU(InOKI7ZDsvupC&^odmjnT|F6$iT^7OH+fq0)BXx1%&wqQ$fd10 z_*I4-MrpCgnH*ttkI&x*pX2DB4y&SFWUEoV`zBo7F&P_>m%i z#csmd3;kH~iXzx67D9m*jsE^FLvJ_+^DgFM=~yc)Ad>x^b+47HD4< zyl`Yvg()I8qeU2m*oAhqDeLxCbQ7nD6VYtr)}d7c*tmCA?G?9_lbJvLOA2OU4@%n? zjhklhi-xL`3o2|`&0N7u7+Wb=)C)1Kuq^ZVYEkOVHEj!R+3qP&64fA|>84?kKBd`x z3TNb2a8EQYlWPbk0}9Yakq6@jQd0m)zdM0jB)!>Zl|OB=5* zREja-YLO;rEC+1`a{R=JK9*rxr+46kQM89BYDe?1 zVEqW*HhC1QQA1yT7ZLdRE-+xt^klblx=<^`*J!^i`_f%lPH$zs=69e+M-LD#S9ElP zJj_Fh0at6zgZFri@Slq)e>4Hogp!O;q1?j9<2qZUwICeRyjI+13*;Z@dKSYJ%S8Kq zh5AfNpPwc1=jfTjX*FX7YmKw^KD`C#xPpdH0-7t

    lJJ4y*kLUvMa9eU2d=G0Kau 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 literal 0 HcmV?d00001 diff --git a/SIMPL_Example/SPlsWork/InitialParametersAdapter.h b/SIMPL_Example/SPlsWork/InitialParametersAdapter.h new file mode 100644 index 0000000..f20c26c --- /dev/null +++ b/SIMPL_Example/SPlsWork/InitialParametersAdapter.h @@ -0,0 +1,34 @@ +namespace Crestron.SimplSharp; + // class declarations + class InitialParametersAdapter; + class InitialParametersAdapter + { + // class delegates + + // class events + + // class functions + SIGNED_LONG_INTEGER_FUNCTION GetHashCode (); + STRING_FUNCTION ToString (); + + // class variables + INTEGER __class_id__; + + // class properties + SIGNED_LONG_INTEGER IsAuthenticationEnabled; + SIGNED_LONG_INTEGER ExServiceAppToCipMsgQSize; + SIGNED_LONG_INTEGER ExServiceCipToAppMsgQSize; + LONG_INTEGER NumberOfExternalEthernetInterfaces; + SIGNED_LONG_INTEGER NumberOfEthernetInterfaces; + LONG_INTEGER NumberOfRemovableDrives; + STRING FirmwareVersion[]; + STRING RoomId[]; + STRING ProgramIDTag[]; + LONG_INTEGER ApplicationNumber; + STRING ControllerPromptName[]; + SIGNED_LONG_INTEGER IsSystemProdigy; + SIGNED_LONG_INTEGER m_iMulticastTimeToLive; + STRING RoomName[]; + SIGNED_LONG_INTEGER DevicePlatform; + }; + diff --git a/SIMPL_Example/SPlsWork/InitialParametersAdapter.inf b/SIMPL_Example/SPlsWork/InitialParametersAdapter.inf new file mode 100644 index 0000000000000000000000000000000000000000..f901e596de53d7866c8d72a47fef746f2b60e1bc GIT binary patch literal 4782 zcmeHK&u`l{6lT^qOB*jigRNbQopz6r{lI|k=E(9Y%uZBEO)nk<+NK?@lqir?>g?3N zwfFrE>7!&jRApNV8lXKy2T7FpK7Q}V)JrTcEIuZv&;XO` z`L*@F0%bSgz7jN^qMJ9vUQ;{#l$sN(3e;v8ju@6Qq~kEuE*OmRW_I7MV)xXM?NnWm zSkVzyl*e|Ahm4GKjHQ#efqZ7qd?GICh_sU=;1*5#a{9`r|B*WZ1-yU*@*RNwe40i> zBF-lE4CXw>%!Wvam?(%p5feNj@-rwuU!vb7>eB_PMmHkQn7iEC8BSNw(v09yu#=sy0H?6?_V{>2v}-UC*R4-5*2Zuz9BEfh>dN zUl6Kv>wAmGN^r)A0D4iPPC-1%cnc>h$sIV-zmkeXfHtPnt1{GrS|!wzD5U+A>7te@ zpb-gp53*!EVx_aYdJaF+!Tk==vfwhTCR{}8+31x0=~Gb*t`gEA6Uf|jR3(o;mIS>$ z#t9U4dCWspDd7d}FEjvdsgYGxa3lXWZ-#y4oZd_Rz2w)F{K{&+7x$`ay%%>a!U)w~ zy=sg5lbg_^hh3*G5|&obWVWv8`I=VP^C?Np5BIogV1~ zOLC4`S~ENc+9tqaO4Kc^GJ0?p8A{GzigOQ^OY6cRc$zbOm<=UxEaCLVpY`?)&q5N)i zF_Ub^>O(cp;IGj^FDVahPrB(5MnH>l#A3@tH~egBhFvb^CWV$^0;2mk;8 literal 0 HcmV?d00001 diff --git a/SIMPL_Example/SPlsWork/SimplSharpCustomAttributesInterface.dll b/SIMPL_Example/SPlsWork/SimplSharpCustomAttributesInterface.dll new file mode 100644 index 0000000000000000000000000000000000000000..66c53cdbc269dbf3d2844d6f42df318f8d676e34 GIT binary patch literal 8400 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 Ccpqs1 literal 0 HcmV?d00001 diff --git a/SIMPL_Example/SPlsWork/SimplSharpData.dat b/SIMPL_Example/SPlsWork/SimplSharpData.dat new file mode 100644 index 0000000000000000000000000000000000000000..30d314cae9ceda43064dd6e6889b5f9d539ec4d4 GIT binary patch literal 2176 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 G-{A*k7=$4J literal 0 HcmV?d00001 diff --git a/SIMPL_Example/SPlsWork/SimplSharpDataEx.dat b/SIMPL_Example/SPlsWork/SimplSharpDataEx.dat new file mode 100644 index 0000000000000000000000000000000000000000..dda334988b23c5d25975b3b460794d0e7bbb353e GIT binary patch literal 2160 zcmV-$2#@!Z(3kNA2e6M#pieR0{|>WYQ-?kR1PFFbgTk#!rIMruv)9fzg^)*x(iroI zaM%TpzT7vjR@r~I8WaKH7FY6LEo#wjEpaEi*YX|SE2#`G7P=*#(|L*gdk}=af3XSn zs}I_GS6xHS#jaCHVH!=4NBd2 z?{>*Yb}s%WVo(58@4xn<-WsB4%Qnu-#G49qEG9CLwn-84{uAu(kjxEhSHsS7x0VyjUZQz2TF;F`b zk>`As_+((p@<@M-=n_2!Z$ybLT(|0@et;J36n|21(L%G^Ie^9>-dcM_10Cfn6R)c@$rk3;=XuMZDuM=Pg^u`^%>R%*9dn%w*9K#% z$+PUx^rs?#?`~G*BO3?dJtFNxT_C4x&ssV&Yu;g42YoN;r)*0QCZ$}5jET=|d= zB!g7fTAjV^XIt3;??x7+Quw6ZyrQX;A9d2Mr*tKa`ZG3EKBQzt?;&2}V&3zfxd&RK zDVB_tvFdx>fo+m2}=Zib_)3DH$s&U9El+#gavTz6b5P?$<5qd)hje;*4IK+S&8O>Lu2t6+ zqvoILiOWSfxgO97Wt^WFsr^#nmBj}Qm1-x?MBD{Wjg%l(q!9eeTWKKt^7nY$N4iXZ z)4EpqdTt0bXqOF1H)Po`mZaGtRL_1>C`8WF#o|_4W-Z6dGf>t zkLqLf3P2;{N$q;y#JdnbU)LKqO1h9x)dIO-mJ`z17XGyGVrd5UV#D9t+Z4f+CW}Ov zu<|o5$*z!Wt+eN=2$R|_xF{e$e$9@`HFtH5KKJu;e`o1*f(b{EdQ$DDW!B!ljK_k8G`eLLJ13tkekX(T-4`YJXoViQ z-1{hJM#X`d%K@3aX|sj3*lR{9l;q`AzIPhN(Hz0~T~!n_^){Ub5L@VrjdWAI4p1+d4O-6+~0ItG1j1XLrLp!-7KUT4COGD^|0BoO-f_3_--J zqa}XpE6BkS8N + + + SimplSharpHelperInterface + + + +

    + Base ssh data serialization type + + + + + Data byte array that hold message unencrypted data + + + + + Gets data bytes array + + Byte array representation of data structure. + + + + Loads data from specified bytes. + + Bytes array. + is null. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Loads data bytes into internal buffer. + + The bytes. + is null. + + + + Resets internal data reader index. + + + + + Reads all data left in internal buffer at current position. + + An array of bytes containing the remaining data in the internal buffer. + + + + Reads next specified number of bytes data type from internal buffer. + + Number of bytes to read. + An array of bytes that was read from the internal buffer. + is greater than the internal buffer size. + + + + Reads next byte data type from internal buffer. + + Byte read. + + + + Reads next boolean data type from internal buffer. + + Boolean read. + + + + Reads next uint16 data type from internal buffer. + + uint16 read + + + + Reads next uint32 data type from internal buffer. + + uint32 read + + + + Reads next uint64 data type from internal buffer. + + uint64 read + + + + Reads next int64 data type from internal buffer. + + int64 read + + + + Reads next string data type from internal buffer. + + string read + + + + Reads next string data type from internal buffer. + + string read + + + + Reads next string data type from internal buffer. + + string read + + + + Reads next string data type from internal buffer. + + string read + + + + Reads next mpint data type from internal buffer. + + mpint read. + + + + Reads next name-list data type from internal buffer. + + String array or read data.. + + + + Reads next extension-pair data type from internal buffer. + + Extensions pair dictionary. + + + + Writes bytes array data into internal buffer. + + Byte array data to write. + is null. + + + + Writes byte data into internal buffer. + + Byte data to write. + + + + Writes boolean data into internal buffer. + + Boolean data to write. + + + + Writes uint16 data into internal buffer. + + uint16 data to write. + + + + Writes uint32 data into internal buffer. + + uint32 data to write. + + + + Writes uint64 data into internal buffer. + + uint64 data to write. + + + + Writes int64 data into internal buffer. + + int64 data to write. + + + + Writes string data into internal buffer as ASCII. + + string data to write. + + + + Writes string data into internal buffer using default encoding. + + string data to write. + is null. + + + + Writes string data into internal buffer. + + string data to write. + is null. + + + + Writes mpint data into internal buffer. + + mpint data to write. + + + + Writes name-list data into internal buffer. + + name-list data to write. + + + + Writes extension-pair data into internal buffer. + + extension-pair data to write. + + + + Gets a value indicating whether all data from the buffer has been read. + + + true if this instance is end of data; otherwise, false. + + + + + Gets the index that represents zero in current data type. + + + The index of the zero reader. + + + + + Represents base class for Diffie Hellman key exchange algorithm + + + + + Represents base class for different key exchange algorithm implementations + + + + + Represents the abstract base class from which all implementations of algorithms must inherit. + + + + + Gets algorithm name. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Finishes key exchange algorithm. + + + + + Creates the server side cipher to use. + + Server cipher. + + + + Creates the client side cipher to use. + + Client cipher. + + + + Creates the server side hash algorithm to use. + + Hash algorithm + + + + Creates the client side hash algorithm to use. + + Hash algorithm + + + + Creates the compression algorithm to use to deflate data. + + Compression method. + + + + Creates the compression algorithm to use to inflate data. + + Compression method. + + + + Determines whether the specified host key can be trusted. + + The host algorithm. + + true if the specified host can be trusted; otherwise, false. + + + + + Validates the exchange hash. + + true if exchange hash is valid; otherwise false. + + + + Calculates key exchange hash value. + + Key exchange hash. + + + + Hashes the specified data bytes. + + The hash data. + + Hashed bytes + + + + + Sends SSH message to the server + + The message. + + + + Generates the session key. + + The shared key. + The exchange hash. + The key. + The size. + + + + + Generates the session key. + + The shared key. + The exchange hash. + The p. + The session id. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets or sets the session. + + + The session. + + + + + Gets or sets key exchange shared key. + + + The shared key. + + + + + Gets the exchange hash. + + The exchange hash. + + + + Occurs when host key received. + + + + + Specifies key exchange group number. + + + + + Specifies key exchange prime number. + + + + + Specifies client payload + + + + + Specifies server payload + + + + + Specifies client exchange number. + + + + + Specifies server exchange number. + + + + + Specifies random generated number. + + + + + Specifies host key data. + + + + + Specifies signature data. + + + + + Validates the exchange hash. + + + true if exchange hash is valid; otherwise false. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Populates the client exchange value. + + + + + Handles the server DH reply message. + + The host key. + The server exchange value. + The signature. + + + + Calculates key exchange hash value. + + + Key exchange hash. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Finishes key exchange algorithm. + + + + + Contains DSA private and public key + + + + + Base class for asymmetric cipher algorithms + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Specifies array of big integers that represent private key + + + + + Initializes a new instance of the class. + + DER encoded private key data. + + + + Initializes a new instance of the class. + + + + + Signs the specified data with the key. + + The data to sign. + + Signed data. + + + + + Verifies the signature. + + The data to verify. + The signature to verify against. + True is signature was successfully verifies; otherwise false. + + + + Gets the key specific digital signature. + + + + + Gets or sets the public key. + + + The public. + + + + + Gets the length of the key. + + + The length of the key. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + DER encoded private key data. + + + + Initializes a new instance of the class. + + The p. + The q. + The g. + The y. + The x. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the P. + + + + + Gets the Q. + + + + + Gets the G. + + + + + Gets public key Y. + + + + + Gets private key X. + + + + + Gets the length of the key. + + + The length of the key. + + + + + Gets the digital signature. + + + + + Gets or sets the public. + + + The public. + + + + + Implements Serpent cipher algorithm. + + + + + Base class for block cipher implementations. + + + + + Base class for symmetric cipher implementations. + + + + + Base class for cipher implementation. + + + + + Encrypts the specified input. + + The input. + Encrypted data. + + + + Decrypts the specified input. + + The input. + Decrypted data. + + + + Populates buffer with big endian number representation. + + The number to convert. + The buffer. + + + + Populates buffer with big endian number representation. + + The number to convert. + The buffer. + The buffer offset. + + + + Converts big endian bytes into number. + + The buffer. + Converted . + + + + Converts big endian bytes into number. + + The buffer. + The buffer offset. + Converted . + + + + Converts big endian bytes into number. + + The buffer. + Converted . + + + + Converts big endian bytes into number. + + The buffer. + The buffer offset. + Converted . + + + + Populates buffer with big endian number representation. + + The number to convert. + The buffer. + + + + Populates buffer with big endian number representation. + + The number to convert. + The buffer. + The buffer offset. + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + The buffer offset. + + + + Converts little endian bytes into number. + + The buffer. + Converted . + + + + Converts little endian bytes into number. + + The buffer. + The buffer offset. + Converted . + + + + Converts little endian bytes into number. + + The buffer. + Converted . + + + + Converts little endian bytes into number. + + The buffer. + The buffer offset. + Converted . + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + The buffer offset. + + + + Gets the minimum data size. + + + The minimum data size. + + + + + Initializes a new instance of the class. + + The key. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Gets the key. + + + + + Gets the size of the block in bytes. + + + The size of the block in bytes. + + + + + Initializes a new instance of the class. + + The key. + Size of the block. + Cipher mode. + Cipher padding. + is null. + + + + Encrypts the specified data. + + The data. + Encrypted data + + + + Decrypts the specified data. + + The data. + Decrypted data + + + + Gets the minimum data size. + + + The minimum data size. + + + + + Gets the size of the block. + + + The size of the block. + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + Expand a user-supplied key material into a session key. + + @param key The user-key bytes (multiples of 4) to use. + @exception ArgumentException + + + + S0 - { 3, 8,15, 1,10, 6, 5,11,14,13, 4, 2, 7, 0, 9,12 } - 15 terms. + + A. + The b. + The c. + The d. + + + + InvSO - {13, 3,11, 0,10, 6, 5,12, 1,14, 4, 7,15, 9, 8, 2 } - 15 terms. + + A. + The b. + The c. + The d. + + + + S1 - {15,12, 2, 7, 9, 0, 5,10, 1,11,14, 8, 6,13, 3, 4 } - 14 terms. + + A. + The b. + The c. + The d. + + + + InvS1 - { 5, 8, 2,14,15, 6,12, 3,11, 4, 7, 9, 1,13,10, 0 } - 14 steps. + + A. + The b. + The c. + The d. + + + + S2 - { 8, 6, 7, 9, 3,12,10,15,13, 1,14, 4, 0,11, 5, 2 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS2 - {12, 9,15, 4,11,14, 1, 2, 0, 3, 6,13, 5, 8,10, 7 } - 16 steps. + + A. + The b. + The c. + The d. + + + + S3 - { 0,15,11, 8,12, 9, 6, 3,13, 1, 2, 4,10, 7, 5,14 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS3 - { 0, 9,10, 7,11,14, 6,13, 3, 5,12, 2, 4, 8,15, 1 } - 15 terms + + A. + The b. + The c. + The d. + + + + S4 - { 1,15, 8, 3,12, 0,11, 6, 2, 5, 4,10, 9,14, 7,13 } - 15 terms. + + A. + The b. + The c. + The d. + + + + InvS4 - { 5, 0, 8, 3,10, 9, 7,14, 2,12,11, 6, 4,15,13, 1 } - 15 terms. + + A. + The b. + The c. + The d. + + + + S5 - {15, 5, 2,11, 4,10, 9,12, 0, 3,14, 8,13, 6, 7, 1 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS5 - { 8,15, 2, 9, 4, 1,13,14,11, 6, 5, 3, 7,12,10, 0 } - 16 terms. + + A. + The b. + The c. + The d. + + + + S6 - { 7, 2,12, 5, 8, 4, 6,11,14, 9, 1,15,13, 3,10, 0 } - 15 terms. + + A. + The b. + The c. + The d. + + + + InvS6 - {15,10, 1,13, 5, 3, 6, 0, 4, 9,14, 7, 2,12, 8,11 } - 15 terms. + + A. + The b. + The c. + The d. + + + + S7 - { 1,13,15, 0,14, 8, 2,11, 7, 4,12,10, 9, 3, 5, 6 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS7 - { 3, 0, 6,13, 9,14,15, 8, 5,12,11, 7,10, 1, 4, 2 } - 17 terms. + + A. + The b. + The c. + The d. + + + + Apply the linear transformation to the register set. + + + + + Apply the inverse of the linear transformation to the register set. + + + + + Represents SSH_MSG_KEX_DH_GEX_REPLY message. + + + + + Base class for all SSH protocol messages + + + + + Gets data bytes array + + Byte array representation of the message + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the index that represents zero in current data type. + + + The index of the zero reader. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets server public host key and certificates + + The host key. + + + + Gets the F value. + + + + + Gets the signature of H. + + The signature. + + + + Indicates that message that implement this interface is allowed during key exchange phase + + + + + Represents "exit-signal" type channel request information + + + + + Represents type specific information for channel request. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets a value indicating whether reply message is needed. + + + true if reply message is needed; otherwise, false. + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the signal. + if set to true then core is dumped. + The error message. + The language. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the name of the signal. + + + The name of the signal. + + + + + Gets a value indicating whether core is dumped. + + + true if core is dumped; otherwise, false. + + + + + Gets the error message. + + + + + Gets message language. + + + + + Used to open "x11" channel type + + + + + Base class for open channel messages + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Specifies channel open type + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Gets the originator address. + + + + + Gets the originator port. + + + + + Represents SSH_MSG_CHANNEL_EXTENDED_DATA message. + + + + + Base class for all channel specific SSH messages. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the local channel number. + + + The local channel number. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + + + Loads the data. + + + + + Saves the data. + + + + + Gets message data type code. + + + + + Gets message data. + + + + + Provides functionality for local port forwarding + + + Provides functionality for local port forwarding + + + Provides functionality for local port forwarding + + + + + Base class for port forwarding functionality. + + + + + Starts port forwarding. + + + + + Stops port forwarding. + + + + + Raises event. + + The exception. + + + + Raises event. + + Request originator host. + Request originator port. + + + + Handles session ErrorOccurred event. + + The source of the event. + The instance containing the event data. + + + + Gets or sets the session. + + + The session. + + + + + Gets or sets a value indicating whether port forwarding started. + + + true if port forwarding started; otherwise, false. + + + + + Occurs when exception is thrown. + + + + + Occurs when port forwarding request received. + + + + + Initializes a new instance of the class. + + The bound port. + The host. + The port. + + + + Initializes a new instance of the class. + + The bound host. + The host. + The port. + + + + Initializes a new instance of the class. + + The bound host. + The bound port. + The host. + The port. + + + + Starts local port forwarding. + + + + + Stops local port forwarding. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the bound host. + + + + + Gets the bound port. + + + + + Gets the forwarded host. + + + + + Gets the forwarded port. + + + + + Represents remote connection information class. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Initializes a new instance of the class. + + The host. + The username. + The authentication methods. + + + + Initializes a new instance of the class. + + The host. + The port. + The username. + The authentication methods. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + The authentication methods. + host + proxyPort + is invalid, or is null or contains whitespace characters. + is not within and . + is invalid, or is null or contains whitespace characters. + + + + Authenticates the specified session. + + The session to be authenticated. + true if authenticated; otherwise false. + is null. + No suitable authentication method found to complete authentication. + + + + Gets supported key exchange algorithms for this connection. + + + + + Gets supported encryptions for this connection. + + + + + Gets supported hash algorithms for this connection. + + + + + Gets supported host key algorithms for this connection. + + + + + Gets supported authentication methods for this connection. + + + + + Gets supported compression algorithms for this connection. + + + + + Gets supported channel requests for this connection. + + + + + Gets a value indicating whether connection is authenticated. + + + true if connection is authenticated; otherwise, false. + + + + + Gets connection host. + + + + + Gets connection port. + + + + + Gets connection username. + + + + + Gets proxy type. + + + The type of the proxy. + + + + + Gets proxy connection host. + + + + + Gets proxy connection port. + + + + + Gets proxy connection username. + + + + + Gets proxy connection password. + + + + + Gets or sets connection timeout. + + + Connection timeout. + + + + + Gets or sets the default encoding. + + + The default encoding. + + + + + Gets or sets number of retry attempts when session channel creation failed. + + + Number of retry attempts. + + + + + Gets or sets maximum number of session channels to be open simultaneously. + + + The max sessions. + + + + + Occurs when authentication banner is sent by the server. + + + + + Gets the current key exchange algorithm. + + + + + Gets the current server encryption. + + + + + Gets the current client encryption. + + + + + Gets the current server hash algorithm. + + + + + Gets the current client hash algorithm. + + + + + Gets the current host key algorithm. + + + + + Gets the current server compression algorithm. + + + + + Gets the server version. + + + + + Get the client version. + + + + + Gets the current client compression algorithm. + + + + + Provides data for event. + + + + + Base class for all channel related events. + + + + + Initializes a new instance of the class. + + The channel number. + + + + Gets the channel number. + + + + + Initializes a new instance of the class. + + Channel number. + Failure reason code. + Failure description. + Failure language. + + + + Gets failure reason code. + + + + + Gets failure description. + + + + + Gets failure language. + + + + + Represents "diffie-hellman-group1-sha1" algorithm implementation. + + + + + Represents "diffie-hellman-group1-sha1" algorithm implementation. + + + + + Calculates key exchange hash value. + + + Key exchange hash. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Finishes key exchange algorithm. + + + + + Gets the group prime. + + + The group prime. + + + + + Gets algorithm name. + + + + + Gets the group prime. + + + The group prime. + + + + + Represents "diffie-hellman-group14-sha1" algorithm implementation. + + + + + Gets algorithm name. + + + + + Gets the group prime. + + + The group prime. + + + + + Implements RSA digital signature algorithm. + + + + + Implements digital signature where where asymmetric cipher is used, + + + + + Base class for signature implementations + + + + + Verifies the signature. + + The input. + The signature. + True if signature was successfully verified; otherwise false. + + + + Creates the signature. + + The input. + Signed input data. + + + + Initializes a new instance of the class. + + The object identifier. + The cipher. + + + + Verifies the signature. + + The input. + The signature. + + True if signature was successfully verified; otherwise false. + + + + + Creates the signature. + + The input. + + Signed input data. + + + + + Hashes the specified input. + + The input. + Hashed data. + + + + Encodes hash using DER. + + The hash data. + DER Encoded byte array + + + + Initializes a new instance of the class. + + The RSA key. + + + + Hashes the specified input. + + The input. + + Hashed data. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Implements CAST cipher algorithm + + + + + The rotating round key + + + + + The masking round key + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Sets the subkeys using the same nomenclatureas described in RFC2144. + + The key. + + + + The first of the three processing functions for the encryption and decryption. + + The input to be processed. + The mask to be used from Km[n]. + The rotation value to be used. + + + + + The second of the three processing functions for the encryption and decryption. + + The input to be processed. + The mask to be used from Km[n]. + The rotation value to be used. + + + + + The third of the three processing functions for the encryption and decryption. + + The input to be processed. + The mask to be used from Km[n]. + The rotation value to be used. + + + + + Does the 16 rounds to encrypt the block. + + The LH-32bits of the plaintext block. + The RH-32bits of the plaintext block. + The result. + + + + Base class for SSH subsystem implementations + + + + + Specifies a timeout to wait for operation to complete + + + + + Initializes a new instance of the SubsystemSession class. + + The session. + Name of the subsystem. + The operation timeout. + The encoding. + session + or is null. + + + + Connects subsystem on SSH channel. + + + + + Disconnects subsystem channel. + + + + + Sends data to the subsystem. + + The data to be sent. + + + + Called when channel is open. + + + + + Called when data is received. + + The data type code. + The data. + + + + Raises the error. + + The error. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Finalizes an instance of the class. + + + + + Occurs when an error occurred. + + + + + Occurs when session has been disconnected form the server. + + + + + Gets the channel number. + + + + + Initializes a new instance of the class. + + The session. + The operation timeout. + + + + Gets NetConf server capabilities. + + + + + Gets NetConf client capabilities. + + + + + Represents "publickey" SSH_MSG_USERAUTH_REQUEST message. + + + + + Represents SSH_MSG_USERAUTH_REQUEST message. Server as a base message for other user authentication requests. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets authentication username. + + + + + Gets the name of the service. + + + The name of the service. + + + + + Gets the name of the authentication method. + + + The name of the method. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Name of private key algorithm. + Private key data. + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Name of private key algorithm. + Private key data. + Private key signature. + + + + Called when type specific data need to be saved. + + + + + Gets the name of the authentication method. + + + The name of the method. + + + + + Gets the name of the public key algorithm. + + + The name of the public key algorithm. + + + + + Gets the public key data. + + + + + Gets or sets public key signature. + + + The signature. + + + + + Represents "zlib@openssh.org" compression implementation + + + + + Represents base class for compression algorithm implementation + + + + + Initializes a new instance of the class. + + + + + Initializes the algorithm + + The session. + + + + Compresses the specified data. + + Data to compress. + Compressed data + + + + Decompresses the specified data. + + Compressed data. + Decompressed data. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets or sets a value indicating whether compression is active. + + + true if compression is active; otherwise, false. + + + + + Gets the session. + + + + + Initializes the algorithm + + The session. + + + + Gets algorithm name. + + + + + Specifies compression modes + + + + + Specifies that content should be compressed. + + + + + Specifies that content should be decompressed. + + + + + Light implementation of SemaphoreSlim. + + + + + Initializes a new instance of the class, specifying + the initial number of requests that can be granted concurrently. + + The initial number of requests for the semaphore that can be granted concurrently. + is a negative number. + + + + Exits the once. + + The previous count of the . + + + + Exits the a specified number of times. + + The number of times to exit the semaphore. + The previous count of the . + + + + Blocks the current thread until it can enter the . + + + + + Gets the current count of the . + + + + + Provides data for the ErrorOccurred events. + + + + + Initializes a new instance of the class. + + An System.Exception that represents the error that occurred. + + + + Gets the System.Exception that represents the error that occurred. + + + + + Represents an arbitrarily large signed integer. + + + + + Initializes a new instance of the struct. + + The sign. + The data. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Initializes a new instance of the struct. + + The value. + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to a 32-bit signed integer value. + + The value to convert to a 32-bit signed integer. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to an unsigned 32-bit integer value. + + The value to convert to an unsigned 32-bit integer. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to a 16-bit signed integer value. + + The value to convert to a 16-bit signed integer. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to an unsigned 16-bit integer value. + + The value to convert to an unsigned 16-bit integer. + + An object that contains the value of the value parameter + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to an unsigned byte value. + + The value to convert to a System.Byte. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to a signed 8-bit value. + + The value to convert to a signed 8-bit value. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to a 64-bit signed integer value. + + The value to convert to a 64-bit signed integer. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to an unsigned 64-bit integer value. + + The value to convert to an unsigned 64-bit integer. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to a value. + + The value to convert to a . + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to a single-precision floating-point value. + + The value to convert to a single-precision floating-point value. + + An object that contains the closest possible representation of the value parameter. + + + + + Defines an explicit conversion of a System.Numerics.BigInteger object to a value. + + The value to convert to a . + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of a signed 32-bit integer to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of a 32-bit unsigned integer to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of a signed 16-bit integer to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of a 16-bit unsigned integer to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of an unsigned byte to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of an 8-bit signed integer to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of a signed 64-bit integer to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an implicit conversion of a 64-bit unsigned integer to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a value to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a object to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Defines an explicit conversion of a object to a System.Numerics.BigInteger value. + + The value to convert to a System.Numerics.BigInteger. + + An object that contains the value of the value parameter. + + + + + Adds the values of two specified objects. + + The first value to add. + The second value to add. + + The sum of left and right. + + + + + Subtracts a value from another value. + + The value to subtract from (the minuend). + The value to subtract (the subtrahend). + + The result of subtracting right from left. + + + + + Multiplies two specified values. + + The first value to multiply. + The second value to multiply. + + The product of left and right. + + + + + Divides a specified value by another specified value by using integer division. + + The value to be divided. + The value to divide by. + + The integral result of the division. + + + + + Returns the remainder that results from division with two specified values. + + The value to be divided. + The value to divide by. + + The remainder that results from the division. + + + + + Negates a specified BigInteger value. + + The value to negate. + + The result of the value parameter multiplied by negative one (-1). + + + + + Returns the value of the operand. (The sign of the operand is unchanged.) + + An integer value. + + The value of the value operand. + + + + + Increments a value by 1. + + The value to increment. + + The value of the value parameter incremented by 1. + + + + + Decrements a value by 1. + + The value to decrement. + + The value of the value parameter decremented by 1. + + + + + Performs a bitwise And operation on two values. + + The first value. + The second value. + + The result of the bitwise And operation. + + + + + Performs a bitwise Or operation on two values. + + The first value. + The second value. + + The result of the bitwise Or operation. + + + + + Performs a bitwise exclusive Or (XOr) operation on two values. + + The first value. + The second value. + + The result of the bitwise Or operation. + + + + + Returns the bitwise one's complement of a value. + + An integer value. + + The bitwise one's complement of value. + + + + + Shifts a value a specified number of bits to the left. + + The value whose bits are to be shifted. + The number of bits to shift value to the left. + + A value that has been shifted to the left by the specified number of bits. + + + + + Shifts a System.Numerics.BigInteger value a specified number of bits to the right. + + The value whose bits are to be shifted. + The number of bits to shift value to the right. + + A value that has been shifted to the right by the specified number of bits. + + + + + Returns a value that indicates whether a value is less than another value. + + The first value to compare. + The second value to compare. + + true if left is less than right; otherwise, false. + + + + + Returns a value that indicates whether a value is less than a 64-bit signed integer. + + The first value to compare. + The second value to compare. + + true if left is less than right; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is less than a value. + + The first value to compare. + The second value to compare. + + true if left is less than right; otherwise, false. + + + + + Returns a value that indicates whether a value is less than a 64-bit unsigned integer. + + The first value to compare. + The second value to compare. + + true if left is less than right; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer is less than a value. + + The first value to compare. + The second value to compare. + + true if left is less than right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is less than or equal to another System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is less than or equal to right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is less than or equal to a 64-bit signed integer. + + The first value to compare. + The second value to compare. + + true if left is less than or equal to right; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is less than or equal to a System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is less than or equal to right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is less than or equal to a 64-bit unsigned integer. + + The first value to compare. + The second value to compare. + + true if left is less than or equal to right; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer is less than or equal to a System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is less than or equal to right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is greater than another System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is greater than right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger is greater than a 64-bit signed integer value. + + The first value to compare. + The second value to compare. + + true if left is greater than right; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is greater than a System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is greater than right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is greater than a 64-bit unsigned integer. + + The first value to compare. + The second value to compare. + + true if left is greater than right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is greater than a 64-bit unsigned integer. + + The first value to compare. + The second value to compare. + + true if left is greater than right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is greater than or equal to another System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is greater than or equal right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is greater than or equal to a 64-bit signed integer value. + + The first value to compare. + The second value to compare. + + true if left is greater than or equal right; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is greater than or equal to a System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is greater than or equal right; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value is greater than or equal to a 64-bit unsigned integer value. + + The first value to compare. + The second value to compare. + + true if left is greater than or equal right; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer is greater than or equal to a System.Numerics.BigInteger value. + + The first value to compare. + The second value to compare. + + true if left is greater than or equal right; otherwise, false. + + + + + Returns a value that indicates whether the values of two System.Numerics.BigInteger objects are equal. + + The first value to compare. + The second value to compare. + + true if the left and right parameters have the same value; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value and a signed long integer value are equal. + + The first value to compare. + The second value to compare. + + true if the left and right parameters have the same value; otherwise, false. + + + + + Returns a value that indicates whether a signed long integer value and a System.Numerics.BigInteger value are equal. + + The first value to compare. + The second value to compare. + + true if the left and right parameters have the same value; otherwise, false. + + + + + Returns a value that indicates whether a System.Numerics.BigInteger value and an unsigned long integer value are equal. + + The first value to compare. + The second value to compare. + + true if the left and right parameters have the same value; otherwise, false. + + + + + Returns a value that indicates whether an unsigned long integer value and a System.Numerics.BigInteger value are equal. + + The first value to compare. + The second value to compare. + + true if the left and right parameters have the same value; otherwise, false. + + + + + Returns a value that indicates whether two objects have different values. + + The first value to compare. + The second value to compare. + + true if left and right are not equal; otherwise, false. + + + + + Returns a value that indicates whether a value and a 64-bit signed integer are not equal. + + The first value to compare. + The second value to compare. + + true if left and right are not equal; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer and a value are not equal. + + The first value to compare. + The second value to compare. + + true if left and right are not equal; otherwise, false. + + + + + Returns a value that indicates whether a value and a 64-bit unsigned integer are not equal. + + The first value to compare. + The second value to compare. + + true if left and right are not equal; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer and a value are not equal. + + The first value to compare. + The second value to compare. + + true if left and right are not equal; otherwise, false. + + + + + Gets the absolute value of a System.Numerics.BigInteger object. + + A number. + The absolute value of value. + + + + Adds two System.Numerics.BigInteger values and returns the result. + + The first value to add. + The second value to add. + The sum of left and right. + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance is less than . Zero This instance is equal to . Greater than zero This instance is greater than . + + + is not the same type as this instance. + + + + Compares this instance to a second System.Numerics.BigInteger and returns + an integer that indicates whether the value of this instance is less than, + equal to, or greater than the value of the specified object. + + The object to compare. + + A signed integer value that indicates the relationship of this instance to + other, as shown in the following table.Return valueDescriptionLess than zeroThe + current instance is less than other.ZeroThe current instance equals other.Greater + than zeroThe current instance is greater than other. + + + + + Compares this instance to an unsigned 64-bit integer and returns an integer + that indicates whether the value of this instance is less than, equal to, + or greater than the value of the unsigned 64-bit integer. + + The unsigned 64-bit integer to compare. + A signed integer that indicates the relative value of this instance and other, + as shown in the following table.Return valueDescriptionLess than zeroThe + current instance is less than other.ZeroThe current instance equals other.Greater + than zeroThe current instance is greater than other. + + + + Generates random BigInteger number + + Length of random number in bits. + Big random number. + + + + Divides one System.Numerics.BigInteger value by another and returns the result. + + The value to be divided. + The value to divide by. + The quotient of the division. + + + + Divides one System.Numerics.BigInteger value by another, returns the result, and returns the remainder in an output parameter. + + The value to be divided. + The value to divide by. + When this method returns, contains a System.Numerics.BigInteger value that + represents the remainder from the division. This parameter is passed uninitialized. + The quotient of the division. + + + + Returns a value that indicates whether the current instance and a specified System.Numerics.BigInteger object have the same value. + + The object to compare. + + true if this System.Numerics.BigInteger object and other have the same value; otherwise, false. + + + + + Returns a value that indicates whether the current instance and a signed 64-bit integer have the same value. + + The signed 64-bit integer value to compare. + true if the signed 64-bit integer and the current instance have the same value; otherwise, false. + + + + Returns a value that indicates whether the current instance and a specified object have the same value. + + The object to compare. + + true if the obj parameter is a System.Numerics.BigInteger object or a type + capable of implicit conversion to a System.Numerics.BigInteger value, and + its value is equal to the value of the current System.Numerics.BigInteger + object; otherwise, false. + + + + + Returns a value that indicates whether the current instance and an unsigned 64-bit integer have the same value. + + The unsigned 64-bit integer to compare. + true if the current instance and the unsigned 64-bit integer have the same value; otherwise, false. + + + + Returns the hash code for the current System.Numerics.BigInteger object. + + + A 32-bit signed integer hash code. + + + + + Finds the greatest common divisor of two System.Numerics.BigInteger values. + + The first value. + The second value. + The greatest common divisor of left and right. + + + + Returns the logarithm of a specified number in a specified base. + + A number whose logarithm is to be found. + The base of the logarithm. + The base baseValue logarithm of value, as shown in the table in the Remarks section. + + + + Returns the natural (base e) logarithm of a specified number. + + The number whose logarithm is to be found. + The natural (base e) logarithm of value, as shown in the table in the Remarks section. + + + + Returns the base 10 logarithm of a specified number. + + A number whose logarithm is to be found. + The base 10 logarithm of value, as shown in the table in the Remarks section. + + + + Returns the larger of two System.Numerics.BigInteger values. + + The first value to compare. + The second value to compare. + The left or right parameter, whichever is larger. + + + + Returns the smaller of two System.Numerics.BigInteger values. + + The first value to compare. + The second value to compare. + The left or right parameter, whichever is smaller. + + + + Performs modulus division on a number raised to the power of another number. + + The number to raise to the exponent power. + The exponent to raise value by. + The value to divide valueexponent by. + The remainder after dividing valueexponent by modulus. + + + + Mods the inverse. + + The bi. + The modulus. + Modulus inverted number. + + + + Returns positive remainder that results from division with two specified values. + + The value to be divided. + The value to divide by. + + Positive remainder that results from the division. + + + + + Returns the product of two System.Numerics.BigInteger values. + + The first number to multiply. + The second number to multiply. + The product of the left and right parameters. + + + + Negates a specified System.Numerics.BigInteger value. + + The value to negate. + The result of the value parameter multiplied by negative one (-1). + + + + Converts the string representation of a number in a specified style and culture-specific format to its equivalent. + + A string that contains a number to convert. + A bitwise combination of the enumeration values that specify the permitted format of value. + An object that provides culture-specific formatting information about value. + Parsed number + + + + Converts the string representation of a number in a specified culture-specific format to its System.Numerics.BigInteger equivalent. + + A string that contains a number to convert. + An object that provides culture-specific formatting information about value. + A value that is equivalent to the number specified in the value parameter. + + + + Converts the string representation of a number in a specified style to its System.Numerics.BigInteger equivalent. + + A string that contains a number to convert. + A bitwise combination of the enumeration values that specify the permitted format of value. + A value that is equivalent to the number specified in the value parameter. + + + + Raises a System.Numerics.BigInteger value to the power of a specified value. + + The number to raise to the exponent power. + The exponent to raise value by. + The result of raising value to the exponent power. + + + + Performs integer division on two System.Numerics.BigInteger values and returns the remainder. + + The value to be divided. + The value to divide by. + The remainder after dividing dividend by divisor. + + + + Subtracts one System.Numerics.BigInteger value from another and returns the result. + + The value to subtract from (the minuend). + The value to subtract (the subtrahend). + The result of subtracting right from left. + + + + Converts a System.Numerics.BigInteger value to a byte array. + + The value of the current System.Numerics.BigInteger object converted to an array of bytes. + + + + Converts the numeric value of the current System.Numerics.BigInteger object to its equivalent string representation. + + + The string representation of the current System.Numerics.BigInteger value. + + + + + Converts the numeric value of the current System.Numerics.BigInteger object + to its equivalent string representation by using the specified culture-specific + formatting information. + + An object that supplies culture-specific formatting information. + + The string representation of the current System.Numerics.BigInteger value + in the format specified by the provider parameter. + + + + + Converts the numeric value of the current System.Numerics.BigInteger object + to its equivalent string representation by using the specified format. + + A standard or custom numeric format string. + + The string representation of the current System.Numerics.BigInteger value + in the format specified by the format parameter. + + + + + Converts the numeric value of the current System.Numerics.BigInteger object + to its equivalent string representation by using the specified format and + culture-specific format information. + + A standard or custom numeric format string. + An object that supplies culture-specific formatting information. + + The string representation of the current System.Numerics.BigInteger value + as specified by the format and provider parameters. + + + + + Tries to convert the string representation of a number in a specified style + and culture-specific format to its System.Numerics.BigInteger equivalent, + and returns a value that indicates whether the conversion succeeded. + + The string representation of a number. The string is interpreted using the style specified by style. + A bitwise combination of enumeration values that indicates the style elements + that can be present in value. A typical value to specify is System.Globalization.NumberStyles.Integer. + An object that supplies culture-specific formatting information about value. + When this method returns, contains the System.Numerics.BigInteger equivalent + to the number that is contained in value, or System.Numerics.BigInteger.Zero + if the conversion failed. The conversion fails if the value parameter is + null or is not in a format that is compliant with style. This parameter is + passed uninitialized. + true if the value parameter was converted successfully; otherwise, false. + + + + Tries to convert the string representation of a number to its System.Numerics.BigInteger + equivalent, and returns a value that indicates whether the conversion succeeded. + + The string representation of a number. + When this method returns, contains the System.Numerics.BigInteger equivalent + to the number that is contained in value, or zero (0) if the conversion fails. + The conversion fails if the value parameter is null or is not of the correct + format. This parameter is passed uninitialized. + true if value was converted successfully; otherwise, false. + + + + Compares this instance to a signed 64-bit integer and returns an integer + that indicates whether the value of this instance is less than, equal to, + or greater than the value of the signed 64-bit integer. + + The signed 64-bit integer to compare. + A signed integer value that indicates the relationship of this instance to + other, as shown in the following table.Return valueDescriptionLess than zeroThe + current instance is less than other.ZeroThe current instance equals other.Greater + than zero.The current instance is greater than other. + + + + Compares two System.Numerics.BigInteger values and returns an integer that + indicates whether the first value is less than, equal to, or greater than the second value. + + The first value to compare. + The second value to compare. + A signed integer that indicates the relative values of left and right, + as shown in the following table.ValueConditionLess than zeroleft is less than right.Zeroleft + equals right.Greater than zeroleft is greater than right. + + + + Populations the count. + + The x. + Returns the number of bits set in x + + + + Returns the 0-based index of the most significant set bit + + The word. + 0 if no bit is set + + + + Gets number of bits used by the number. + + + The number of the bit used. + + + + + Indicates whether the value of the current System.Numerics.BigInteger object is an even number. + + + true if the value of the System.Numerics.BigInteger object is an even number; otherwise, false. + + + + + Indicates whether the value of the current System.Numerics.BigInteger object is System.Numerics.BigInteger.One. + + + true if the value of the System.Numerics.BigInteger object is System.Numerics.BigInteger.One; otherwise, false. + + + + + Indicates whether the value of the current System.Numerics.BigInteger object is a power of two. + + + true if the value of the System.Numerics.BigInteger object is a power of two; otherwise, false. + + + + + Indicates whether the value of the current System.Numerics.BigInteger object is System.Numerics.BigInteger.Zero. + + + true if the value of the System.Numerics.BigInteger object is System.Numerics.BigInteger.Zero; otherwise, false. + + + + + Gets a value that represents the number negative one (-1). + + + + + Gets a value that represents the number one (1). + + + + + Gets a number that indicates the sign (negative, positive, or zero) of the current System.Numerics.BigInteger object. + + + + + Gets a value that represents the number 0 (zero). + + + + + The TCPServer class is used to create a TCP (Transmission Control Protocol) server object. + + + + + Server class + + + + + Creates a new instance of the Server class. + The constructor checks the current platform capabilities and instantiates the appropriate IPv4 and IPv6 bindings. + + + + + Disposes of the current instance and releases all resources used by it. + + true to close socket. + + + + Returns true when the DefaultPort is not equal to the Port. + + true when the DefaultPort is not equal to the Port + + + + Server activity status + + + + + Function to do basic postConnectErrorChecking + + + + + + + + This method causes the server to start listening for incoming connections. + + + + + This method causes the server to stop listening for incoming connections. + + + + + Returns the type of the class that is used internally to serve incoming connections. + + + + + + Disposes the Server Connection. + + + + + Gets the current ServerBindings instance. This instance is not used by the Server class itself. + + + + + Gets the ServerBinding instance. + In most cases, the IPv4 ServerBinding instance is returned. + + + + + Gets the IPv4 ServerBinding instance. + The returned instance can be used to fine-tune the IPv4 server endpoint. + + + + + Gets the IPv6 ServerBinding instance. + The returned instance can be used to fine-tune the IPv6 server endpoint. + + + + + Gets or sets the flag indicating whether the server should listen for IPv6 connections. + Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened + (either by setting the Active property to true or by directly calling the Open method). + + + + + Gets or sets the flag indicating whether the server should listen for IPv4 connections. + Setting this flag doesn't have any immediate effect. It's value is used only when the server is opened + (either by setting the Active property to true or by directly calling the Open method). + + + + + Gets or sets the port number on which the server will listen. + + + + + Gets or sets the flag indicating whether the currently open client connections should be appropriately closed on server shutdown. + The default value is true. + + + + + Gets or the sets flag indicating whether the Nagle's algorithm should be used. + Setting this flag doesn't have any immediate effect. Its value is used only when the server is opened + (either by setting the Active property to true or by directly calling the Open method). + + + + + Gets or sets the default port number. + + + + + Gets or sets an alternative Connection class to be used for incoming data connections. The class described by the assigned Type must be a descendant of the Connection class, and will be used for all connections that are established after the property has been set. + Existing connections are not affected by changing the property. + If the ConnectionType property value is null (default), instances of the Connection base class will be used. + + + + + Gets or sets an alternative Connection factory instance to be used for incoming data connections. This factory will be used to create corresponding Connection instances for all connections that are established after the property has been set. + Existing connections are not affected by changing the property. + + + + + Gets or sets the flag defining whether the server is listening for incoming connections. + Setting this property to true or false calls the Open or Close methods, accordingly. + + + + + Indicates if the user wants to bind to a specific adapter + This is valid on systems which support multiple adapters. + Ignored on systems which do not support multiple adapters. + Only valid if the address of the HTTP server is defined as 0.0.0.0 - Ignored otherwise + Set to EthernetAdapterType.EthernetUnknownAdapter if no specific binding is required. + On units which just have a single adapter - we can accept a connection from anywhere + - In this case this setting is ignored + On units which have multiple adapters + - If the user specified EthernetCSAdapter then accept connection from Control Subnet side only + - If the user specified EthernetLAN2Adapter then accept connection from LAN2 side only + - If the user specified EthernetLANAdapter, then accept connections from anywhere but from the Control subnet side and LAN2 + + + + + Gets or sets the default TimeoutEnabled value for all newly created Connections. + + + + + Gets or sets the default Timeout value for all newly created Connections. + + + + + Gets or sets the default MaxLineLengthEnabled value for all newly created Connections. + + + + + Gets or sets the default MaxLineLength value for all newly created Connections. + + + + + TCP Server base constructor + + + + + Get Worker class + + + + + + Handle the TCP Connection. + + A object. + + + + Event to trigger on TCP Connection. + + + + + TCPServer class is used to create a TCP (Transmission Control Protocol) server object. + + + + + Abstract base class for all synchronous workers which are used internally by the Server components to handle the individual connections. + They are created by the Listener whenever a new connection comes in. + + + + + Represents an interface for Worker class. + + + + + The IOwned base interface for IListener, IWorker and IAsyncWorker represents an object that is owned by a particular server. + + + + + The server that owns the object. + + + + + Work for the IWorker instance. + + + + + Represents a connection property of the heritable class. + + + + + Represents the thread to execute the Work method of the heritable class. + + + + + Done Event Handler + + + + + Default constructor for the Worker class. + + + + + Gets or sets the thread to execute the Work method that is provided by IWorker interface. + + + + + When overridden in a derived class, processes the client connection, catches exceptions and closes the connection after client disconnecting. + + + + + Do Work for the respective Worker instance + + + + + Gets or sets the connection to the owner server listening socket. + + + + + Gets or sets the thread to execute the Work method that is provided by IWorker interface. + + + + + Gets the Server object which is owner of this Worker. + + + + + This event is fired after client connection being closed. + + + + + TCPWorker default constructor + + + + + When overridden in a derived class, Handles the TCP connection, catches exceptions and closes the connection after disconnecting. + + + + + Get or set the Worker Owner for this TCP Server instance. + + + + + OnTcpConnectionHandler delegate handler + + An object representing the sender of the event + A object. + + + + OnTcpConnectionArgs class + + + + + ConnectionEventArgs Class + + + + + Creates an instance of the ConnectionEventArgs Class. + + A object. + + + + Gets the Connection for this ConnectionEventArgs instance + + + + + Creates an instance of the OnTcpConnectionArgs Class + + A object. + + + + Types of streams Implemented in the HTTPs Streams + + + + + Bit bucket Stream + + + + + Normal Stream + + + + + Used for the Async Begin/End Stream + + + + + The Async Stream States + + + + + Async Request has not been initiated + + + + + Async Request has been initiated + + + + + Connection made waiting for data + + + + + Initiated response + + + + + StopReceiving Data + + + + + Task Completed + + + + + Information to describe why the event was triggered. + + + + + Abstract base class representing an HTTPs message. + + + + + Creates an instance of the HttpsRequestResponse Class. + + + + + Creates an instance of the HttpsRequestResponse Class with HTTPs Header parameter. + + An object. + + + + Clones the events of the HTTPs Request Response. + + A object. + + + + Trigger the OnTransferStart Event Handler + + A . + Total byte count. + + + + Trigger the OnTransferEnd Event Handler + + A . + + + + Trigger the OnTransferProgress Event Handler + + A . + The current byte count transfered. + + + + Get or set the HTTPs Response Header + + + + + Determines the Encoding for the HTTPs Request Response + + + + + Gets the Client property status for the HTTPsRequestResponse. + + + + + Gets the Server property status for the HTTPsRequestResponse. + + + + + OnTransferStart Event handler + + + + + OnTransferEnd Event Handler + + + + + OnTransferProgress Event Handler + + + + + Determines whether the current HTTPsRequest Response has an OnTransferProgress event handler. + + + + + contains information about an asynchronous operation. + + returns information about an asynchronous operation. + + + + Gets a value that indicates whether the asynchronous operation completed synchronously. + + true if the operation is complete; otherwise, false. + + + + Gets the Client that is host to this request + + + + + Base class representing an incoming HTTPs message - a response received by the HttpsClient. + + + + + Gets the Data Connection for the HttpsIncomingRequestResponse instance. + + + + + Creates an instance of the HttpsIncomingRequestResponse Class + + The connection + type of Stream used + + + + Flush the content of the HTTPs Incoming Stream. + + true if the operation succeeds; otherwise, false + + + + Clear the content of the HTTPs Incoming Stream. + + + + + Validate the HTTPs Header RequestVersion. + + + + + Returns the HTTPs body in form of a byte array. + Retrieving the content of a response from a server reads all of the data and is a mutually exclusive operation, therefore calling ContentBytes or ContentString after retrieving the ContentStream and reading its contents will yield an empty response. + + Bytes in content or null + + + + Returns a Stream object with the HTTPs body of the received request (server) or response (client). + Because ContentStream provides you with direct access to the underlying Connection Stream, + it is the fastest and most efficient way to access the response (as opposed to ContentString and ContentBytes, + both of which involve copying the entire data from the stream into a memory buffer). + Retrieving the content of a response from a server reads all of the data and is a mutually exclusive operation, therefore attempting to read from the ContentStream after retrieving the ContentBytes or ContentString will yield an empty response body. + + + + + Returns a Stream object with the HTTPs header of the received request (server) or response (client). + + + + + Returns the HTTPs body in form of a String object. + Retrieving the content of a response from a server reads all of the data and is a mutually exclusive operation, therefore calling ContentBytes or ContentString after retrieving the ContentStream and reading its contents will yield an empty response. + + + + + Specifies whether the HTTPs header provides a ContentLength field or a transfer-encoding of chunked. + + + + + Contains the ContentLength header value received from the remote side. + If the remote did not provide a length (for example in HTTP 1.0 scenarios, or if Keep-Alive is not supported), accessing the property will raise an exception. + Use the HasContentLength property to determine if a valid ContentLength has been received. + + + + + Keeps the HTTPs Request Response connection alive. + If enabled (true) , once a request is made and a connection is established, this connection is kept open and used for future requests. + If disabled, the connection is closed, and a new connection is created for future requests. + + + + + Determines whether data being transferred will be chunked or not. + + + + + Provides a generic view of a sequence of bytes. + + + + + A Stream with no backing store. + + + + + Initializes a new instance of the CrestronIO class. + + + + + Closes the current stream and releases any resources (such as sockets and + file handles) associated with the current stream. + + + + + Releases all resources used by the Crestron.SimplSharp.CrestronStream.Stream. + + + + + When overridden in a derived class, clears all buffers for this stream and + causes any buffered data to be written to the underlying device. + + An I/O error occurs. + + + + When overridden in a derived class, reads a sequence of bytes from the current + stream and advances the position within the stream by the number of bytes + read. + + An array of bytes. When this method returns, the buffer contains the specified + byte array with the values between offset and (offset + count - 1) replaced + by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin storing the data read + from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the + number of bytes requested if that many bytes are not currently available, + or zero (0) if the end of the stream has been reached. + The sum of offset and count is larger than the buffer length. + buffer is null. + offset or count is negative + The stream does not support reading. + + Methods were called after the stream was closed. + + + + Reads a byte from the stream and advances the position within the stream + by one byte, or returns -1 if at the end of the stream. + + The unsigned byte cast to an Int32, or -1 if at the end of the stream. + The stream does not support reading. + Methods were called after the stream was closed. + + + + When overridden in a derived class, sets the position within the current stream. + + A byte offset relative to the origin parameter. + A value of type CrestronIO.SeekOrigin indicating the reference point used + to obtain the new position. + The new position within the current stream. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + from a pipe or console output. + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + + + + When overridden in a derived class, writes a sequence of bytes to the current + stream and advances the current position within this stream by the number + of bytes written. + + An array of bytes. This method copies count bytes from buffer to the current + stream. + The zero-based byte offset in buffer at which to begin copying bytes to the + current stream. + The number of bytes to be written to the current stream. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + offset or count is negative. + buffer is null. + + The sum of offset and count is greater than the buffer length. + + + + Releases the unmanaged resources used by the Stream and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Writes a byte to the current position in the stream and advances the position + within the stream by one byte. + + The byte to write to the stream. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + + + + Begins an asynchronous read operation. + + The buffer to read the data into. + The byte offset in buffer at which to begin writing data read from the stream. + The maximum number of bytes to read. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read + request from other requests. + An IAsyncResult that represents the asynchronous read, which could + still be pending. + One or more of the arguments is invalid. + buffer is null. + The current Stream implementation does not support the read operation. + Attempted an asynchronous read past the end of the stream, or a disk error + occurs. + Methods were called after the stream was closed. + + + + Begins an asynchronous write operation. + + + The buffer to write data from. + + + The byte offset in buffer from which to begin writing. + + + The maximum number of bytes to write. + + + An optional asynchronous callback, to be called when the write is complete. + + + A user-provided object that distinguishes this particular asynchronous write + request from other requests. + + + An IAsyncResult that represents the asynchronous write, which could still + be pending. + + + Attempted an asynchronous write past the end of the stream, or a disk error + occurs. + + + One or more of the arguments is invalid. + + + Methods were called after the stream was closed. + + + The current Stream implementation does not support the write operation. + + + + + Waits for the pending asynchronous read to complete. + + + The reference to the pending asynchronous request to finish. + + + The number of bytes read from the stream, between zero (0) and the number + of bytes you requested. Streams return zero (0) only at the end of the stream, + otherwise, they should block until at least one byte is available. + + + asyncResult is null. + + + asyncResult did not originate from a CrestronIO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) + method on the current stream. + + + The stream is closed or an internal error has occurred. + + + + + Ends an asynchronous write operation. + + + A reference to the outstanding asynchronous I/O request. + + + asyncResult is null. + + + asyncResult did not originate from a CrestronIO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) + method on the current stream. + + + The stream is closed or an internal error has occurred. + + + + + When overridden in a derived class, gets a value indicating whether the current + stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + When overridden in a derived class, gets a value indicating whether the current + stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + Gets a value that determines whether the current stream can time out. + + A value that determines whether the current stream can time out. + + + + When overridden in a derived class, gets a value indicating whether the current + stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + When overridden in a derived class, gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + + When overridden in a derived class, gets or sets the position within the current stream. + + The current position within the stream. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to read before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to read before timing out. + The CrestronIO.Stream.ReadTimeout method always throws an System.InvalidOperationException. + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to write before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to write before timing out. + The CrestronIO.Stream.WriteTimeout method always throws an System.InvalidOperationException. + + + + Clears all buffers for this stream. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + Count of bytes to use in the byte array + + + + + + Reads a byte from the current stream and advances the position within the stream by one. + + + + + + Sets the position within the current stream. + + irrelevant + irrelevant + + + + + Sets the length of the current stream. + + irrelevant + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + array of Byte buffer + offset + Size + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + The Abstract Base Class represents an outgoing HTTPs message - either a request to be sent from the HttpsClient, or a response to be sent from the HttpsServer. + + + + + HttpsOutgoingRequestResponse base constructor + + + + + HttpsOutgoingRequestResponse with custom HTTPs Header parameter + + An object. + + + + Sets the Header Value for the "Content-Length" in the Content Source. + + + + + Writes the Header and Body to the Connection instance. + + A object. + + + + Writes the Header and Body to the Connection instance. + + A object. + + + + Write the Header to the Connection instance. + + A object. + + + + Write the Header to the Connection instance. + + A object. + + + + Write the Header to the Connection instance. + + A object. + + + + Write the Header to the Connection instance. + + A object. + + + + Defines which property (ContentBytes, ContentStream or ContentString) will be used to send the body of the response. + Assigning any of these three properties will automatically set the ContentSource property so that the content will always be sent from the appropriate source. + + + + + Assigns a byte array to send back as the HTTPs body to this property. + + + + + Assigns a stream to send back as HTTPs body to this property. When assigned (and ContentSource is set to ContentStream), + you can use the CloseStream property to determine if the stream should be closed automatically after sending it to the connection (true) or not (false). + + NOTE: This stream is limited to 2Gb + + + + Assigns a string to send back as HTTPs body to this property. + + + + + When ContentSource is set to ContentStream (and a ContentStream is assigned), + this property determines if the stream should be closed automatically after sending it to the connection (true) or not (false). + + + + + Determines the keep alive status of the HTTPs Outgoing Request Response. + + + + + The HttpsClientRequest class represents an HTTPS request from the client to the server. + + + + + Creates an instance of the HttpsClientRequest Class. + + + + + Sets the HTTPs headers of the request. + + It is not necessary for the user to call this function, as it is already completed internally on the headers specified. + In addition, this action is not recommended if you are using the ProxySettings class to connect through a proxy server using the HttpsClient. Unexpected behavior may occur. + + + + Gets a flag indicating whether this class is used in a client application. + The value of this class is always true. + + + + + Gets a flag indicating whether this class is used in a server application. + The value of this class is always false. + + + + + Gets or sets the target URL for the HTTPs request. + + + + + Gets or sets the type of the HTTPs request. + Possible values are: + RequestType.Get + RequestType.Post + RequestType.Put + RequestType.Delete + RequestType.Head + RequestType.Patch + The default value of this class is RequestType.Get. + + + + + The HttpsClientResponse class represents an HTTP response received by the client from the server. + + + + + Creates a new instance of the HttpsClientResponse class. + + Crestron File Transfer Client + The type of Stream used + + + + Validate the HTTPs Client Response. + + + + + Gets a flag indicating whether this class is used in a client application. + The value of this property is always true. + + + + + Gets a flag indicating whether this class is used in a server application. + The value of this class is always false. + + + + + Gets the HTTPs Result code received from the server. + HTTPs codes of 300 and above usually indicate a redirect or error on the server side (such as 404 "File not Found") + + + + + Gets the URL of the Internet resource that responded to the request. + + + + + Implements an incoming stream of HTTPs message (HttpsIncomingRequestResponse). + + + + + Creates an instance of the HttpsIncomingStream Class. + + A object. + + + + Clears all buffers for this stream. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + Count of bytes to use in the byte array + + + + + + Sets the position within the current stream. + + irrelevant + irrelevant + Action is not supported. Always throws exception. + + + + Sets the length of the current stream. + + Total byte count. + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + array of Byte buffer + offset + Size + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + Defines which type of the HTTPs body will be used - array of bytes, stream or string. + + + + + N/A + + + + + Array of bytes content + + + + + Stream content + + + + + String content + + + + + This enumeration defines the common values for the HTTPs methods used to make a request. + + + + + GET request + + + + + POST request + + + + + Put request + + + + + Delete Request + + + + + Head Request + + + + + Patch Request + + + + + QueryString represents a collection of key/value pairs which is used to store parameters from the HTTPs path (the tail from symbol "?" to the end). + + + + + QueryString constructor with query parameter which stores parameters from the HTTPs path (the tail from symbol "?" to the end). + + Query string with parameter in HTTPs path + + + + ToString that returns the Query String. + + the Query String + + + + Returns Query string using Key as index. + + Query name to look up + + + + + HttpsRequestInvalidException class + + + + + Constructor for an exception of the HTTPs Request Response with ErrorCode and Error Message. + + Integer error code to return for this request. + String with error message text to return for this request. + + + + Constructor for an exception with Error Code, message, and inner Exception. + + Integer error code to return for this request. + String with error message text to return for this request. + A object. + + + + String Collection class + + + + + String Collection default constructor + + + + + Add string to the String Collection + + String to add. + + + + Get or set the string at the index provided. + + Index to get or set. + + + + + IntHelper Class + + + + + Parse the Text in the input string text and return true if successful, false otherwise. + + String to parse + Int to receive the value + + + + + LongHelper Class + + + + + Parse the Text in the input string text and return true if successful, false otherwise. + + String to parse + Long to receive the value + true if successful, false otherwise + + + + Represents an XML qualified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + The local name to use as the name of the object. + The object created does not have a namespace defined. + + + + Initializes a new instance of the class with the specified name and namespace. + + The local name to use as the name of the object. + The namespace for the object. + + + + Determines whether the specified object is equal to the current object. + + The to compare. + true if the two are the same instance object; otherwise, false. + + + + Returns the hash code for the . + + A hash code for this object. + + + + Returns the string value of the . + + The string value of the in the format of namespace:localname. If + the object does not have a namespace defined, this method returns just the local name. + + + + Returns the string value of the . + + The name of the object. + The namespace of the object. + The string value of the in the format of namespace:localname. If the object does + not have a namespace defined, this method returns just the local name. + + + + Gets a value indicating whether the is empty. + + + + + Gets a string representation of the qualified name of the . + + + + + Gets a string representation of the namespace of the . + + + + + Wrapper for a dictionary that is read only. + + Type of key objects stored in this dictionary. + Type of values stored in this dictionary. + + + + Internal storage of the objects. + + + + + Constructor to create a new read only dictionary that wraps a specific dictionary. + + Dictionary to wrap. + Specified dictionary is 'null' + + + + Enumerator for the read only dictionary. + + IEnumerator class for the specified read only dictionary + + + + Enumerator for the dictionary. + + + + + + Determines if this dictionary contains the specified key. + + Specified key to search for in the collection. + True, if the collection contains the key specified; false, otherwise. + + + + Determines if this dictionary contains the specified key. + + Specified key to search for in the dictionary. + True, if the dictionary contains the key specified; false, otherwise. + + + + Determines if the dictionary contains the specified value/ + + Specified value to search for in the dictionary. + True, if the dictionary contains the key specified; false, otherwise. + + + + Method to get the value at the specified key. + + Index number to find in the internal collection. + Object at the specified index. + + + + Get the value associated with the specified key. + + Specified key of the value to get. + Value of the associated key, if the key is found in the collection. If the key is not found the default value is returned. + True, if the collection contains a value for the specified key; false, otherwise. + + + + Gets the number of objects in the dictionary. + + + + + Get the object at the specified key. + + The key of the value to get. + Object of type TValue at the specified key. + Invalid key specified. + + + + Get the values associated with this dictionary. + + + + + Get the keys associated with this dictionary. + + + + + Internal Extended Service message going between the Backend and Extended Service Device. + + + + + Message Type. + + + + + Extended Service Type + + + + + Extended Service channel number. + + + + + Extended Service status. + + + + + Extended Service Data. + + + + + Extended Service Data Encoding Type. + + + + + Cresnet packet type supported for the service + + + + + Cresnet serial packer type 34. + + + + + Crestron Extended Service enumeration. + + + + + This service allows remote devices to exchange + Crestron Remote Procedure Call packet directly with + user program or program module. + + + + + No service registered with the system yet. + + + + + Extended Service Device class is used to send and receive out-of-band information such as extended data service from Crestron Ethernet devices. + If the device or the control system does not support this form of communication, it will never come online. + + + + + Method to connect to the application's framework service channel for this device. + The device needs to be registered with the control system and to support the Extended Service information protocol. + If the protocol is not supported by the device the member will remain false and the service asked for is unavailable. + + The service asked for which is represented as enumeration . + If the serviceAsked is invalid. + If the service is already registered or connected, or the device is disposed. + + + + Notify the end user of incoming service data or status. + + Extended service event argument. + + + + Convert the string to byte array. + + String to convert. + Outbound string encoding format. + + + + + Method to send a string value to the device. + + The channel (join) number to set this value to. This is a zero based number from 0 to 65535. + New string value to send to the device. This string can only be a maximum length of 65535 bytes. + Outbound string encoding format. + If channel number, value length or encoding type is invalid. + If the device is disposed. + + + + Method to send a bool value to the device and this is not supported for now. + + The channel (join) number to set this value to. This is a zero based number from 0 to 65535. + New bool value to send to the device. + The method is not supported. + + + + Method to send a ushort value to the device and this is not supported for now. + + The channel (join) number to set this value to. This is a zero based number from 0 to 65535. + New ushort (analog) value to send to the device. + The method is not supported. + + + + Constructor to instantiate a new Extended Service Device class. + + The IP ID of the device that the programmer assigned for this application. + The user of extended service should instantiate the extended service device as soon as the module initialization is done + or as soon as the remote device for the service is registered in the program. + + The following example will show basic usage of the Extended Service Device in SIMPLE# module of 3 Series control system. + + public class ExtendedServiceDeviceTest + { + ExtendedServiceDevice myDevice; + + //The user should start up the extended service as soon as the module initialization is done. + public void StartUpExtendedService(uint paramID) + { + //Instantiate the extended service device with the proper IP ID. + myDevice = new ExtendedServiceDevice(paramID); + //Subscribe to the receive event handler. + myDevice.ReceiveEvent += ReceiveEventHandler; + //Connect to a supported service. + myDevice.Connect(eCrestronExtendedService.CRPCPacketToUserModule); + } + //Once receive device online event, the user should start the next phase operation like + //CRPC registration.. + public void SendCRPCRegistrationPacketToDevice() + { + string CRPCPacketString = "This is a CRPC registration packet in required format"; + uint channelNoToUse = 1; + + if(myDevice.IsOnline) + myDevice.SendString(channelNoToUse,CRPCPacketString,CrestronStringEncoding.eEncodingUTF16); + } + //Receive Event Handler + void ReceiveEventHandler(object sender, ExtendedServiceEventArgs args) + { + switch (args.Type) + { + case eExtendedServiceEventType.Online: + ErrorLog.Notice(String.Format("Extended service device online status {0}.\r\n",myDevice.IsOnline)); + break; + case eExtendedServiceEventType.String: + ErrorLog.Notice(String.Format("Ex-service device gets incoming string in format {0}: {1}.\r\n", args.IncomingStringEncoding.ToString(),args.StringValue)); + break; + default: + break; + } + } + } + + + + + + Dispose Extended Service Device. + + + + + IP ID of the device. + This ID is an 8-bit value representation of the device symbol in the SIMPL Windows/SIMPL# Pro application. + + + + + Service ID that associates with the extended service which is requested for. + This ID is represented with the enumeration . + + + + + Get the current online state for the device. + When the property is true, the service requested is connected and the + extended service device is ready for the next phase operation. + When the property is false, the service requested is not available. + + + + + Information received from the Service Device will trigger this event. + This includes changes to the property and when a string, bool, or ushort value are received. + Currently only string value is supported. + + + + + Delegate to define the event method signature when information is received from an Extended Service Device. + + Extended Service Device that the information was received from. Cast to as needed. + Event arguments to describe what was received. + + + + Extended Service Event Argument class to describe the information received from the device. + + + + + Constructor for the extended service event arguments. + + extended service event type. + extended service type. + extended service channel number. + extended service string data. + extended service boolean data + extended service unsigned integer data. + incoming string encoding format. + + + + Service ID of the service that the information is received for. + This ID is represented by the enumeration . + + + + + Type of change this is. Use this property to determine if the Online state has changed or if a new string/bool/ushort value was received. + + + + + The channel id specified by the device this information is for. + + + + + New bool value received from the device. Read this if the member is set to . + + + + + New string value received from the device. Read this if the member is set to . + + + + + New ushort value received from the device. Read this if the member is set to . + + + + + Incoming string encoding type of the new string value received. + + + + + Enumeration to describe the various types of information an Extended Service Device can receive. + + + + + No information. + + + + + The value of the member has changed for this device. + + + + + A new string value has been received. Read the member. + + + + + A new ushort value has been received. Read the member. + This type currently is not supported. + + + + + A new bool value has been received. Read the member. + This type currently is not supported. + + + + + Class of Extended Service Device Group + + + + + Extended Service Device Group Constructor. + + ID of this device group. + + + + Add an extended service device to the entry. + + + + + + + Remove an extended service device. + + + + + + + Find first device by the service type in device group. + + + + + + + Notify the devices which registered with this service in the device group. + + + + + + + + + Set the device in the group offline. + + + + + Method to shutdown and cleanup + + + + + Post the incoming service data message to the user device group receiving queue. + + + + + + Assemble a full end-user message to post it to the user device group. + + This is the agreed upon service number to include in the ExService device packet. + A cresnet packet data array. + + + + Creates a string based on the data and encoding from the packet. + + The byte array that contains the string data. + The index in the array for starting decoding. + Length of the string in the data array to be decoded. + Encoding flags as specified by the packet. + Decoded string + + + + Running on a receive thread and pump the incoming data to the devices with the same IPID + + + + + + + + + + + + + String encoding flags for a type 15h/34h packet: xxx###xx + This is defined in SimplSharpPro. But we cannont use it here. + + + + + ASCII (Single Byte) encoding in a packet has flags of xxx000xx + + + + + UTF-16 encoding in a packet has flags of xxx001xx + + + + + UTF-8 encoding in a packet has flags of xxx010xx + + + + + Enum for the inbound text modes in type 0x34 packet, from the flags byte of the packet: xxxxxx## + + + + + Append incoming data to the buffer + + + + + Clear any previous data - start of new data + + + + + Append incoming data to the buffer but the end bit is set + + + + + Clear any previous data - this is the whole data + + + + + Class to allow user subscrib Extended Service via ExService Device. + + + + + Initialize the extended service backend class. + + + + + Shut down the extended service backend. + + + + + Stop the Ex-service backend when the program stops. + + + + + + + + + + + + + + + + + + + + + + + + Start the ex-service backend (set up R/W msg queues) by the user device once initialized. + And tell CIP we support ex-service. + + IPID of the device starts the backend. + + + + Save the service request which is granted for the service from + application. + + An request which is granted to be served by the application. + + + + + Remove a service with given IPID and service type from the active list. + + + + + + + + Find a service with given IPID and service type from the active list and return + a "true" if find it. + + + + + + + + Add an extended service device with given IPID. + + + + + + + + Find a device group by a given IPID. + + + + + + + Get the data packet array from extended service interface data message. + + + + + + + Check it the requested service is supported. + + + + + + + Check if the remote device's request is valid. + The CIP layer could do some preliminary check on the request but + the application will make the final decision here. + + + + + + + + + + + + + + + Send data to remote service provider via CIP layer. + + remote device's IPID + message type + service type + channel number + data to send + Outbound string encoding format + + + + + Send response message to CIP. + + + + + + + + + Send a status message to CIP layer. + + + + + + + + + Build an internal type 0x34 cresnet packet and send it to CIP as an ex-service data message. + + Device IPID. + service type + channel number + the whole user message to send in byte array. + the offset in the byte array to send with the current cresnet packet. + the count of bytes to send with the current cresnet packet. + Outbound string encoding format. + the text append mode flag of current cresnet packet. + + + + + The property to report application Id. + + + + + String encoding flags for a type 15h/34h packet: xxx###xx + This is defined in SimplSharpPro. But we cannont use it here. + + + + + ASCII (Single Byte) encoding in a packet has flags of xxx000xx + + + + + UTF-16 encoding in a packet has flags of xxx001xx + + + + + UTF-8 encoding in a packet has flags of xxx010xx + + + + + Bits for manipulating the flags byte of a type 15h or 34h packet. + This is defined in SimplSharpPro. But we cannont use it here. + + + + + No append mode + + + + + Bit (lsb) high if Start of field. + + + + + Bit 1 high if End of field. + + + + + Modes for specifying how text should be appended. + *** If we ever want to let users split strings up manaully, this needs to be exposed as public. + This is defined in SimplSharpPro. But we cannont use it here. + + + + + Used when someone wants to send multiple strings (at least 2) and this is the first one. + + + + + Used to continue on the current line, when this is the 2nd string of at least 3 strings. + + + + + Used to continue on the next line, when this is the 2nd string of at least 3 strings. + + + + + Used to send the last string in a sequence of at least 2 strings. The string will appear appended + to the end of the previously sent string. + + + + + Used to send the last string in a sequence of at least 2 strings. The string will appear on the next line. + + + + + This is used to send an entire string in one shot. + + + + + Represents SSH command that can be executed. + + + Represents SSH command that can be executed. + + + + + Initializes a new instance of the class. + + The session. + The command text. + Either , or is null. + + + + Begins an asynchronous command execution. + + + An that represents the asynchronous command execution, which could still be pending. + + Asynchronous operation is already in progress. + Invalid operation. + CommandText property is empty. + Client is not connected. + Operation has timed out. + Asynchronous operation is already in progress. + CommandText property is empty. + + + + Begins an asynchronous command execution. + + An optional asynchronous callback, to be called when the command execution is complete. + + An that represents the asynchronous command execution, which could still be pending. + + Asynchronous operation is already in progress. + Invalid operation. + CommandText property is empty. + Client is not connected. + Operation has timed out. + Asynchronous operation is already in progress. + CommandText property is empty. + + + + Begins an asynchronous command execution. + + An optional asynchronous callback, to be called when the command execution is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + + An that represents the asynchronous command execution, which could still be pending. + + Asynchronous operation is already in progress. + Invalid operation. + CommandText property is empty. + Client is not connected. + Operation has timed out. + Asynchronous operation is already in progress. + CommandText property is empty. + + + + Begins an asynchronous command execution. 22 + + The command text. + An optional asynchronous callback, to be called when the command execution is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + + An that represents the asynchronous command execution, which could still be pending. + + Client is not connected. + Operation has timed out. + + + + Waits for the pending asynchronous command execution to complete. + + The reference to the pending asynchronous request to finish. + Command execution result. + Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult. + Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult. + + + + Executes command specified by property. + + Command execution result + Client is not connected. + Operation has timed out. + + + + Cancels command execution in asynchronous scenarios. + + + + + Executes the specified command text. + + The command text. + Command execution result + Client is not connected. + Operation has timed out. + + + Command '{0}' has timed out. + The actual command will be included in the exception message. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the command text. + + + + + Gets or sets the command timeout. + + + The command timeout. + + + + + Gets the command exit status. + + + + + Gets the output stream. + + + + + Gets the extended output stream. + + + + + Gets the command execution result. + + + + + Gets the command execution error. + + + + + Encapsulates the results of an asynchronous directory list operation. + + + + + Base class to encapsulates the results of an asynchronous operation that returns result. + + The type of the result. + + + + Base class to encapsulates the results of an asynchronous operation. + + + + + Represents the status of an asynchronous operation. + + + + + Inner object of the IAsyncResult + + + + + Gets a user-defined object that qualifies or contains information about an asynchronous operation. + + + + + Gets a Crestron.SimplSharp.CrestronIO.CEvent that is used to wait for an asynchronous operation to complete. + + + + + Gets a value that indicates whether the asynchronous operation completed synchronously. + + + + + Gets a value that indicates whether the asynchronous operation has completed. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Marks asynchronous operation as completed. + + The exception. + if set to true [completed synchronously]. + + + + Waits until the asynchronous operation completes, and then returns. + + + + + For internal use only. + + + + + Gets or sets a value indicating whether EndInvoke has been called on the current AsyncResult. + + + true if EndInvoke has been called on the current AsyncResult; otherwise, false. + + + + + Gets a user-defined object that qualifies or contains information about an asynchronous operation. + + A user-defined object that qualifies or contains information about an asynchronous operation. + + + + Gets a value that indicates whether the asynchronous operation completed synchronously. + + true if the asynchronous operation completed synchronously; otherwise, false. + + + + Gets a that is used to wait for an asynchronous operation to complete. + + A that is used to wait for an asynchronous operation to complete. + + + + Gets a value that indicates whether the asynchronous operation has completed. + + true if the operation is complete; otherwise, false. + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Marks asynchronous operation as completed. + + The result. + if set to true [completed synchronously]. + + + + Waits until the asynchronous operation completes, and then returns the value generated by the asynchronous operation. + + Invocation result + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + The files read. + + + + Gets the number of files read so far. + + + + + Contains RSA private and public key + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + DER encoded private key data. + + + + Initializes a new instance of the class. + + The modulus. + The exponent. + The d. + The p. + The q. + The inverse Q. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the modulus. + + + + + Gets the exponent. + + + + + Gets the D. + + + + + Gets the P. + + + + + Gets the Q. + + + + + Gets the DP. + + + + + Gets the DQ. + + + + + Gets the inverse Q. + + + + + Gets the length of the key. + + + The length of the key. + + + + + Gets the digital signature. + + + + + Gets or sets the public. + + + The public. + + + + + Provides connection information when private key authentication method is used + + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection key files. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Connection key files. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + The key files. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the key files used for authentication. + + + + + Specifies list of supported services + + + + + ssh-userauth + + + + + ssh-connection + + + + + Represents "xon-xoff" type channel request information + + + + + Channel request type + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [client can do]. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets a value indicating whether client can do. + + + true if client can do; otherwise, false. + + + + + Represents "x11-req" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true it is a single connection. + The protocol. + The cookie. + The screen number. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets a value indicating whether it is a single connection. + + + true if it is a single connection; otherwise, false. + + + + + Gets or sets the authentication protocol. + + + The authentication protocol. + + + + + Gets or sets the authentication cookie. + + + The authentication cookie. + + + + + Gets or sets the screen number. + + + The screen number. + + + + + Represents "pty-req" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The environment variable. + The columns. + The rows. + The width. + The height. + The terminal mode values. + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets the environment variable. + + + The environment variable. + + + + + Gets or sets the columns. + + + The columns. + + + + + Gets or sets the rows. + + + The rows. + + + + + Gets or sets the width of the pixel. + + + The width of the pixel. + + + + + Gets or sets the height of the pixel. + + + The height of the pixel. + + + + + Gets or sets the terminal mode. + + + The terminal mode. + + + + + Used to open "session" channel type + + + + + Specifies channel open type + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Represents SSH_MSG_USERAUTH_BANNER message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets banner message. + + + + + Gets banner language. + + + + + Provides functionality to perform keyboard interactive authentication. + + + + + Base class for all supported authentication methods + + + + + Initializes a new instance of the class. + + The username. + is whitespace or null. + + + + Authenticates the specified session. + + The session to authenticate. + Result of authentication process. + + + + Gets authentication method name + + + + + Gets connection username. + + + + + Gets the authentication error message. + + + + + Gets list of allowed authentications. + + + + + Initializes a new instance of the class. + + The username. + is whitespace or null. + + + + Authenticates the specified session. + + The session to authenticate. + Result of authentication process. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets authentication method name + + + + + Occurs when server prompts for more authentication information. + + + + + Provides data for the Uploading event. + + + + + Initializes a new instance of the class. + + The uploaded filename. + The the uploaded file size. + The number of uploaded bytes so far. + + + + Gets the uploaded filename. + + + + + Gets the uploaded file size. + + + + + Gets number of uploaded bytes so far. + + + + + Provides data for the HostKeyReceived event. + + + + + Initializes a new instance of the class. + + The host. + + + + Gets or sets a value indicating whether host key can be trusted. + + + true if host key can be trusted; otherwise, false. + + + + + Gets the host key. + + + + + Gets the host key name. + + + + + Gets the finger print. + + + + + Gets the length of the key in bits. + + + The length of the key in bits. + + + + + Represents base class for SSH channel implementations. + + + + + Initializes a new instance of the class. + + + + + Initializes the channel. + + The session. + The server channel number. + Size of the window. + Size of the packet. + + + + Sends the SSH_MSG_CHANNEL_EOF message. + + + + + Closes the channel. + + + + + Called when channel need to be open on the client. + + Channel open information. + + + + Called when channel is opened by the server. + + The remote channel number. + Initial size of the window. + Maximum size of the packet. + + + + Called when channel failed to open. + + The reason code. + The description. + The language. + + + + Called when channel window need to be adjust. + + The bytes to add. + + + + Called when channel data is received. + + The data. + + + + Called when channel extended data is received. + + The data. + The data type code. + + + + Called when channel has no more data to receive. + + + + + Called when channel is closed by the server. + + + + + Called when channel request received. + + Channel request information. + + + + Called when channel request was successful + + + + + Called when channel request failed. + + + + + Sends SSH message to the server. + + The message. + + + + Send message to open a channel. + + Message to send + + + + Sends close channel message to the server + + Message to send. + + + + Sends channel data message to the servers. + + This method takes care of managing the window size. + Channel data message. + + + + Sends channel extended data message to the servers. + + This method takes care of managing the window size. + Channel data message. + + + + Waits for the handle to be signaled or for an error to occurs. + + The wait handle. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Gets the local channel number. + + + + + Gets the remote channel number assigned by the server. + + + + + Gets the size of the local window. + + + The size of the local window. + + + + + Gets or sets the size of the server window. + + + The size of the server window. + + + + + Gets the size of the packet. + + + The size of the packet. + + + + + Gets a value indicating whether this channel is open. + + + true if this channel is open; otherwise, false. + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Gets a value indicating whether the session is connected. + + + true if the session is connected; otherwise, false. + + + + + Gets the connection info. + + The connection info. + + + + Gets the session semaphore to control number of session channels + + The session semaphore. + + + + Provides an interface to the control system's JSON Database. + + + + + Creates an interface to the native JsonDb for this process. + + This version of firmware does not support JsonDb feature. + + + + Set the logging level of libraries this class interfaces with. + + Logging level to set for the internal libraries this class consumes. + Logging level parameter is not one of the levels defined in . + This version of firmware does not support JsonDb feature. + + + + Set the value of a JSON object in the database. + The is the same as calling , with partial set to true and as parameters. + + JSON object to be stored. + See + This version of firmware does not support JsonDb feature. + + + + Set the value of a JSON object in the database. + + JSON object to be stored. + false: entire JSON object will be written, overwriting any existing values; + true: update existing object with members in the JSON being written. (typical) + + Indicates if the json should be stored non-volatilely. Typically set to . + See + This version of firmware does not support JsonDb feature. + + + + Takes a string and converts it to UTF-8 and copies it to an IntPtr w/null termination. + + + + + + + + Retrieve a data item from the database. + This would be the same as calling with a false for the second parameter. + + JSON which specifies which item to get. + The return code for the request. + The JSON of the data item requested, if it was found. + This version of firmware does not support JsonDb feature. + + + + Retrieve a data item from the database. + + JSON which specifies which item to get. + When set false, the entire json object (full hierarchy) will be retrieved; otherwise only the matching sub-object will be returned. + The return code for the request. + The JSON of the data item requested. On failure, is returned. + This version of firmware does not support JsonDb feature. + + + + Method to allow for subscriptions to changes made to JSON objects in the database. + Adjust the setting as needed for this process. + + JSON object to subscribe to in the database. + Callback that will be triggered when a change is received from the database. + See + This version of firmware does not support JsonDb feature. + + + + Method to remove the subscription for object changes in the database. + + JSON object to unsubscribe from. + See + This version of firmware does not support JsonDb feature. + + + + Method to set the database to not trigger subscriptions for objects when the set comes from this process. + + false: Trigger callback methods for sets issued from this process; + true: Ignore sets to database objects made from this process. + See + This version of firmware does not support JsonDb feature. + + + + Method to force close the JsonDb connection for this process. + + + + + Method to set JsonDb reconnect parameters. + + The number of times JsonDb should attempt to reconnect. + How long JsonDb should wait between reconnect attempts. + + + + Method to set JsonDb timeout parameter. + + How long JsonDB should wait to obtain mutex. + + + + Returns True if JsonDb is supported on this firmware. + + + + + Delegate for subscribing to data item updates + + The new value + + + + Used in to make data persistant or not + + + + + New value will be published to subscribers but not stored + + + + + New value will be published to subscribers and stored non-volatilely + + + + + Dstabase operation results enumeration. + + + + + Success + + + + + General error + + + + + Key is invalid or Multiple Subscriptions to the same JSON object attempted. + + + + + Buffer is not big enough + + + + + Invalid JSON + + + + + Timeout + + + + + Feature not implemented + + + + + Not connected. The system will attempt to reconnect to the database. + After receiving this error, re-subscribe to JsonDb all prior subscriptions. + + + + + Set proxy error + + + + + Json set failed. The system will attempt to reconnect to the database. + After receiving this error, re-subscribe to JsonDb all prior subscriptions. + + + + + Json publish failed. The system will attempt to reconnect to the database. + After receiving this error, re-subscribe to JsonDb all prior subscriptions. + + + + + No response from the database. The system will attempt to reconnect to the database. + After receiving this error, re-subscribe to JsonDb all prior subscriptions. + + + + + Error reply + + + + + Unexpected reply type + + + + + Null object + + + + + Get proxy error + + + + + Operation on subscription list attempted while list is in use. + Changes to the subscription list are not allowed while the list is in use, such as making a new subscription in a callback. + + + + + Enumeration to define the supported logging levels of the database. + + + + + Show error messages. + + + + + Show waring and error messages. + + + + + Show error, warning, and notice messages. + + + + + Show error, warning, notice, and info messages. + + + + + Show all error types. + + + + + OnHttpRequestHandler Delegate + + + + + The HttpsClient class represents a client connection to an HTTPS Server. + HttpsClient will automatically follow redirects. + Automatic redirects are configurable via the AllowAutoRedirect property. + To specify the maximum number of redirects, change the MaximumAutomaticRedirections property to the desired value. + + + + + Creates a new instance of the HttpsClient class. + + + + + Destructs the HTTPS client and frees unmanaged resourses + + + + + Checks if process is busy and locks it if it is not + + true if the process is already busy (failed to lock it). + false on success setting to true + + + + Sets Client Security Certificate associated with this object. + + The client x509 certificate object + This method is not supported on this platform. Use to determine the running platform type. + + object does not contain the corresponding private key so it must be provided using a SetClientPrivateKey method. + This method requires firmware version 1.011.xxxx or later + + + + + Sets Client Security Certificate associated with this object. + + The client certificate in binary (DER) format + This method is not supported on this platform. Use to determine the running platform type. + + The client certificate in binary (DER) format does not contain the corresponding private key so that it must be provided using a SetClientPrivateKey method. + This method requires firmware version 1.011.xxxx or later + + + + + Sets the Private Key corresponding to the Client Certificate + + The private key in binary (DER) format + This method is not supported on this platform. Use to determine the running platform type. + + This method requires firmware version 1.011.xxxx or later + + + + + Sets Client Security Certificate associated with this object. + + Path to the certificate file. If null or empty, the Machine certificate will be used and type is ignored. + Password if the certificate is encrypted + The type (format) of the file + This method is not supported on this platform. Use to determine the running platform type. + + + + Sets the Private Key corresponding to the Client Certificate provided + + Path to the Private Key file. + If the path is null or empty, type parameter is ignored and the Machine certificate's private key will be used. + The latter requires firmware version 1.011.xxxx or later. + + Password if the key is encrypted + The type (format) of the file + This method is not supported on this platform. Use to determine the running platform type. + + Error while processing P12-type file. + + + If type is , this method requires firmware version 1.011.xxxx or later + + + + + Retrieves an HTTPS document (as a string) from the provided URL using the GET HTTPS command. + + URL as String + HTTPs document as String + + + + Retrieves an HTTPS document from the provided URL using the GET HTTPS command. + + Url + Callback function that will handle the returned Content String + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Retrieves an HTTPS document from the provided URL using the GET HTTPS command. + + Url + Callback function that will handle the returned Content String + User specified object + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Remove Thread from active list + + The thread to remove + + + + Add Thread to active list + + The thread to add + + + + Retrieves an HTTPS document (as a string) in the specified encoding from the provided URL using the GET HTTPs command. + + URL as String + An value. + HTTPS document as string + + + + get(url) with callback + + String containing the URL of the resource to get + An value. + Callback function that will handle the returned Content String + DISPATCHASYNC_ERROR Status for launching of the request. + + + + get(url) with callback + + String containing the URL of the resource to get + An value. + Callback function that will handle the returned Content String + User specified object + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Retrieves binary data from the provided URL. + + URL as String + byte array of binary data or null + + + + GetBytes with callback + + String containing the URL of the resource to get + Callback function that will handle the returned Content String + A code. + + + + GetBytes with callback + + String containing the URL of the resource to get + Callback function that will handle the returned Content String + User specified object + A code. + + + + This method is used internally by all other Get* methods of this class. + It creates and sends a GET HTTPs request to the server and returns a response. + + URL as String + HttpsClient Response + + + + It creates and sends a GET HTTPs request to the server and the callback returns a response. + + Url + HTTPSClientResponseCallback + DISPATCHASYNC_ERROR + + + + It creates and sends a GET HTTPs request to the server and the callback returns a response. + + Url + HTTPSClientResponseCallback + User specified object + DISPATCHASYNC_ERROR + + + + Gets the file from the server and writes the data to lpath + + file source + file dest. + returns 0 if success + + + + Puts the file data to the server from the local machine + + file dest + file source. + returns 0 if success + + + + Posts the file data to the server from the local machine + + file dest. + file source. + returns 0 if success + + + + Retrieves an HTTPs document (as a string) from the provided URL using the POST HTTPs command. + + URL as String + string(UrlEncoded) + An HTTPS Document as a string + + + + Retrieves an HTTPs document from the provided URL using the POST HTTPs command. + + Url + byte array(UrlEncoded) + HTTPSClientStringCallback + A code. + + + + Retrieves an HTTPs document from the provided URL using the POST HTTPs command. + + Url + byte array(UrlEncoded) + HTTPSClientStringCallback + User specified object + A code. + + + + Retrieves an HTTPS document (as a string) from the provided Url using the POST HTTPs command. + + URL as string(UrlEncoded) + Content Stream + An HTTPS Document as a string + + + + Retrieves an HTTPS document from the provided Url using the POST HTTPs command. + + Url + Crestron.SimplSharp.CrestronIO.Stream(UrlEncoded) + HTTPSClientResponseCallback + A code. + + + + Retrieves an HTTPS document from the provided Url using the POST HTTPs command. + + Url + Crestron.SimplSharp.CrestronIO.Stream(UrlEncoded) + HTTPSClientResponseCallback + User specified object + A code. + + + + Closes the currently open connection (if present). + + + + + The core method of the HttpsClient class. + This method uses the HttpsClientRequest class to send messages to the server and the HttpsClientResponse to receive a server answer. + + HttpsClient Request + HttpsClient Response + Thrown if a HttpsClient exception occurs + + + + Internal logic to do the TryDispatch. Called by the 1 argument version, and internally called if redirect occurs with true for internalDispatch + + + + + + + This method is not supported on Crestron server platform. + + + + Begins an asynchronous request for a Stream object to use to write data. + + The AsyncCallback delegate + The state object for this request + User defined object + Invalid operation + updated request + aRequest is NULL + Request must be in new request state + Your application cannot mix synchronous and asynchronous methods for a particular request. + NOTE: This member function requires the use of facilities only available in firmware version 1.11 and higher. + + // Open an HTTP client + HttpsClient client = new HttpsClient(); + // Make a CEevent to wait on. + StreamAsync_Test allDone = new StreamAsync_Test(); + allDone.wait_for_response.Reset(); + // Create a new HttpsRequest object. + HttpsRequest request = new HttpsRequest("https://www.contoso.com/example.aspx"); + request.ContentType = "application/x-www-form-urlencoded"; + // Set the Method property to 'POST' to post data to the URI. + request.Method = "POST"; + // start the asynchronous operation + request.BeginGetRequestStream(new HttpsStreamRequestCallbackEx(GetRequestStreamCallback), request, (object)allDone); + // Keep the main thread from continuing while the asynchronous + // operation completes. A real world application + // could do something useful such as updating its user interface. + if (allDone.wait_for_response.Wait(30000)) + ErrorLog.Notice("Received response"); + else + ErrorLog.Notice("No response"); + + + + + Supply the stream interface + + The Http request object + The Input Stream + aRequest is NULL + No BeginRequest + NOTE: This member function requires the use of facilities only available in firmware version 1.11 and higher. + You must set the value of the ContentLength property before EndGetRequestStream. + You must call the Stream.Close method to close the stream and release the connection for reuse. + Failure to close the stream causes your application to run out of connections. + + Example Request Handler CallBack + + private static void GetRequestStreamCallback(HttpsClientRequest asynchronousResult, HTTPS_CALLBACK_ERROR error, object status) + { + HttpsRequest request = asynchronousResult; + Console.WriteLine("Please enter the input data to be posted:"); + string postData = Console.ReadLine(); + // Convert the string into a byte array. + byte[] byteArray = Encoding.UTF8.GetBytes(postData); + //Last chance for headers going out + request.Header.ContentType = "text/html"; + request.Header.AddHeader(new HttpsHeader("Content-Length", postData.Length.ToString())); + // End the request operation + Stream postStream = request..ThisClient.EndGetRequestStream(asynchronousResult); + // Write to the request stream. + postStream.Write(byteArray, 0, postData.Length); + postStream.Close(); + // Start the asynchronous operation to get the response. + request.BeginGetResponse(new HttpsStreamResponseCallbackEx(GetResponseCallback), request, status); + } + + + + + Begins an asynchronous response for a Stream object to use to read data. + + The AsyncCallback delegate + The state object for this request + User defined object + An asynchronous request for a response. + aRequest is NULL + No BeginRequest + NOTE: This member function requires the use of facilities only available in firmware version 1.11 and higher. + The BeginGetResponse method starts an asynchronous request for a response from the Internet resource. + The asynchronous callback method uses the EndGetResponse method to return the actual WebResponse. + + // Start the asynchronous operation to get the response + request.ThisClient.BeginGetResponseStream(new HttpsStreamResponseCallbackEx(GetResponseCallback), request, status); + + + + + Ends an asynchronous request to an Internet resource + + The AsyncCallback delegate + A WebResponse that contains the response from the Internet resource. + aRequest is NULL + No BeginRequest + NOTE: This member function requires the use of facilities only available in firmware version 1.11 and higher. + The EndGetResponse method completes an asynchronous request for an Internet resource that was started by calling the + BeginGetResponse method. + Note: You must call the Close method to close the stream and release the connection. + Failure to do so may cause your application to run out of connections. + + + Example Response Handler CallBack + + private static void GetResponseCallback(HttpsClientRequest asynchronousResult,HTTPS_CALLBACK_ERROR error, object status) + { + StreamReader streamRead; + string responseString; + Stream streamResponse; + HttpsClientRequest request = asynchronousResult; + + // End the response + HttpsClientResponse response = request.ThisClient.EndGetResponseStream(request); + if (response.HasContentLength) + { + streamResponse = response.ContentStream; + streamRead = new StreamReader(streamResponse); + responseString = streamRead.ReadToEnd(); + Console.WriteLine(responseString); + // Close the stream object + streamResponse.Close(); + streamRead.Close(); + } + // Release the HttpsResponse + response.Dispose(); + } + + + + + One of the core methods of the HttpsClient class. This method uses the HttpsClientRequest class to send messages to the server and the HttpsClientResponse to receive server answers. + Uses the TryDispatch method to send data and raises an HttpsException exception if any errors occurs. + + HttpsClient Request + HttpsClient Response / null if no response + Thrown if an HttpsClient exception occurs + + + + Launches a separate thread to make the request + + HttpsClientRequest + HTTPSClientResponseCallback + error status + + + + Launches a separate thread to make the request + + HttpsClientRequest + HTTPSClientResponseCallback + User specified object + error status + + + + Launches the request that returns a string + + client request + An value used to process the response. + Callback Function + error status + + + + Launches the request that returns a string + + client request + An value used to process the response. + Callback Function + User specified object + error status + + + + Launches the request that returns a byte array + + client request + callback function + error status + + + + Launches the request that returns a byte array + + client request + callback function + User specified object + error status + + + + Throws a HttpsException with the error message associated with the last client error code + + + + + Disposes the HttpsClient Connection. + + + + + Disposes of the current instance and releases all resources used by it. + + close connection + + + + Gets or sets the version identifier of the UserAgent. Can be used to mimic particular browsers like Internet Explorer 6.0 + + + + + Gets or sets the URL of the remote server. + + + + + Set Logging to Verbose on/off + + + + + if using commands with callbacks check this busy flag before using another command. + + + + + Set Peer Verification on/off + + + + + Set Host Verification on/off + + + + + Set IncludeHeaders in Response true/false + + + + + Controls whether to use HTTPS Keep-Alive to reuse the connection Id. + If enabled (true) , will reused the connection ID for future requests. + If disabled, will create a new id for each request. + + + + + Gets the last user specified Object for the Async operations on this HTTP Client instance. + The return value will evaluate to null if Async operations with the object parameter are not utilized. + + + + + Gets or sets the identifier of the software being used to retrieve data via the URL. + Some custom HTTPS servers check this HTTPS header to provide content optimized for particular HTTPS browsers. + Default Value: Crestron SimplSharp HTTPS Client + + + + + Gets or sets content types that are acceptable for the response. + The default value is "text/html, image/gif, image/jpeg, image/png". + + + + + Gets or sets the maximum amount of time (in seconds) that a client will wait for a server response within a single request. + The default value is 60 seconds (1 minute). + The timeout handling can be activated via the TimeoutEnabled property. + + + + + This property controls whether the request operation will do an automatic timeout checking. + If timeout handling is turned on (i.e. this property is set to true) and a request takes longer than Timeout, it will be terminated. + + + + + Name that will be inserted into the Authorization HTTPS header in the request to the server. + + + + + Password that will be inserted into the Authorization HTTPS header in the request to the server. + + + + + Gets or sets a value that indicates whether the request should follow redirection responses. + Default Value: true + + + + + Gets or sets the maximum number of redirects that the request follows. + Default Value: 20 + + + + + Sets or gets proxy settings for the request. This property can be set to null. + Default is null. + + + + + Sets or gets the server authentication method to be used instead of the default one. + + + This is a bitmask, to tell the client which HTTP authentication method(s) you want it to use for your server authentication. + If more than one bit is set, the client will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. + + + + + ERROR definitions for launching Async operations + + A code. + + + + Successful launch of worker thread + + + + + Null CallBackParameter + + + + + Null Request parameter + + + + + Thread failed + + + + + Current process is not complete + + + + + Defines the types (formats) of Client Certificate + + + + + Unknown/Undefined type + + + + + PEM format + + + + + DER (binary) format + + + + + PKCS#12 format + + + + + Defines the types (formats) of Client Private Key + + + + + Unknown/Undefined type + + + + + PEM format + + + + + DER (binary) format + + + + + PKCS#12 format + + + Requires firmware version 1.011.xxxx or later + + + + + ERROR Definitions returned from an async operation + + + + + Sucessful completion + + + + + Some invalid parameters + + + + + failed to complete the request + + + + + Crestron ClientResponse Callback function + + The callback routine expecting a response + error status enum + + + + Crestron ClientResponse Callback function + + The callback routine expecting a response + error status enum + User specified object + + + + Crestron ClientString Callback + + The callback routine expecting a string + error status enum + + + + Crestron ClientString Callback + + The callback routine expecting a string + error status enum + User specified object + + + + Crestron ClientBytes Callback + + The callback routine expecting byte[] + error status enum + + + + Crestron ClientBytes Callback + + The callback routine expecting byte[] + error status enum + User specified object + + + + Crestron StreamRequestCallback + + Client Bytes + error status enum + User specified object + + + + Crestron StreamResponseCallback + + The HttpsClient Request + error status enum + User specified object + + + + AsyncDispatch that returns a Byte Array + + + + + AsyncDispatch Constructor that returns a Byte Array + + The request data + The requesting client process + a callback function accepting a byte array type response + + + + AsyncDispatch Constructor that returns a Byte Array + + The request data + The requesting client process + a callback function accepting a byte array type response + User specified object + + + + Returns byte array from dispatch response + + + + + AsyncDispatch that returns a String + + + + + AsyncDispatch Constructor that returns a String + + The request data + The requesting client process + An value used for the return string. + a callback function accepting string type response + + + + AsyncDispatch Constructor that returns a String + + The request data + The requesting client process + An value used for the return string. + a callback function accepting string type response + User specified object + + + + Dispatch request and route the response string to the user supplied callback. + + + + + AsyncClient class for the Crestron Simpl# + + + + + Calls the user back + + error result + + + + Initialise the Thread environment + + Callback function to be invoked. + A object. + A object. + A object. + + + + Initialise the Thread environment + + Callback function to be invoked. + A object. + A object. + A object. + User specified object + + + + AsyncDispatch Constructor + + The request data + requesting manager + a callback function accepting HTTPSClientResponse type + + + + AsyncDispatch Constructor + + The request data + requesting manager + a callback function accepting HTTPSClientResponse type + User specified object + + + + Dispatch request and route the response to the user supplied callback. + + + + + AsyncClient Request Stream + + + + + The Async Request Stream manager + + + + + AsyncClient Request Stream + + + + + The Async Request Stream manager + + + + + AsyncClient Response Stream + + + + + An Exception object that contains errors returned from an HTTPs call when the server returned any error >=400. + + + + + Creates and instance of the HTTPs Exception Class. + + An object. + + + + Creates and instance of the HTTPS Exception Class with custom message parameter. + + General message about the Exception. + An object. + + + + Creates and instance of the HTTPS Exception Class with custom message, and Exception parameters. + + General message about the Exception. + An object. + A object. + + + + The specific Content returned from the server when the error occurred. + + + + + The HttpClient class represents a client connection to an HTTP Server. + HttpClient will automatically follow redirects. + Automatic redirects are configurable via the AllowAutoRedirect property. + To specify the maximum number of redirects, change the MaximumAutomaticRedirections property to the desired value. + + + This method uses an HttpClient to dispatch an HTTP DELETE request to a URL, then reads the response code + + // Send a DELETE request to the specified URL + public void SendDelete(string urlString) + { + try + { + HttpClient client = new HttpClient(); + HttpClientRequest req = new HttpClientRequest(); + UrlParser url = new UrlParser(urlString); + req.Url = url; + req.RequestType = RequestType.Delete; + + HttpClientResponse res = client.Dispatch(req); + + if (res.Code == 204) // Expecting a "Not Found" response to show that the DELETE succeeded + { + CrestronConsole.PrintLine("DELETE request succeeded"); + } + else + { + CrestronConsole.PrintLine("DELETE request returned unexpected response code: {0}", res.Code); + } + res.Dispose(); + client.Dispose(); + } + catch (Exception e) + { + CrestronConsole.PrintLine("Error in SendDelete(): " + e); + } + } + + + + + + Abstract client component, the base for all other clients. + + + + + Client default constructor. Sets Binding and DNS resolve type. + + + + + Determines whether it is necessary to resolve the host name based on the Host Address and DNS resolve type, and then resolves the host name accordingly. + + + + + Resolves the host name. + + + + + Triggers the Resolve + + The host name to match which will raise event. + + + + Trigger the OnResolvedHostName. + + The matching host name that raised event. + IP address of host name. + + + + Trigger the OnResolvedHostName. + + The matching host name that raised event. + IP address of host name. + + + + Connect the client to a remote network host. + + A object. + + + + Connect to the host address at the specified port. + + String with the host address + Port Number + A object. + + + + + + String with the host address + Port Number + A object. + + + + Overloaded. Opens and returns new connection with specified host and port. + + String with the host address + Port Number + A object. + + + + Overloaded. Opens and returns new connection with specified IP address and port. + + String with the host address + Port Number + A object. + + + + Get the Connection using the IP address and port for this Client instance. + + String with the host address + Port Number + + + + + Creates a New Client Connection with the specified binding. + + A object. + A object. + + + + Overloaded. Use to connect the client to a remote network host using the specified host name (HostName) or IP address (HostAddress) and port number (Port) and/or Binding (BindingV4 or BindingV6). + + String with the host address + Port Number + A object. + A object. + + + + Overloaded. Use to connect the client to a remote network host using the specified host name (HostName) or IP address (HostAddress) and port number (Port) and/or Binding (BindingV4 or BindingV6). + + String with the host address + Port Number + A object. + A object. + + + + Releases the Connection for the specified connection in the Connection Pool. + + A object. + + + + Disposes the Client Connection. + + + + + Disposes of the current instance and releases all resources used by it. + + true to close socket. + + + + Determines if the specified HostName should be looked up only: + Once per application run (if you establish multiple connections to the server, the subsequent connections will use the cached IPAddress) or + Always, for each connect (the Hostname will be resolved again for each subsequent connect). + You'll usually only change this setting off the default (Once) if you anticipate the IPAddress of the target host to change frequently. + + + + + Obsolete - Please use BindingV4 and BindingV6 instead. + + + + + Gets the binding which provides properties and methods such as address family, IPv4 address, port number etc for client to connect to the host network. + + + + + Gets the binding which provides properties and methods such as address family, IPv6 address, port number etc for client to connect to the host network. + + + + + The server Port that you intend the client to connect to. + If you do not assign a port number on this property, the port number in the parsed URL will be used. + If a port number is assigned in the parsed URL, it will take precedence over this property. + + + + + The server host name or IP address that you intend the client to connect to. + + + + + Gets or sets a Client Host Address. + + + + + Gets or sets a Client Host IP Address as a string. + + + + + Use the ConnectionClass property to specify an alternative Connection class to be used for out coming data connections. + Existing connections are not affected by changing the property. + + + + + Represents an interface for a connection. + + + + + Get or set the Connection Pool for this Client Instance. + + + + + Set the property value to true to enable the Nagle algorithm for send coalescing. + + + + + This event is fired before the Client attempts to resolve the specified HostName to an IP address. + It provides you with an option to perform the resolution yourself, obtain the IP address from an internal cache you're maintaining, or do some other processing (such as for example changing the hostname to look up). + + + + + This event is fired after the hostname has been successfully resolved. + + + + + Handler for the event that is fired after the hostname has been successfully resolved. + + An object representing the sender of the event + An object. + + + + OnResolveHostNameArgs class + + + + + Get or set the Host name. + + + + + Delegate for ResolvedHostNameHandler + + An object representing the sender of the event + An object. + + + + OnResolvedHostNameHandler class + + + + + Get or set the Host Name for this ResolvedHostNameHandler instance. + + + + + Get or set the IP address for this Client instance. + + + + + Get or set the IP address for this Client instance. + + + + + Creates a new instance of the HttpClient class. + + + + + Retrieves an HTTP document (as a string) from the provided URL using the GET HTTP command. + + URL as String + HTTP document as String + + + + GetEncodingFromContentType + + + + + + + Remove Thread from active list + + The thread to remove + + + + Retrieves an HTTP document (as a string) in the specified encoding from the provided URL using the GET HTTP command. + + URL as String + An value. + HTTP document as string + + + + Asynchronously retrieves an HTTP document from the provided URL using the GET HTTP command. + + Url as string (including "http://") + Callback function that will handle the returned Content String + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Asynchronously retrieves an HTTP document from the provided URL using the GET HTTP command. + + Url as string (including "http://") + Callback function that will handle the returned Content String + User specified object + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Asynchronously retrieves an HTTP document using a callback in the specified encoding from the provided URL using the GET HTTP command. + + Url as string (including "http://") + An value. + Callback function that will handle the returned Content String + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Asynchronously retrieves an HTTP document using a callback in the specified encoding from the provided URL using the GET HTTP command. + + Url as string (including "http://") + An value. + Callback function that will handle the returned Content String + User specified object + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Retrieves binary data from the provided URL. + + URL as String + byte array of binary data. Returned byte array is null if there is already a request initiated + + + + Asynchronously retrieves binary data from the provided URL using a callback. + + Url as string (including "http://") + Callback function that will handle the returned content + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Asynchronously retrieves binary data from the provided URL using a callback. + + Url as string (including "http://") + Callback function that will handle the returned content . + User specified ObjectObject + DISPATCHASYNC_ERROR Status for launching of the request. + + + + This method is used internally by all other Get* methods of this class. + It creates and sends a GET HTTP request to the server and returns a response. + + URL as String + HttpClient Response + + + + Asynchronously creates and sends a GET HTTP request to the server using the callback. A Response is returned. + + Url as string (including "http://") + HttpClientResponseCallback + DISPATCHASYNC_ERROR Status for launching of the request + + + + Asynchronously creates and sends a GET HTTP request to the server using the callback. A Response is returned. + + Url as string (including "http://") + HttpClientResponseCallback + User specified object + DISPATCHASYNC_ERROR Status for launching of the request + + + + Gets the file from the server and writes the data to lpath + + file source + file destination + return 0 if success + + + + Puts the file data to the server from the local machine + + file dest + file source. + return 0 if success + + + + Posts the file data to the server from the local machine + + file dest. + file source. + returns 0 if success + + + + Retrieves an HTTP document (as a string) from the provided URL using the POST HTTP command. + + URL as String + Body of the post as byte array. + String containing a response from the POST operation + + + + Retrieves an HTTP document (as a string) from the provided Url using the POST HTTP command. + + URL as string + Content Stream to POST + Result of the requested POST as a string + + + + Asynchronously retrieves an HTTP document (as a string) from the provided Url using the POST HTTP command. + + URL as string + Byte array of content to POST + HTTPClientResponseCallback + DISPATCHASYNC_ERROR Status for launching of the request + + + + Asynchronously retrieves an HTTP document (as a string) from the provided Url using the POST HTTP command. + + URL as string + Byte array of content to POST + HTTPClientResponseCallback + User specified object + DISPATCHASYNC_ERROR Status for launching of the request + + + + Asynchronously retrieves an HTTP document (as a string) from the provided Url using the POST HTTP command. + + URL as string + Content Stream + HTTPClientResponseCallback + DISPATCHASYNC_ERROR Status for launching of the request + + + + Asynchronously retrieves an HTTP document (as a string) from the provided Url using the POST HTTP command. + + URL as string + Content Stream + HTTPClientResponseCallback + User specified object + DISPATCHASYNC_ERROR Status for launching of the request + + + + Closes the currently open connection (if present). + + + + + Disposes of the current instance and releases all resources used by it. + + true to close socket. + + + + The core method of the HttpClient class. + This method uses the HttpClientRequest class to send messages to the server and the HttpClientResponse to receive a server answer. + + HttpClient Request + HttpClient Response + + + + Begins an asynchronous request for a Stream object to use to write data. + + The HTTPStreamRequestCallbackEx delegate + The state object for this request + User defined status object + Invalid operation + updated request + aRequest is NULL + Request must be in new request state + SSL (HTTPS) is not supported + The BeginGetRequestStream method requires some synchronous setup tasks to complete + (DNS resolution, proxy detection, and TCP socket connection, for example) before this method becomes asynchronous. + As a result, this method should never be called on a user interface (UI) thread because it might take considerable time + (up to several minutes depending on network settings) to complete the initial synchronous setup tasks + before an exception for an error is thrown or the method succeeds. + Your application cannot mix synchronous and asynchronous methods for a particular request. + If you call the BeginGetRequestStream method, you must use the BeginGetResponse method to retrieve the response. + + // Open an HTTP client + HttpClient client = new HttpClient(); + // Make a CEevent to wait on. + StreamAsync_Test allDone = new StreamAsync_Test(); + allDone.wait_for_response.Reset(); + // Create a new HttpRequest object. + HttpRequest request = new HttpRequest("http://www.contoso.com/example.aspx"); + request.ContentType = "application/x-www-form-urlencoded"; + // Set the Method property to 'POST' to post data to the URI. + request.Method = "POST"; + // start the asynchronous operation + request.BeginGetRequestStream(new HTTPStreamRequestCallbackEx(GetRequestStreamCallback), request, (object)allDone); + // Keep the main thread from continuing while the asynchronous + // operation completes. A real world application + // could do something useful such as updating its user interface. + if (allDone.wait_for_response.Wait(30000)) + ErrorLog.Notice("Received response"); + else + ErrorLog.Notice("No response"); + + + + + + Supply the stream interface + + The Http request object + User defined object + The Input Stream + aRequest is NULL + No BeginRequest + You must set the value of the ContentLength property before EndGetRequestStream. + You must call the Stream.Close method to close the stream and release the connection for reuse. + Failure to close the stream causes your application to run out of connections. + + Example Request Handler CallBack + + private static void GetRequestStreamCallback(HttpClientRequest asynchronousResult, HTTP_CALLBACK_ERROR error, object status) + { + HttpRequest request = asynchronousResult; + Console.WriteLine("Please enter the input data to be posted:"); + string postData = Console.ReadLine(); + // Convert the string into a byte array. + byte[] byteArray = Encoding.UTF8.GetBytes(postData); + //Last chance for headers going out + request.Header.ContentType = "text/html"; + request.Header.AddHeader(new HttpHeader("Content-Length", postData.Length.ToString())); + // End the request operation + Stream postStream = request..ThisClient.EndGetRequestStream(asynchronousResult); + // Write to the request stream. + postStream.Write(byteArray, 0, postData.Length); + postStream.Close(); + // Start the asynchronous operation to get the response. + request.BeginGetResponse(new HTTPStreamResponseCallbackEx(GetResponseCallback), request, status); + } + + + + + Begins an asynchronous response for a Stream object to use to read data. + + The HTTPStreamResponseCallbackEx delegate + The state object for this request + The user defined status object + The asynchronous request for a response. + aRequest is NULL + No BeginRequest + The BeginGetResponse method starts an asynchronous request for a response from the Internet resource. + The asynchronous callback method uses the EndGetResponse method to return the actual WebResponse. + + // Start the asynchronous operation to get the response + request.ThisClient.BeginGetResponseStream(new HTTPStreamResponseCallbackEx(GetResponseCallback), request, status); + + + + + Ends an asynchronous request to an Internet resource + + HttpClientRequest + A WebResponse that contains the response from the Internet resource. + aRequest is NULL + No BeginRequest + The EndGetResponse method completes an asynchronous request for an Internet resource that was started by calling the + BeginGetResponse method. + Note: You must call the Close method to close the stream and release the connection. + Failure to do so may cause your application to run out of connections. + + + + // Example Response Handler CallBack + private static void GetResponseCallback(HttpClientRequest asynchronousResult,HTTP_CALLBACK_ERROR error, object status) + { + StreamReader streamRead; + string responseString; + Stream streamResponse; + HttpClientRequest request = asynchronousResult; + + // End the response + HttpClientResponse response = request.ThisClient.EndGetResponseStream(request); + if (response.HasContentLength) + { + streamResponse = response.ContentStream; + streamRead = new StreamReader(streamResponse); + responseString = streamRead.ReadToEnd(); + Console.WriteLine(responseString); + // Close the stream object + streamResponse.Close(); + streamRead.Close(); + } + // Release the HttpResponse + response.Dispose(); + } + + + + + + One of the core methods of the HttpClient class. This method uses the HttpClientRequest class to send messages to the server and the HttpClientResponse to receive server answers. + Uses the TryDispatch method to send data and raises an HttpException exception if any errors occurs. + + HttpClient Request + Thrown if any Http errors occur + Thrown if an unexpected error occurs + SSL (HTTPS) is not supported + HttpClient Response + + + + Asynchronously dispatch a request and return a response to the specified callback function + + HttpClientRequest + HttpClientResponseCallback + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Asynchronously dispatch a request and return a response to the specified callback function + + HttpClientRequest + HttpClientResponseCallback + User specified object + DISPATCHASYNC_ERROR Status for launching of the request. + + + + Asynchronously launches the request that returns a string + + HttpClientRequest object + An value. + Callback function + DISPATCHASYNC_ERROR Status for launching of the request + + + + Asynchronously launches the request that returns a string + + HttpClientRequest object + An value. + Callback function + User specified object + DISPATCHASYNC_ERROR Status for launching of the request + + + + Asynchronously launches the request that returns a byte array + + HttpClientRequest + Callback function + DISPATCHASYNC_ERROR Status for launching of the request + + + + Asynchronously launches the request that returns a byte array + + HttpClientRequest + Callback function + User specified object + DISPATCHASYNC_ERROR Status for launching of the request + + + + Request is done being processed. + + A object. + + + + This method is used internally to acquire (either create or retrieve from the pool) an HTTP connection with the provided parameters. + + true to use SSL. + Host as String + Port as integer + SSL (HTTPS) is not supported + A Connection object + + + + Gets or sets the version identifier of the UserAgent. Can be used to mimic particular browsers like Internet Explorer 6.0 + + + + + Gets or sets the URL of the remote server. + + + + + Set Logging to Verbose on/off + + + + + Gets the last user specified Object for the Async operations on this HTTP Client instance. + The return value will evaluate to null if Async operations with the object parameter are not utilized. + + + + + Controls whether to use HTTP Keep-Alive to keep the connection alive between requests. + If enabled (true) , once a request is made and a connection is established, this connection is kept open and used for future requests. + If disabled, the connection is closed, and a new connection is created for future requests. + + Default value is true. + + + + If using commands with callbacks, check this busy flag before using another command (Dispatch, Get, Post, etc.) + + + + + Gets or sets the custom connection pool. This property is inherited from the Client class. + + + + + Enables or disables connection pooling. + + + + + Gets or sets the identifier of the software being used to retrieve data via the URL. + Some custom HTTP servers check this HTTP header to provide content optimized for particular HTTP browsers. + + + + + Gets or sets content types that are acceptable for the response. + The default value is "text/html, image/gif, image/jpeg, image/png, */*". + + + + + Gets or sets the maximum amount of time (in seconds) that a client will wait for a server response within a single request. + The default value is 60 seconds (1 minute). + The timeout handling can be activated via the TimeoutEnabled property. + + + + + This property controls whether the request operation will do an automatic timeout checking. + If timeout handling is turned on (i.e. this property is set to true) and a request takes longer than Timeout, it will be terminated. + + + + + Name that will be inserted into the Authorization HTTP header in the request to the server. + + + + + Password that will be inserted into the Authorization HTTP header in the request to the server. + + + + + Gets or sets a value that indicates whether the request should follow redirection responses (HTTP codes from 300 to 399). + Default Value: true + + + + + Gets or sets the maximum number of redirects that the request follows. + Default Value: 20 + + + + + ERROR definitions for launching Async operations + + + + + Successful launch of worker thread + + + + + Null CallBack Parameter + + + + + Null Request parameter + + + + + Thread failed + + + + + Current process is not complete + + + + + ERROR definitions returned from an asynchronous callback operation + + + + + Successful completion + + + + + Invalid parameters specified + + + + + Failed to complete the request + + + + + Crestron ClientResponse Callback + + A object. + A value. + + + + Crestron ClientResponse Callback + + A object. + A value. + User specified object + + + + Crestron ClientString Callback + + Client String + A value. + + + + Crestron ClientString Callback with an additional user object + + Client String + A value. + User specified object + + + + Crestron ClientBytes Callback + + Client Bytes + A value. + + + + Crestron ClientBytes Callback + + Client Bytes + A value. + User specified object + + + + Crestron StreamRequestCallback + + Client Bytes + A value. + User specified object + + + + Crestron StreamResponseCallback delegate + + Client Bytes + A value. + User specified object + + + + AsyncDispatch that returns a Byte Array + + + + + AsyncDispatch Constructor that returns byte array + + A object. + A object. + Callback function to be invoked. + + + + AsyncDispatch Constructor that returns byte array + + A object. + A object. + Callback function to be invoked. + User specified object + + + + Returns byte array from dispatch response + + + + + AsyncDispatch that returns a String + + + + + InitializeAsyncToString + + Callback function to be invoked. + A object. + A object. + A object. + An value. + + + + InitializeAsyncToString + + Callback function to be invoked. + A object. + A object. + A object. + An value. + User specified object + + + + AsyncDispatch Constructor that returns a String + + A object. + A object. + An value. + Callback function to be invoked. + + + + AsyncDispatch Constructor that returns a String + + A object. + A object. + An value. + Callback function to be invoked. + User specified object + + + + Returns string from the dispatch response. + + + + + AsyncClient Dispatch class for Simpl# + + + + + Calls the user back + + error result + + + + Initialize the Thread environment + + Callback function to be invoked. + A object. + A object. + A object. + + + + Initialize the Thread environment + + Callback function to be invoked. + A object. + A object. + A object. + User specified object + + + + AsyncDispatch Constructor + + The request data + requesting manager client + if aEncoding specified response is of string type + else HttpClientResponse type + + + + AsyncDispatch Constructor + + The request data + requesting manager client + if aEncoding specified response is of string type + else HttpClientResponse type + User specified object + + + + Thread code + + + + + AsyncClient Request Stream + + + + + The Async Request Stream manager + + + + + Async response stream + + + + + An Exception object that contains errors returned from an HTTP call when the server returned any error >=400. + + + + + Creates an instance of the HTTP Exception Class. + + An object. + + + + Creates an instance of the HTTP Exception Class with custom message parameter. + + General message about the Exception. + An object. + + + + Creates an instance of the HTTP Exception Class with custom message, and Exception parameters. + + General message about the Exception. + An object. + A object. + + + + The specific Content returned from the server when the error occurred. + + + + + Provides methods for encoding and decoding URLs when processing Web requests. This class cannot be inherited. + + + + + Converts a byte array into an encoded URL string. + + The array of bytes to encode. + An encoded string. + + + + Encodes a URL string. + + The text to encode. + An encoded string. + + + + Encodes a URL string using the specified encoding object. + + The text to encode. + The Encoding object that specifies the encoding scheme. + An encoded string. + + + + Converts a byte array into a URL-encoded string, starting at the specified position in the array and continuing for the specified number of bytes. + + The array of bytes to encode. + The position in the byte array at which to begin encoding. + The number of bytes to encode. + An encoded string. + bytes is null, but count does not equal 0. + offset is less than 0 or greater than the length of the bytes array. + - or - count is less than 0, or count + offset is greater than the length of the bytes array + + + + Converts a string into a URL-encoded array of bytes. + + The string to encode. + An encoded array of bytes. + + + + Converts an array of bytes into a URL-encoded array of bytes. + + The array of bytes to encode. + An encoded array of bytes. + + + + Converts a string into a URL-encoded array of bytes using the specified encoding object. + + The string to encode + An encoded array of bytes + An encoded array of bytes. + + + + Converts an array of bytes into a URL-encoded array of bytes, starting at the specified position in the array and continuing for the specified number of bytes. + + The array of bytes to encode. + The position in the byte array at which to begin encoding + The number of bytes to encode + An encoded array of bytes + bytes is null, but count does not equal 0. + offset is less than 0 or greater than the length of the bytes array. + - or - count is less than 0, or count + offset is greater than the length of the bytes array + + + + Converts a Unicode string into an array of bytes. + + The string to convert. + A byte array. + + + + Minimally converts a string into an HTML-encoded string and sends the encoded string to a TextWriter output stream. + + The string to encode + A TextWriter output stream. + The HtmlAttributeEncode method converts only quotation marks ("), ampersands, and left angle brackets to equivalent character entities. It is considerably faster than the HtmlEncode method. + + + + Minimally converts a string to an HTML-encoded string. + + The string to encode + An encoded string + The HtmlAttributeEncode method converts only quotation marks ("), ampersands, and left angle brackets to equivalent character entities. It is considerably faster than the HtmlEncode method. + + + + HTML-encodes a string and returns the encoded string. + + The text string to encode. + The HTML-encoded text. + + + + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + + The string to encode. + The TextWriter output stream containing the encoded string. + + + + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + + The HTML string to decode + The TextWriter output stream containing the decoded string. + + + + Decodes an HTML-encoded string and returns the decoded string. + + The HTML string to decode. + The decoded text. + + + + Encodes the path portion of a URL string for reliable HTTP transmission from the Web server to a client. + + The text to URL-encode. + The URL-encoded text. + + + + Converts a string that has been encoded for transmission in a URL into a decoded string. + + The string to decode. + A decoded string. + + + + Converts a URL-encoded byte array into a decoded string using the specified decoding object. + + The array of bytes to decode. + The Encoding that specifies the decoding scheme. + A decoded string. + + + + Converts a URL-encoded string into a decoded string, using the specified encoding object. + + The string to decode. + The Encoding that specifies the decoding scheme. + A decoded string + + + + Converts a URL-encoded byte array into a decoded string using the specified encoding object, + starting at the specified position in the array, and continuing for the specified number of bytes. + + The array of bytes to decode + The position in the byte to begin decoding. + The number of bytes to decode. + A object. + A decoded string. + bytes is null, but count does not equal 0. + offset is less than 0 or greater than the length of the bytes array. + - or - count is less than 0, or count + offset is greater than the length of the bytes array + + + + Converts a URL-encoded array of bytes into a decoded array of bytes. + + The array of bytes to decode. + A decoded array of bytes + + + + Converts a URL-encoded string into a decoded array of bytes. + + The string to decode. + A decoded array of bytes. + + + + Converts a URL-encoded string into a decoded array of bytes using the specified decoding object. + + The string to decode. + The Encoding object that specifies the decoding scheme. + A decoded array of bytes. + + + + Converts a URL-encoded array of bytes into a decoded array of bytes, + starting at the specified position in the array and continuing for the specified number of bytes. + + The array of bytes to decode. + The position in the byte array at which to begin decoding. + The number of bytes to decode. + A decoded array of bytes + bytes is null, but count does not equal 0. + offset is less than 0 or greater than the length of the bytes array. + - or - count is less than 0, or count + offset is greater than the length of the bytes array + + + + Parses the query string of a url and returns a NameValueCollection with the parameters in the query string. + + Query string to parse. + Returns a NameValueCollection with the parameters in the query string. + + + + Parses the query string of a url and returns a NameValueCollection with the parameters in the query string. + + Query string to parse + Encoding to use + Returns a NameValueCollection with the parameters in the query string. + + + + Parses the query string of a url and returns a NameValueCollection with the parameters in the query string. + + Query string to parse + Encoding to use + Returns a NameValueCollection with the parameters in the query string. + + + + Enum for the Program Event Types + + + + + Program is stopping + + + + + Program is paused + + + + + Program is resumed + + + + + Enum for the Ethernet Event Types + + + + + Ethernet link down + Look at the EthernetAdapterType to see which adapter is affected + + + + + Ethernet link up + Look at the EthernetAdapterType to see which adapter is affected + + + + + Enum for the system events + + + + + System reboot + + + + + Removable media inserted + + + + + Removable media removed + + + + + Time/Timezone Changed event + Use to get the updated time and to get the updated timezone. + + + + + Event to indicate that the Authentication State has changed. Please use the to get the current state. + + + + + Delegate for the system event handler + + Indicates the system event + + + + Delegate for the program status event handler + + Indicates the program status event + + + + Delegate for the Ethernet Event Handler + + Args which indicate the ethernet specific event and the adapter on which the event occurs + + + + Class for the Ethernet event args. This is what is passed on to the user + + + + + Constructor for the Ethernet event args + + Indicates which Ethernet specific event is occurring + Event specific data. Indicates the adapter. + + + + Indicates the system event type + + + + + Indicates the system event type specific argument + + + + + Encapsulates the results of an asynchronous directory synchronization operation. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + The files read. + + + + Gets the number of files read so far. + + + + + Contains SFTP file attributes. + + + + + Sets the permissions. + + The mode. + + + + Gets or sets the time the current file or directory was last accessed. + + + The time that the current file or directory was last accessed. + + + + + Gets or sets the time when the current file or directory was last written to. + + + The time the current file was last written. + + + + + Gets or sets the size, in bytes, of the current file. + + + The size of the current file in bytes. + + + + + Gets or sets file user id. + + + File user id. + + + + + Gets or sets file group id. + + + File group id. + + + + + Gets a value indicating whether file represents a socket. + + + true if file represents a socket; otherwise, false. + + + + + Gets a value indicating whether file represents a symbolic link. + + + true if file represents a symbolic link; otherwise, false. + + + + + Gets a value indicating whether file represents a regular file. + + + true if file represents a regular file; otherwise, false. + + + + + Gets a value indicating whether file represents a block device. + + + true if file represents a block device; otherwise, false. + + + + + Gets a value indicating whether file represents a directory. + + + true if file represents a directory; otherwise, false. + + + + + Gets a value indicating whether file represents a character device. + + + true if file represents a character device; otherwise, false. + + + + + Gets a value indicating whether file represents a named pipe. + + + true if file represents a named pipe; otherwise, false. + + + + + Gets a value indicating whether the owner can read from this file. + + + true if owner can read from this file; otherwise, false. + + + + + Gets a value indicating whether the owner can write into this file. + + + true if owner can write into this file; otherwise, false. + + + + + Gets a value indicating whether the owner can execute this file. + + + true if owner can execute this file; otherwise, false. + + + + + Gets a value indicating whether the group members can read from this file. + + + true if group members can read from this file; otherwise, false. + + + + + Gets a value indicating whether the group members can write into this file. + + + true if group members can write into this file; otherwise, false. + + + + + Gets a value indicating whether the group members can execute this file. + + + true if group members can execute this file; otherwise, false. + + + + + Gets a value indicating whether the others can read from this file. + + + true if others can read from this file; otherwise, false. + + + + + Gets a value indicating whether the others can write into this file. + + + true if others can write into this file; otherwise, false. + + + + + Gets a value indicating whether the others can execute this file. + + + true if others can execute this file; otherwise, false. + + + + + Gets or sets the extensions. + + + The extensions. + + + + + SSH_FXF_READ + + + + + SSH_FXF_WRITE + + + + + SSH_FXF_APPEND + + + + + SSH_FXF_CREAT + + + + + SSH_FXF_TRUNC + + + + + SSH_FXF_EXCL + + + + + Provides functionality to connect and interact with SSH server. + + + Provides functionality to connect and interact with SSH server. + + + + + Specifies maximum packet size defined by the protocol. + + + + + Specifies maximum payload size defined by the protocol. + + + + + Function to read amount of data before returning, or throwing an exception. + + The amount wanted. + The buffer to read to. + Happens when the socket is closed. + Unhandled exception. + + + + Handles SSH messages. + + The message. + + + + Controls how many authentication attempts can take place at the same time. + + + Some server may restrict number to prevent authentication attacks + + + + + Holds metada about session messages + + + + + Holds connection socket. + + + + + Holds locker object for the socket + + + + + Holds reference to task that listens for incoming messages + + + + + Specifies outbound packet number + + + + + Specifies incoming packet number + + + + + WaitHandle to signal that last service request was accepted + + + + + WaitHandle to signal that exception was thrown by another thread. + + + + + WaitHandle to signal that key exchange was completed. + + + + + WaitHandle to signal that key exchange is in progress. + + + + + Exception that need to be thrown by waiting thread + + + + + Specifies whether connection is authenticated + + + + + Specifies whether user issued Disconnect command or not + + + + + WaitHandle to signal that bytes have been read from the socket. + + + + + Holds the lock object to ensure read access to the socket is synchronized. + + + + + Initializes a new instance of the class. + + The connection info. + + + + Connects to the server. + + + + + Disconnects from the server + + + + + Sends "keep alive" message to keep connection alive. + + + + + Waits for handle to signal while checking other handles as well including timeout check to prevent waiting for ever + + The wait handle. + + + + Sends packet message to the server. + + The message. + + + + Receives the message from the server. + + Incoming SSH message. + + + + + Handles the message. + + + The message. + + + + Called when received. + + message. + + + + Called when received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Reads the specified length of bytes from the server + + The length. + + + + + Registers SSH Message with the session. + + Name of the message. + + + + Removes SSH message from the session + + Name of the message. + + + + Loads the message. + + Message data. + New message + + + + Listens for incoming message from the server and handles them. This method run as a task on separate thread. + + + + + Raises the event. + + The exp. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the session semaphore that controls session channels. + + The session semaphore. + + + + Gets the next channel number. + + The next channel number. + + + + Gets a value indicating whether socket connected. + + + true if socket connected; otherwise, false. + + + + + Gets or sets the session id. + + The session id. + + + + Gets the client init message. + + The client init message. + + + + Gets or sets the server version string. + + The server version. + + + + Gets or sets the client version string. + + The client version. + + + + Gets or sets the connection info. + + The connection info. + + + + Occurs when an error occurred. + + + + + Occurs when session has been disconnected form the server. + + + + + Occurs when host key received. + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received and is not handled by any of the event handlers + + + + + Implements 3DES cipher algorithm. + + + + + Implements DES cipher algorithm. + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Generates the working key. + + if set to true [encrypting]. + The key. + Generated working key. + + + + Validates the key. + + + + + Performs DES function. + + The w key. + The input. + The in off. + The out bytes. + The out off. + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Validates the key. + + + + + Implements certificate support for host algorithm. + + + + + Base class for SSH host algorithms. + + + + + Initializes a new instance of the class. + + The host key name. + + + + Signs the specified data. + + The data. + Signed data. + + + + Verifies the signature. + + The data. + The signature. + True is signature was successfully verifies; otherwise false. + + + + Gets the host key name. + + + + + Gets the host key data. + + + + + Initializes a new instance of the class. + + The host key name. + + + + Signs the specified data. + + The data. + Signed data. + + + + + Verifies the signature. + + The data. + The signature. + True if signature was successfully verified; otherwise false. + + + + + Gets the host key data. + + + + + Provides SCP client functionality. + + + Provides SCP client functionality. + + + + + Serves as base class for client implementations, provides common client functionality. + + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Connects client to the server. + + Connect failed + + + + Disconnects client from the server. + + Indicates SSH disconnect failed + + + + Sends keep-alive message to the server. + + Indicates connection is not active + Invalid operation was attempted + + + + Called when client is connecting to the server. + + + + + Called when client is connected to the server. + + + + + Called when client is disconnecting from the server. + + + + + Called when client is disconnected from the server. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets current session. + + + + + Gets the connection info. + + + + + Gets a value indicating whether this client is connected to the server. + + + true if this client is connected; otherwise, false. + + + + + Gets or sets the keep alive interval in seconds. + + + The keep alive interval in seconds. + + + + + Occurs when an error occurred. + + + + + Occurs when host key received. + + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains whitespace characters. + + + + Uploads the specified stream to the remote host. + + Stream to upload. + Remote host file name. + + + + Uploads the specified stream to the remote host. + + Stream to upload. + Remote host file name. + Use no quotes in SCP request + + + + Downloads the specified file from the remote host to the stream. + + Remote host file name. + The stream where to download remote file. + is null or contains whitespace characters. + is null. + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + Downloads the specified file from the remote host to the stream. + + Remote host file name. + The stream where to download remote file. + Use no quotes in SCP request + is null or contains whitespace characters. + is null. + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + Checks the return code. + + The output stream. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Uploads the specified file to the remote host. + + The file system info. + The path. + fileSystemInfo + path + + or is null. + + + + Uploads the specified directory to the remote host. + + The directory info. + The path. + fileSystemInfo + path + + + + Downloads the specified file from the remote host to local file. + + Remote host file name. + Local file information. + or is null. + + + + Downloads the specified directory from the remote host to local directory. + + Remote host directory name. + Local directory information. + or is null. + + + + Gets or sets the operation timeout. + + The operation timeout. + + + + Gets or sets the size of the buffer. + + The size of the buffer. + + + + Occurs when downloading file. + + + + + Occurs when uploading file. + + + + + Specifies the type of proxy client will use to connect to server. + + + + No proxy server. + + + A SOCKS4 proxy server. + + + A SOCKS5 proxy server. + + + A HTTP proxy server. + + + + Represents SSH_MSG_KEXINIT message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEX_DH_GEX_INIT message. + + + + + Initializes a new instance of the class. + + The client exchange value. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the E value. + + + + + Represents SSH_MSG_REQUEST_FAILURE message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_CHANNEL_DATA message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + Message data. + + + + Loads the data. + + + + + Saves the data. + + + + + Gets or sets message data. + + + The data. + + + + + Represents SSH_MSG_USERAUTH_INFO_RESPONSE message. + + + + + Initializes a new instance of the class. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets authentication responses. + + + + + Provides connection information when keyboard interactive authentication method is used + + + + + Initializes a new instance of the class. + + The host. + The username. + + + + Initializes a new instance of the class. + + The host. + The port. + The username. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Occurs when server prompts for more authentication information. + + + + + The exception that is thrown when SSH exception occurs. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + The exception that is thrown when SCP error occurred. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Provides data for event and events. + + + + + Initializes a new instance of the class. + + Channel number. + Channel data. + + + + Initializes a new instance of the class. + + Channel number. + Channel data. + Channel data type code. + + + + Gets channel data. + + + + + Gets the data type code. + + + + + Crestron WebSocket Client class + + + + + Websocket default HTTP port + + + + + Websocket default SSL secure port + + + + + Invalid handle + + + + + Sets Client Security Certificate associated with this object. + + The client x509 certificate object + This method is not supported on this platform. Use to determine the running platform type. + + object does not contain the corresponding private key so it must be provided using a SetClientPrivateKey method. + This method requires firmware version 1.011.xxxx or later + + + + + Websocket client asynchronous connect callback method pointer + + + + + Websocket client asynchronous data receive callback method pointer + + + + + Websocket client asynchronous data send callback method pointer + + + + + Stores origin string value private variable + + + + + This method opens websocket session websocket server + + the server port number + the server connection URL address + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy URL or ip address + Proxy port number + Proxy username for authentication + Proxy password for authentication + connection handle + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens websocket session websocket server + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy URL or ip address + Proxy port number + Proxy username for authentication + Proxy password for authentication + connection handle + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens websocket session websocket server + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Includes "Keep-Alive" in the "Connection" header of the websocket handshake. + Proxy URL or ip address + Proxy port number + Proxy username for authentication + Proxy password for authentication + connection handle + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens websocket session websocket server + + the server port number + the server connection URL address + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy URL or ip address + Proxy port number + Proxy username for authentication + Proxy password for authentication + Connection handle + Origin URL + Protocol type + Additional WebSocket header settings + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens websocket session websocket server + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy URL or ip address + Proxy port number + Proxy username for authentication + Proxy password for authentication + Connection handle + Origin URL + Protocol type + Additional WebSocket header settings + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens websocket session websocket server + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Includes "Keep-Alive" in the "Connection" header of the websocket handshake. + Proxy URL or ip address + Proxy port number + Proxy username for authentication + Proxy password for authentication + Connection handle + Origin URL + Protocol type + Additional WebSocket header settings + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens asyncrouns websocket connection. The callback method returns the connection status and handle + + the server port number + the server connection URL address + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy ip address or URL + Proxy port number + Proxy username for authentication + Proxy password for authentication + reference to connection callback method + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens asyncrouns websocket connection. The callback method returns the connection status and handle + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy ip address or URL + Proxy port number + Proxy username for authentication + Proxy password for authentication + reference to connection callback method + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens asyncrouns websocket connection. The callback method returns the connection status and handle + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Includes "Keep-Alive" in the "Connection" header of the websocket handshake. + Proxy ip address or URL + Proxy port number + Proxy username for authentication + Proxy password for authentication + reference to connection callback method + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens asyncrouns websocket connection. The callback method returns the connection status and handle + + the server port number + the server connection URL address + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy ip address or URL + Proxy port number + Proxy username for authentication + Proxy password for authentication + reference to connection callback method + Origin URL or ip address + Websocket protocol type + Additional WebSocket header settings + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens asyncrouns websocket connection. The callback method returns the connection status and handle + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Proxy ip address or URL + Proxy port number + Proxy username for authentication + Proxy password for authentication + reference to connection callback method + Origin URL or ip address + Websocket protocol type + Additional WebSocket header settings + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method opens asyncrouns websocket connection. The callback method returns the connection status and handle + + the server port number + the server connection URL address + The host of the server. + ssl supported (true=ssl supported) + verify server certificate (true= verification on) + Includes "Keep-Alive" in the "Connection" header of the websocket handshake. + Proxy ip address or URL + Proxy port number + Proxy username for authentication + Proxy password for authentication + reference to connection callback method + Origin URL or ip address + Websocket protocol type + Additional WebSocket header settings + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method reads websocket data + + connection handle + received data array + received data array length + received packet length + received packet type + if true returns when either data is received or if error occurs + returns number of bytes received or error + + + + This method sets up the async read call back + + connection handle + reference to callback method which is called when data is received + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method sends data to websocket server + + connection handle + data to send + data length + packet type being sent + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method sends segmented data to websocket server, large packet are sent in 3 or more packets + Segmented packets are sent as LWS_WS_OPCODE_07__CONTINUATION packet type. + + connection handle + data to send + data length + packet type being sent + packet segment control e.g. first segment, middle segment(s), last segment enums + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method sends asynchronous data to websocket server + + connection handle + data to send + data length + packet type being sent + reference to callback method which is called after data is sent + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method writes segmented asynchronous data to websocket server + + connection handle + data to send + data length + packet type being sent + reference to callback method which is called after data is sent + packet segment control e.g. first segment, middle segment(s), last segment enums + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method closes the websocket connection + + connection handle + reason for closing connection + returns WEBSOCKET_CLIENT_SUCCESS if call was successful + + + + This method sets the client cert + + connection handle + received data array + received data array length + returns number of bytes received or error + + + + This method clears the client cert + + connection handle + returns number of bytes received or error + + + + Global handle for asynchronous connection callbacks + + + + + Global handle for asynchronous packet receive callback + + + + + Global handle for asynchronous packet send callback + + + + + Dictionary to translate between a socket handle and the target websocket client + + + + + A lock to be able to operate safely on the above dictionary + + + + + Static constructor is used to setup 1-time static callback methods. + + + + + Class constructor, default parameters + + + Note: Crestron defaults KeepAlive to true. We have noticed some servers do not handle this correctly. + Please check with your server and try setting KeepAlive to false when encountering issues connecting. + + + + + Class destructor + + + + + This method establishes connection to websocket server. + Note: If Origin, Protocol, and AddOnHeader are needed please use ConnectEx() instead. + + it returns WEBSOCKET_CLIENT_SUCCESS if connection was established + Object has been disposed. + + + + This method establishes connection to websocket server. Same as Connect(), with the following additional parameters: Origin, Protocol, AddOnHeader. + If Origin and Protocol are defined and not null they will passed on to the server. Some servers require the Origin be defined to block unauthorized access. + The AddOnHeader is used for custom HTTP header which must comply with HTTP header specification RFC 2616 and Websocket specification RFC6455, + for example "Protocol: Chat V3.0". + This method requires minimum firmware version 1.012.0007. + + it returns WEBSOCKET_CLIENT_SUCCESS if connection was established + Object has been disposed. + + + + This method is called by the websocket library after the websocket connection process is ended + + connection handle + error code is set to WEBSOCKET_CLIENT_SUCCESS if connection was successful + returns WEBSOCKET_CLIENT_SUCCESS on success + + + + This method posts a request for connection to websocket server. When the server connection is established the callback method gets called. + + returns WEBSOCKET_CLIENT_SUCCESS on success + Object has been disposed. + + + + This method posts a request for connection to websocket server. When the server connection is established the callback method gets called. + This method supports the Websocket header commands Origin, Protocol and additional user defined header commands. + This method requires minimum firmware version 1.012.0007. + + returns WEBSOCKET_CLIENT_SUCCESS on success + Object has been disposed. + + + + This method receives data from websocket server + + received data + received packet type + returns result codes + Object has been disposed. + + + + This asynchronous callback method is called when data is received from the websocket server + + connection handle + received data + received data length + received packet type + error code types, returns + returns WEBSOCKET_CLIENT_SUCCESS on successful call + + + + Instance handler for the above static callback + + received data + received data length + received packet type + error code types, returns + returns WEBSOCKET_CLIENT_SUCCESS on successful call + + + + This method is used to setup for asynchronous data packet reception from the websocket server + + if successful WEBSOCKET_CLIENT_PENDING result code is returned + Object has been disposed. + + + + This method sends websocket packets to the websocket server + + data packet to be sent + data length + packet type e.g. LWS_WS_OPCODE_07__TEXT_FRAME or LWS_WS_OPCODE_07__BINARY_FRAME etc.. + if packet was successfully sent the WEBSOCKET_CLIENT_SUCCESS is returned + Object has been disposed. + + + + This method sends websocket packets to the websocket server + + data packet to be sent + data length + packet type e.g. LWS_WS_OPCODE_07__TEXT_FRAME or LWS_WS_OPCODE_07__BINARY_FRAME etc.. + packet segment control e.g. first segment, middle segment(s) or last segment + if packet was successfully sent the WEBSOCKET_CLIENT_SUCCESS is returned + Object has been disposed. + + + + This method is called after the asynchronous data has been transmitted + + connection handle + error code, returns WEBSOCKET_CLIENT_SUCCESS if data was transmitetd successfully + returns WEBSOCKET_CLIENT_SUCCESS on successful execution + + + + Instance item handler method for the above static callback + + error code, returns WEBSOCKET_CLIENT_SUCCESS if data was transmitetd successfully + returns WEBSOCKET_CLIENT_SUCCESS on successful execution + + + + This method sends packet to the websocket server asynchronously, the callback method is called after the data has been transmitted + + data packet to be transmitted + data packet length + packet type e.g. LWS_WS_OPCODE_07__TEXT_FRAME or LWS_WS_OPCODE_07__BINARY_FRAME etc.. + returns WEBSOCKET_CLIENT_SUCCESS if successful + Object has been disposed. + + + + This method sends packet to the websocket server asynchronously, the callback method is called after the data has been transmitted + + data packet to be transmitted + data packet length + packet type e.g. LWS_WS_OPCODE_07__TEXT_FRAME or LWS_WS_OPCODE_07__BINARY_FRAME etc.. + packet segment first segment, middle segment(s) or last segment + returns WEBSOCKET_CLIENT_SUCCESS if successful + Object has been disposed. + + + + This method closes websocket connection + + returns WEBSOCKET_CLIENT_SUCCESS if successful + Object has been disposed. + + + + This method closes websocket connection asynchronously. The DisconnectCallBack will be called once the disconnect is complete. + + User specified object passed to the callback. + + Returns WEBSOCKET_CLIENT_PENDING if successful and we are waiting for completion. + + Object has been disposed. + + + + This method reads data from the websocket library + + connection handle + received data buffer + packet type received TEXT, BINARY etc + returns WEBSOCKET_CLIENT_SUCCESS if successful + + + + This method writes data to the websocket library + + connection handle + data to write + data length + packet type + + it return WEBSOCKET_CLIENT_SUCCESS if successful + + + + This method post data for writing to websocket server. When the data is written the result is returned in the callback method + + connection handle + data to write + data length + packet type + segment control + callback method called when data has been transmitted + returns WEBSOCKET_CLIENT_SUCCESS if successful + + + + Dispose releases all resources used by WebSocketClient. + + + + + Dispose releases all resources used by WebSocketClient. + + + + + + Set/Get asynchronous websocket connection progress flag + + + + + Returns the port from _URL if _Port is null. If both are null then return WEBSOCKET_DEF_HTTP_PORT. + + + + + Set/Get websocket server port number. If set to null the default port for the URL's schema will be used. + + + + + Set/Get websocket SSL option + + + + + Get/Set Verify server certificate option on secure SSL connection + + + + + Setting to true will include the "Keep-Alive" token in the "Connection" header of the websocket handshake. + Otherwise will not include the token. + + + Note: Crestron defaults KeepAlive to true. We have noticed some servers do not handle this correctly. + Please check with your server and try setting KeepAlive to false when encountering issues connecting. + This property is only supported in Firmware Version v1.501.0035 or above. + + + + + Get/Set URL address string, do not add carriage return and line feed + + This exception is thrown if URL has invalid value + + + + Set/Get Host is used in the Host field of the WebSocket handshake header. Do not add carriage return and line feed. + + Host is only supported in Firmware Version v1.501.0035 or above. + + + + Set/Get Proxy connection Port number + + + + + Set/Get Proxy connection IP Address string, do not add carriage return and line feed + + This exception is thrown if ProxyIpAddr is invalid + This exception is thrown if proxy ip address is null + This exception is thrown if proxy ip address is invalid + + + + Set/Get Proxy authentication user name string, do not add carriage return and line feed + + + + + Set/Get Proxy authentication password string, do not add carriage return and line feed + + + + + Set/Get WebSocket protocol string, optional header, do not add carriage return and line feed + + + + + Set/Get WebSocket origin string, optional header, do not add carriage return and line feed + + This exception is thrown if Origin has invalid value or is not set + + + + Set/Get Add Websocket header string, must include proper websocket command settings. Each command must be followed by a colon, value + and ended with carriage return line feed. The last command must NOT end with carriage return line feed. + + Example: + Origin: HTTP://www.test.com \r\n + Protocol: SuperChat + + + + + + Set/Get Reference to asynchronous connection callback method + + + + + Set/Get Reference to asynchronous Disconnect callback method + + + + + Set/Get Reference to asynchronous receive callback method + + + + + Set/Get Reference to asynchronous send callback method + + + + + Get/Set handle of websocket connection + + + + + Returns websocket connection status + + + + + Returns the Ethernet adapter on which the socket resides + EthernetAdapterType.EthernetLANAdapter indicates that the socket is on the LAN Adapter + EthernetAdapterType.EthernetCSAdapter indicates the Control Subnet side (for a system with a router) + EthernetAdapterType.EthernetUnknownAdapter indicates that the socket is not initialized as yet + EthernetAdapterType.EthernetLAN2Adapter indicates the second LAN Adapter + + + + + Enumerations of possible reasons for closing the websocket + + + + + 1000 indicates a normal closure, meaning that the purpose for which the connection was established has been fulfilled. + + + + + 1001 indicates that an endpoint is "going away", such as a server going down or a browser having navigated away from a page. + + + + + 1002 indicates that an endpoint is terminating the connection due to a protocol error. + + + + + 1003 indicates that an endpoint is terminating the connection + because it has received a type of data it cannot accept (e.g., an + endpoint that understands only text data MAY send this if it + receives a binary message). + + + + + 1004 Reserved. The specific meaning might be defined in the future. + + + + + 1005 is a reserved value and MUST NOT be set as a status code in a + Close control frame by an endpoint. It is designated for use in + applications expecting a status code to indicate that no status code was actually present. + + + + + 1006 is a reserved value and MUST NOT be set as a status code in a + Close control frame by an endpoint. It is designated for use in + applications expecting a status code to indicate that the + connection was closed abnormally, e.g., without sending or receiving a Close control frame. + + + + + 1007 indicates that an endpoint is terminating the connection because it has received data within a message that was not + consistent with the type of the message (e.g., non-UTF-8 [RFC3629] data within a text message). + + + + + 1008 indicates that an endpoint is terminating the connection because it has received a message that violates its policy. This + is a generic status code that can be returned when there is no other more suitable status code (e.g., 1003 or 1009) or if there + is a need to hide specific details about the policy. + + + + + 1009 indicates that an endpoint is terminating the connection because it has received a message that is too big for it to process. + + + + + 1010 indicates that an endpoint (client) is terminating the connection because it has expected the server to negotiate one or + more extension, but the server didn’t return them in the response message of the WebSocket handshake. + + + + + 1011 indicates that a server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request. + + + + + 1015 is a reserved value and MUST NOT be set as a status code in a Close control frame by an endpoint. It is designated for use in + applications expecting a status code to indicate that the connection was closed due to a failure to perform a TLS handshake + (e.g., the server certificate can’t be verified). + + + + + Enumerations of websocket packet types + + + + + continuation packet + + + + + text packet type + + + + + binary packet type + + + + + + + + + + packet close control opcode + + + + + ping control packet + + + + + pong control packet + + + + + Enumerations of Websocket library method return codes + + + + + websocket client connection is already open + + + + + websocket waiting for activity to finish + + + + + websocket success + + + + + websocket client read or write error + + + + + invalid websocket client read buffer size + + + + + invalid pointer passed + + + + + memory allocation error + + + + + invalid ip address + + + + + invalid path in URL string + + + + + invalid hostname in URL string + + + + + invalid URL string + + + + + Insufficient buffer size + + + + + hostname lookup by ipaddr failed + + + + + ip-addr by hostname lookup failed + + + + + ip-addr family setting not supported + + + + + invalid ipaddr and hostname + + + + + invalid proxy ip address + + + + + proxy hostname lookup by ipaddr failed + + + + + proxy ipaddr lookup by hostname failed + + + + + socket creation failed + + + + + socket connection failed + + + + + websocket transmission error + + + + + websocket ssl reception error + + + + + websocket tcp socket reception error + + + + + websocket ssl library initialization failed + + + + + websocket ssl context allocation failed + + + + + websocket ssl option configuration failed + + + + + websocket server certificate check failed + + + + + websocket ssl connection failed + + + + + websocket ssl socket transmission error + + + + + websocket http handshake token error + + + + + websocket http handshake security key error + + + + + websocket http handshake response error + + + + + websocket could not add entry to the link list + + + + + websocket client could not get free handle + + + + + websocket client async call is already set + + + + + websocket client socket poll error + + + + + websocket client async writer is busy sending error + + + + + websocket client async could not find handle + + + + + websocket client invalid packet control flag + + + + + websocket client invalid packet control flag and or opcode pair + + + + + websocket client in the process of clossing + + + + + Enumerations websocket packet segment control code + + + + + control code used for sending first segment of LWS_WS_OPCODE_07__CONTINUATION packet type + + + + + control code used for sending 2nd, 3rd, .. segment of LWS_WS_OPCODE_07__CONTINUATION packet type + + + + + control code used for sending last segment of LWS_WS_OPCODE_07__CONTINUATION packet type + + + + + Delegate for asynchronous connect callback method + + error code returned on callback + return WEBSOCKET_CLIENT_SUCCESS if successful + + + + Delegate for asynchronous disconnect callback method + + error code returned on callback + User object that was passed in from calling DisconnectAsync. + return WEBSOCKET_CLIENT_SUCCESS if successful + + + + Delegate for asynchronous connect callback method + + connection handle used for reading data, writing data and closing connections + error code returned on callback + return WEBSOCKET_CLIENT_SUCCESS if successful + + + + Callback delegate for asynchronous data receive method for user application + + received data + length of received data + opcode of packet type received + error code returned on callback + return WEBSOCKET_CLIENT_SUCCESS if successful + + + + Delegate for asynchronous data receive callback method + + connection handle + received data + length of received data + opcode of packet type received + error code returned on callback + return WEBSOCKET_CLIENT_SUCCESS if successful + + + + Delegate for asynchronous data send callback method for user application + + error code returned on callback + return WEBSOCKET_CLIENT_SUCCESS if successful + + + + Delegate for asynchronous data transmit callback method + + connection handle + error code returned on callback + return WEBSOCKET_CLIENT_SUCCESS if successful + + + + Fixed-size queue that supports concurrent access and blocking for specified amounts of time while performing operations + + + + + Fixed-size generic type queue that supports concurrent access and blocking for specified amounts of time while performing operations + + The element type of the queue + + + + Critical section used to provide threading protection of the internal queue + + + + + Create a new queue of a fixed size + + Capacity of the queue (stays constant) + Thrown when the specified capacity of the queue is less than 1 + + + + Create a new queue of the default size (5 elements maximum) + + + + + Determines whether an element is currently in the queue + + The element to be located in the queue + Whether the element is currently in the queue + + + + Returns the element at the beginning of the queue without removing it + + Element at the beginning of the queue, null if the queue is empty + + + + Add an element to the end of the queue and block indefinitely until the element can be added. + + Element to be added to the queue + + + + Add an element to the end of the queue, but only block for the specified amount of time + The addition will be continuously attempted until the end of the specified amount of time + Enqueue(element, 0) is equivalent to TryToEnqueue(element) + + Element to be added to the queue + Time out in milliseconds + Whether the addition was successful or not successful and whether it happened within the time period + + + + Remove an object from the queue and block indefinitely until an object can be removed + + Object from the queue + + + + Remove an object from the queue and block indefinitely until an object can be removed + + Returns the element which was dequeued. This element could be null + A boolean indicating whether we were successfully able to dequeue an element from the queue or not + + + + Remove an object from the queue, but only block for the specified amount of time + Dequeue(0) is equivalent to TryToDequeue() + + Time out in milliseconds + First object of the queue, when the removal was successful and it happened within the time period, or null, when the removal was not and it did not happen within the time period + + + + Remove an object from the queue, but only block for the specified amount of time + Dequeue with a timeout of 0 is equivalent to TryToDequeue() + + Time out in milliseconds + Returns the element which was dequeued. This element could be null + A boolean indicating whether we were successfully able to dequeue an element from the queue or not + + + + Attempt to add an element to the end of the queue and do not block + + Element to be added, if successful + Whether the addition was successful or not successful + + + + Attempt to remove an element from the queue and do not block + + Returns the element which was dequeued. This element could be a null + true if we were successfully able to dequeue an element. false if we were unable to dequeue an element + + + + Attempt to remove an element from the queue and do not block + + First object of the queue, when the removal was successful, or null, when the removal was not + + + + Returns a generic enumerator that iterates through the queue. + + Returns an enumerator that iterates through a collection. + + + + Copies the Queue's elements to an existing one-dimensional array, starting at the specified array index. + + Destination of the elements. + Index at which copying begins + Destination array is null. + Index is less than zero. + Index is equal to or greater than the length of the destination array. -or- The number of + elements in the source Queue is greater than the available space from index to the end of the destination array. + + + + Remove all elements from the CrestronQueue. + + + + + Clean up of unmanaged resources + + + + + Return the queue class's enumerator + + + + + + Get the size of the queue + + + + + Whether the queue is empty (all the slots are not taken) + + + + + Whether the queue is full (there are no slots remaining) + + + + + Number of elements currently in the queue + + + + + Property to determine if this object has been disposed. + + + + + Create a new queue of a fixed size + + Capacity of the queue (stays constant) + Thrown when the specified capacity of the queue is less than 1 + + + + Create a new queue of the default size (5 elements maximum) + + + + + Contains operation for working with SSH Shell. + + + Represents instance of the SSH shell object + + + + + Destructor for ShellStream. + + + + + Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + An I/O error occurs. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + The sum of and is larger than the buffer length. + + + is null. + + + or is negative. + + An I/O error occurs. + + The stream does not support reading. + + Methods were called after the stream was closed. + + + + This method is not supported. + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + An I/O error occurs. + + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + + Methods were called after the stream was closed. + + + + This method is not supported. + + The desired length of the current stream in bytes. + An I/O error occurs. + + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + + Methods were called after the stream was closed. + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of and is greater than the buffer length. + + + is null. + + + or is negative. + + An I/O error occurs. + + The stream does not support writing. + + Methods were called after the stream was closed. + + + + Expects the specified expression and performs action when one is found. + + The expected expressions and actions to perform. + + + + Expects the specified expression and performs action when one is found. + + Time to wait for input. + The expected expressions and actions to perform, if the specified time elapsed and expected condition have not met, that method will exit without executing any action. + + + + Begins the expect. + + The expect actions. + + An that references the asynchronous operation. + + + + + Begins the expect. + + The callback. + The expect actions. + + An that references the asynchronous operation. + + + + + Begins the expect. + + The callback. + The state. + The expect actions. + + An that references the asynchronous operation. + + + + + Begins the expect. + + The timeout. + The callback. + The state. + The expect actions. + + An that references the asynchronous operation. + + + + + Ends the execute. + + The async result. + Returns the value generated by the async operation + Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult. + + + + Expects the expression specified by text. + + The text to expect. + + Text available in the shell that ends with expected text. + + + + + Expects the expression specified by text. + + The text to expect. + Time to wait for input. + + Text available in the shell that ends with expected text, if the specified time elapsed returns null. + + + + + Expects the expression specified by regular expression. + + The regular expression to expect. + Text available in the shell that contains all the text that ends with expected expression. + + + + Expects the expression specified by regular expression. + + The regular expression to expect. + Time to wait for input. + + Text available in the shell that contains all the text that ends with expected expression, if the specified time elapsed returns null. + + + + + Reads the line from the shell. If line is not available it will block the execution and will wait for new line. + + The line read from the shell. + + + + Reads the line from the shell. If line is not available it will block the execution and will wait for new line. + + Time to wait for input. + + The line read from the shell, if the specified time elapsed returns null. + + + + + Reads text available in the shell. + + The text available in the shell. + + + + Writes the specified text to the shell. + + The text to be written to the shell. + + + + Writes the line to the shell. + + The line to be written to the shell. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Waits for the handle to be signaled or for an error to occurs. + + The wait handle. + + + + Occurs when data was received. + + + + + Occurs when an error occurred. + + + + + Gets a value that indicates whether data is available on the to be read. + + + true if data is available to be read; otherwise, false. + + + + + Gets a value indicating whether the current stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the current stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + Gets a value indicating whether the current stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + Gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + + A class derived from Stream does not support seeking. + + Methods were called after the stream was closed. + + + + Gets or sets the position within the current stream. + + The current position within the stream. + + An I/O error occurs. + + The stream does not support seeking. + + Methods were called after the stream was closed. + + + + Represents instance of the SSH shell object + + + Represents instance of the SSH shell object + + + + + Initializes a new instance of the class. + + The session. + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal mode. + Size of the buffer for output stream. + + + + Starts this shell. + + Shell is started. + + + + Stops this shell. + + Shell is not started. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets a value indicating whether this shell is started. + + + true if started is started; otherwise, false. + + + + + Occurs when shell is starting. + + + + + Occurs when shell is started. + + + + + Occurs when shell is stopping. + + + + + Occurs when shell is stopped. + + + + + Occurs when an error occurred. + + + + + Initializes a new instance of the class. + + The protocol version. + The request id. + Specifies the path name of the new link to create. + Specifies the path of a target object to which the newly created link will refer. In the case of a symbolic link, this path may not exist. + if set to false the link should be a hard link, or a second directory entry referring to the same file or directory object. + The status action. + + + + SHA256 algorithm implementation. + + + + + Initializes a new instance of the class. + + + + + Adjust the byte counts so that byteCount2 represents the upper long (less 3 bits) word of the byte count. + + + + + Gets a value indicating whether the current transform can be reused. + + Always true. + + + + Gets a value indicating whether multiple blocks can be transformed. + + true if multiple blocks can be transformed; otherwise, false. + + + + Gets the size, in bits, of the computed hash code. + + The size, in bits, of the computed hash code. + + + + When overridden in a derived class, gets the input block size. + + The input block size. + + + + When overridden in a derived class, gets the output block size. + + The output block size. + + + + SHA1 algorithm implementation + + + + + Initializes a new instance of the class. + + + + + Routes data written to the object into the hash algorithm for computing the hash. + + The input to compute the hash code for. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Initializes an implementation of the class. + + + + + Gets the size, in bits, of the computed hash code. + + The size, in bits, of the computed hash code. + + + + Gets the input block size. + + The input block size. + + + + Gets the output block size. + + The output block size. + + + + Gets a value indicating whether the current transform can be reused. + + Always true. + + + + Gets a value indicating whether multiple blocks can be transformed. + + true if multiple blocks can be transformed; otherwise, false. + + + + + + + + + Initializes an implementation of the class. + + + + + Initializes a new instance of the class. + + + + + Reset the chaining variables to the IV values. + + + + + Rounds 0-15 + + The x. + The y. + The z. + + + + + Rounds 16-31 + + The x. + The y. + The z. + + + + + ounds 32-47 + + The x. + The y. + The z. + + + + + Rounds 48-63 + + The x. + The y. + The z. + + + + + ounds 64-79 + + The x. + The y. + The z. + + + + + Gets the size, in bits, of the computed hash code. + + The size, in bits, of the computed hash code. + + + + Gets the input block size. + + The input block size. + + + + Gets the output block size. + + The output block size. + + + + Gets a value indicating whether the current transform can be reused. + + Always true. + + + + Gets a value indicating whether multiple blocks can be transformed. + + true if multiple blocks can be transformed; otherwise, false. + + + + Base class for cipher padding implementations + + + + + Pads specified input to match block size. + + Size of the block. + The input. + Padded data array. + + + + Represents SSH_MSG_KEX_DH_GEX_REQUEST message. + + + + + Initializes a new instance of the class. + + The minimum. + The preferred. + The maximum. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets or sets the minimal size in bits of an acceptable group. + + + The minimum. + + + + + Gets or sets the preferred size in bits of the group the server will send. + + + The preferred. + + + + + Gets or sets the maximal size in bits of an acceptable group. + + + The maximum. + + + + + Represents SSH_MSG_DISCONNECT message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The reason code. + The message. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets disconnect reason code. + + + + + Gets disconnect description. + + + + + Gets message language. + + + + + Represents SSH_MSG_CHANNEL_FAILURE message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Represents SSH_MSG_CHANNEL_CLOSE message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Specifies behavior for expected expression + + + + + Initializes a new instance of the class. + + The expect regular expression. + The action to perform. + or is null. + + + + Initializes a new instance of the class. + + The expect expression. + The action to perform. + or is null. + + + + Gets the expected regular expression. + + + + + Gets the action to perform when expected expression is found. + + + + + Implements "forwarded-tcpip" SSH channel. + + + Implements "forwarded-tcpip" SSH channel. + + + + + Initializes a new instance of the class. + + + + + Binds channel to specified connected host. + + The connected host. + The connected port. + + + + Called when channel data is received. + + The data. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the channel. + + + The type of the channel. + + + + + References a method to be called when a corresponding asynchronous operation completes. + + The result of the asynchronous operation. + + + + Creates a stream whose backing store is memory. + + + + + Initializes a new instance of the CrestronIO.MemoryStream class with an expandable + capacity initialized to zero. + + + + + Initializes a new non-resizable instance of the CrestronIO.MemoryStream class + based on the specified byte array. + + + The array of unsigned bytes from which to create the current stream. + + + buffer is null. + + + + + Initializes a new instance of the CrestronIO.MemoryStream class with an expandable + capacity initialized as specified. + + + The initial size of the internal array in bytes. + + + capacity is negative. + + + + + Initializes a new non-resizable instance of the CrestronIO.MemoryStream class + based on the specified byte array with the CrestronIO.MemoryStream.CanWrite + property set as specified. + + + The array of unsigned bytes from which to create this stream. + + + The setting of the CrestronIO.MemoryStream.CanWrite property, which determines + whether the stream supports writing. + + + buffer is null. + + + + + Initializes a new non-resizable instance of the CrestronIO.MemoryStream class + based on the specified region (index) of a byte array. + + + The array of unsigned bytes from which to create this stream. + + + The index into buffer at which the stream begins. + + + The length of the stream in bytes. + + + buffer is null. + + + index or count is less than zero. + + + The sum of index and count is greater than the length of buffer. + + + + + Initializes a new non-resizable instance of the CrestronIO.MemoryStream class + based on the specified region of a byte array, with the CrestronIO.MemoryStream.CanWrite + property set as specified. + + + The array of unsigned bytes from which to create this stream. + + + The index in buffer at which the stream begins. + + + The length of the stream in bytes. + + + The setting of the CrestronIO.MemoryStream.CanWrite property, which determines + whether the stream supports writing. + + + buffer is null. + + + index or count are negative. + + + The sum of index and count is greater than the length of buffer. + + + + + Initializes a new instance of the CrestronIO.MemoryStream class based on the + specified region of a byte array, with the CrestronIO.MemoryStream.CanWrite + property set as specified, and the ability to call CrestronIO.MemoryStream.GetBuffer() + set as specified. + + + The array of unsigned bytes from which to create this stream. + + + The index into buffer at which the stream begins. + + + The length of the stream in bytes. + + + The setting of the CrestronIO.MemoryStream.CanWrite property, which determines + whether the stream supports writing. + + + true to enable CrestronIO.MemoryStream.GetBuffer(), which returns the unsigned + byte array from which the stream was created; otherwise, false. + + + buffer is null. + + + index or count is negative. + + + The buffer length minus index is less than count. + + + + + Destructor for MemoryStream. + + + + + Releases the unmanaged resources used by the CrestronIO.MemoryStream class + and optionally releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Overrides CrestronIO.Stream.Flush() so that no action is performed. + + + + + Returns the array of unsigned bytes from which this stream was created. + + + The byte array from which this stream was created, or the underlying array + if a byte array was not provided to the CrestronIO.MemoryStream constructor + during construction of the current instance. + + + The MemoryStream instance was not created with a publicly visible buffer. + + + + + Reads a block of bytes from the current stream and writes the data to buffer. + + + When this method returns, contains the specified byte array with the values + between offset and (offset + count - 1) replaced by the characters read from + the current stream. + + + The byte offset in buffer at which to begin reading. + + + The maximum number of bytes to read. + + + The total number of bytes written into the buffer. This can be less than + the number of bytes requested if that number of bytes are not currently available, + or zero if the end of the stream is reached before any bytes are read. + + + buffer is null. + + + offset or count is negative. + + + offset subtracted from the buffer length is less than count. + + + The current stream instance is closed. + + + + + Reads a byte from the current stream. + + + The byte cast to a System.Int32, or -1 if the end of the stream has been + reached. + + + The current stream instance is closed. + + + + + Sets the position within the current stream to the specified value. + + + The new position within the stream. This is relative to the loc parameter, + and can be positive or negative. + + + A value of type CrestronIO.SeekOrigin, which acts as the seek reference point. + + + The new position within the stream, calculated by combining the initial reference + point and the offset. + + + Seeking is attempted before the beginning of the stream. + + + offset is greater than System.Int32.MaxValue. + + + There is an invalid SeekOrigin. + + + The current stream instance is closed. + + + + + Sets the length of the current stream to the specified value. + + + The value at which to set the length. + + + The current stream is not resizable and value is larger than the current + capacity.-or- The current stream does not support writing. + + + value is negative or is greater than the maximum length of the CrestronIO.MemoryStream, + where the maximum length is(System.Int32.MaxValue - origin), and origin is + the index into the underlying buffer at which the stream starts. + + + + + Writes the stream contents to a byte array, regardless of the CrestronIO.MemoryStream.Position + property. + + + A new byte array. + + + + + Writes a block of bytes to the current stream using data read from buffer. + + + The buffer to write data from. + + + The byte offset in buffer at which to begin writing from. + + + The maximum number of bytes to write. + + + buffer is null. + + + The stream does not support writing. For additional information see CrestronIO.Stream.CanWrite.-or- + The current position is closer than count bytes to the end of the stream, + and the capacity cannot be modified. + + + offset subtracted from the buffer length is less than count. + + + offset or count are negative. + + + An I/O error occurs. + + + The current stream instance is closed. + + + + + Writes a byte to the current stream at the current position. + + + The byte to write. + + + The stream does not support writing. For additional information see CrestronIO.Stream.CanWrite.-or- + The current position is at the end of the stream, and the capacity cannot + be modified. + + + The current stream is closed. + + + + + Writes the entire contents of this memory stream to another stream. + + + The stream to write this memory stream to. + + + stream is null. + + + The current or target stream is closed. + + + + + Gets a value indicating whether the current stream supports reading. + + + true if the stream is open. + + + + + Gets a value indicating whether the current stream supports seeking. + + + true if the stream is open. + + + + + Gets a value indicating whether the current stream supports writing. + + + + true if the stream supports writing; otherwise, false. + + + + + Gets or sets the number of bytes allocated for this stream. + + + The length of the usable portion of the buffer for the stream. + + + A capacity is set that is negative or less than the current length of the + stream. + + + The current stream is closed. + + + set is invoked on a stream whose capacity cannot be modified. + + + + + Gets the length of the stream in bytes. + + + The length of the stream in bytes. + + + The stream is closed. + + + + + Gets or sets the current position within the stream. + + + The current position within the stream. + + + The position is set to a negative value or a value greater than System.Int32.MaxValue. + + + The stream is closed. + + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to read before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to read before timing out. + The CrestronIO.Stream.ReadTimeout method always throws an System.InvalidOperationException. + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to write before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to write before timing out. + The CrestronIO.Stream.WriteTimeout method always throws an System.InvalidOperationException. + + + + Gets a value that determines whether the current stream can time out. + + A value that determines whether the current stream can time out. + + + + Specifies whether to compress or decompress the underlying stream. + + + + + Decompresses the underlying stream. + + + + + Compresses the underlying stream. + + + + + Provides methods and properties used to compress and decompress streams. + + + + + Initializes a new instance of the System.IO.Compression.GZipStream class + using the specified stream and System.IO.Compression.CompressionMode value. + + + The stream to compress or decompress. + + + One of the System.IO.Compression.CompressionMode values that indicates the + action to take. + + + stream is null. + + + stream access right is ReadOnly and mode value is Compress. + + + mode is not a valid System.IO.Compression.CompressionMode enumeration value.-or-System.IO.Compression.CompressionMode + is System.IO.Compression.CompressionMode.Compress and System.IO.Stream.CanWrite + is false.-or-System.IO.Compression.CompressionMode is System.IO.Compression.CompressionMode.Decompress + and System.IO.Stream.CanRead is false. + + + + + Initializes a new instance of the System.IO.Compression.GZipStream class + using the specified stream and System.IO.Compression.CompressionMode value, + and a value that specifies whether to leave the stream open. + + + The stream to compress or decompress. + + + One of the System.IO.Compression.CompressionMode values that indicates the + action to take. + + + true to leave the stream open; otherwise, false. + + + stream is null. + + + stream access right is ReadOnly and mode value is Compress. + + + mode is not a valid System.IO.Compression.CompressionMode value.-or-System.IO.Compression.CompressionMode + is System.IO.Compression.CompressionMode.Compress and System.IO.Stream.CanWrite + is false.-or-System.IO.Compression.CompressionMode is System.IO.Compression.CompressionMode.Decompress + and System.IO.Stream.CanRead is false. + + + + + Destructor for GZipStream. + + + + + Releases the unmanaged resources used by the System.IO.Compression.GZipStream + and optionally releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Flushes the contents of the internal buffer of the current System.IO.Compression.GZipStream + object to the underlying stream. + + + The stream is closed. + + + + + Reads a number of decompressed bytes into the specified byte array. + + + The array used to store decompressed bytes. + + + The location in the array to begin reading. + + + The number of bytes decompressed. + + + The number of bytes that were decompressed into the byte array. If the end + of the stream has been reached, zero or the number of bytes read is returned. + + + array is null. + + + The System.IO.Compression.CompressionMode value was Compress when the object + was created.- or -The underlying stream does not support reading. + + + offset or count is less than zero.-or-array length minus the index starting + point is less than count. + + + The data is in an invalid format. + + + The stream is closed. + + + + + This property is not supported and always throws a System.NotSupportedException. + + + The location in the stream. + + + One of the System.IO.SeekOrigin values. + + + A long value. + + + This property is not supported on this stream. + + + + + This property is not supported and always throws a System.NotSupportedException. + + + The length of the stream. + + + This property is not supported on this stream. + + + + + Writes compressed bytes to the underlying stream from the specified byte + array. + + + The array used to store compressed bytes. + + + The location in the array to begin reading. + + + The number of bytes compressed. + + + The write operation cannot be performed because the stream is closed. + + + + + Gets a reference to the underlying stream. + + + A stream object that represents the underlying stream. + + + The underlying stream is closed. + + + + + Gets a value indicating whether the stream supports reading while decompressing + a file. + + + true if the System.IO.Compression.CompressionMode value is Decompress, and + the underlying stream supports reading and is not closed; otherwise, false. + + + + + Gets a value indicating whether the stream supports seeking. + + + false in all cases. + + + + + Gets a value indicating whether the stream supports writing. + + + true if the System.IO.Compression.CompressionMode value is Compress, and + the underlying stream supports writing and is not closed; otherwise, false. + + + + + This property is not supported and always throws a System.NotSupportedException. + + + A long value. + + + This property is not supported on this stream. + + + + + This property is not supported and always throws a System.NotSupportedException. + + + A long value. + + + This property is not supported on this stream. + + + + + Provides methods and properties for compressing and decompressing streams + using the Deflate algorithm. + + + + + Initializes a new instance of the System.IO.Compression.DeflateStream class + using the specified stream and System.IO.Compression.CompressionMode value. + + + The stream to compress or decompress. + + + One of the System.IO.Compression.CompressionMode values that indicates the + action to take. + + + stream is null. + + + stream access right is ReadOnly and mode value is Compress. + + + mode is not a valid System.IO.Compression.CompressionMode value.-or-System.IO.Compression.CompressionMode + is System.IO.Compression.CompressionMode.Compress and System.IO.Stream.CanWrite + is false.-or-System.IO.Compression.CompressionMode is System.IO.Compression.CompressionMode.Decompress + and System.IO.Stream.CanRead is false. + + + + + Initializes a new instance of the System.IO.Compression.DeflateStream class + using the specified stream and System.IO.Compression.CompressionMode value, + and a value that specifies whether to leave the stream open. + + + The stream to compress or decompress. + + + One of the System.IO.Compression.CompressionMode values that indicates the + action to take. + + + true to leave the stream open; otherwise, false. + + + stream is null. + + + stream access right is ReadOnly and mode value is Compress. + + + mode is not a valid System.IO.Compression.CompressionMode value.-or-System.IO.Compression.CompressionMode + is System.IO.Compression.CompressionMode.Compress and System.IO.Stream.CanWrite + is false.-or-System.IO.Compression.CompressionMode is System.IO.Compression.CompressionMode.Decompress + and System.IO.Stream.CanRead is false. + + + + + Destructor for DeflateStream. + + + + + Releases the unmanaged resources used by the System.IO.Compression.DeflateStream + and optionally releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Flushes the contents of the internal buffer of the current stream object + to the underlying stream. + + + The stream is closed. + + + + + Reads a number of decompressed bytes into the specified byte array. + + + The array used to store decompressed bytes. + + + The location in the array to begin reading. + + + The number of decompressed bytes to read. + + + The number of bytes that were decompressed into the byte array. + + + array is null. + + + The System.IO.Compression.CompressionMode value was Compress when the object + was created.- or - The underlying stream does not support reading. + + + offset or count is less than zero.-or-array length minus the index starting + point is less than count. + + + The data is in an invalid format. + + + The stream is closed. + + + + + This operation is not supported and always throws a System.NotSupportedException. + + + The location in the stream. + + + One of the System.IO.SeekOrigin values. + + + A long value. + + + This property is not supported on this stream. + + + + + This operation is not supported and always throws a System.NotSupportedException. + + + The length of the stream. + + + This property is not supported on this stream. + + + + + Writes compressed bytes to the underlying stream from the specified byte + array. + + + The array used to store compressed bytes. + + + The location in the array to begin reading. + + + The number of bytes to compress. + + + + + Gets a reference to the underlying stream. + + + A stream object that represents the underlying stream. + + + The underlying stream is closed. + + + + + Gets a value indicating whether the stream supports reading while decompressing + a file. + + + true if the System.IO.Compression.CompressionMode value is Decompress, and + the underlying stream is opened and supports reading; otherwise, false. + + + + + Gets a value indicating whether the stream supports seeking. + + + false in all cases. + + + + + Gets a value indicating whether the stream supports writing. + + + true if the System.IO.Compression.CompressionMode value is Compress, and + the underlying stream supports writing and is not closed; otherwise, false. + + + + + This property is not supported and always throws a System.NotSupportedException. + + + A long value. + + + This property is not supported on this stream. + + + + + This property is not supported and always throws a System.NotSupportedException. + + + A long value. + + + This property is not supported on this stream. + + + + + Enumeration of the Logger Modes available for the Crestron Logger. Logical OR'ing of the modes is allowed. + (e.g.) - To Print to the console as well as log to the RM at the same time, assign the following to LoggerMode: "CONSOLE | RM" + + + + + This mode is the default mode for the Logger. If RM is present, logging will take place on the RM. If RM is not available, messages will be printed to the console. + + + + + Print messages only to the console. Not supported for . + + + + + Log the messages only to the RM. Available for RM capable devices only. + + + + + SimplSharp.CrestronLogger Logger Instance + + + + + Initialize the CrestronLogger to the specified debug level. + + Desired Debug Logger Level. Range from 1 to 10. + + + + Initialize the CrestronLogger to the specified debug level with option to log only one specified level. + + Desired Debug Logger Level to Initialize to. Range from 0 to 10. + Log only the specified debug level + + + + Initialize the CrestronLogger to the specified debug level with option to log only one specified level and also for LoggerModes. + + Desired Debug Logger Level to Initialize to. Range from 0 to 10. + Log only the specified debug level + Logger Modes; + + + + Initialize the CrestronLogger to the specified debug level with option to log only one specified level and also for LoggerModes. + + Desired Debug Logger Level to Initialize to. Range from 0 to 10. + Logger Modes; + + + + Main Initialize for the CrestronLogger to the specified debug level. Called from all the other Logger Initializers + + Desired Debug Logger Level. Range from 1 to 10. + + + + Shutdown the Logger. This automatically occurs when the program is stopped. + + + + + Returns if Removable media is present in the device or not and initializes Logger files. + This function is called once every time the Initialize routine is run for the logger. + + + + + Returns if Removable media is supported in device or not + + + + + Returns true if RM is Currently plugged into the device + + + + + Function to flush the buffered log entries to the log file + + True if ForceFlush was successful + + + + Function to write to the log + + Message details + Command's Level + True if WriteToLog operation was successful + + + + Function to determine if the Logging Level and the Command Access level match. + + Desired access level to check + True if level checks out + + + + Function to add a Log entry to the internal memory. If the internal memory reaches a certain limit, flush to file. + + Line of data to write + + + + Internal function to write the internal buffer to a log file + + True if Flush operation was successful + + + + Function to clear the Log + + Clear main log, and all backup logs + True if File cleared or already cleared + + + + Function to return the logs as a List of strings + + Set to true to print all logs, false to print most recent messages + List of strings containing Log messages + + + + Function to clear the Log and buffer + + + + + Property to get or set the current Logger Debug Level + + Logger is not initialized; can not set the Debug Level + + + + Property to get and set the Logger Buffer Size in KB + + + + + Property to get and set the number of backup logs desired. One backup log is used if this property is not set. + + + + + Constant Value of the Maximum Allowed Buffer Size + + + + + Constant Value of the Maximum allowed number of Backup logs. + + + + + Property to specify whether the Logger should log only the current Debug Level. + + + + + Property to read the initialization status of the Logger. + + + + + Property to specify the Logger Mode(s) desired. + + Invalid mode specified + is not supported on this platform. Use to determine the running platform type. + + + + Encapsulates the results of an asynchronous upload operation. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + Number of uploaded bytes. + + + + Gets or sets a value indicating whether to cancel asynchronous upload operation + + + true if upload operation to be canceled; otherwise, false. + + + Upload operation will be canceled after finishing uploading current buffer. + + + + + Gets the number of uploaded bytes. + + + + + SSH_FXP_INIT + + + + + SSH_FXP_VERSION + + + + + SSH_FXP_OPEN + + + + + SSH_FXP_CLOSE + + + + + SSH_FXP_READ + + + + + SSH_FXP_WRITE + + + + + SSH_FXP_LSTAT + + + + + SSH_FXP_FSTAT + + + + + SSH_FXP_SETSTAT + + + + + SSH_FXP_FSETSTAT + + + + + SSH_FXP_OPENDIR + + + + + SSH_FXP_READDIR + + + + + SSH_FXP_REMOVE + + + + + SSH_FXP_MKDIR + + + + + SSH_FXP_RMDIR + + + + + SSH_FXP_REALPATH + + + + + SSH_FXP_STAT + + + + + SSH_FXP_RENAME + + + + + SSH_FXP_READLINK + + + + + SSH_FXP_SYMLINK + + + + + SSH_FXP_LINK + + + + + SSH_FXP_BLOCK + + + + + SSH_FXP_UNBLOCK + + + + + SSH_FXP_STATUS + + + + + SSH_FXP_HANDLE + + + + + SSH_FXP_DATA + + + + + SSH_FXP_NAME + + + + + SSH_FXP_ATTRS + + + + + SSH_FXP_EXTENDED + + + + + SSH_FXP_EXTENDED_REPLY + + + + + Represents SFTP file information + + + + + Initializes a new instance of the class. + + The SFTP session. + Full path of the directory or file. + Attributes of the directory or file. + or is null. + + + + Sets file permissions. + + The mode. + + + + Permanently deletes a file on remote machine. + + + + + Moves a specified file to a new location on remote machine, providing the option to specify a new file name. + + The path to move the file to, which can specify a different file name. + is null. + + + + Updates file status on the server. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the file attributes. + + + + + Gets the full path of the directory or file. + + + + + For files, gets the name of the file. For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. + Otherwise, the Name property gets the name of the directory. + + + + + Gets or sets the time the current file or directory was last accessed. + + + The time that the current file or directory was last accessed. + + + + + Gets or sets the time when the current file or directory was last written to. + + + The time the current file was last written. + + + + + Gets or sets the time, in coordinated universal time (UTC), the current file or directory was last accessed. + + + The time that the current file or directory was last accessed. + + + + + Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to. + + + The time the current file was last written. + + + + + Gets or sets the size, in bytes, of the current file. + + + The size of the current file in bytes. + + + + + Gets or sets file user id. + + + File user id. + + + + + Gets or sets file group id. + + + File group id. + + + + + Gets a value indicating whether file represents a socket. + + + true if file represents a socket; otherwise, false. + + + + + Gets a value indicating whether file represents a symbolic link. + + + true if file represents a symbolic link; otherwise, false. + + + + + Gets a value indicating whether file represents a regular file. + + + true if file represents a regular file; otherwise, false. + + + + + Gets a value indicating whether file represents a block device. + + + true if file represents a block device; otherwise, false. + + + + + Gets a value indicating whether file represents a directory. + + + true if file represents a directory; otherwise, false. + + + + + Gets a value indicating whether file represents a character device. + + + true if file represents a character device; otherwise, false. + + + + + Gets a value indicating whether file represents a named pipe. + + + true if file represents a named pipe; otherwise, false. + + + + + Gets or sets a value indicating whether the owner can read from this file. + + + true if owner can read from this file; otherwise, false. + + + + + Gets or sets a value indicating whether the owner can write into this file. + + + true if owner can write into this file; otherwise, false. + + + + + Gets or sets a value indicating whether the owner can execute this file. + + + true if owner can execute this file; otherwise, false. + + + + + Gets or sets a value indicating whether the group members can read from this file. + + + true if group members can read from this file; otherwise, false. + + + + + Gets or sets a value indicating whether the group members can write into this file. + + + true if group members can write into this file; otherwise, false. + + + + + Gets or sets a value indicating whether the group members can execute this file. + + + true if group members can execute this file; otherwise, false. + + + + + Gets or sets a value indicating whether the others can read from this file. + + + true if others can read from this file; otherwise, false. + + + + + Gets or sets a value indicating whether the others can write into this file. + + + true if others can write into this file; otherwise, false. + + + + + Gets or sets a value indicating whether the others can execute this file. + + + true if others can execute this file; otherwise, false. + + + + + Gets the extension part of the file. + + + File extensions. + + + + + Represents SSH_MSG_SERVICE_ACCEPT message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the service. + + + The name of the service. + + + + + Represents SSH_MSG_KEXINIT message. + + + + + Initializes a new instance of the class. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets session cookie. + + + + + Gets or sets supported key exchange algorithms. + + + Supported key exchange algorithms. + + + + + Gets or sets supported server host key algorithms. + + + Supported server host key algorithms. + + + + + Gets or sets supported encryption algorithms client to server. + + + Supported encryption algorithms client to server. + + + + + Gets or sets supported encryption algorithms server to client. + + + Supported encryption algorithms server to client. + + + + + Gets or sets supported hash algorithms client to server. + + + Supported hash algorithms client to server. + + + + + Gets or sets supported hash algorithms server to client. + + + Supported hash algorithms server to client. + + + + + Gets or sets supported compression algorithms client to server. + + + Supported compression algorithms client to server. + + + + + Gets or sets supported compression algorithms server to client. + + + Supported compression algorithms server to client. + + + + + Gets or sets supported languages client to server. + + + Supported languages client to server. + + + + + Gets or sets supported languages server to client. + + + The languages server to client. + + + + + Gets or sets a value indicating whether first key exchange packet follows. + + + true if first key exchange packet follows; otherwise, false. + + + + + Gets or sets the reserved value. + + + The reserved value. + + + + + Represents SSH_MSG_DEBUG message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets a value indicating whether the message to be always displayed. + + + true if the message always to be displayed; otherwise, false. + + + + + Gets debug message. + + + + + Gets message language. + + + + + Represents "signal" type channel request information + + + + + Channel request name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the signal. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the name of the signal. + + + The name of the signal. + + + + + Implements Zlib compression algorithm. + + + + + Initializes a new instance of the class. + + The stream. + The mode. + + + + Writes the specified buffer. + + The buffer. + The offset. + The count. + + + + Specifies the initial assignments of the opcode values that are used in the 'encoded terminal modes' value + + + + + Indicates end of options. + + + + + Interrupt character; 255 if none. Similarly for the other characters. Not all of these characters are supported on all systems. + + + + + The quit character (sends SIGQUIT signal on POSIX systems). + + + + + Erase the character to left of the cursor. + + + + + Kill the current input line. + + + + + End-of-file character (sends EOF from the terminal). + + + + + End-of-line character in addition to carriage return and/or linefeed. + + + + + Additional end-of-line character. + + + + + Continues paused output (normally control-Q). + + + + + Pauses output (normally control-S). + + + + + Suspends the current program. + + + + + Another suspend character. + + + + + Reprints the current input line. + + + + + Erases a word left of cursor. + + + + + Enter the next character typed literally, even if it is a special character + + + + + Character to flush output. + + + + + Switch to a different shell layer. + + + + + Prints system status line (load, command, pid, etc). + + + + + Toggles the flushing of terminal output. + + + + + The ignore parity flag. The parameter SHOULD be 0 if this flag is FALSE, and 1 if it is TRUE. + + + + + Mark parity and framing errors. + + + + + Enable checking of parity errors. + + + + + Strip 8th bit off characters. + + + + + Map NL into CR on input. + + + + + Ignore CR on input. + + + + + Map CR to NL on input. + + + + + Translate uppercase characters to lowercase. + + + + + Enable output flow control. + + + + + Any char will restart after stop. + + + + + Enable input flow control. + + + + + Ring bell on input queue full. + + + + + Enable signals INTR, QUIT, [D]SUSP. + + + + + Canonicalize input lines. + + + + + Enable input and output of uppercase characters by preceding their lowercase equivalents with "\". + + + + + Enable echoing. + + + + + Visually erase chars. + + + + + Kill character discards current line. + + + + + Echo NL even if ECHO is off. + + + + + Don't flush after interrupt. + + + + + Stop background jobs from output. + + + + + Enable extensions. + + + + + Echo control characters as ^(Char). + + + + + Visual erase for line kill. + + + + + Retype pending input. + + + + + Enable output processing. + + + + + Convert lowercase to uppercase. + + + + + Map NL to CR-NL. + + + + + Translate carriage return to newline (output). + + + + + Translate newline to carriage return-newline (output). + + + + + Newline performs a carriage return (output). + + + + + 7 bit mode. + + + + + 8 bit mode. + + + + + Parity enable. + + + + + Odd parity, else even. + + + + + Specifies the input baud rate in bits per second. + + + + + Specifies the output baud rate in bits per second. + + + + + Provides data for event. + + + + + Base class for authentication events. + + + + + Initializes a new instance of the class. + + The username. + + + + Gets the username. + + + + + Initializes a new instance of the class. + + The username. + The instruction. + The language. + The information request prompts. + + + + Gets prompt language. + + + + + Gets prompt instruction. + + + + + Gets server information request prompts. + + + + + Methods to provide synchronizes access to objects. + + + + + Acquire exclusive lock on the specified object. + + The object on which to acquire the monitor lock. + lockingObject parameter is null. + + + + Releases the exclusive lock on the specified object. + + The object on which to release the lock. + lockingObject parameter is null. + The current thread does not own the lock for the specified object. + + + + Attempt to acquire the exclusive lock of the specified object. + + The object on which to acquire the monitor lock. + true if the current thread acquires the lock; otherwise, false. + lockingObject parameter is null. + + + + Extended Service Type Enumeration for internal use. + + + + + Extended Service Interface status types for + Extended Service Status message. + + + + + Configuration bit field for Ex-Service Request/or Response. + + + + + Extended Service Request. + + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned int + + + unsigned char[] + + + + Implements DSA digital signature algorithm. + + + + + Initializes a new instance of the class. + + The DSA key. + key + + + + Verifies the signature. + + The input. + The signature. + + True if signature was successfully verified; otherwise false. + + Invalid signature. + + + + Creates the signature. + + The input. + + Signed input data. + + Invalid DSA key. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Implements CTR cipher mode + + + + + Base class for cipher mode implementations + + + + + Gets the cipher. + + + + + Gets the IV vector. + + + + + Holds block size of the cipher. + + + + + Initializes a new instance of the class. + + The iv. + + + + Initializes the specified cipher mode. + + The cipher. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Base class for asymmetric cipher implementations. + + + + + Represents private key information + + + + + Initializes a new instance of the class. + + The private key. + + + + Initializes a new instance of the class. + + Name of the file. + is null or empty. + This method calls internally, this method does not catch exceptions from . + + + + Initializes a new instance of the class. + + Name of the file. + The pass phrase. + is null or empty, or is null. + This method calls internally, this method does not catch exceptions from . + + + + Initializes a new instance of the class. + + The private key. + The pass phrase. + or is null. + + + + Opens the specified private key. + + The private key. + The pass phrase. + + + + Decrypts encrypted private key file data. + + The cipher info. + Encrypted data. + Decryption pass phrase. + Decryption binary salt. + Decrypted byte array. + cipherInfo + , , or is null. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the host key. + + + + + Reads next mpint data type from internal buffer where length specified in bits. + + mpint read. + + + + Represents SSH_MSG_IGNORE message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The data. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets ignore message data if any. + + + + + Represents "exec" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The command. + Encoding. + is null. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets command to execute. + + + The command. + + + + + Gets the encoding. + + + The encoding. + + + + + Represents SSH_MSG_USERAUTH_FAILURE message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets or sets the allowed authentications if available. + + + The allowed authentications. + + + + + Gets failure message. + + + + + Gets a value indicating whether authentication is partially successful. + + + true if partially successful; otherwise, false. + + + + + PipeStream is a thread-safe read/write data stream for use between two threads in a + single-producer/single-consumer type problem. + + 2006/10/13 1.0 + Update on 2008/10/9 1.1 - uses Monitor instead of Manual Reset events for more elegant synchronicity. + + Copyright (c) 2006 James Kolpack (james dot kolpack at google mail) + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + + Queue of bytes provides the datastructure for transmitting from an + input stream to an output stream. + + Possible more effecient ways to accomplish this. + + + + Indicates that the input stream has been flushed and that + all remaining data should be written to the output stream. + + + + + Maximum number of bytes to store in the buffer. + + + + + Setting this to true will cause Read() to block if it appears + that it will run out of data. + + + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + + An I/O error occurs. 2 + + + + When overridden in a derived class, sets the position within the current stream. + + + The new position within the current stream. + + A byte offset relative to the origin parameter. + A value of type indicating the reference point used to obtain the new position. + An I/O error occurs. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. 1 + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + An I/O error occurs. + Methods were called after the stream was closed. 2 + + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + The zero-based byte offset in buffer at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The sum of offset and count is larger than the buffer length. + Methods were called after the stream was closed. + The stream does not support reading. + buffer is null. + An I/O error occurs. + offset or count is negative. 1 + + + + Returns true if there are + + The count. + True if data available; otherwisefalse. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + An array of bytes. This method copies count bytes from buffer to the current stream. + An I/O error occurs. + The stream does not support writing. + Methods were called after the stream was closed. + buffer is null. + The sum of offset and count is greater than the buffer length. + offset or count is negative. 1 + + + + Gets or sets the maximum number of bytes to store in the buffer. + + The length of the max buffer. + + + + Gets or sets a value indicating whether to block last read method before the buffer is empty. + When true, Read() will block until it can fill the passed in buffer and count. + When false, Read() will not block, returning all the available buffer data. + + + Setting to true will remove the possibility of ending a stream reader prematurely. + + + true if block last read method before the buffer is empty; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + + + true if the stream supports reading; otherwise, false. + + 1 + + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + + + true if the stream supports seeking; otherwise, false. + + 1 + + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + + + true if the stream supports writing; otherwise, false. + + 1 + + + + When overridden in a derived class, gets the length in bytes of the stream. + + + A long value representing the length of the stream in bytes. + + + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. 1 + + + + When overridden in a derived class, gets or sets the position within the current stream. + + + The current position within the stream. + + An I/O error occurs. + The stream does not support seeking. + Methods were called after the stream was closed. 1 + + + + Holds information about key size and cipher to use + + + + + Initializes a new instance of the class. + + Size of the key. + The cipher. + + + + Gets the size of the key. + + + The size of the key. + + + + + Gets the cipher. + + + + + Provides additional information for asynchronous command execution + + + + + Gets or sets the command that async result was created for. + + The channel. + + + + Initializes a new instance of the class. + + The command. + + + + Gets or sets the bytes received. If SFTP only file bytes are counted. + + Total bytes received. + + + + Gets or sets the bytes sent by SFTP. + + Total bytes sent. + + + + Gets a user-defined object that qualifies or contains information about an asynchronous operation. + + A user-defined object that qualifies or contains information about an asynchronous operation. + + + + Gets a that is used to wait for an asynchronous operation to complete. + + A that is used to wait for an asynchronous operation to complete. + + + + Gets a value that indicates whether the asynchronous operation completed synchronously. + + true if the asynchronous operation completed synchronously; otherwise, false. + + + + Gets a value that indicates whether the asynchronous operation has completed. + + true if the operation is complete; otherwise, false. + + + + HTTP Server + + + + + Default HTTP Server name + + + + + Creates a new instance of the HttpServer class + + + + + Creates a new instance of the HttpServer class and allows for providing the desired adapter to bind to + + Adapter To Bind To + + + + Creates a new instance of the HttpServer class and registers the incoming parameter as a callback for this HTTP Server object + + Function to be called when an HTTPRequest is handled + + + + Creates a new instance of the HttpServer class and registers the incoming parameter as a callback for this HTTP Server object + + Function to be called when an HTTPRequest is handled + Adapter To Bind To + + + + Get worker class type. + + + + + + Handles the HTTP Request for the HTTP server for the specified Connection. + + A object. + A object. + A object. + + + + Controls whether to use HTTP Keep-Alive to keep the connection alive between requests. + If enabled (true), once a request is made and a connection is established, this connection is kept open and used for future requests. + If disabled, the connection is closed, and a new connection is created for future requests. + + Default value is true. + + + + Controls whether HTTP Requests are validated or not. + + + + + Get or Set the name of the HTTP Server Instance. Defaults to "SimplSharp HTTP Server" + + + + + This event is fired whenever an HTTP request is received by the server. + + + + + HttpWorker class determines all synchronous HTTP workers to handle the individual connections. + They are created by the Listener whenever a new connection comes in. + + + + + Creates an instance of the HTTPWorker Class. + + + + + Process the Requests for this HTTP Worker + + + + + Processes HTTP requests. + + + + + Gets the HttpServer object which is the owner of the HttpWorker. + + + + + OnHttpRequestHandler Delegate + + An object representing the sender of the event + An object. + + + + OnHttpRequestArgs class + + + + + Creates an instance of the OnHttpRequestArgs class with Connection, Request, and Response parameters + + A object. + A object. + A object. + + + + Gets the Request property of the OnHttpRequestArgs instance. + + + + + Gets the Response property of the OnHttpRequestArgs instance. + + + + + ConnectionPool class determines a connection pool which is used to represent outgoing connections, + and is not used to represent incoming connections because they are not used for pooling. + + + + + ConnectionPool constructor with V4 and V6 Binding parameters. + + A object. + A object. + + + + Default ConnectionPool constructor + + + + + Cleans up the ConnectionPool instances. + + Not used. + + + + Get the connection for the specified EndPoint. + + + + + + + Get the connection for the specified EndPoint. + + The endpoint to connect to + TRUE to connect before returning the connection + + + + + Gets a new connection for the specified Endpoint. + + + + + + + Gets a new connection for the specified Endpoint. + + + TRUE to connect before returning the connection + + + + + Releases the Connection for the specified Connection parameter. + + A object.c + + + + Disposes of all the ConnectionPool object elements. + + + + + Obsolete - please use BindingV4 and BindingV6 instead. + + + + + IPv4 Binding support. + + + + + IPv6 Binding support. + + + + + Represents the Maximum number of Queues per host in the Connection Pool. + + + + + Represents the timeout for a Connection Pool. + + + + + Gets or sets the Connection Factory in the ConnectionPool + + + + + Get or set the Connection Class in the ConnectionPool + + + + + Replacement class of System.Threading.ThreadPool for Mono in 4-series + + + + + Retrieves the number of requests to the thread pool that can be active concurrently. + All requests above that number remain queued until thread pool threads become + available. + + + + + + + Queues a method for execution. The method executes when a thread pool thread + becomes available. + + + + + + + Queues a method for execution, and specifies an object containing data to + be used by the method. The method executes when a thread pool thread becomes + available. + + + + + + + + Sets the number of requests to the thread pool that can be active concurrently. + All requests above that number remain queued until thread pool threads become + available. + + + + + + + + Provides LINQ to XML extension methods for CrestronXmlLinq + + + + + Returns the ancestors of every node in the source collection. + + The type of the objects in source, constrained to + The source collection + An containing the ancestors of every node in the source collection + If multiple nodes in the source collection have the same ancestor, + the ancestor will be included multiple times in the result collection. + Avoid this using the Distinct method. + + + + Returns a filtered collection containing the ancestors of the nodes in the source collection + matching the specified . + + The type of the objects in source, constrained to + The source collection + The to match + a filtered collection containing the ancestors of the nodes in the source collection + matching the specified + If multiple nodes in the source collection have the same ancestor, + the ancestor will be included multiple times in the result collection. + Avoid this using the Distinct method. + + + + Returns a collection of elements that contains every element in the source collection including their ancestors. + + An of to get the elements and ancestors for. + A collection of elements that contains every element in the source collection including their ancestors + If multiple nodes in the source collection have the same ancestor, + the ancestor will be included multiple times in the result collection. + Avoid this using the Distinct method. + + + + Returns a filtered collection of elements and their ancestors matching the specified . + + An of to get the elements and ancestors for. + The to match + A filtered collection of elements and their ancestors matching the specified . + If multiple nodes in the source collection have the same ancestor, + the ancestor will be included multiple times in the result collection. + Avoid this using the Distinct method. + + + + Returns a collection of the attributes of the in the source collection. + + An of to get the attributes for. + A collection of the attributes of the elements in the source collection + Namespaces are also considered as attributes and will also be returned + + + + Returns a filtered collection of the attributes of the elements in the source collection matching the specified . + + An of to get the attributes for + The XName to match + A filtered collection of the attributes of the elements in the source collection matching the specified + Namespaces are also considered as attributes and will also be returned + + + + Returns the descendant nodes of the document and elements in the source collection. + + The type of the objects in source, constrained to + The collection to get the descendant nodes for. + The descendant nodes of the document and elements in the source collection + This method is used on and + + + + Returns all nodes and descendants of the source collection + + An of to to get nodes and descendants for + A collection of all nodes and descendants of the source collection + + + + Returns the descendants of the elements in the source collection + + The type of objects in the source collection, constrained to + The source collection of to get descendants for. + The descendants of the elements in the source collection + + + + Returns a filtered collection of descendants of the elements in the source collection matching the specified + + The type of objects in the source collection, constrained to + The source collection of to get descendants for. + The to match + The descendants of the elements in the source collection matching the specified + + + + Returns a collection of all the elements in the source collection and their descendants. + + An of to get elements and descendants for + A collection of all the elements in the source collection and their descendants + + + + Returns a filtered collection of the elements in the source collection and their descendants matching the specified . + + An of to get elements and descendants for + The XName to match + A filtered collection of the elements in the source collection and their descendants matching the specified + + + + Returns a filtered collection of child elements in the source collection matching the specified + + The type of the objects in source, constrained to + An of containing the source collection + The to match + A filtered collection of child elements in the source collection matching the specified + + + + Returns a collection of the child elements of every element and document in the source collection. + + The type of the objects in source, constrained to + An of containing the source collection + All child elements of every element and document in the source collection + + + + Returns a sorted collection of the nodes in the source collection + + The type of the objects in source, constrained to + The source collection of + A sorted collection of the nodes in the source collection + + + + Returns the child nodes of all documents and elements in the source collection + + The type of the objects in source, constrained to + The source collection of + All the child nodes of all documents and elements in the source collection + + + + Removes every attribute in the source collection from its parent element + + The source collection of + + + + Removes every node in the source collection from its parent node + + The type of the objects in source, constrained to + The source collection of + + + + Specifies load options when parsing XML. + + + + + Does not preserve insignificant white space or load base URI and line information. + + + + + Preserves insignificant white space while parsing. + + + + + Requests the base URI information from the XmlReader, and makes + it available via the CrestronXmlLinq.XObject.BaseUri property. + + + + + Requests the line information from the XmlReader and makes it + available via properties on CrestronXmlLinq.XObject. + + + + + Specifies serialization options. + + + + + Format (indent) the XML while serializing. + + + + + Preserve all insignificant white space while serializing. + + + + + Initializes a new instance of the XAttribute class from another XAttribute object. + + + + + Represents a node or an attribute in an XML tree. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + true if IXmlLineInfo.LineNumber and IXmlLineInfo.LinePosition + can be provided; otherwise, false. + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, + IXmlLineInfo.HasLineInfo() returns false). + + + + Gets the current line position. + + Returns: + The current line position or 0 if no line information is available (for example, + IXmlLineInfo.HasLineInfo() returns false). + + + + + Removes the annotations of the specified type from this CrestronXmlLinq.XObject. + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this CrestronXmlLinq.XObject. + + The System.Type of annotations to remove. + + + + Adds an object to the annotation list of this CrestronXmlLinq.XObject. + + An System.Object that contains the annotation to add. + The annotation parameter is null + + + + Get the first annotation object of the specified type from this CrestronXmlLinq.XObject. + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no + annotation is of the specified type. + + + + + Gets the first annotation object of the specified type from this CrestronXmlLinq.XObject. + + The System.Type of the annotation to retrieve. + The System.Object that contains the first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Removes the annotations of the specified type from this CrestronXmlLinq.XObject. + + The type of annotations to remove. + A collection that contains the annotations that match the specified type for this CrestronXmlLinq.XObject. + + + + Gets a collection of annotations of the specified type for this CrestronXmlLinq.XObject. + + The System.Type of the annotations to retrieve. + A collection that contains the annotations that match the specified type for this CrestronXmlLinq.XObject. + + + + Gets a value indicating whether the class can return line information. + + true if IXmlLineInfo.LineNumber and IXmlLineInfo.LinePosition + can be provided; otherwise, false. + + + + + Checks for referential equality for two XObjects + + The left value + The right value + true if the XObjects are the same reference; false otherwise + + + + Checks for referential inequality for two XObjects + + The left value + The right value + true if the XObjects are different references; false otherwise + + + + Gets the hash code for this XObject + + The hash code + + + + Determines if the specified object is equal to the current XObject + + The object to compare + true if the object is equal to the current XObject; false otherwise + + + + Gets the base URI for this XObject. + + + + + Gets the XDocument for this XObject. + + + + + Gets the node type for this node + + + + + Gets the parent XElement of this XObject. + + + + + Gets the current line number. + + + + + Gets the current line position. + + + + + Initializes a new instance of the XAttribute class from another XAttribute object. + + XAttribute object + The other parameter is null. + + + + Initializes a new instance of the XAttribute class from from the + specified name and value. + + The CrestronXmlLinq.XName of the attribute. + An object containing the value of the attribute. + The name or value parameter is null. + + + + Gets the Type of the current instance. + + The System.Type instance that represents the exact runtime type of the current instance. + + + + Removes this attribute from its parent element. + + + + + Sets the value of this attribute. + + The value to assign to this attribute. + + The value parameter is null. + + + + Converts the current CrestronXmlLinq.XAttribute object to a string representation. + + A System.String containing the XML text representation of an attribute and its value. + + + + Gets the base URI for this XObject. + + + + + Gets the XDocument for this XObject. + + + + + Gets an empty collection of attributes. + + + + + Determines if this attribute is a namespace declaration. + + + + + Gets the expanded name of this attribute. + + + + + Gets the expanded name of this attribute. + + + + + Gets the next attribute of the parent element. + + + + + Gets the node type for this node + + + + + Gets the parent XElement of this XObject. + + + + + Gets the previous attribute of the parent element. + + + + + Gets or sets the value of this attribute. + + + + + Represents a text node that contains CDATA. + + + + + Represents a text node. + + + + + Represents the concept of a node (one of: element, comment, document + type, processing instruction, or text node) in the XML tree. + + + + + Initializes a new instance of the XNode class. + + + + + Gets the Type of the current instance. + + The exact runtime type of the current instance. + + + + Adds the specified content immediately after this node. + + A content object that contains simple content or a collection of content + objects to be added after this node. + The parent is null. + + + + + Adds the specified content immediately after this node. + + A parameter list of content objects. + The parent is null. + + + + + Adds the specified content immediately before this node + + A content object that contains simple content or a collection of content + objects to be added before this node. + + The parent is null. + + + + + Adds the specified content immediately before this node. + + A parameter list of content objects. + + The parent is null. + + + + + Returns a collection of the ancestor elements of this node. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + of the ancestor elements of this node. + + + + + Returns a filtered collection of the ancestor elements of this node. + Only elements that have a matching XName are included in the collection. + + The CrestronXmlLinq.XName to match. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + of the ancestor elements of this node. Only elements that have a matching + CrestronXmlLinq.XName are included in the collection.The nodes in the returned + collection are in reverse document order.This method uses deferred execution. + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlReader for this node. + + An Crestron.SimplSharp.CrestronXml.XmlReader that can be used to read this node and its descendants. + + + + + Returns a collection of the sibling elements after this node, in document + order. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + of the sibling elements after this node, in document order. + + + + + Returns a filtered collection of the sibling elements after this node, in + document order. Only elements that have a matching CrestronXmlLinq.XName + are included in the collection. + + The CrestronXmlLinq.XName to match. + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + of the sibling elements after this node, in document order. Only elements + that have a matching CrestronXmlLinq.XName are included in the collection. + + + + + Returns a collection of the sibling elements before this node, in document + order. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + of the sibling elements before this node, in document order. + + + + + Returns a filtered collection of the sibling elements before this node, in + document order. Only elements that have a matching CrestronXmlLinq.XName + are included in the collection. + + The CrestronXmlLinq.XName to match. + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + of the sibling elements before this node, in document order. Only elements + that have a matching CrestronXmlLinq.XName are included in the collection. + + + + + Determines if the current node appears after a specified node in terms of + document order. + + The CrestronXmlLinq.XNode to compare for document order. + true if this node appears after the specified node; otherwise false. + + + + + Determines if the current node appears before a specified node in terms of + document order. + + The CrestronXmlLinq.XNode to compare for document order. + true if this node appears before the specified node; otherwise false. + + + + + Returns a collection of the sibling nodes after this node, in document order. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XNode of + the sibling nodes after this node, in document order. + + + + + Returns a collection of the sibling nodes before this node, in document order. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XNode of + the sibling nodes before this node, in document order. + + + + + Removes this node from its parent. + + The parent is null. + + + + + Replaces this node with the specified content. + + Content that replaces this node. + + + + + Replaces this node with the specified content. + + A parameter list of the new content. + + + + + Converts the current CrestronXmlLinq.XAttribute object to a string representation. + + Returns the XML for this node. + + + + Converts the current CrestronXmlLinq.XAttribute object to a string representation. + + A value that specifies formatting behavior. + Returns the XML for this node, optionally disabling formatting. + + + + + Writes this node to an XmlWriter. + + + An XmlWriter into which this method will write. + + + + + Compares the values of two nodes, including the values of all descendant nodes. + + The first XNode to compare + The second XNode to compare + true if the nodes are equal; otherwise false + + + + Compares two nodes to determine their relative XML document order. + + The first XNode to compare + The second XNode to compare + An int containing 0 if the nodes are equal; -1 if n1 is before n2; 1 if n1 is after n2. + The two nodes do not share a common ancestor. + + + + Creates an XNode from an XmlReader. + + A XmlReader positioned at the node to read into this XNode. + An XNode that contains the node and its descendant nodes + that were read from the reader. The runtime type of the node is determined + by the node type (XObject.NodeType) of the first node encountered + in the reader. + The XmlReader is not positioned on a recognized node type. + The underlying XmlReader throws an exception. + The reader parameter is null + + + + Returns the corresponding CrestronXmlLinq.XNode type for the specified System.Xml.Linq.XNode + + The System.Xml.Linq.XNode to wrap + The corresponding CrestronXmlLinq.XNode type + + + + Gets the base URI for this XObject. + + + + + Gets the node type for this node + + + + + Gets the XDocument for this XObject. + + + + + Gets the next sibling node of this node. + + The CrestronXmlLinq.XNode that contains the next sibling node. + + + + + Gets the previous sibling node of this node. + + The CrestronXmlLinq.XNode that contains the previous sibling node. + + + + + Gets the parent XElement of this XObject. + This will return null if the parent is null. + + + + + Represents a text node. + + + + + Initializes a new instance of the CrestronXmlLinq.XText class. + + The System.String that contains the value of the Crestron.SimplSharp.CrestronXmlLinq.XText node. + + + + Initializes a new instance of the Crestron.SimplSharp.CrestronXmlLinq.XText class from another + CrestronXmlLinq.XText object. + + The Crestron.SimplSharp.CrestronXmlLinq.XText node to copy from. + The other parameter is null + + + + Gets a collection of annotations of the specified type for this XObject. + + The System.Type of the annotations to retrieve. + A collection that contains the annotations that match the specified type for this text node. + + + + Creates an XmlReader for this node. + + A + new XmlReader instance for this node. + + + + Gets the previous sibling node of this node. + + + + + Gets the XDocument for this XObject. + + + + + Initializes a new instance of the Crestron.SimplSharp.CrestronXmlLinq.XCData class. + + A string that contains the value of the CrestronXmlLinq.XCData node. + + + + Initializes a new instance of the CrestronXmlLinq.XCData class. + + The Crestron.SimplSharp.CrestronXmlLinq.XCData node to copy from. + The other parameter is null + + + + Adds an object to the annotation list of this XObject. + + An System.Object that contains the annotation to add. + + + + Get the first annotation object of the specified type from this XObject. + + The type of annotation to retrieve. + The first annotation object of the specified type from this XObject + + + + Gets a collection of annotations of the specified type for this XObject. + + The System.Type of the annotations to retrieve. + A collection that contains the annotations that match the specified type for this XCData node. + + + + Gets a collection of annotations of the specified type for this XObject. + + The type of annotations to retrieve. + A collection that contains the annotations that match the specified type for this XCData node. + + + + Gets the previous sibling node of this node. + + + + + XElement + + + + + Represents a node that can contain other nodes. + + + + + Adds the specified content as children of this CrestronXmlLinq.XContainer. + + + A content object containing simple content or a collection of content objects + to be added. + + + + + Adds the specified content immediately after this node. + + A parameter list of content objects. + + + + Adds the specified content as the first children of this document or element. + + A content object containing simple content or a collection of content objects + to be added. + + + + Adds the specified content as the first children of this document or element. + + A parameter list of content objects. + + + + + Creates an XmlWriter that can be used to add nodes to the CrestronXmlLinq.XContainer. + + An XmlWriter that is ready to have content written to it. + + + + Returns a collection of the descendant elements for this document or element, + in document order. + + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + containing the descendant elements of the CrestronXmlLinq.XContainer. + + + + + Returns a filtered collection of the descendant elements for this document + or element, in document order. Only elements that have a matching CrestronXmlLinq.XName + are included in the collection. + + The CrestronXmlLinq.XName to match. + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + containing the descendant elements of the CrestronXmlLinq.XContainer that + match the specified CrestronXmlLinq.XName. + + + + + Returns a collection of the descendant nodes for this document or element, + in document order. + + An System.Collections.Generic.IEnumerable of Crestron.SimplSharp.CrestronXmlLinq.XNode containing + the descendant nodes of the Crestron.SimplSharp.CrestronXmlLinq.XContainer, in document order. + + + + + Gets the first (in document order) child element with the specified Linq.XName. + + The CrestronXmlLinq.XName to match. + A CrestronXmlLinq.XElement that matches the specified CrestronXmlLinq.XName, + or null. + + + + + Gets a collection of annotations of the specified type for this XObject. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + containing the child elements of this CrestronXmlLinq.XContainer, in document + order. + + + + + Returns a filtered collection of the child elements of this element or document, + in document order. Only elements that have a matching CrestronXmlLinq.XName + are included in the collection. + + The CrestronXmlLinq.XName to match. + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + containing the children of the CrestronXmlLinq.XContainer that have a matching + CrestronXmlLinq.XName, in document order. + + + + + Returns a filtered collection of the ancestor elements of this node. + Only elements that have a matching XName are included in the collection. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XNode containing + the contents of this CrestronXmlLinq.XContainer, in document order. + + + + Removes the child nodes from this document or element. + + + + + Replaces the children nodes of this document or element with the specified + content. + + A content object containing simple content or a collection of content objects + that replace the children nodes. + + + + Replaces the children nodes of this document or element with the specified + content. + + A parameter list of content objects. + + + + Get the first child node of this node. + + An Crestron.SimplSharp.CrestronXmlLinq.XNode containing the first child node of the CrestronXmlLinq.XContainer. + + + + + Get the last child node of this node. + + An XNode containing the last child node of the XContainer. + + + + Initializes a new instance of the CrestronXmlLinq.XElement class from another + CrestronXmlLinq.XElement object. + + An CrestronXmlLinq.XElement object to copy from. + + + + + Initializes a new instance of the CrestronXmlLinq.XElement class from another + CrestronXmlLinq.XElement object. + + An CrestronXmlLinq.XElement object to copy from. + The other parameter is null + + + + Initializes a new instance of the XAttribute class from another XAttribute object. + + CrestronXmlLinq.XName that contains the name of the element. + The name parameter is null + + + + Initializes a new instance of the CrestronXmlLinq.XElement class from an + CrestronXmlLinq.XStreamingElement object. + + An CrestronXmlLinq.XStreamingElement that contains unevaluated queries that + will be iterated for the contents of this CrestronXmlLinq.XElement. + Invalid argument passed. + One of the arguments is null. + The other parameter is null + + + + Initializes a new instance of the CrestronXmlLinq.XElement class with the + specified name and content. + + An CrestronXmlLinq.XName that contains the element name. + The contents of the element. + The name parameter is null + + + + Initializes a new instance of the CrestronXmlLinq.XElement class with the + specified name and content. + + An CrestronXmlLinq.XName that contains the element name. + The initial content of the element. + The name parameter is null + + + + Initializes a new instance of the XElement class from a list of elements. + + XName name + List of XElements + The name parameter is null + + + + Initializes a new instance of the CrestronXmlLinq.XElement class from another + CrestronXmlLinq.XElement object. + + An CrestronXmlLinq.XName that contains the element name. + The initial content of the element. + The name parameter is null + + + + Returns a collection of elements that contain this element, and the ancestors + of this element. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + of elements that contain this element, and the ancestors of this element. + + + + + Returns a filtered collection of elements that contain this element, and + the ancestors of this element. Only elements that have a matching CrestronXmlLinq.XName + are included in the collection. + + The CrestronXmlLinq.XName to match. + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XElement + that contain this element, and the ancestors of this element. Only elements + that have a matching CrestronXmlLinq.XName are included in the collection. + + + + + Returns the CrestronXmlLinq.XAttribute of this CrestronXmlLinq.XElement that + has the specified CrestronXmlLinq.XName. + + The CrestronXmlLinq.XName of the CrestronXmlLinq.XAttribute to get. + An CrestronXmlLinq.XAttribute that has the specified CrestronXmlLinq.XName; + null if there is no attribute with the specified name. + + + + + Returns a collection of attributes of this element. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XAttribute + of attributes of this element. + + + + + Returns a filtered collection of attributes of this element. Only elements + that have a matching CrestronXmlLinq.XName are included in the collection. + + The CrestronXmlLinq.XName to match. + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XAttribute + CrestronXmlLinq.XName are included in the collection. + + + + + Returns a collection of the descendant nodes for this document or element, + in document order. + + An System.Collections.Generic.IEnumerable T of CrestronXmlLinq.XNode containing + the descendant nodes of the CrestronXmlLinq.XContainer, in document order. + + + + + Gets a collection of annotations of the specified type for this XObject. + + Returns a collection of elements that contain this element, and all descendant elements of this element, in document order. + + + + Gets a collection of annotations of the specified type for this XObject. + + Name to match. + Returns a collection of elements that contain this element, and all descendant elements of this element, in document order. + + + + Loads an CrestronXmlLinq.XElement from an XmlReader. + + A XmlReader that will be read for the content of the CrestronXmlLinq.XElement. + An CrestronXmlLinq.XElement that contains the XML that was read from the + specified XmlReader. + + The reader parameter is null + + + + Loads an CrestronXmlLinq.XElement from an XmlReader, optionally + preserving white space, setting the base URI, and retaining line information. + + A XmlReader that will be read for the content of the CrestronXmlLinq.XElement. + A CrestronXmlLinq.LoadOptions that specifies white space behavior, and whether + to load base URI and line information. + An CrestronXmlLinq.XElement that contains the XML that was read from the + specified XmlReader. + + The reader parameter is null + + + + Load an CrestronXmlLinq.XElement from a string that contains XML. + + String that contains XML + An XElement populated from the string that contains XML. + + + + Load an CrestronXmlLinq.XElement from a string that contains XML, optionally + preserving white space and retaining line information. + + String that contains XML + A that specifies white space behavior, + and whether to load base URI and line information. + An XElement populated from the string that contains XML. + + + + Removes nodes and attributes from this CrestronXmlLinq.XElement. + + + + + Removes the attributes of this CrestronXmlLinq.XElement. + + + + + Replaces the child nodes and the attributes of this element with the specified + content. + + The content that will replace the child nodes and attributes of this element. + + + + Replaces the child nodes and the attributes of this element with the specified + content. + + A parameter list of content objects. + + + + Serialize this element to a file. + + A XmlWriter that the CrestronXmlLinq.XElement will be written + to. + The writer parameter is null + + + + Sets the value of an attribute, adds an attribute, or removes an attribute. + + An CrestronXmlLinq.XName that contains the name of the attribute to change. + The value to assign to the attribute. The attribute is removed if the value + is null. Otherwise, the value is converted to its string representation and + assigned to the CrestronXmlLinq.XAttribute.Value property of the attribute. + + + + + Sets the value of a child element, adds a child element, or removes a child + element. + + An CrestronXmlLinq.XName that contains the name of the child element to change. + The value to assign to the child element. The child element is removed if + the value is null. Otherwise, the value is converted to its string representation + and assigned to the CrestronXmlLinq.XElement.Value property of the child + element. + The name parameter is null + + + + Sets the value of this element. + + The value to assign to this element. The value is converted to its string + representation and assigned to the CrestronXmlLinq.XElement.Value property + The value parameter is null + + + + Converts the current CrestronXmlLinq.XAttribute object to a string representation. + + A value that specifies formatting behavior. + Returns the XML for this XElement, optionally disabling formatting. + + + + Write this element to an XmlWriter. + + An XmlWriter into which this method will write. + The writer parameter is null + + + + Gets the default XNamespace of this XElement + + An XNamespace that contains the default namespace of this XElement + + + + Gets the namespace associated with a particular prefix for this XElement. + A null is returned if no namespace is associated with the prefix + + A string containing the namespace prefix to look up + An XNamespace for the namespace associated with the prefix for this XElement + + + + Gets the prefix associated with a namespace for this XElement + + The XNamespace to look up + A String that contains the namespace prefix + The ns parameter is null + + + + Replaces the attributes of this element with the specified content + + The content that will replace the attributes of this element + + + + Replaces the attributes of this element with the specified content + + A parameter list of content objects + + + + Cast the value of this XElement to a Decimal + + The XElement to cast to a Decimal + A Decimal that contains the content of this XElement + This exception is thrown if the element does not contain a valid Decimal value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable Decimal + + The XElement to cast to a Nullable Decimal + A Nullable Decimal that contains the content of this XElement + This exception is thrown if the element does not contain a valid Decimal value + + + + Cast the value of this XElement to a DateTime + + The XElement to cast to a DateTime + A DateTime that contains the content of this XElement + This exception is thrown if the element does not contain a valid DateTime value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable DateTime + + The XElement to cast to a Nullable DateTime + A Nullable DateTime that contains the content of this XElement + FormatException is thrown if the element does not contain a valid DateTime value + + + + Cast the value of this XElement to a TimeSpan + + The XElement to cast to a TimeSpan + A TimeSpan that contains the content of this XElement + This exception is thrown if the element does not contain a valid TimeSpan value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable TimeSpan + + The XElement to cast to a Nullable TimeSpan + A Nullable TimeSpan that contains the content of this XElement + This exception is thrown if the element does not contain a valid TimeSpan value + + + + Cast the value of this XElement to a Single + + The XElement to cast to a Single + A Single that contains the content of this XElement + This exception is thrown if the element does not contain a valid Single value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable Single + + The XElement to cast to a Nullable Single + A Nullable Single that contains the content of this XElement + This exception is thrown if the element does not contain a valid Single value + + + + Cast the value of this XElement to a Double + + The XElement to cast to a Double + A Double that contains the content of this XElement + This exception is thrown if the element does not contain a valid Double value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable Double + + The XElement to cast to a Nullable Double + A Nullable Double that contains the content of this XElement + This exception is thrown if the element does not contain a valid Double value + + + + Cast the value of this XElement to a Guid + + The XElement to cast to a Guid + A Guid that contains the content of this XElement + This exception is thrown if the element does not contain a valid Guid value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable Guid + + The XElement to cast to a Nullable Guid + A Nullable Guid that contains the content of this XElement + This exception is thrown if the element does not contain a valid Guid value + + + + Cast the value of this XElement to an Int32 + + The XElement to cast to an Int32 + An Int32 that contains the content of this XElement + This exception is thrown if the element does not contain a valid Int32 value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable Int32 + + The XElement to cast to a Nullable Int32 + A Nullable Int32 that contains the content of this XElement + This exception is thrown if the element does not contain a valid Int32 value + + + + Cast the value of this XElement to a boolean + + The XElement to cast to a boolean + A boolean that contains the content of this XElement + This exception is thrown if the element does not contain a valid boolean value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable boolean + + The XElement to cast to a Nullable boolean + A Nullable boolean that contains the content of this XElement + This exception is thrown if the element does not contain a valid boolean value + + + + Cast the value of this XElement to a String + + The XElement to cast to a String + A String that contains the content of this XElement + + + + Cast the value of this XElement to a UInt32 + + The XElement to cast to a UInt32 + A UInt32 that contains the content of this XElement + This exception is thrown if the element does not contain a valid UInt32 value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable UInt32 + + The XElement to cast to a Nullable UInt32 + A Nullable UInt32 that contains the content of this XElement + This exception is thrown if the element does not contain a valid UInt32 value + + + + Cast the value of this XElement to a UInt64 + + The XElement to cast to a UInt64 + A UInt64 that contains the content of this XElement + This exception is thrown if the element does not contain a valid UInt64 value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable UInt64 + + The XElement to cast to a Nullable UInt64 + A Nullable UInt64 that contains the content of this XElement + This exception is thrown if the element does not contain a valid UInt64 value + + + + Cast the value of this XElement to an Int64 + + The XElement to cast to an Int64 + An Int64 that contains the content of this XElement + This exception is thrown if the element does not contain a valid Int64 value + This exception is thrown if the element parameter is null + + + + Cast the value of this XElement to a Nullable Int64 + + The XElement to cast to a Nullable Int64 + A Nullable Int64 that contains the content of this XElement + This exception is thrown if the element does not contain a valid Int64 value + + + + Gets the first attribute of this element. + + An CrestronXmlLinq.XAttribute that contains the first attribute of this element or null. + + + + Gets a value indicating whether this element as at least one attribute. + + true if this element has at least one attribute; otherwise false. + + + + Gets a value indicating whether this element has at least one child element. + + true if this element has at least one child element; otherwise false. + + + + Gets a value indicating whether this element contains no content. + + true if this element contains no content; otherwise false. + + + + Gets the last attribute of this element. + + An CrestronXmlLinq.XAttribute that contains the last attribute of this element or null. + + + + Gets the name of this element. + + The string that contains the name of this element. + + + + Gets the name of this element. + + An CrestronXmlLinq.XName that contains the name of this element. + + + + Gets the node type for this node. + + An CrestronXmlLinq.XAttribute that contains the last attribute of this element. + + + + Gets the concatenated text contents of this element. + + A System.String that contains all of the text content of this element. If + there are multiple text nodes, they will be concatenated. + + + + Gets an empty collection of elements + + + + + Represents an XML comment.. + + + + + Initializes a new instance of the CrestronXmlLinq.XComment class with the + specified string content. + + A string that contains the contents of the new CrestronXmlLinq.XComment object. + + + + Gets or sets the string value of this comment. + + A System.String that contains the string value of this comment. + + + + Initializes a new instance of the XAttribute class from another XAttribute object. + + + + + Initializes a new instance of the CrestronXmlLinq.XElement class from the + specified CrestronXmlLinq.XName. + + An CrestronXmlLinq.XName that contains the name of the element. + The name parameter is null + + + + Initializes an XStreamingElement object with the specified XName and content + + An XName that contains the element name + The content to initialize the XStreamingElement with + + + + Initializes an XStreamingElement object with the specified XName and content + + An XName that contains the element name + The content to initialize the XStreamingElement with + + + + Returns the formatted (indented) XML for this streaming element + + A String containing the indented XML + + + + Returns the XML for this streaming element, optionally disabling formatting + + A SaveOptions that specifies formatting behavior + A String containing the XML + + + + Checks for referential equality for two XStreamingElements + + The left value + The right value + true if the XStreamingElements are the same reference; false otherwise + + + + Checks for referential inequality between two XStreamingElements + + The left value + The right value + true if the XStreamingElements are different references; false otherwise + + + + Gets the hash code for this XStreamingElement + + The hash code + + + + Determines if the specified object is equal to the current XStreamingElement + + The object to compare + true if the object is equal to the current XStreamingElement; false otherwise + + + + Initializes a new instance of the CrestronXmlLinq.XDeclaration class from + another CrestronXmlLinq.XDeclaration object. + + + + + Initializes a new instance of the CrestronXmlLinq.XDeclaration class with + the specified version, encoding, and standalone status. + + The version of the XML, usually "1.0". + The encoding for the XML document. + A string containing "yes" or "no" that specifies whether the XML is standalone + or requires external entities to be resolved. + + + + + Initializes a new instance of the CrestronXmlLinq.XDeclaration class from + another CrestronXmlLinq.XDeclaration object. + + The CrestronXmlLinq.XDeclaration used to initialize this CrestronXmlLinq.XDeclaration + object. + The other parameter is null + + + + Initializes a new instance of the CrestronXmlLinq.XDeclaration class from + another CrestronXmlLinq.XDeclaration object. + + The CrestronXmlLinq.XDeclaration used to initialize this CrestronXmlLinq.XDeclaration + + + + Provides the declaration as a formatted string + + A string containing the formatted XML string + + + + Checks for referential equality between two XDeclarations + + The left value + The right value + true if the XDeclarations are the same reference; false otherwise + + + + Checks for referential inequality between two XDeclarations + + The left value + The right value + true if the XDeclarations are different references; false otherwise + + + + Gets the hash code for this XDeclaration + + The hash code + + + + Determines if the specified object is equal to the current XDeclaration + + The object to compare + true if the object is equal to the current XDeclaration; false otherwise + + + + Gets or sets the encoding for this document. + + A System.String containing the code page name for this document. + + + + Gets or sets the standalone property for this document. + + A System.String containing the standalone property for this document. + + + + + Gets or sets the version property for this document. + + A System.String containing the version property for this document. + + + + Represents an XML Document Type Definition (DTD). + + + + + Initializes an instance of the CrestronXmlLinq.XDocumentType class. + + A System.String that contains the qualified name of the DTD, which is the + same as the qualified name of the root element of the XML document. + A System.String that contains the public identifier of an external public + DTD. + A System.String that contains the system identifier of an external private + DTD. + A System.String that contains the internal subset for an internal DTD. + + + + Initializes an instance of the CrestronXmlLinq.XDocumentType class from another + CrestronXmlLinq.XDocumentType object. + + An CrestronXmlLinq.XDocumentType object to copy from. + The other parameter is null + + + + Writes this XDocumentType to an XmlWriter + + An XmlWriter into which this method will write + The specified writer is null + + + + Gets or sets the internal subset for this Document Type Definition + + + + + Gets or sets the name for this Document Type Definition + + + + + Gets the node type for this node + + + + + Gets or sets the public identifier for this Document Type Definition + + + + + Gets or sets the system identifier for this Document Type Definition + + + + + Represents an XML document. + + + + + For internal use + + the System XDocument to use + + + + Initializes a new instance of the Crestron.SimplSharp.CrestronXmlLinq.XDocument class. + + + + + + Initializes a new instance of the Crestron.SimplSharp.CrestronXmlLinq.XDocument class with the + specified content. + + A parameter list of content objects to add to this document. + + + + Initializes a new instance of the Crestron.SimplSharp.CrestronXmlLinq.XDocument class from an + existing Crestron.SimplSharp.CrestronXmlLinq.XDocument object. + + The Crestron.SimplSharp.CrestronXmlLinq.XDocument object that will be copied. + The other parameter is null + + + + Initializes a new instance of the Crestron.SimplSharp.CrestronXmlLinq.XDocument class with the + specified Crestron.SimplSharp.CrestronXml.XDeclaration and content. + + An Crestron.SimplSharp.CrestronXmlLinq.XDeclaration for the document. + The content of the document. + + + + Creates a new Crestron.SimplSharp.CrestronXmlLinq.XDocument from an XmlReader. + + A Crestron.SimplSharp.CrestronXml.XmlReader that contains the content + for the Crestron.SimplSharp.CrestronXmlLinq.XDocument. + An XDocument that contains the contents of the specified file. + The reader parameter is null + + + + Loads an CrestronXmlLinq.XElement from an Crestron.SimplSharp.CrestronXml.XmlReader, optionally + setting the base URI, and retaining line information. + + Crestron.SimplSharp.CrestronXml.XmlReader that will be read for the content of the CrestronXmlLinq.XDocument. + A Crestron.SimplSharp.CrestronXmlLinq.LoadOptions that specifies whether to load base URI and + line information. + An XDocument that contains the contents of the specified file. + The reader parameter is null + + + + Creates a new Crestron.SimplSharp.CrestronXmlLinq.XDocument from a string. + + A string that contains XML. + An Crestron.SimplSharp.CrestronXmlLinq.XDocument populated from the string that contains XML. + + + + Creates a new Crestron.SimplSharp.CrestronXmlLinq.XDocument from a string, optionally preserving + white space, setting the base URI, and retaining line information. + + A string that contains XML. + A Crestron.SimplSharp.CrestronXmlLinq.LoadOptions that specifies white space behavior, and whether + to load base URI and line information. + An Crestron.SimplSharp.CrestronXmlLinq.XDocument populated from the string that contains XML. + + + + Serialize this Crestron.SimplSharp.CrestronXmlLinq.XDocument to an XmlWriter. + + A Crestron.SimplSharp.CrestronXml.XmlWriter that theCrestron.SimplSharp.CrestronXmlLinq.XDocument will be written + to. + The writer parameter is null + + + + Serialize this XDocument to a file. + + A string that contains the name of the file + Invalid directory location passed. + The user does not have the required permissions. + + + + Serialize this XDocument to a file, optionally disabling formatting. + + A string that contains the name of the file + SaveOptions that specifies formatting behavior + Invalid directory location passed. + The user does not have the required permissions. + + + + Serialize this XDocument to a Crestron.SimplSharp.CrestronIO.TextWriter. + + A TextWriter that the XDocument will be written to. + The textWriter parameter is null + + + + Serialize this XDocument to a Crestron.SimplSharp.CrestronIO.TextWriter, optionally disabling formatting. + + A TextWriter that the XDocument will be written to + SaveOptions that specifies formatting behavior + The textWriter parameter is null + + + + Write this document to an Crestron.SimplSharp.CrestronXml.XmlWriter. + + An Crestron.SimplSharp.CrestronXml.XmlWriter into which this method will write. + The writer parameter is null + + + + Gets or sets the XML declaration for this document. + + An Crestron.SimplSharp.CrestronXmlLinq.XDeclaration that contains the XML declaration for this + document. + + + + Gets the Document Type Definition (DTD) for this document. + + A Crestron.SimplSharp.CrestronXmlLinq.XDocumentType that contains the DTD for this document. + + + + Gets the root element of the XML Tree for this document. + + The root Crestron.SimplSharp.CrestronXmlLinq.XElement of the XML tree. + + + + Represents an XML processing instruction. + + + + + Creates a CrestronXmlLinq.XProcessingInstruction from the specified XProcessingInstruction, for internal use + + The System.Xml.XProcessingInstruction to wrap + + + + Initializes a new instance of the XProcessingInstruction + class. + + + The XProcessingInstruction node to copy from. + + + + + Initializes a new instance of the XProcessingInstruction + class. + + + A System.String containing the target application for this XProcessingInstruction. + + + The string data for this XProcessingInstruction. + + + The target or data parameter is null. + + + The target does not follow the constraints of an XML name. + + + + + Writes this processing instruction to an System.Xml.XmlWriter. + + + The System.Xml.XmlWriter to write this processing instruction to. + + The writer parameter is null + + + + Gets or sets the string value of this processing instruction. + + + A System.String that contains the string value of this processing instruction. + + + The string value is null. + + + + + Gets the node type for this node. + + + The node type. For XProcessingInstruction objects, this value + is System.Xml.XmlNodeType.ProcessingInstruction. + + + + + Gets or sets a string containing the target application for this processing + instruction. + + + A System.String containing the target application for this processing instruction. + + + The string value is null. + + + The target does not follow the constraints of an XML name. + + + + + Represents a name of an XML element or attribute. + + + + + Returns a value indicating whether two instances of System.Xml.Linq.XName + are not equal. + + + The first System.Xml.Linq.XName to compare. + + + The second System.Xml.Linq.XName to compare. + + + true if left and right are not equal; otherwise false. + + + + + Returns a value indicating whether two instances of System.Xml.Linq.XName + are equal. + + + The first System.Xml.Linq.XName to compare. + + + The second System.Xml.Linq.XName to compare. + + + true if left and right are equal; otherwise false. + + + + + Converts a string formatted as an expanded XML name (that is,{namespace}localname) + to an System.Xml.Linq.XName object. + + + A string that contains an expanded XML name in the format {namespace}localname. + + + An System.Xml.Linq.XName object constructed from the expanded name. + + + + + Determines whether the specified System.Xml.Linq.XName is equal to this System.Xml.Linq.XName. + + + The System.Xml.Linq.XName to compare to the current System.Xml.Linq.XName. + + + true if the specified System.Xml.Linq.XName is equal to the current System.Xml.Linq.XName; + otherwise false. + + + + + Determines whether the specified System.Xml.Linq.XName is equal to this System.Xml.Linq.XName. + + + The System.Xml.Linq.XName to compare to the current System.Xml.Linq.XName. + + + true if the specified System.Xml.Linq.XName is equal to the current System.Xml.Linq.XName; + otherwise false. + + + + + Gets an System.Xml.Linq.XName object from an expanded name. + + + A System.String that contains an expanded XML name in the format {namespace}localname. + + + An System.Xml.Linq.XName object constructed from the expanded name. + + + + + Gets an System.Xml.Linq.XName object from a local name and a namespace. + + + A local (unqualified) name. + + + An XML namespace. + + + An System.Xml.Linq.XName object created from the specified local name and + namespace. + + + + + Gets a hash code for this System.Xml.Linq.XName. + + + An System.Int32 that contains the hash code for the System.Xml.Linq.XName. + + + + + Returns the expanded XML name in the format {namespace}localname. + + + A System.String that contains the expanded XML name in the format {namespace}localname. + + + + + Gets the local (unqualified) part of the name. + + + A System.String that contains the local (unqualified) part of the name. + + + + + Gets the namespace part of the fully qualified name. + + + An System.Xml.Linq.XNamespace that contains the namespace part of the name. + + + + + Returns the URI of the System.Xml.Linq.XNamespace for this System.Xml.Linq.XName. + + + The URI of the System.Xml.Linq.XNamespace for this System.Xml.Linq.XName. + + + + + Represents an XML namespace. This class cannot be inherited. + + + + + Returns a value indicating whether two instances of System.Xml.Linq.XNamespace + are not equal. + + + The first System.Xml.Linq.XNamespace to compare. + + + The second System.Xml.Linq.XNamespace to compare. + + + A System.Boolean that indicates whether left and right are not equal. + + + + + Combines an System.Xml.Linq.XNamespace object with a local name to create + an System.Xml.Linq.XName. + + + An System.Xml.Linq.XNamespace that contains the namespace. + + + A System.String that contains the local name. + + + The new System.Xml.Linq.XName constructed from the namespace and local name. + + + + + Returns a value indicating whether two instances of System.Xml.Linq.XNamespace + are equal. + + + The first System.Xml.Linq.XNamespace to compare. + + + The second System.Xml.Linq.XNamespace to compare. + + + A System.Boolean that indicates whether left and right are equal. + + + + + Converts a string containing a Uniform Resource Identifier (URI) to an System.Xml.Linq.XNamespace. + + + A System.String that contains the namespace URI. + + + An System.Xml.Linq.XNamespace constructed from the URI string. + + + + + Determines whether the specified System.Xml.Linq.XNamespace is equal to the + current System.Xml.Linq.XNamespace. + + + The System.Xml.Linq.XNamespace to compare to the current System.Xml.Linq.XNamespace. + + + A System.Boolean that indicates whether the specified System.Xml.Linq.XNamespace + is equal to the current System.Xml.Linq.XNamespace. + + + + + Gets an System.Xml.Linq.XNamespace for the specified Uniform Resource Identifier + (URI). + + + A System.String that contains a namespace URI. + + + An System.Xml.Linq.XNamespace created from the specified URI. + + + + + Gets a hash code for this System.Xml.Linq.XNamespace. + + + An System.Int32 that contains the hash code for the System.Xml.Linq.XNamespace. + + + + + Returns an System.Xml.Linq.XName object created from this System.Xml.Linq.XNamespace + and the specified local name. + + + A System.String that contains a local name. + + + An System.Xml.Linq.XName created from this System.Xml.Linq.XNamespace and + the specified local name. + + + + + Returns the URI of this System.Xml.Linq.XNamespace. + + + The URI of this System.Xml.Linq.XNamespace. + + + + + Gets the Uniform Resource Identifier (URI) of this namespace. + + + A System.String that contains the URI of the namespace. + + + + + Gets the System.Xml.Linq.XNamespace object that corresponds to no namespace. + + + The System.Xml.Linq.XNamespace that corresponds to no namespace. + + + + + Gets the System.Xml.Linq.XNamespace object that corresponds to the XML URI + (http://www.w3.org/XML/1998/namespace). + + + The System.Xml.Linq.XNamespace that corresponds to the XML URI (http://www.w3.org/XML/1998/namespace). + + + + + Gets the System.Xml.Linq.XNamespace object that corresponds to the xmlns + URI (http://www.w3.org/2000/xmlns/). + + + The System.Xml.Linq.XNamespace that corresponds to the xmlns URI (http://www.w3.org/2000/xmlns/). + + + + + Compares nodes to determine whether they are equal + + + + + The underlying System XNodeEqualityComparer + + + + + Initializes a new XNodeEqualityComparer instance + + + + + Compares the values of two nodes + + The first XNode to compare + The second XNode to compare + true if the nodes are equal, false if otherwise + A null node is equal to another null node but unequal to a non-null node + Two XNode objects of different types are never equal + Two XText nodes are equal if they contain the same text + Two XElement nodes are equal if they have the same tag name, the same set of attributes with the same values, + and (ignoring comments and processing instructions), contain two equal-length sequences of pairwise equal content nodes + Two XDocument objects are equal if their root nodes are equal + Two XComment nodes are equal if they contain the same comment text + Two XProcessingInstruction nodes are equal if they have the same target and data + Two XDocumentType nodes are equal if the have the same name, public ID, system ID, and internal subset + + + + The IEqualityComparer implementation of Equals + + The first object to compare + The second object to compare + true if the objects are equal, false if otherwise + + + + Returns a hash code based on the specified XNode + + The XNode to hash + An Int32 that contains the value-based hash for the XNode + The hash returned is based on the value of the node and all it's descendants + + + + The IEqualityComparer implementation of GetHashCode + + The object to hash + The Int32 hash + + + + Provides methods that help you use X.509 v.3 certificates. + + + + + Initializes a new instance of the X509Certificate + class defined from a sequence of bytes representing an X.509v3 certificate. + + + A byte array containing data from an X.509 certificate. + + + An error with the certificate occurs. For example:The certificate file does + not exist.The certificate is invalid.The certificate's password is incorrect. + + + The rawData parameter is null.-or-The length of the rawData parameter is + 0. + + + + + Compares two X509Certificate + objects for equality. + + + An X509Certificate object to + compare to the current object. + + + true if the current X509Certificate + object is equal to the object specified by the other parameter; otherwise, + false. + + + + + Compares two X509Certificate + objects for equality. + + + An X509Certificate object to + compare to the current object. + + + true if the current X509Certificate + object is equal to the object specified by the other parameter; otherwise, + false. + + + + + Returns the hash value for the X.509v3 certificate as an array of bytes. + + + The hash value for the X.509 certificate. + + + + + Returns the hash value for the X.509v3 certificate as a hexadecimal string. + + + The hexadecimal string representation of the X.509 certificate hash value. + + + + + Returns the effective date of this X.509v3 certificate. + + + The effective date for this X.509 certificate. + + + + + Returns the expiration date of this X.509v3 certificate. + + + The expiration date for this X.509 certificate. + + + + + Returns the name of the format of this X.509v3 certificate. + + + The format of this X.509 certificate. + + + + + Returns the hash code for the X.509v3 certificate as an integer. + + + The hash code for the X.509 certificate as an integer. + + + + + Returns the name of the certification authority that issued the X.509v3 certificate. + + + The name of the certification authority that issued the X.509 certificate. + + + An error with the certificate occurs. For example:The certificate file does + not exist.The certificate is invalid.The certificate's password is incorrect. + + + + + Returns the key algorithm information for this X.509v3 certificate. + + + The key algorithm information for this X.509 certificate as a string. + + + The certificate context is invalid. + + + + + Returns the key algorithm parameters for the X.509v3 certificate. + + + The key algorithm parameters for the X.509 certificate as an array of bytes. + + + The certificate context is invalid. + + + + + Returns the key algorithm parameters for the X.509v3 certificate. + + + The key algorithm parameters for the X.509 certificate as a hexadecimal string. + + + The certificate context is invalid. + + + + + Returns the name of the principal to which the certificate was issued. + + + The name of the principal to which the certificate was issued. + + + The certificate context is invalid. + + + + + Returns the public key for the X.509v3 certificate. + + + The public key for the X.509 certificate as an array of bytes. + + + The certificate context is invalid. + + + + + Returns the public key for the X.509v3 certificate. + + + The public key for the X.509 certificate as a hexadecimal string. + + + + + Returns the raw data for the entire X.509v3 certificate. + + + A byte array containing the X.509 certificate data. + + + + + Returns the raw data for the entire X.509v3 certificate. + + + The X.509 certificate data as a hexadecimal string. + + + + + Returns the serial number of the X.509v3 certificate. + + + The serial number of the X.509 certificate as an array of bytes. + + + The certificate context is invalid. + + + + + Returns the serial number of the X.509v3 certificate. + + + The serial number of the X.509 certificate as a hexadecimal string. + + + + + Resets the state of the X509Certificate2 + object. + + + + + Returns a string representation of the current X509Certificate + object. + + + A string representation of the current X509Certificate + object. + + + + + Returns a string representation of the current X509Certificate + object, with extra information, if specified. + + + true to produce the verbose form of the string representation; otherwise, + false. + + + A string representation of the current X509Certificate + object. + + + + + Gets a handle to a Microsoft Cryptographic API certificate context described + by an unmanaged PCCERT_CONTEXT structure. + + + An System.IntPtr structure that represents an unmanaged PCCERT_CONTEXT structure. + + + + + Represents an X.509 certificate. This class cannot be inherited. + + + + + Initializes a new instance of the X509Certificate2 + class using information from a byte array. + + + A byte array containing data from an X.509 certificate. + + + An error with the certificate occurs. For example:The certificate file does + not exist.The certificate is invalid.The certificate's password is incorrect. + + + + + Initializes a new instance of the X509Certificate2 + class using an unmanaged handle. + + + A pointer to a certificate context in unmanaged code. The C structure is + called PCCERT_CONTEXT. + + + An error with the certificate occurs. For example:The certificate file does + not exist.The certificate is invalid.The certificate's password is incorrect. + + + + + Displays an X.509 certificate in text format. + + + The certificate information. + + + + + Displays an X.509 certificate in text format. + + + true to display the public key, private key, extensions, and so forth; false + to display information that is similar to the X509Certificate2 + class, including thumbprint, serial number, subject and issuer names, and + so on. + + + The certificate information. + + + + + Performs a X.509 chain validation using basic validation policy. + + + true if the validation succeeds; false if the validation fails. + + + The certificate is unreadable. + + + + + The exception that is thrown when an error occurs during a cryptographic + operation. + + + + + Initializes a new instance of the CryptographicException + class with default properties. + + + + + Initializes a new instance of the CryptographicException + class with the specified HRESULT error code. + + + The HRESULT error code. + + + + + Initializes a new instance of the CryptographicException + class with a specified error message. + + + The error message that explains the reason for the exception. + + + + + Initializes a new instance of the CryptographicException + class with a specified error message and a reference to the inner exception + that is the cause of this exception. + + + The error message that explains the reason for the exception. + + + The exception that is the cause of the current exception. If the inner parameter + is not null, the current exception is raised in a catch block that handles + the inner exception. + + + + + Initializes a new instance of the CryptographicException + class with a specified error message in the specified format. + + + The format used to output the error message. + + + The error message that explains the reason for the exception. + + + + + Specifies the name of the X.509 certificate store to open. + + + + + The X.509 certificate store for intermediate certificate authorities (CAs). + + + + + The X.509 certificate store for personal certificates. + + + + + The X.509 certificate store for trusted root certificate authorities (CAs). + + + + + Specifies the location of the X.509 certificate store. + + + + + The X.509 certificate store used by the current user. + + + + + The X.509 certificate store assigned to the local machine. + + + + + Specifies the way to open the X.509 certificate store. + + + + + Open the X.509 certificate store for reading only. + + + + + Open the X.509 certificate store for both reading and writing. + + + + + Open the X.509 certificate store for the highest access allowed. + + + + + Opens only existing stores; if no store exists, the X509Store.Open(OpenFlags) + method will not create a new store. + + + + + Open the X.509 certificate store and include archived certificates. + + + + + Represents an X.509 store, which is a physical store where certificates are + persisted and managed. This class cannot be inherited. + + + + + Initializes a new instance of the X509Store + class using the personal certificates of the current user store. + + + + + Initializes a new instance of the X509Store + class using the specified StoreName + and StoreLocation values. + + + One of the StoreName values. + + + One of the StoreLocation values. + + + storeLocation is not a valid location or storeName is not a valid name. + + + + + Initializes a new instance of the X509Store + class using a string representing a value from the StoreName + enumeration and a value from the StoreLocation + enumeration. + + + A string representing a value from the StoreName + enumeration. + + + One of the StoreLocation values. + + + storeLocation contains invalid values. + + + + + Closes an X.509 certificate store. + + + + + Opens an X.509 certificate store + + + The store is unreadable. + + + The caller does not have the required permission. + + + The store contains invalid values. + + + + + Returns a collection of certificates located in an X.509 certificate store. + + + An X509Certificate2Collection + object. + + + + + Gets the location of the X.509 certificate store. + + + One of the StoreLocation values. + + + + + Gets the name of the X.509 certificate store. + + + One of the StoreName values. + + + + + Enumerates the X509Certificate + objects in an X509CertificateCollection. + + + + + Initializes a new instance of the X509CertificateCollection.X509CertificateEnumerator + class for the specified X509CertificateCollection. + + + The X509CertificateCollection + to enumerate. + + + + + Advances the enumerator to the next element of the collection. + + + true if the enumerator was successfully advanced to the next element; false + if the enumerator has passed the end of the collection. + + + The collection was modified after the enumerator was instantiated. + + + + + Sets the enumerator to its initial position, which is before the first element + in the collection. + + + The collection is modified after the enumerator is instantiated. + + + + + Specifies the type of value searched for by the X509Certificate2Collection.Find(X509FindType,System.Object,System.Boolean) + method. + + + + + The findValue parameter for the X509Certificate2Collection.Find(X509FindType,System.Object,System.Boolean) + method must be a string representing the thumbprint of the certificate. + + + + + The findValue parameter for the X509Certificate2Collection.Find(X509FindType,System.Object,System.Boolean) + method must be a string representing the subject name of the certificate. + This is a less specific search than if you use the X509FindType.FindBySubjectDistinguishedName + enumeration value. Using the X509FindType.FindBySubjectName + value, the X509Certificate2Collection.Find(X509FindType,System.Object,System.Boolean) + method performs a case-insensitive string compare using the supplied value. + For example, if you pass "MyCert" to the X509Certificate2Collection.Find(X509FindType,System.Object,System.Boolean) + method, it will find all certificates with the subject name containing that + string, regardless of other subject values. Searching by distinguished name + is a more precise search. + + + + + Defines a collection that stores X509Certificate + objects. + + + + + Initializes a new instance of the X509CertificateCollection + class. + + + + + Initializes a new instance of the X509CertificateCollection + class from an array of X509Certificate + objects. + + + The array of X509Certificate + objects with which to initialize the new object. + + + + + Initializes a new instance of the X509CertificateCollection + class from another X509CertificateCollection. + + + The X509CertificateCollection + with which to initialize the new object. + + + + + Adds an X509Certificate with + the specified value to the current X509CertificateCollection. + + + The X509Certificate to add + to the current X509CertificateCollection. + + + The index into the current X509CertificateCollection + at which the new X509Certificate + was inserted. + + + + + Copies the elements of an array of type X509Certificate + to the end of the current X509CertificateCollection. + + + The array of type X509Certificate + containing the objects to add to the current X509CertificateCollection. + + + The value parameter is null. + + + + + Copies the elements of the specified X509CertificateCollection + to the end of the current X509CertificateCollection. + + + The X509CertificateCollection + containing the objects to add to the collection. + + + The value parameter is null. + + + + + Gets a value indicating whether the current X509CertificateCollection + contains the specified X509Certificate. + + + The X509Certificate to locate. + + + true if the X509Certificate + is contained in this collection; otherwise, false. + + + + + Copies the X509Certificate + values in the current X509CertificateCollection + to a one-dimensional System.Array instance at the specified index. + + + The one-dimensional System.Array that is the destination of the values copied + from X509CertificateCollection. + + + The index into array to begin copying. + + + The array parameter is multidimensional.-or- The number of elements in the + X509CertificateCollection is + greater than the available space between arrayIndex and the end of array. + + + The array parameter is null. + + + The arrayIndex parameter is less than the array parameter's lower bound. + + + + + Returns an enumerator that can iterate through the X509CertificateCollection. + + + An enumerator of the subelements of X509CertificateCollection + you can use to iterate through the collection. + + + + + Builds a hash value based on all values contained in the current X509CertificateCollection. + + + A hash value based on all values contained in the current X509CertificateCollection. + + + + + Returns the index of the specified X509Certificate + in the current X509CertificateCollection. + + + The X509Certificate to locate. + + + The index of the X509Certificate + specified by the value parameter in the X509CertificateCollection, + if found; otherwise, -1. + + + + + Inserts a X509Certificate into + the current X509CertificateCollection + at the specified index. + + + The zero-based index where value should be inserted. + + + The X509Certificate to insert. + + + + + Removes a specific X509Certificate + from the current X509CertificateCollection. + + + The X509Certificate to remove + from the current X509CertificateCollection. + + + The X509Certificate specified + by the value parameter is not found in the current X509CertificateCollection. + + + + + Removes the element at the specified index of the System.Collections.CollectionBase + instance. This method is not overridable. + + The zero-based index of the element to remove. + + index is less than zero.-or-index is equal to or greater than Collection + + + + + Removes all objects from the Collection instance. + This method cannot be overridden. + + + + + Gets or sets the entry at the specified index of the current X509CertificateCollection. + + + The zero-based index of the entry to locate in the current X509CertificateCollection. + + + The X509Certificate at the + specified index of the current X509CertificateCollection. + + + The index parameter is outside the valid range of indexes for the collection. + + + + + Gets the number of elements contained in the Collection + instance. This property cannot be overridden. + + + The number of elements contained in the Collection + instance.Retrieving the value of this property is an O(1) operation. + + + + + Represents a collection of X509Certificate2 + objects. This class cannot be inherited. + + + + + Initializes a new instance of the X509Certificate2Collection + class without any X509Certificate2 + information. + + + + + Initializes a new instance of the X509Certificate2Collection + class using an X509Certificate2 + object. + + + An X509Certificate2 object + to start the collection from. + + + + + Initializes a new instance of the X509Certificate2Collection + class using an array of X509Certificate2 + objects. + + + An array of X509Certificate2 + objects. + + + + + Initializes a new instance of the X509Certificate2Collection + class using the specified certificate collection. + + + An X509Certificate2Collection + object. + + + + + Adds an object to the end of the X509Certificate2Collection. + + + An X.509 certificate represented as an X509Certificate2 + object. + + + The X509Certificate2Collection + index at which the certificate has been added. + + + certificate is null. + + + + + Adds multiple X509Certificate2 + objects in an array to the X509Certificate2Collection + object. + + + An array of X509Certificate2 + objects. + + + certificates is null. + + + + + Adds multiple X509Certificate2 + objects in an X509Certificate2Collection + object to another X509Certificate2Collection + object. + + + An X509Certificate2Collection + object. + + + certificates is null. + + + + + Determines whether the X509Certificate2Collection + object contains a specific certificate. + + + The X509Certificate2 object + to locate in the collection. + + + true if the X509Certificate2Collection + contains the specified certificate; otherwise, false. + + + certificate is null. + + + + + Searches an X509Certificate2Collection + object using the search criteria specified by the X509FindType + enumeration and the findValue object. + + + One of the X509FindType values. + + + The search criteria as an object. + + + true to allow only valid certificates to be returned from the search; otherwise, + false. + + + An X509Certificate2Collection + object. + + + findType is invalid. + + + + + Inserts an object into the X509Certificate2Collection + object at the specified index. + + + The zero-based index at which to insert certificate. + + + The X509Certificate2 object + to insert. + + + index is less than zero.-or- index is greater than the System.Collections.CollectionBase.Count + property. + + + The collection is read-only.-or- The collection has a fixed size. + + + certificate is null. + + + + + Removes the first occurrence of a certificate from the X509Certificate2Collection + object. + + + The X509Certificate2 object + to be removed from the X509Certificate2Collection + object. + + + certificate is null. + + + + + Removes multiple X509Certificate2 + objects in an array from an X509Certificate2Collection + object. + + + An array of X509Certificate2 + objects. + + + certificates is null. + + + + + Removes multiple X509Certificate2 + objects in an X509Certificate2Collection + object from another X509Certificate2Collection + object. + + + An X509Certificate2Collection + object. + + + certificates is null. + + + + + Gets or sets the element at the specified index. + + + The zero-based index of the element to get or set. + + + The element at the specified index. + + + index is less than zero.-or- index is equal to or greater than the System.Collections.CollectionBase.Count + property. + + + index is null. + + + + + Method to read in an environment variables. + + Name of the variable. + The value of the environment variable specified by variable, or null if the environment variable is not found. + + + + Exposes a System.IO.Stream around a remote SFTP file, supporting both synchronous and asynchronous read and write operations. + + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Clears all buffers for this stream and causes any buffered data to be written to the file. + + An I/O error occurs. + Stream is closed. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + The sum of and is larger than the buffer length. + + + is null. + + + or is negative. + + An I/O error occurs. + + The stream does not support reading. + + Methods were called after the stream was closed. + + + + Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. + + + The unsigned byte cast to an Int32, or -1 if at the end of the stream. + + The stream does not support reading. + + Methods were called after the stream was closed. + Read operation failed. + + + + Sets the position within the current stream. + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + An I/O error occurs. + + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + + Methods were called after the stream was closed. + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + An I/O error occurs. + + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + + Methods were called after the stream was closed. + must be greater than zero. + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of and is greater than the buffer length. + + + is null. + + + or is negative. + + An I/O error occurs. + + The stream does not support writing. + + Methods were called after the stream was closed. + + + + Writes a byte to the current position in the stream and advances the position within the stream by one byte. + + The byte to write to the stream. + An I/O error occurs. + + The stream does not support writing, or the stream is already closed. + + Methods were called after the stream was closed. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Flushes the read data from the buffer. + + + + + Flush any buffered write data to the file. + + + + + Setups the read. + + + + + Setups the write. + + + + + Gets a value indicating whether the current stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + Gets a value indicating whether the current stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + Gets a value indicating whether the current stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + Gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + IO operation failed. + + + + Gets or sets the position within the current stream. + + The current position within the stream. + + An I/O error occurs. + + The stream does not support seeking. + + Methods were called after the stream was closed. + + + + Gets a value indicating whether the FileStream was opened asynchronously or synchronously. + + + true if this instance is async; otherwise, false. + + + + + Gets the name of the FileStream that was passed to the constructor. + + + + + Gets the operating system file handle for the file that the current SftpFileStream object encapsulates. + + + + + Gets or sets the operation timeout. + + + The timeout. + + + + + Implementation of the SSH File Transfer Protocol (SFTP) over SSH. + + + Implementation of the SSH File Transfer Protocol (SFTP) over SSH. + + + Implementation of the SSH File Transfer Protocol (SFTP) over SSH. + + + + + Synchronizes the directories. + + The source path. + The destination path. + The search pattern. + List of uploaded files. + + + + Begins the synchronize directories. + + The source path. + The destination path. + The search pattern. + The async callback. + The state. + + An that represents the asynchronous directory synchronization. + + sourceDir + destDir + + + + Ends the synchronize directories. + + The async result. + List of uploaded files. + Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult. + + + + Holds SftpSession instance that used to communicate to the SFTP server + + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid. -or- is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + is null. + is invalid. -or- is null contains whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + is null. + is invalid. -or- is nunullll or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + is null. + is invalid. -or- is null or contains whitespace characters. + + + + Changes remote directory to path. + + New directory path. + is null. + Client is not connected. + Permission to change directory denied by remote host. -or- A SSH command was denied by the server. + The path in was not found on the remote host. + A SSH error where is the message from the remote host. + + + + Changes permissions of file(s) to specified mode. + + File(s) path, may match multiple files. + The mode. + is null. + Client is not connected. + Permission to change permission on the path(s) was denied by the remote host. -or- A SSH command was denied by the server. + The path in was not found on the remote host. + A SSH error where is the message from the remote host. + + + + Creates remote directory specified by path. + + Directory path to create. + is null or contains whitespace characters. + Client is not connected. + Permission to create the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Deletes remote directory specified by path. + + Directory to be deleted path. + is null or contains whitespace characters. + Client is not connected. + Permission to delete the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Deletes remote file specified by path. + + File to be deleted path. + is null or contains whitespace characters. + Client is not connected. + Permission to delete the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Renames remote file from old path to new path. + + Path to the old file location. + Path to the new file location. + is null. -or- or is null. + Client is not connected. + Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Renames remote file from old path to new path. + + Path to the old file location. + Path to the new file location. + if set to true then perform a posix rename. + oldPath + is null. -or- or is null. + Client is not connected. + Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Creates a symbolic link from old path to new path. + + The old path. + The new path. + is null. -or- is null or contains whitespace characters. + Client is not connected. + Permission to create the symbolic link was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Retrieves list of files in remote directory. + + The path. + The list callback. + + List of directory entries + + is null. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Begins an asynchronous operation of retrieving list of files in remote directory. + + The path. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The list callback. + + An that references the asynchronous operation. + + + + + Ends an asynchronous operation of retrieving list of files in remote directory. + + The pending asynchronous SFTP request. + + List of files + + The IAsyncResult object () did not come from the corresponding async method on this type. -or- EndExecute was called multiple times with the same IAsyncResult. + + + + Gets reference to remote file or directory. + + The path. + Reference to file object. + path + Client is not connected. + is null. + + + + Checks whether file pr directory exists; + + The path. + true if directory or file exists; otherwise false. + is null or contains whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Downloads remote file specified by the path into the stream. + + File to download. + Stream to write the file into. + The download callback. + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous file downloading into the stream. + + The path. + The output. + + An that references the asynchronous operation. + + path + output + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous file downloading into the stream. + + The path. + The output. + The method to be called when the asynchronous write operation is completed. + + An that references the asynchronous operation. + + path + output + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous file downloading into the stream. + + The path. + The output. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The download callback. + + An that references the asynchronous operation. + + path + output + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Ends an asynchronous file downloading into the stream. + + The pending asynchronous SFTP request. + The IAsyncResult object () did not come from the corresponding async method on this type. -or- EndExecute was called multiple times with the same IAsyncResult. + + + + Uploads stream into remote file.. + + Data input stream. + Remote file path. + The upload callback. + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Uploads stream into remote file.. + + Data input stream. + Remote file path. + if set to true then existing file will be overwritten. + The upload callback. + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous uploading the steam into remote file. + + Data input stream. + Remote file path. + + An that references the asynchronous operation. + + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous uploading the steam into remote file. + + Data input stream. + Remote file path. + The method to be called when the asynchronous write operation is completed. + + An that references the asynchronous operation. + + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous uploading the steam into remote file. + + Data input stream. + Remote file path. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The upload callback. + + An that references the asynchronous operation. + + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous uploading the steam into remote file. + + Data input stream. + Remote file path. + if set to true then existing file will be overwritten. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The upload callback. + + An that references the asynchronous operation. + + input + path + is null. + is null or contains whitespace characters. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Ends an asynchronous uploading the steam into remote file. + + The pending asynchronous SFTP request. + Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult. + The IAsyncResult object () did not come from the corresponding async method on this type. -or- EndExecute was called multiple times with the same IAsyncResult. + + + + Gets status using statvfs@openssh.com request. + + The path. + Reference to object that contains file status information. + path + Client is not connected. + is null. + + + + Appends lines to a file, and then closes the file. + + The file to append the lines to. The file is created if it does not already exist. + The lines to append to the file. + isnull -or- is null. + + + + Appends lines to a file by using a specified encoding, and then closes the file. + + The file to append the lines to. The file is created if it does not already exist. + The lines to append to the file. + The character encoding to use. + is null. -or- is null. -or- is null. + + + + Opens a file, appends the specified string to the file, and then closes the file. + If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. + + The file to append the specified string to. + The string to append to the file. + is null. -or- is null. + + + + Opens a file, appends the specified string to the file, and then closes the file. + If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file. + + The file to append the specified string to. + The string to append to the file. + The character encoding to use. + is null. -or- is null. -or- is null. + + + + Creates a that appends UTF-8 encoded text to an existing file. + + The path to the file to append to. + A StreamWriter that appends UTF-8 encoded text to an existing file. + is null. + + + + Creates a that appends UTF-8 encoded text to an existing file. + + The path to the file to append to. + The character encoding to use. + + A StreamWriter that appends UTF-8 encoded text to an existing file. + + is null. -or- is null. + + + + Creates or overwrites a file in the specified path. + + The path and name of the file to create. + A that provides read/write access to the file specified in path + is null. + + + + Creates or overwrites the specified file. + + The path and name of the file to create. + The number of bytes buffered for reads and writes to the file. + A that provides read/write access to the file specified in path + is null. + + + + Creates or opens a file for writing UTF-8 encoded text. + + The file to be opened for writing. + A that writes to the specified file using UTF-8 encoding. + is null. + + + + Creates or opens a file for writing UTF-8 encoded text. + + The file to be opened for writing. + The character encoding to use. + A that writes to the specified file using UTF-8 encoding. + is null. + + + + Deletes the specified file or directory. An exception is not thrown if the specified file does not exist. + + The name of the file or directory to be deleted. Wildcard characters are not supported. + is null. + Client is not connected. + + + + Returns the date and time the specified file or directory was last accessed. + + The file or directory for which to obtain access date and time information. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in local time. + is null. + Client is not connected. + + + + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. + + The file or directory for which to obtain access date and time information. + A structure set to the date and time that the specified file or directory was last accessed. This value is expressed in UTC time. + is null. + Client is not connected. + + + + Returns the date and time the specified file or directory was last written to. + + The file or directory for which to obtain write date and time information. + A structure set to the date and time that the specified file or directory was last written to. This value is expressed in local time. + is null. + Client is not connected. + + + + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. + + The file or directory for which to obtain write date and time information. + A structure set to the date and time that the specified file or directory was last written to. This value is expressed in UTC time. + is null. + Client is not connected. + + + + Opens a on the specified path with read/write access. + + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + An unshared that provides access to the specified file, with the specified mode and access. + is null. + + + + Opens a on the specified path, with the specified mode and access. + + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies the operations that can be performed on the file. + An unshared that provides access to the specified file, with the specified mode and access. + is null. + + + + Opens an existing file for reading. + + The file to be opened for reading. + A read-only System.IO.FileStream on the specified path. + is null. + + + + Opens an existing UTF-8 encoded text file for reading. + + The file to be opened for reading. + A on the specified path. + is null. + + + + Opens an existing file for writing. + + The file to be opened for writing. + An unshared object on the specified path with access. + is null. + + + + Opens a binary file, reads the contents of the file into a byte array, and then closes the file. + + The file to open for reading. + A byte array containing the contents of the file. + is null. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + A string array containing all lines of the file. + is null. + + + + Opens a file, reads all lines of the file with the specified encoding, and then closes the file. + + The file to open for reading. + The encoding applied to the contents of the file. + A string array containing all lines of the file. + is null. + + + + Opens a text file, reads all lines of the file, and then closes the file. + + The file to open for reading. + A string containing all lines of the file. + is null. + + + + Opens a file, reads all lines of the file with the specified encoding, and then closes the file. + + The file to open for reading. + The encoding applied to the contents of the file. + A string containing all lines of the file. + is null. + + + + Reads the lines of a file. + + The file to read. + The lines of the file. + is null. + + + + Read the lines of a file that has a specified encoding. + + The file to read. + The encoding that is applied to the contents of the file. + The lines of the file. + is null. + + + + Sets the date and time the specified file was last accessed. + + The file for which to set the access date and time information. + A containing the value to set for the last access date and time of path. This value is expressed in local time. + + + + Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed. + + The file for which to set the access date and time information. + A containing the value to set for the last access date and time of path. This value is expressed in UTC time. + + + + Sets the date and time that the specified file was last written to. + + The file for which to set the date and time information. + A System.DateTime containing the value to set for the last write date and time of path. This value is expressed in local time. + + + + Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to. + + The file for which to set the date and time information. + A System.DateTime containing the value to set for the last write date and time of path. This value is expressed in UTC time. + + + + Creates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten. + + The file to write to. + The bytes to write to the file. + is null. + + + + Creates a new file, writes a collection of strings to the file, and then closes the file. + + The file to write to. + The lines to write to the file. + is null. + + + + Creates a new file, write the specified string array to the file, and then closes the file. + + The file to write to. + The string array to write to the file. + is null. + + + + Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file. + + The file to write to. + The lines to write to the file. + The character encoding to use. + is null. + + + + Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file. + + The file to write to. + The string array to write to the file. + An object that represents the character encoding applied to the string array. + is null. + + + + Creates a new file, writes the specified string to the file, and then closes the file. If the target file already exists, it is overwritten. + + The file to write to. + The string to write to the file. + is null. + + + + Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten. + + The file to write to. + The string to write to the file. + The encoding to apply to the string. + is null. + + + + Gets the of the file on the path. + + The path to the file. + The of the file on the path. + is null. + + + + Sets the specified of the file on the specified path. + + The path to the file. + The desired . + is null. + + + + Internals the list directory. + + The path. + The list callback. + + path + is null. + Client not connected. + + + + Internals the download file. + + The path. + The output. + A reference to the outstanding asynchronous I/O request. + The download callback. + output + path + is null or contains whitespace. + is null. + Client not connected. + + + + Internals the upload file. + + The input. + The path. + The flags. + A reference to the outstanding asynchronous I/O request. + The upload callback. + input + path + is null. + is null or contains whitespace. + Client not connected. + + + + Called when client is connected to the server. + + + + + Called when client is disconnecting from the server. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Gets or sets the operation timeout. + + The operation timeout. + + + + Gets or sets the size of the buffer. + + The size of the buffer. + + + + Gets remote working directory. + + + + + Gets sftp protocol version. + + + + + Implements PKCS5 cipher padding + + + + + Transforms the specified input. + + Size of the block. + The input. + + Padded data array. + + + + + Represents SSH_MSG_KEXDH_REPLY message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets server public host key and certificates + + The host key. + + + + Gets the F value. + + + + + Gets the signature of H. + + The signature. + + + + Represents SSH_MSG_KEXDH_INIT message. + + + + + Initializes a new instance of the class. + + The client exchange value. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the E value. + + + + + Specifies supported request names. + + + + + tcpip-forward + + + + + cancel-tcpip-forward + + + + + Represents SSH_MSG_CHANNEL_REQUEST message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the local channel. + The info. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets channel request data. + + + + + Represents "break" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Length of the break. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets break length in milliseconds. + + + + + Represents SSH_MSG_CHANNEL_OPEN message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The channel number. + Initial size of the window. + Maximum size of the packet. + The info. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Gets the initial size of the window. + + + The initial size of the window. + + + + + Gets the maximum size of the packet. + + + The maximum size of the packet. + + + + + Gets channel specific open information. + + + + + Represents SSH_MSG_CHANNEL_OPEN_CONFIRMATION message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + Initial size of the window. + Maximum size of the packet. + The remote channel number. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the remote channel number. + + + + + Gets the initial size of the window. + + + The initial size of the window. + + + + + Gets the maximum size of the packet. + + + The maximum size of the packet. + + + + + Represents "password" SSH_MSG_USERAUTH_REQUEST message. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Authentication password. + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Authentication password. + New authentication password. + + + + Called when type specific data need to be saved. + + + + + Gets the name of the authentication method. + + + The name of the method. + + + + + Gets authentication password. + + + + + Gets new authentication password. + + + + + Holds information about key size and cipher to use + + + + + Initializes a new instance of the class. + + Size of the key. + Hash. + + + + Gets the size of the key. + + + The size of the key. + + + + + Gets the cipher. + + + + + Provides functionality for remote port forwarding + + + Provides functionality for remote port forwarding + + + Provides functionality for remote port forwarding + + + + + Initializes a new instance of the class. + + The bound host address. + The bound port. + The host address. + The port. + boundHost + boundPort + + + + Starts remote port forwarding. + + + + + Stops remote port forwarding. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Initializes a new instance of the class. + + The bound port. + The host. + The port. + + + + Initializes a new instance of the class. + + The bound host. + The bound port. + The host. + The port. + + + + Gets the bound host. + + + + + Gets the bound host. + + + + + Gets the bound port. + + + + + Gets the forwarded host. + + + + + Gets the forwarded host. + + + + + Gets the forwarded port. + + + + + The exception that is thrown when SCP error occurred. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Provides data for event. + + + + + Initializes a new instance of the class. + + The username. + Banner message. + Banner language. + + + + Gets banner message. + + + + + Gets banner language. + + + + + IConnectionTimeouts timeout Interface. + + + + + Represents the timeout of the Connection instance. + + + + + Represents whether the Timeout for the connection is enabled or not. + + + + + The Stream based Connection class is the basis for all communications between clients and servers. + Clients can obtain a Connection object by calling one of the Connect methods of the Client component; + Servers will obtain Connection objects for every incoming connection that gets established. + + + + + Creates an instance of the Connection class. + + A object. + + + + Creates an instance of the Connection class with the specified binding. + + A object. + + + A object. + + + + Initialize this Connection instance's timeout and maxLineLength. + + + + + ToString Method for this Connection instance. + + String describing this Connection instance. + + + + Start the Timeout Timer for this Connection instance. + + + + + Stop the Timeout Timer for this Connection instance. + + + + + Initializes the Server Connection for this instance. + + + + + Begin the Initialization of the Server Connection for this instance. + + + + IAsyncResult + + + + End the Initialization of the Server Connection for this instance. + + + + + + Receive as much data as is available from the Data Socket Connection. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + The number of bytes to receive. + Returns the number of bytes read. + + + + Send as much data as possible to the Data Socket Connection. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + The number of bytes to send. + Returns the number of bytes sent. + + + + Connect to the Data Socket at the specified EndPoint. + + EndPoint + + + + Initialize Server Connection Data Socket. + + + + + Aborts the Connection and closes the socket. + + + + + If data socket is connected, close it. + + + + + If the Data Socket connection is open, shut it down and optionally close and dispose of it. + + true to close socket. + + + + Receive the specified number of bytes from the Data Socket Connection. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + The number of bytes to receive. + Returns the number of bytes read. + + + + Send data to the Data Socket Connection until the specified size is reached. + + System.Byte array of bytes to send. + Starting offset in the byte array. + The number of bytes to send. + Returns the number of bytes sent. + + + + Send data to the Data Socket Connection for the entire length of the buffer. + + System.Byte array of bytes to send. + Returns the number of bytes sent. + + + + Opens a connection to the target remote system. + + + + + + Opens a connection to the target remote system using an IP address and port number. + + IP Address + Port Number + + + + Opens a connection to the target remote system using an IP address and port number. + + IP Address + Port Number + + + + Closes the data connection to the remote and terminates any calls to Receive that might still be blocking. + + + + + OriginalEndpoint type. + + + + + Receive reads bytes from the connection with an offset and specified size. + This function can be blocked to wait for additional incoming data. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + The number of bytes to receive. + Returns the number of bytes read. + + + + ReceiveWhatsAvailable reads bytes from the connection to fill the passed byte[] buffer. + Unlike Receive, this function will not block to wait for additional incoming data, but return immediately with the data that was available. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + The number of bytes to receive. + Returns the number of bytes read. + + + + Receive reads bytes from the connection. This function can be blocked to wait for additional incoming data. + + System.Byte array to receive the bytes read. + Returns the number of bytes read. + + + + Get data from connection until all bytes have been read + (i.e., until Receive() returns 0). Uses a constant buffersize. + + Returns the number of bytes read. + + + + Get data from connection until all bytes have been read + (i.e., until Receive() returns 0). Uses a buffersize passed as a parameter. + + Size of receive buffer used for each pass + Returns the number of bytes read. + + + + Write the entire buffer to the Stream. + + + + + + Write a passed in buffer to the Stream utilizing a size. + + + The number of bytes to receive. + + + + Write a passed in buffer to the Stream for the Buffer Size provided. + + + The number of bytes to receive. + + + + + Send from Stream with specified Stream parameter. + + + + + + Send from Stream with specified Stream and size parameters. + + + The number of bytes to send. + + + + Send from Stream with specified Stream, size, and Buffer size parameters. + + + The number of bytes to send. + + + + + This method sends a block of data to the remote side with specified Buffer, offset, and size. + + System.Byte array of bytes to send. + Starting offset in the byte array. + The number of bytes to send. + Returns the number of bytes sent. + + + + This method sends a block of data to the remote side. + + System.Byte array of bytes to send. + Returns the number of bytes sent. + + + + Skip the specified number of bytes to be read. + + The number of bytes to skip. + + + + Flush for the Connection. + + + + + Closes the data connection to the remote and terminates any calls to Receive that might still be blocking. + + + + + Closes the data connection to the remote and terminates any calls to Receive that might still be blocking with option to Dispose. + + true to close socket. + + + + The Read method is provided for compatibility with the Stream base class; it behaves identically to Receive. + It will block until the entire buffer is filled or the connection has been closed. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + Count of bytes to use in the byte array + Returns the number of bytes read. + + + + Seek for Connection instance. + + irrelevant + irrelevant + Action is not supported. Always throws exception. + + + + Sets the length for Connection instance. + + irrelevant + + + + The Write method is provided for compatibility with the Stream base class; it behaves identically to Send. + + System.Byte array of bytes to write. + Starting offset in the byte array. + Count of bytes to use in the byte array + + + + Trigger an AsyncDisconnect for this Connection instance. + + + + + Trigger an AsyncHaveIncompleteData for this Connection instance. + + + + + Begins the Read Operation for this Connection instance. + + + + + + + + + + + Ends the Read Operation for this Connection instance. + + + + + + + Ends the Write Sending Operation for this Connection instance. + + + + + + Begins the Write Operation for this Connection instance. + + + + + + + IAsyncResult + + + + Returns null if there is nothing in the buffer; + Returns "" if it's an empty line, else the line in the buffer. + + Returns null if there is nothing in the buffer; String.Empty if it's an empty line, else the line in the buffer. + + + + Begin Reading a line of this Connection instance. + + + + IAsyncResult + + + + End reading the Line for this Connection instance. + + + + + + + Begins an asynchronous read operation. + + The buffer to read the data into. + The byte offset in buffer at which to begin writing data read from the stream. + The maximum number of bytes to read. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read + request from other requests. + An CrestronIO.IAsyncResult that represents the asynchronous read, which could + still be pending. + One or more of the arguments is invalid. + buffer is null. + The current Stream implementation does not support the read operation. + Disconnect occurred on the stream's connection + Methods were called after the stream was closed. + + + + End Reading the stream for this Connection instance + + + The reference to the pending asynchronous request to finish. + + + The number of bytes read from the stream, between zero (0) and the number + of bytes you requested. Streams return zero (0) only at the end of the stream, + otherwise, they should block until at least one byte is available. + + + asyncResult is null. + + + asyncResult did not originate from a CrestronIO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) + method on the current stream. + + + + + Begins an asynchronous write operation. + + + The buffer to write data from. + + + The byte offset in buffer from which to begin writing. + + + The maximum number of bytes to write. + + + An optional asynchronous callback, to be called when the write is complete. + + + A user-provided object that distinguishes this particular asynchronous write + request from other requests. + + + An IAsyncResult that represents the asynchronous write, which could still + be pending. + + + Attempted an asynchronous write past the end of the stream, or a disk error + occurs. + + + One or more of the arguments is invalid. + + + Methods were called after the stream was closed. + + + The current Stream implementation does not support the write operation. + + + The current Connection was closed. + + + + + Ends an asynchronous write operation. + + + A reference to the outstanding asynchronous I/O request. + + + asyncResult is null. + + + asyncResult did not originate from a CrestronIO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) + method on the current stream. + + + The stream is closed or an internal error has occurred. + + + The current Connection was closed. + + + + + Begin bringing up the Connection. + + + + + + + + + Begin bringing up the Connection. + + + Port Number + + + + + + + Begin bringing up the Connection. + + + Port Number + + + + + + + End the Connection. + + + + + + ReadLine will read data from the connection until a linebreak (either a CR LF or a single LF) is received. + If MaxLineLengthEnabled is active, ReadLine will take security precautions to ensure the remote side is not sending strings that are too long. + + String containing one line of data. + + + + CRLF byte array + + + + + LF byte array + + + + + The WriteLine method is similar to the Write method, + but as in-parameter WriteLine it receives a string and finishes writing with carriage-return line feed character CRLF. + + String of text line to write. + Parameter array for String.Format + + + + The WriteLineLF method is similar to the Write method, + but as in-parameter WriteLineLF it receives a string and finishes writing with line feed character CRLF. + + String of text line to write. + Parameter array for String.Format + + + + The WriteLine method is similar to the Write method, + but as in-parameter WriteLine it receives a string and finishes writing with carriage-return line feed character CRLF. + + String of text line to write. + + + + The WriteLineLF method is similar to the Write method, + but as in-parameter WriteLineLF it receives a string and finishes writing with line feed character CRLF. + + String of text line to write. + + + + Disconnects and Disposes of the Connection elements. + + + + + Reset the Statistics for this Connection instance. + + + + + Trigger for OnBytesSent procedure. + + Count of bytes to use in the byte array + + + + Trigger for OnBytesReceived. + + Count of bytes to use in the byte array + + + + Get the Binding for this connection instance. + + + + + LocalEndPoint specifies the local address that this connection is assigned to. + For clients, this will usually be a random port and IP address; + For servers, this will be the port and IP address that the connection came in on + + + + + LocalEndPointAddress specifies the local address that this connection is assigned to. + For clients, this will usually be a random IP address; + For servers, this will be the IP address that the connection came in on. + + + + + LocalEndPointPort specifies the local port that this connection is assigned to. + For clients, this will usually be a random port; + For servers, this will be the port that the connection came in on. + + + + + RemoteEndPoint specifies the remote address that this connection is assigned to. + For clients, this will be the port and IP address that they connected to; + For servers, this will usually be a random port on the client, and the IP address of the connected client. + + + + + RemoteEndPointAddress specifies the remote address that this connection is assigned to. + For clients, this will be the IP address that they connected to; + For servers, this will usually be a random port of the connected client. + + + + + RemoteEndPointPort specifies the remote port that this connection is assigned to. + For clients, this will be the port that they connected to; + For servers, this will usually be a random port on the connected client. + + + + + Get or set the encoding type for this connection instance. + + + + + Set the property value to true to enable the Nagle algorithm for send coalescing. + + + + + Gets the Timeout Status of this connection. + + + + + Determines if BufferedAsync is available or not. When set to true, data will not be returned until the specified maximum buffer size is reached. + + + + + Determines if We are going to invoke an AsyncCallback on this IAsyncResult. + + + + + The Timeout property specifies the maximum amount of time (in seconds) that a Connection will wait for incoming data within a single Receive operation. + The timeout handling can be activated by the TimeoutEnabled property, the default value is 5 minutes. + + + + + The TimeoutEnabled property toggles whether the Connection will do automatic timeout checking. + When turned on (true), the Connection will keep track of the time that passes during any single Receive operation + - if a receive operation takes longer than the given timeout, the connection will be terminated. + + + + + The MaxLineLength property specifies the maximum number of bytes that a ReadLine operation will receive. + The maximum line checking can be activated by the MaxLineLengthEnabled property, the default value is 1024 bytes (1kB). + + + + + The MaxLineLengthEnabled property toggles whether the ReadLine function will enforce a maximum line length. + When turned on (true), ReadLine will fail and the connection will be terminated if the remote side sends a line longer than the defined MaxLineLength bytes. + + + + + Get the Data Socket instance + + + + + Specified if the underlying DataSocket is connected. + + + + + Specified if the underlying DataSocket is Available. + + + + + The boolean Connected property can be evaluated at any given time to find out if the Connection object is referring to an open Connection. + When a connection is first obtained, it will be open and the property will be true. Once the connection has been closed, whether purposely or by remote, the property will turn to false. + + + + + Gets the OriginalEndpoint property value for this Connection instance. + + + + + Returns the number of bytes available in the local receive buffer. + Override this method in descendant Connection classes if you need to perform additional handling or calculation on the size of available data. + + + + + Gets a value indicating whether the current connection supports reading. + + + + + Gets a value indicating whether the current connection supports seeking. + + + + + Gets a value indicating whether the current connection supports writing. + + + + + Length contains the entire known length of the incoming Connection stream. + Returns the number of bytes that have been previously received (Position) plus the number of bytes that are waiting in the local receive buffer (Available). + + + + + Get or set the position for the Connection instance. + + + + + Called when an async read fails and the socket is disconnected; Will not work when not using async reading + + + + + Called when there is data received but it's not complete yet. Can be used for timeout handling. + + + + + Gets the number of Bytes sent for this Connection instance. + + + + + Gets the number of Bytes received for this Connection instance. + + + + + OnBytesSent Event Handler for this Connection. + + + + + OnBytesReceived Event Handler for this Connection. + + + + + Delegate for the Connection EventHandler + + An object representing the sender of the event + A object. + + + + Occurs when a Connection is closed while reading data from it, for example because the remote host has unexpectedly closed the connection. + + + + + ConnectionClosedException default. + + + + + ConnectionClosedException with custom timeout parameter. + + true if timeout occurred. + + + + ConnectionClosedException with custom message parameter. + + General message about the Exception. + + + + ConnectionClosedException with custom Exception parameter. + + A object. + + + + Determines whether the connection was closed because of time out. + + + + + The type of the proxy client uses to connect to the server + + + + No proxy type defined = default (HTTP) + + + HTTP + + + HTTP v1.0 + + + SOCKS 4 + + + SOCKS 4A + + + SOCKS 5 + + + SOCKS 5 with host name resolution + + + + The method of authentication to an HTTPS server + + + + No authentication method defined = default (BASIC) + + + + HTTP Basic authentication. This is the default choice, + and the only method that is in wide-spread use and supported virtually everywhere. + This sends the user name and password over the network in plain text, easily captured by others. + + + + + HTTP Digest authentication. + Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks + than the regular old-fashioned Basic method. + + + + + HTTP Digest authentication with an IE flavor. + Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks + than the regular old-fashioned Basic method. + + + + + HTTP Negotiate (SPNEGO) authentication. + Negotiate authentication is defined in RFC 4559 and is the most secure way to perform authentication over HTTP. + + + + + HTTP NTLM authentication. A proprietary protocol invented and used by Microsoft. + It uses a challenge-response and hash concept similar to Digest, to prevent the password from being eavesdropped. + + + + + NTLM delegating to winbind helper. Authentication is performed by a separate binary application that is executed when needed. + The name of the application is specified at compile time but is typically /usr/bin/ntlm_auth + + + + + This is a convenience macro that sets all bits and thus makes the client pick any it finds suitable. + The client will automatically select the one it finds most secure. + + + + + This is a convenience macro that sets all bits except Basic and thus makes the client pick any it finds suitable. + The client will automatically select the one it finds most secure. + + + + + This is a meta symbol. OR this value together with a single specific auth value to force the client to probe for un-restricted auth + and if not, only that single auth algorithm is acceptable. + + + + + The class representing proxy settings + + + + + Creates a new instance of the Proxy Settings class + + The proxy's Host Name/IP address or fully qualified URL which will be used as the proxy regardless of the rest of the settings + If just a Host Name or IP address is provided, the rest of non-default proxy attributes must be also provided. The defaults are: + - 'HTTP' for Proxy type + - 1080 for Proxy Port number + - Empty Proxy User Name and Password for authentication + A fully qualified URL in the form of [proxy_type://][user_name:password@]my_proxy_host_name_or_ip_address[:port_number] would define everything. + Empty string provided explicitly disables any use of proxy with a request. + + + + + Sets or gets the proxy server's port number to be used instead of the default one. + + Setting a value explicitly defines the port number if not provided by proxy URL. + Setting to 0 clears the overriding value which means default proxy port (1080) or the one from URL will be used. + Note that the getter does not return the port from the URL but the one set to override the default value. + + + + + Sets or gets the proxy server's type to be used instead of the default one. + + Setting a value explicitly defines the proxy type if not provided by proxy URL. + Setting to 'NONE' clears the overriding value which means default type (HTTP) or the one from URL will be used. + Note that the getter does not return the proxy type from the URL but the one set to override the default value. + + + + + Sets or gets the proxy server's authentication method to be used instead of the default one. + + + This is a bitmask, to tell the client which HTTP authentication method(s) you want it to use for your proxy authentication. + If more than one bit is set, the client will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. + + + + + Sets or gets the User Name that will be used to authenticate to the proxy. + + Setting a value explicitly defines the proxy user name if not provided by proxy URL. + Setting to null clears the overriding value which means no user name or the one from URL will be used. + Note that the getter does not return the proxy user name from the URL but the one set to override the default value. + + + + + Sets or gets the Password that will be used to authenticate to the proxy. + + Setting a value explicitly defines the proxy user password if not provided by proxy URL. + Setting to null clears the overriding value which means no user password or the one from URL will be used. + Note that the getter does not return the proxy user password from the URL but the one set to override the default value. + + + + + Sets or gets the proxy's Host Name/IP address or fully qualified URL which will be used as the proxy regardless of the rest of the settings. + + If just a Host Name or IP address is provided, the rest of non-default proxy attributes must be also provided. The defaults are: + - 'HTTP' for Proxy type + - 1080 for Proxy Port number + - Empty Proxy User Name and Password for authentication + A fully qualified URL in the form of [proxy_type://][user_name:password@]my_proxy_host_name_or_ip_address[:port_number] would define everything. + Empty string provided explicitly disables any use of proxy with a request. + This property represents the string provided in the constructor. + + + + + Represents a local socket binding. All active socket connections are "bound" to a specific port on the client and server side. + These bindings are particularly important for some protocols to identify the local connection. + Server processes bind themselves to a specific port in order to service incoming queries. + + + + + Creates a new instance of the Binding class. + + + + + Creates a new instance of the Bindings class. + + + + + + Returns whether the port is Serialized or not. + + bool + + + + Denotes the type of socket used to use to communicate. + + + + + Denotes the port number associated with the socket binding. + On a server connection, this would be the protocol numbers (e.g: HTTP=80, FTP=21) + + + + + The IP Address of the binding. + + + + + The IP Address of the binding as a String + + + + + AddressFamily denotes the type of address (and thus the means to communicate) of the binding. + + + + + Denotes the type of socket used to communicate. + + + + + Denotes the transport level protocol to use to communicate over the socket. The default value is "TCP". + + + + + A ServerBinding represents an EndPoint that a server component will be accepting connections on. + The binding can be bound to activate it and start listening for incoming connections, or unbound to close it. + + + + + Server Binding Default Constructor. + + + + + Associates a local address with a socket. + + + + + + Unbinds the connection. + + + + + Closes listening for incoming connections. + + Block until join all listening threads. + + + + Bind the Unthreaded Connection. + + + + + Permits an incoming connection attempt on a socket. + + A Connection object + + + + Gets the socket which is listening for an incoming connection. + + + + + Gets a network EndPoint with a specified IP address and port number. + + + + + Gets a network EndPoint with a specified IP address in the form of a String. + + + + + Gets a port number for an Endpoint in the form of an integer. + + + + + Gets or sets the length of time (in seconds) to wait for a connection before terminating the attempt and generating an error. + Default: 10 wait connections. + + + + + Gets or sets the number of listeners. + Default Value: 1 + + + + + Get or set the use of Nagle's Algorithm. + + + + + Bindings Class + + + + + Creates a new instance of the ServerBindings class. + + + + + Associates a local address with a socket and assigns a listener to it. + + + + + + Close listening socket and detach a listener from it. + + Block until join all listening threads. + + + + FileTransferClient class is a File Transfer Class. + + + + + CallBack Stream for incomming data (response) + + the data stream + size of item + the number of items to deliver + The response stream as user data + The number of items delivered + + + + CallBack Stream for incomming data (response) + + the data stream + size of item + the number of items to deliver + The response stream as user data + The number of items delivered + + + + Callback Function to output the Stream Content + + The buffer to write items to. + number of bytes in each item + Number of items you can send + Null + + + + + CallBack Stream for incomming data (response) + + the data stream + size of item + the number of items to deliver + NUll + The number of items delivered + + + + Callback Function to output the Stream Content + + The buffer to write items to. + number of bytes in each item + Number of items you can send + Null + + + + + The Header callback to deliver the received Headers + + + + + + + + + + CallBack Stream for incomming data (response) + + the data stream + size of item + the number of items to deliver + The response stream as user data + The number of items delivered + + + + Send data to the Data Socket Connection until the specified size is reached. + + System.Byte array of bytes to send. + Starting offset in the byte array. + The number of bytes to send. + Returns the number of bytes sent. + + + + Send as much data as possible to the Data Connection. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + The number of bytes to send. + the outgoing stream + Returns the number of bytes sent. + + + + Send as much data as possible to the Data Connection. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + The number of bytes to send. + Source to read + Returns the number of bytes sent. + + + + CallBack Stream for outgoing data (request) + + the data stream + size of item + the number of items to deliver + The request stream as user data + The number of items delivered + + + + The static constructor of FileTransferClient class to initialize the underlaying native DLL as sometimes CLR fails to call DllMain + + + + + The constructor of FileTransferClient class. + + + + + The constructor of FileTransferClient class. + + + + + The destructor of FileTransferClient class. + + + + + Aborts current blocking operation asynchronously + + + + + Retrieves the remote file pointed by URL. + This method directly uses the URL supplied. + The URL is retrieved to the destination (localPath) file. Port number can be embedded into URL. + Some examples of valid URL prefixed with the specified protocol - http://host.com/myPath/MyFile.txt, https://host.com/myPath/MyFile.txt, ftp://host.com:21/myPath/MyFile.txt, etc. + + The URL to the file intended for downloading + The fully qualified local path to the file being downloaded starting with initial "/" + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Uploads local file to the remote destination pointed by URL. + This method directly uses the URL supplied. Port number can be embedded into URL. + Some examples of valid URL prefixed with the specified protocol - http://host.com/myPath/MyFile.txt, https://host.com/myPath/MyFile.txt, ftp://host.com:21/myPath/MyFile.txt, etc. + + The URL to the file intended for uploading + The fully qualified local path to the file being uploaded starting with initial "/" + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Uploads local file to the remote destination pointed by URL. + + file dest. + file source. + Returns status of file posting. + + + + Sets the user name to be used in protocol authentication. + + The user name to use for the transfer + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + In order to specify the password to be used in conjunction with the user name use SetPassword method. + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Sets the password to be used in protocol authentication. + + The password to use for the transfer + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The password should be used in conjunction with SetUserName method. + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Sets HTTP proxy server authentication methods to try. + + The bitmask, to tell the client which HTTP authentication method(s) you want it to use for your proxy authentication. + If more than one bit is set, the client will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. + + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sets HTTP server authentication methods to try. + + The bitmask, to tell the client which HTTP authentication method(s) you want it to use for your HTTP server authentication. + If more than one bit is set, the client will first query the site to see what authentication methods it supports and then pick the best one you allow it to use. + + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sets the proxy type to use (e.g. HTTP, SOCKS5, etc). + + The proxy type's enumerator. See: + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + If type "NONE" supplied, the use of proxy is disabled. + Valid options: NONE, HTTP, HTTP_1_0, SOCKS4, SOCKS4A, SOCKS5, SOCKS5H. See: + The FTC Client has already been closed or disposed. + + + + Sets the proxy's name or IP address. + + The name or IP address + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + Optionally, fully qualified URL to the proxy can be supplied. Example: "socks5://myproxy:1080" + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Sets the proxy port to use (e.g. 80, 1080, etc). + + The port number in the range of 1..65535. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Sets the user name to use for the transfer while connecting to the proxy. + + The user name to use for the proxy + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + In order to specify the password to be used in conjunction with the user name use SetProxyPassword method. + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Sets the password to use for the transfer while connecting to the proxy. + + The password to use for the proxy + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The password should be used in conjunction with SetProxyUserName method. + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Set option to enable/disable verification of the peer's certificate. + + The Boolean turning On/Off the Verification. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + This option determines whether the client verifies the authenticity of the peer's certificate. + When negotiating a SSL connection, the server sends a certificate indicating its identity. + Client verifies whether the certificate is authentic, i.e. that you can trust that the server is who the certificate says it is. + This trust is based on a chain of digital signatures, rooted in certification authority (CA) certificates you supply. + Client will use certificates provided with the SetCACertificate method. + When the Verification is set to TRUE, and the verification fails to prove that the certificate is authentic, the GetFile method fails. + When it is FALSE, the peer certificate verification succeeds regardless. + Authenticating the certificate is not by itself very useful. + You typically want to ensure that the server, as authentically identified by its certificate, is the server you mean to be talking to. + Use SetHostVerification to control that. + The check that the host name in the certificate is valid for the host name you're connecting to is done independently of the SetPeerVerification option. + + The FTC Client has already been closed or disposed. + + + + Set option to enable/disable host name verification. + + The Boolean turning On/Off the Verification. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + When negotiating a SSL connection, the server sends a certificate indicating its identity. + When SetHostVerification is TRUE, then certificate must indicate that the server is the server to which you meant to connect, or the connection fails. + Curl considers the server the intended one when the Common Name field or a Subject Alternate Name field in the certificate matches the host name in the URL to which you told Curl to connect. + When the value is FALSE, the connection succeeds regardless of the names in the certificate. + The default value for this option is TRUE. + This option controls checking the server's certificate's claimed identity. The server could be lying. To control lying, see SetPeerVerification method. + + The FTC Client has already been closed or disposed. + + + + Set option to enable/disable client's debug output to the console. + + The Boolean turning On/Off the debug output to the console. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Set option to enable/disable client's Extra debug output to the console. + + The Boolean turning On/Off the extra debug output to the console. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Set option to enable/disable feature preventing the client's connection from timing out. + + The Boolean turning On/Off the keep alive. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Set option for connection timeout. + + The timeout. The value must be positive in the range of 0 to 65353 (ushort) + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + Invalid argument. + + + + Set option to enable/disable the include of headers in the response. + + The Boolean value. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Sets the file holding one or more certificates to verify the peer with. + + The path to the file with the certificates + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Sets the path holding one or more certificates to verify the peer with. + + The path to the file with the certificates + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + Non-ASCII characters are not currently supported. + The FTC Client has already been closed or disposed. + + + + Sets the file holding one or more client certificates. + + The path to the file with the certificates + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + Sets the Access token for OAUTH login. + + The bearer access token + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + Sets the password for the ClientCertificate + + + + + + + Sets the Client Certificate format. + + + + + + + Sets the SSL private Key + + + + + + + Sets the SSL private Key password + + + + + + + Sets the SSL private Key Format. + + + + + + + Set the size of the field to post + + Size value + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Set the size of the field to post + + Size value + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Set custom headers + + String Header value + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + URL Redirect + + Redirect true/false + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + URL Max Redirects + + Redirect max redirects. The value must be positive in the range of 0 to 65353 (ushort) + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + Invalid argument. + + + + Gets the effective URL the client connects to + + If successful, contains the effective URL string. Otherwise, empty string. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Sets the URL to connect to + + + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sets the host name of the remote side + + Sets the host name portion of the remote site + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sets the host's port to use (e.g. 80 (default), 8080, etc). + + The port number in the range of 1..65535. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + request using SSL / TLS for the transfer + + CURLUSESSL_NONE, CURLUSESSL_TRY, CURLUSESSL_CONTROL, CURLUSESSL_ALL + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sets the FROM option for the mail client. + + email address of the sender + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sets the list for that receivers of the email. + + string containing the address to send the email to + string containing the address to copy the email to + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sends email. Blocks until the email is sent. + + response callback + response out stream + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Execute the command using the Async Streams + + The command to execute + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sends a get/put message to the url + + Command (get, put, post) + URL + request out stream + response in stream + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sends a get/put message to the url + + response callback + The type of action + The location + request out stream + response in stream + + + + + Retrieves last client's internal error occurred (effective when one of the methods returned error code = 1). + + + The internal error code. + + + In the current client's implementation, the error codes are equivalent to libCURL's ones. + + The FTC Client has already been closed or disposed. + + + + Gets a string describing the last error that occurred + + The string containing the error + The FTC Client has already been closed or disposed. + + + + Set the response function to use + + + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Set the response function to use + + + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Set the response function to use + + + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + + + + Sets the callback info to receive a progress feedback from the client while uploading/downloading + + The callback function. + The frequency of the progress calls in % of the completion. 0 means auto-frequency. + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. Use GetLastClientError() to retrieve the error code. + 87 if invalid parameter was passed. + + The FTC Client has already been closed or disposed. + + + + Callback function to process the FGet/FPut's progress info + + Pointer to a data structure provided in SetProgressCallBack + Total number of bytes to transfer (sizeof the file) + Current number of bytes transferred. -1 means heartbeat + Zero if successful. + -1 if underlying object has not been properly initialized. + 1 if internal error occurred. + + + + + Shut down the Client process + + + + + Destroys the Client + + + + + The default to wait on an Async Operation + + + + + The type of the proxy client uses to connect to the server + + + + No proxy type defined = default (HTTP) + + + HTTP + + + HTTP v1.0 + + + SOCKS 4 + + + SOCKS 4A + + + SOCKS 5 + + + SOCKS 5 with host name resolution + + + + The cmd requested to perform + + + + No Cmd + + + GET + + + PUT + + + POST + + + DELETE + + + PATCH + + + + The method of authentication to a proxy or an http server + + + + No authentication method defined = default (BASIC) + + + + HTTP Basic authentication. This is the default choice, + and the only method that is in wide-spread use and supported virtually everywhere. + This sends the user name and password over the network in plain text, easily captured by others. + + + + + HTTP Digest authentication. + Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks + than the regular old-fashioned Basic method. + + + + + HTTP Digest authentication with an IE flavor. + Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks + than the regular old-fashioned Basic method. + + + + + HTTP Negotiate (SPNEGO) authentication. + Negotiate authentication is defined in RFC 4559 and is the most secure way to perform authentication over HTTP. + + + + + HTTP NTLM authentication. A proprietary protocol invented and used by Microsoft. + It uses a challenge-response and hash concept similar to Digest, to prevent the password from being eavesdropped. + + + + + NTLM delegating to winbind helper. Authentication is performed by a separate binary application that is executed when needed. + The name of the application is specified at compile time but is typically /usr/bin/ntlm_auth + + + + + This is a convenience macro that sets all bits and thus makes the client pick any it finds suitable. + The client will automatically select the one it finds most secure. + + + + + This is a convenience macro that sets all bits except Basic and thus makes the client pick any it finds suitable. + The client will automatically select the one it finds most secure. + + + + + This is a meta symbol. OR this value together with a single specific auth value to force the client to probe for un-restricted auth + and if not, only that single auth algorithm is acceptable. + + + + + CallBack prototype for progress feedback - Internal + + The user's data transparently passed back to the callback function. + Contains total number of bytes to upload/download + Contains total number of bytes currently uploaded/downloaded. -1 means no progress but heartbeat. + Zero if successful. + non-zero means termination of the upload/download process by callback. + + + + + CallBack prototype for progress feedback + + Contains total number of bytes to upload/download + Contains total number of bytes currently uploaded/downloaded. -1 means no progress but heartbeat. + Zero if successful. + non-zero means termination of the upload/download process by callback. + + + + + CallBack prototype for response feedback - Internal + + The pointer receive/transmit stream + Total number of bytes to transfer ( + Current number of bytes transferred. + Pointer user data stream + Zero if successful. + non-zero means termination of the upload/download process by callback. + + + + + Provides an asynchronous buffered stream for the stream presented to the Begin/End Https Request/Response + + + + + Sets the internal stream + + Critical Section to sync stream operations + + + + Sets the internal stream + + The base memory stream + Critical Section to sync stream operations + + + + Waits for End-Of-Stream status + + Timeout + True is signaled, False if timeout + + + + Waits for End-Of-Stream status + + True is signaled, False is Stream is closed + + + + Gets End-Of-Stream state + + + + + Closes the current stream and releases any resources (such as sockets and + file handles) associated with the current stream. + + + + + When overridden in a derived class, clears all buffers for this stream and + causes any buffered data to be written to the underlying device. + + An I/O error occurs. + + + + Resets the state of the stream to initial one and clears the current contect + + + + + Reads a sequence of bytes from the current + stream and advances the position within the stream by the number of bytes + read. + + An array of bytes. When this method returns, the buffer contains the specified + byte array with the values between offset and (offset + count - 1) replaced + by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin storing the data read + from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the + number of bytes requested if that many bytes are not currently available, + or zero (0) if the end of the stream has been reached. + The sum of offset and count is larger than the buffer length. + buffer is null. + offset or count is negative + The stream does not support reading. + + Methods were called after the stream was closed. + + + + Peek a sequence of bytes from the current + stream and without advancing the position within the stream by the number of bytes + read. + + An array of bytes. When this method returns, the buffer contains the specified + byte array with the values between offset and (offset + count - 1) replaced + by the bytes read from the current source. + The zero-based byte offset in buffer at which to begin storing the data read + from the current stream. + The maximum number of bytes to be read from the current stream. + The total number of bytes read into the buffer. This can be less than the + number of bytes requested if that many bytes are not currently available, + or zero (0) if the end of the stream has been reached. + The sum of offset and count is larger than the buffer length. + buffer is null. + offset or count is negative + The stream does not support reading. + + Methods were called after the stream was closed. + + + + Begins an asynchronous read operation. + + The buffer to read the data into. + The byte offset in buffer at which to begin writing data read from the stream. + The maximum number of bytes to read. + An optional asynchronous callback, to be called when the read is complete. + A user-provided object that distinguishes this particular asynchronous read + request from other requests. + An CrestronIO.IAsyncResult that represents the asynchronous read, which could + still be pending. + One or more of the arguments is invalid. + buffer is null. + The current Stream implementation does not support the read operation. + Attempted an asynchronous read past the end of the stream, or a disk error + occurs. + Methods were called after the stream was closed. + + + + Waits for the pending asynchronous read to complete. + + + The reference to the pending asynchronous request to finish. + + + The number of bytes read from the stream, between zero (0) and the number + of bytes you requested. Streams return zero (0) only at the end of the stream, + otherwise, they should block until at least one byte is available. + + + asyncResult is null. + + + asyncResult did not originate from a CrestronIO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object) + method on the current stream. + + + The stream is closed or an internal error has occurred. + + + + + When overridden in a derived class, sets the position within the current stream. + + A byte offset relative to the origin parameter. + A value of type CrestronIO.SeekOrigin indicating the reference point used + to obtain the new position. + The new position within the current stream. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + from a pipe or console output. + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + + + + When overridden in a derived class, writes a sequence of bytes to the current + stream and advances the current position within this stream by the number + of bytes written. + + An array of bytes. This method copies count bytes from buffer to the current + stream. + The zero-based byte offset in buffer at which to begin copying bytes to the + current stream. + The number of bytes to be written to the current stream. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + offset or count is negative. + buffer is null. + + The sum of offset and count is greater than the buffer length. + + + + When overridden in a derived class, writes a sequence of bytes to the current + stream and advances the current position within this stream by the number + of bytes written. + + A native pointer to the array of bytes. This method copies count bytes from buffer to the current + stream. + The zero-based byte offset in buffer at which to begin copying bytes to the + current stream. + The number of bytes to be written to the current stream. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + offset or count is negative. + buffer is null. + + The sum of offset and count is greater than the buffer length. + + + + Gets a value that determines whether the current stream can time out. + + A value that determines whether the current stream can time out. + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to read before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to read before timing out. + The CrestronIO.Stream.ReadTimeout method always throws an System.InvalidOperationException. + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to write before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to write before timing out. + The CrestronIO.Stream.WriteTimeout method always throws an System.InvalidOperationException. + + + + Gets End-Of-Stream status + + + + + When overridden in a derived class, gets a value indicating whether the current + stream supports reading. + + true if the stream supports reading; otherwise, false. + + + + When overridden in a derived class, gets a value indicating whether the current + stream supports seeking. + + true if the stream supports seeking; otherwise, false. + + + + When overridden in a derived class, gets a value indicating whether the current + stream supports writing. + + true if the stream supports writing; otherwise, false. + + + + When overridden in a derived class, gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + + When overridden in a derived class, gets or sets the position within the current stream. + + The current position within the stream. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + + Special class for overriding our HiddenDirectories function for program 0 + Program 0 has access to the whole enchilada - Let them shoot themselves in the foot !! + This is an overloaded class - please add any references to the HiddenDirectories class within this. + + + + + Reference to the function to adjust the path instead of using the standard flow. + + + + + Adjusts the path for mono. + + Name of the directory. + + + + + Function to check if the specified Add or Delete operation is available on the specified directory + + + TRUE for Program 0 always else depends + + + + IsFileHidden - Checks to see if the file is hidden + + + FALSE for Program 0 always else depends + + + + IsFileHidden - Checks to see if the directory is hidden + + + FALSE for Program 0 always else depends + + + + Function to check if the file is deleteable + + + TRUE for Program 0 always else depends + + + + Delegate to describe a function that will be used for adjusting paths when running outside of a user application. + + Path to adjust. + + + + SimplSharp.CrestronIO FileStream Instance of a file supporting synchronous read and write operations. + + + + + INTERNAL: Initialize the FileStream with the specified path and access. FileMode is set to OpenOrCreate. + + Full path of the file the stream will encapsulate. + Constant that specifies the file access allowed by the stream. (Read, Write, etc.) + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + The access requested is not permitted for the specified file.: + + + + Initializes a new instance of the CrestronIO.FileStream class with the specified + path and creation mode. + + + A relative or absolute path for the file that the current FileStream object + will encapsulate. + + + A CrestronIO.FileMode constant that determines how to open or create the file. + + + path is an empty string (""), contains only white space, or contains one + or more invalid characters. -or-path refers to a non-file device, such as + "con:", "com1:", "lpt1:", etc. in an NTFS environment. + exception> + + path refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. + in a non-NTFS environment. + + + path is null. + + + The caller does not have the required permission. + + + The file cannot be found, such as when mode is FileMode.Truncate or FileMode.Open, + and the file specified by path does not exist. The file must already exist + in these modes. + + + An I/O error occurs, such as specifying FileMode.CreateNew and the file specified + by path already exists.-or-The stream has been closed. + + + The specified path is invalid, such as being on an unmapped drive. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + mode contains an invalid value. + + The access requested is not permitted for the specified file.: + + + + Initialize the FileStream with the specified path, mode, and access. + + Full path of the file the stream will encapsulate. + Specified mode to open the file. (Open, Append, etc.) + Constant that specifies the file access allowed by the stream. (Read, Write, etc.) + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + The access requested is not permitted for the specified file.: + + + + Initializes a new instance of the CrestronIO.FileStream class with the specified + path, creation mode, read/write permission, and sharing permission. + + + A relative or absolute path for the file that the current FileStream object + will encapsulate. + + + A CrestronIO.FileMode constant that determines how to open or create the file. + + + A CrestronIO.FileAccess constant that determines how the file can be accessed + by the FileStream object. This gets the CrestronIO.FileStream.CanRead and + CrestronIO.FileStream.CanWrite properties of the FileStream object. CrestronIO.FileStream.CanSeek + is true if path specifies a disk file. + + + A CrestronIO.FileShare constant that determines how the file will be shared + by processes. + + + path is null. + + + path is an empty string (""), contains only white space, or contains one + or more invalid characters. -or-path refers to a non-file device, such as + "con:", "com1:", "lpt1:", etc. in an NTFS environment. + + + path refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. + in a non-NTFS environment. + + + path is an empty string (""), contains only white space, or contains one + or more invalid characters. + + + The file cannot be found, such as when mode is FileMode.Truncate or FileMode.Open, + and the file specified by path does not exist. The file must already exist + in these modes. + + + An I/O error occurs, such as specifying FileMode.CreateNew and the file specified + by path already exists. -or-The system is running Windows 98 or Windows 98 + Second Edition and share is set to FileShare.Delete.-or-The stream has been + closed. + + + The caller does not have the required permission. + + + The specified path is invalid, such as being on an unmapped drive. + + + The access requested is not permitted by the operating system for the specified + path, such as when access is Write or ReadWrite and the file or directory + is set for read-only access. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + mode contains an invalid value. + + The access requested is not permitted for the specified file.: + + + + Initializes a new instance of the CrestronIO.FileStream class with the specified + path, creation mode, read/write and sharing permission, and buffer size. + + + A relative or absolute path for the file that the current FileStream object + will encapsulate. + + + A CrestronIO.FileMode constant that determines how to open or create the file. + + + A CrestronIO.FileAccess constant that determines how the file can be accessed + by the FileStream object. This gets the CrestronIO.FileStream.CanRead and + CrestronIO.FileStream.CanWrite properties of the FileStream object. CrestronIO.FileStream.CanSeek + is true if path specifies a disk file. + + + A CrestronIO.FileShare constant that determines how the file will be shared + by processes. + + + A positive System.Int32 value greater than 0 indicating the buffer size. + For bufferSize values between one and eight, the actual buffer size is set + to eight bytes. + + + path is null. + + + path is an empty string (""), contains only white space, or contains one + or more invalid characters. -or-path refers to a non-file device, such as + "con:", "com1:", "lpt1:", etc. in an NTFS environment. + + + path refers to a non-file device, such as "con:", "com1:", "lpt1:", etc. + in a non-NTFS environment. + + + path is an empty string (""), contains only white space, or contains one + or more invalid characters. + + + bufferSize is negative or zero.-or- mode, access, or share contain an invalid + value. + + + The file cannot be found, such as when mode is FileMode.Truncate or FileMode.Open, + and the file specified by path does not exist. The file must already exist + in these modes. + + + An I/O error occurs, such as specifying FileMode.CreateNew and the file specified + by path already exists. -or-The system is running Windows 98 or Windows 98 + Second Edition and share is set to FileShare.Delete.-or-The stream has been + closed. + + + The caller does not have the required permission. + + + The specified path is invalid, such as being on an unmapped drive. + + + The access requested is not permitted by the operating system for the specified + path, such as when access is Write or ReadWrite and the file or directory + is set for read-only access. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + The access requested is not permitted for the specified file.: + + + + + + + + + + + Clears all buffers for the stream and writes any cleared data to the file system. + + + + + + + Read bytes from a stream in to the specified buffer. + + Buffer to contain the data to be read off the stream. (offset to ((offset + count) -1) + Byte offset in the array to start copying the data read off the stream. + Maximum number of bytes to read. + + + + + + + Int with the number of bytes read off the stream. + + + + Reads a byte from the stream and advances the position within the stream + by one byte, or returns -1 if at the end of the stream. + + The unsigned byte cast to an Int32, or -1 if at the end of the stream. + The stream does not support reading. + Methods were called after the stream was closed. + + + + Sets the current position of the stream. + + The point relative to origin from which to begin seeking. + Specifies a point of origin in the file. + + + + + The new position in the stream. + + + + Sets the length of the stream + + New length of the stream. + + + + + + + Write bytes to a stream using the buffer as data. + + Buffer to contain the data to be written to the stream. + Byte offset in to the array to start writing. + Number of bytes to write. + + + + + + + + + + Function to write a string to the stream using the specified encoding. + + String to write to the stream. + Encoding to use when writing to the stream. + + + + + + + + + + + Writes a byte to the current position in the stream and advances the position + within the stream by one byte. + + The byte to write to the stream. + Methods were called after the stream was closed. + The stream does not support seeking, such as if the stream is constructed + + + + Destructor for FileStream. + + + + + Checks to see if Dispose has already been called. + + True to release both managed and unmanaged resources. + False to release only unmanaged resources. + + + + Returns true if the stream supports reading. + + + + + Returns true if the stream supports seeking. + + + + + Returns true if the stream supports writing. + + + + + Get the length of the stream in bytes. + + + + The current length of the stream in bytes. + + + + Get or set the current position in the stream. + + + + + + The current position in the stream. + + + + Gets the name of the FileStream that was passed to the constructor. + + + A string that is the name of the FileStream. + + + + + Gets a value indicating whether the FileStream was opened asynchronously + or synchronously. + + + true if the FileStream was opened asynchronously; otherwise, false. + + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to read before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to read before timing out. + If CanTimeout is false, the CrestronIO.FileStream.ReadTimeout method throws an System.InvalidOperationException. + + + + Gets or sets a value, in milliseconds, that determines how long the stream + will attempt to write before timing out. + + A value, in milliseconds, that determines how long the stream will attempt + to write before timing out. + If CanTimeout is false, The CrestronIO.FileStream.WriteTimeout method throws an System.InvalidOperationException. + + + + Gets a value that determines whether the current stream can time out. + + A value that determines whether the current stream can time out. + + + + Provides the fields that represent reference points in streams for seeking. + + + + + Specifies the beginning of a stream. + + + + + Specifies the current position within a stream. + + + + + + Specifies the end of a stream. + + + + + Defines constants for read, write, or read/write access to a file. + + + + + Read access to the file. Data can be read from the file. Combine with Write for read/write access. + + + + + Write access to the file. Data can be written to the file. Combine with Read for read/write access. + + + + + Read and write access to the file. Data can be written to and read from the file. + + + + + Specifies how the operating system should open a file. + + + + + Specifies that the operating system should create a new file. If the file already exists, an IOException is thrown. + + + + + Specifies that the operating system should create a new file. If the file already exists, it will be overwritten. + + + + + Specifies that the operating system should open an existing file. + + + + + Specifies that the operating system should open a file if it exists; otherwise, + a new file should be created. + + + + + Specifies that the operating system should open an existing file. Once opened, + the file should be truncated so that its size is zero bytes. + + + + + Opens the file if it exists and seeks to the end of the file, or creates + a new file. FileMode.Append can only be used in conjunction with FileAccess.Write. + + + + + Defines constants for controlling the kind of access other CrestronIO.FileStream + objects can have to the same file. + + + + + Declines sharing of the current file. Any request to open the file (by this + process or another process) will fail until the file is closed. + + + + + Allows subsequent opening of the file for reading. If this flag is not specified, + any request to open the file for reading (by this process or another process) + will fail until the file is closed. However, even if this flag is specified, + additional permissions might still be needed to access the file. + + + + + Allows subsequent opening of the file for writing. If this flag is not specified, + any request to open the file for writing (by this process or another process) + will fail until the file is closed. However, even if this flag is specified, + additional permissions might still be needed to access the file. + + + + + Allows subsequent opening of the file for reading or writing. If this flag + is not specified, any request to open the file for reading or writing (by + this process or another process) will fail until the file is closed. However, + even if this flag is specified, additional permissions might still be needed + to access the file. + + + + + SimplSharp.CrestronIO BinaryWriter instance to allow writing of data encoded as binary in a file. + + + + + Specifies a CrestronIO.BinaryWriter with no backing store. + + + + + Initializes a new instance of the CrestronIO.BinaryWriter class that writes + to a stream. + + + + + Initializes a new instance of the CrestronIO.BinaryWriter class based on the + supplied stream and using UTF-8 as the encoding for strings. + + + The output stream. + + + The stream does not support writing, or the stream is already closed. + + + output is null. + + + + + Initializes a new instance of the CrestronIO.BinaryWriter class based on the + supplied stream and a specific character encoding. + + + The supplied stream. + + + The character encoding. + + + The stream does not support writing, or the stream is already closed. + + + output or encoding is null. + + + + + Initializes a new instance of the Crestron BinaryWriter class based on the supplied + file name. Defaults to UTF-8. + + Name of the file. + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is greater than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + + + + Function to initializes a new instance of the Crestron BinaryWriter class based on + the supplied stream and a specific character encoding. + + Name of the file. + Type of coding. + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is greater than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + + + + Clears all buffers for the current writer and causes any buffered data to be written + to the underlying device. + + + + + Sets the position within the current file. + + A byte offset relative to origin. + A field of SeekOrigin indicating the reference point from which + the new position is to be obtained. + The position with the current file. + The file pointer was moved to an invalid location. + The CrestronIO.SeekOrigin value is invalid. + + + + Writes a one-byte Boolean value to the current stream, with 0 representing + false and 1 representing true and advances the current file pointer one byte. + + Boolean value to write (0 or 1). + An I/O error occurs. + The file is closed. + + + + Writes an unsigned byte to the current stream and advances the position by one byte. + + The unsigned byte to write. + An I/O error occurs. + The file is closed. + + + + Writes a byte array to the file. + + A byte array containing the data to write. + An I/O error occurs. + The file is closed. + Buffer is Null. + + + + Writes a Unicode character to the current file and advances the current + file pointer in accordance with the Encoding used and the specific characters + being written to the file. + + The non-surrogate, Unicode character to write. + An I/O error occurs. + The file is closed. + ch is a single surrogate character. + + + + Writes a Unicode character array to the current file and advances the current + file pointer in accordance with the Encoding used and the specific characters + being written to the file. + + A character array containing the data to write. + An I/O error occurs. + The file is closed. + chars is Null. + + + + Writes a decimal value and advances the current file pointer sixteen bytes. + + The decimal value to write. + An I/O error occurs. + The file is closed. + + + + Writes a eight-byte floating-point value to the current file and advances the current + file pointer by eight bytes. + + The double value to write. + An I/O error occurs. + The file is closed. + + + + Writes a four-byte floating-point value and advances the current file pointer + by four bytes. + + The four-byte floating-point value to write. + An I/O error occurs. + The file is closed. + + + + Writes a two-byte signed integer to the file and advances the current file pointer + by two bytes. + + The two-byte signed integer to write. + An I/O error occurs. + The file is closed. + + + + Writes a four-byte signed integer to the file and advances the current file pointer + by four bytes. + + The four-byte signed integer to write. + An I/O error occurs. + The file is closed. + + + + Writes an eight-byte signed integer to the file and advances the current file pointer + by eight bytes. + + The eight-byte signed integer to write. + An I/O error occurs. + The file is closed. + + + + Writes a signed byte to the file and advances the current file pointer + by one byte. + + The signed byte to write. + An I/O error occurs. + The file is closed. + + + + Writes a length-prefixed string to the file in the current encoding of + the BinaryWriter, and advances the current position of the stream + in accordance with the encoding used and the specific characters being + written to the stream. + + The value to write. + An I/O error occurs. + The file is closed. + value is null. + + + + Writes a four-byte unsigned integer to the current file and advances the + current file pointer four bytes. + + The four-byte unsigned integer to write. + An I/O error occurs. + The file is closed. + + + + Writes a eight-byte unsigned integer to the current file and advances the + current file pointer eight bytes. + + The eight-byte unsigned integer to write. + An I/O error occurs. + The file is closed. + + + + Writes a two-byte unsigned integer to the current file and advances the + current file pointer two bytes. + + The two-byte unsigned integer to write. + An I/O error occurs. + The file is closed. + + + + Writes a region of a byte array to the current file. + + A byte array containing the data to write. + The starting point in buffer at which to begin writing. + The number of bytes to write. + An I/O error occurs. + The file is closed. + The buffer length minus index is less than count. + buffer is null. + index or count is negative. + + + + Writes a section of a character array to the current file and advances the current + file pointer in accordance with the encoding used and perhaps the specific characters + being written to the file. + + A character array containing the data to write. + The starting point in chars at which to begin writing. + The number of characters to write. + An I/O error occurs. + The file is closed. + The chars length minus index is less than count. + chars is null. + index or count is negative. + + + + Closes the current BinaryWriter and the underlying file. + + + + + Destructor for BinaryWriter. + + + + + Checks to see if Dispose has already been called. + + True to release both managed and unmanaged resources. + False to release only unmanaged resources. + If we were to ever unseal this class then please make this as protected. + + + + Disposes the current BinaryWriter and the underlying file and then suppresses further disposing. + + + + + Gets the base output stream. + + The base stream created from path string or the one passed to the constructor. + + + + SimplSharp.CrestronIO BinaryReader instance to allow reading of data encoded as binary in a file. + + + + + Initializes a new instance of the CrestronIO.BinaryReader class based on the + supplied stream and using System.Text.UTF8Encoding. + + + A stream. + + + The stream does not support reading, the stream is null, or the stream is + already closed. + + + + + Initializes a new instance of the CrestronIO.BinaryReader class based on the + supplied stream and a specific character encoding. + + + The supplied stream. + + + The character encoding. + + + The stream does not support reading, the stream is null, or the stream is + already closed. + + + encoding is null. + + + + + Function to initialize a new BinaryRead class. + + BinaryFile to read. + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is greater than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + + + + Function to initialize a new BinaryRead class. + + BinaryFile to read. + Encoding of the file. + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is greater than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + + + + Returns the next available character in the file, but does not change the position in the file. + + The next character in the file or -1 if there are no more. + I/O Error Occurs + + + + Reads the next available character in the file and moves the current file pointer + forward according to the current encoding. + + The next character in the file or -1 if there are no more characters. + I/O Error Occurs + The file has been closed. + + + + Reads a boolean value from the file at the current position and advances the file pointer + by one byte. + + True if the byte is nonzero. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads the next byte from the current stream + and advances the current file pointer by one byte. + + The next byte in the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads the specified number of bytes from the current file into a byte array and + moves the file pointer forward by the number of bytes read. + + The number of bytes to read. + A byte array containing the bytes read from the file. + The numberOfBytesToRead is negative. + An I/O error occurred. + The file is closed. + + + + Reads the next character from the file and moves the file pointer forward + the number of bytes specified by the encoding. + + A character read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + A surrogate character was read. + + + + Reads the number of characters specified from the file. The data is + returned in a character array and the file pointer is moved forward according + to the encoding of the file. + + The number of characters to read. + A character array containing data read from the file. + The numberOfCharactersToRead is negative. + An I/O error occurred. + The file is closed. + + + + Reads a decimal value from the current file and moves the file pointer + forward by sixteen bytes. + + The decimal value read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a double from the current file and moves the file pointer + forward by eight bytes. + + The double read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a short from the current file and moves the file pointer + forward by two bytes. + + The short read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a integer from the current file and moves the file pointer + forward by four bytes. + + The integer read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a long from the current file and moves the file pointer + forward by eight bytes. + + The long read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a float from the current file and moves the file pointer + forward by four bytes. + + The float read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a string from the current file. The string is prefixed with the length, + encoded as an integer seven bits at a time. The file pointer is moved forward + the size of the string. + + The string read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads an unsigned short from the current file and moves the file pointer + forward by two bytes. + + The ushort read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads an unsigned integer from the current file and moves the file pointer + forward by four bytes. + + The unsigned integer read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a unsigned long from the current file and moves the file pointer + forward by eight bytes. + + The unsigned long read from the file. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads a signed byte from this stream and advances the current position of + the stream by one byte. + + A signed byte read from the current stream. + The end of the file is reached. + An I/O error occurred. + The file is closed. + + + + Reads count bytes from the stream with index as the starting point in the + byte array. + + + The buffer to read data into. + + + The starting point in the buffer at which to begin reading into the buffer. + + + The number of characters to read. + + + The number of characters read into buffer. This might be less than the number + of bytes requested if that many bytes are not available, or it might be zero + if the end of the stream is reached. + + + The buffer length minus index is less than count. + + + buffer is null. + + + index or count is negative. + + + The stream is closed. + + + An I/O error occurs. + + + + + Reads count characters from the stream with index as the starting point in + the character array. + + + The buffer to read data into. + + + The starting point in the buffer at which to begin reading into the buffer. + + + The number of characters to read. + + + The total number of characters read into the buffer. This might be less than + the number of characters requested if that many characters are not currently + available, or it might be zero if the end of the stream is reached. + + + The buffer length minus index is less than count. + + + buffer is null. + + + index or count is negative. + + + The stream is closed. + + + An I/O error occurs. + + + + + Closes the current BinaryReader and the underlying file. + + + + + BinaryReader Destructor. + + + + + Checks to see if Dispose has already been called. + + True to release both managed and unmanaged resources. + False to release only unmanaged resources. + If we were to ever unseal this class then please make this as protected. + + + + Disposes the current BinaryReader and the underlying file and then suppresses further disposing. + + + + + Gets the base input stream. + + The base stream created from path string or the one passed to the constructor. + + + + Get or Set the position in the file. + + The current position in the file. + Seeking is not supported. + An I/O error occurred. + The file is closed. + + + + Get the length of the file. + + The current length in bytes of the file. + Seeking is not supported. + The file is closed. + + + + Provides attributes for files and directories. + + + + + The file is read-only. + + + + + The file is hidden, and thus is not included in an ordinary directory listing. + + + + + The file is a system file. The file is part of the operating system or is used exclusively by the operating system. + + + + + The file is a directory. + + + + + The file's archive status. Applications use this attribute to mark files for backup or removal. + + + + + Reserved for future use. + + + + + The file is normal and has no other attributes set. This attribute is valid only if used alone. + + + + + The file is temporary. File systems attempt to keep all of the data in memory for quicker access rather than flushing the data back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed. + + + + + The file is a sparse file. Sparse files are typically large files whose data are mostly zeros. + + + + + The file contains a reparse point, which is a block of user-defined data associated with a file or a directory. + + + + + The file is compressed. + + + + + The file is offline. The data of the file is not immediately available. + + + + + The file will not be indexed by the operating system's content indexing service. + + + + + The file or directory is encrypted. For a file, this means that all data in the file is encrypted. For a directory, this means that encryption is the default for newly created files and directories. + + + + + Provides the base class for both CrestronIO.FileInfo and CrestronIO.DirectoryInfo + objects. + + + + + Initializes a new instance of the CrestronIO.FileSystemInfo class. + + + + + Refreshes the state of the object. + + Device is not ready. + + + + Delete the current directory. + + The specified directory can not be deleted. + File system error. + The current directory does not Exist. + The user does not have the required permissions to delete this directory. + + + + Gets or sets the FileAttributes of the current object. + + FileAttributes of the current object. + The specified file does not exist. + The specified path is invalid. + The caller does not have the required permission. + The caller attempted to set an invalid file attribute. + Cannot initialize the data. + + + + Gets the creation time of the current object. + + The creation data and time of the current object. + Cannot initialize the data. + The specified path is invalid. + The current operating system is not Microsoft Windows NT or later. + + + + Gets the string representing the extension part of the file. + + A string contains the extension + + + + Gets the time the current file or directory was last accessed. + + The time that the current file or directory was last accessed. + Cannot initialize the data. + The current operating system is not Microsoft Windows NT or later. + + + + Gets the time when the current file or directory was last written to. + + The time the current file was last written. + Cannot initialize the data. + The current operating system is not Microsoft Windows NT of later. + + + + Determines if the current directory exists on the system. + + True if the current directory exists. + + + + Return the name of the current directory. + + A string populated with the name of the current directory. + + + + Return the full path of the Directory + + The user does not have the required permission. + + + + Provides an instance for creating, moving, deleting, and enumerating through directories + and subdirectories. + + + + + Initialize the DirectoryInfo class with the specified path. + + Path to create the DirectoryInfo object + Invalid directory specified. + The path is greater than 248 characters. + The path contains invalid characters. + The path is null. + The user does not have the correct permissions. + + + + Creates a subdirectory or subdirectories on the specified path. The specified + path can be relative to this instance of the class. + + Path to create the DirectoryInfo object. + This cannot be a different disk volume or Universal Naming Convention (UNC) name. + Invalid directory specified. + The path is greater than 248 characters. + The path contains invalid characters. + The path is null. + The user does not have the correct permissions. + The current directory does not Exist. + The system does not support access to this file type. + The last directory specified in path. + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + public class CreateSubDirectory + { + public static void Main() + { + // Create a reference to a directory. + DirectoryInfo di = new DirectoryInfo("MyDirectory"); + + // Create a subdirectory in MyDirectory. + DirectoryInfo dis = di.CreateSubdirectory("MySubDirectory"); + + // Process that directory as required. + .... + } + } + + + + + Returns an array of strongly typed entries representing + all the files and subdirectories in a directory. + + Invalid directory specified. + The current directory does not Exist. + An array of strongly typed entries. + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + public class FileSystemInfos + { + public static void Main() + { + try + { + // Create a reference to a directory. + DirectoryInfo dir = new DirectoryInfo("MyDirectory"); + + if (dir.Exists) + { + // Call the GetFileSystemInfos method. + FileSystemInfo[] infos = dir.GetFileSystemInfos(); + + + //Display the results to the console. + CrestronConsole.Print("SubDirectories and files \r\n"); + foreach( FileSystemInfo f in infos) + { + CrestronConsole.Print(" " + f.FullName + "\r\n"); + } + } + } + catch (Exception Ex) + { + CrestronConsole.Print(String.Format("Unable to access directory '{0}'", _diretoryInfo.FullName)); + } + return + } + + + + + Retrieves an array of strongly typed objects representing + the files and subdirectories matching the specified search criteria. + + The search string, such as "System*", used to search for all directories + beginning with the word "System". + Invalid directory specified. + The current directory does not Exist. + The path is null. + The user does not have the correct permissions. + An array of strongly typed objects matching the search criteria. + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + public class FileSystemInfosWithSearch + { + public static void Main() + { + try + { + // Create a reference to a directory. + DirectoryInfo dir = new DirectoryInfo("MyDirectory"); + string searchString = "app"; + if (dir.Exists) + { + + // Call the GetFileSystemInfos method. + FileSystemInfo[] infos = dir.GetFileSystemInfos(searchString); + + + //Display the results to the console. + CrestronConsole.Print("SubDirectories and files that include {0} \r\n",searchString); + foreach( FileSystemInfo f in infos) + { + CrestronConsole.Print("SubDirectories and files: {0} , ", f.FullName); + } + } + } + catch (Exception Ex) + { + CrestronConsole.Print("Unable to access directory '{0}'", _diretoryInfo.FullName); + } + return + } + + + + + Create the current directory. + + The specified directory can not be created at the current path. + File system error. + + + + Delete the current directory. + + The specified directory can not be deleted. + File system error. + The current directory does not Exist. + The user does not have the required permissions to delete this directory. + + + + Deletes this instance of a , specifying whether to delete subdirectories and files. + + true to delete this directory, its subdirectories, and all files; otherwise, false. + The specified directory can not be deleted. + File system error. + The current directory does not Exist. + The user does not have the required permissions to delete this directory. + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + public class DeleteTest + { + public static void Main() + { + + // Make a reference to a directory. + DirectoryInfo info = new DirectoryInfo("/User/myDir"); + + // Create the directory only if it does not already exist. + if (info.Exists == false) + info.Create(); + + // Create a subdirectory in the directory just created. + DirectoryInfo dis = info.CreateSubdirectory("SubDir"); + + // Process that directory as required. + // ... + + // Delete the subdirectory. The true indicates that if subdirectories + // or files are in this directory, they are to be deleted as well. + dis.Delete(true); + + // Delete the directory. + di.Delete(true); + } + } + + + + + Refreshes the state of the object. + + Device is not ready. + + + + Return the subdirectories of the current instance. + + The current directory does not exist. + Array of DirectoryInfo instances to the subdirectories of the current directory. + + + + Return the subdirectories of the current instance that match the specified search pattern. + + String to match the subdirectories against. + The current directory does not exist. + The search pattern contains invalid characters. + The user does not have permissions to the specified directory. + Array of DirectoryInfo instances to the subdirectories of the current directory that match the specified pattern. + + + + Return the files of the current directory. + + The current directory does not exist. + Array of FileInfo instances to the files of the current directory. + + + + Return the files of the current directory that match the specified search pattern. + + String to match the files against. + The current directory does not exist. + The search pattern contains invalid characters. + The user does not have the required permissions to this directory. + Array of FileInfo instances to the files of the current directory that match the specified pattern. + + + + Moves the specified directory and contents to the destination location. + + Destination to move the source folder to. + The destination directory is invalid. + The destination or current directory do not exist. + File System error. + The user does not have the require access to the destination or current directory. + The destination directory contains invalid characters. + The destination directory is null. + + + + Function to convert CrestronIO.DirectoryInfo[] to DirectoryInfo[] + + The CrestronIO.DirectoryInfo to convert + DirectoryInfo[] + + + + Function to convert CrestronIO.FileInfo[] to FileInfo[] + + The CrestronIO.FileInfo to convert + FileInfo[] + + + + Determines if the current directory exists on the system. + + True if the current directory exists. + + + + Return the name of the current directory. + + A string populated with the name of the current directory. + + + + Gets or sets the FileAttributes of the current object. + + FileAttributes of the current object. + The specified file does not exist. + The specified path is invalid. + The caller does not have the required permission. + The caller attempted to set an invalid file attribute. + Cannot initialize the data. + + + + Gets the creation time of the current object. + + The creation data and time of the current object. + Cannot initialize the data. + The specified path is invalid. + The current operating system is not Microsoft Windows NT or later. + + + + Gets the string representing the extension part of the file. + + A string contains the extension + + + + Gets or sets the time the current file or directory was last accessed. + + The time that the current file or directory was last accessed. + Cannot initialize the data. + The current operating system is not Microsoft Windows NT or later. + + + + Gets or sets the time when the current file or directory was last written to. + + The time the current file was last written. + Cannot initialize the data. + The current operating system is not Microsoft Windows NT of later. + + + + Return the full path of the Directory + + The user does not have the required permission. + + + + Get the instance of the Parent Directory. + + The user does not have the required permissions to access the parent. + A DirectoryInfo instance to the Parent directory. Null, if there is no parent. + + + + Get the instance of the root directory. + + The user does not have the required permissions to access the root directory. + A DirectoryInfo instance to the root directory. + + + + Provides an instance for the creation, copying, deletion, moving, and + opening of files. + + + + + Initialize the FileInfo class with the specified file name. + + Full path file name. + The directory specified is invalid. + The path is greater than 248 characters. + The user does not have access to the specified directory. + The path specified contains invalid characters. + The path is null. + Access denied to this file. + The system does not support access to this file type. + + + + Delete the file. + + File System error. + Permissions needs are not held by the user. + Access denied. + + + + Refreshes the state of the object. + + Device is not ready. + + + + Creates a that appends text to the file represented + by this instance of the . + + A new . + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + class Test + { + + public static void Main() + { + FileInfo fi = new FileInfo(@"\user\MyTest.txt"); + + // This text is added only once to the file. + if (!fi.Exists) + { + //Create a file to write to. + using (StreamWriter sw = fi.CreateText()) + { + sw.WriteLine("Hello"); + sw.WriteLine("And"); + sw.WriteLine("Welcome"); + } + } + + // This text will always be added, making the file longer over time + // if it is not deleted. + using (StreamWriter sw = fi.AppendText()) + { + sw.WriteLine("This"); + sw.WriteLine("is Extra"); + sw.WriteLine("Text"); + } + } + } + + + + + Copies the specified file to a new file location. + + Destination to copy the file to. + Invalid destination directory passed. + The destination or source directory do not exist. + The specified path is greater than 248 characters. + File system error. + Attempt to copy a file to a different drive. + The argument contains invalid characters. + The argument is null. + The system does not support this operation. + A FileInfo instance of the newly created file. + + + + Copies the specified file to a new file location with the option to overwrite. + + Destination to copy the file to. + True to overwrite an existing file. + Invalid destination directory passed. + The destination or source directory do not exist. + The specified path is greater than 248 characters. + File system error. + Attempt to copy a file to a different drive. + The argument contains invalid characters. + An argument is null. + The system does not support this operation. + A FileInfo instance of the newly created file. + + + + Creates a file. + + A new file. + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + class Test + { + public static void Main() + { + string path = @"c:\MyTest.txt"; + FileInfo fi = new FileInfo(path); + + // Delete the file if it exists. + if (fi.Exists) + { + fi.Delete(); + } + + //Create the file. + using (FileStream fs = fi.Create()) + { + Byte[] info = + new UTF8Encoding(true).GetBytes("This is some text for the file."); + + //Add some information to the file. + fs.Write(info, 0, info.Length); + } + } + } + + + + + Creates a that writes a new text file. + + File system error. + Attempt to copy a file to a different drive. + The user does not have the required permissions. + A new . + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + class Test + { + public static void Main() + { + string path = @"c:\MyTest.txt"; + FileInfo fi = new FileInfo(path); + + // Delete the file if it exists. + if (fi.Exists) + { + fi.Delete(); + } + + //Create the file. + using (FileStream fs = fi.CreateText()) + { + Byte[] info = + new UTF8Encoding(true).GetBytes("This is some text for the file."); + + //Add some information to the file. + fs.Write(info, 0, info.Length); + } + } + } + + + + + Moves the specified file to the destination with possibly a new file name. + + Destination to move the source file to. + Invalid destination directory passed. + The destination or source directory do not exist. + The source file does not exist. + The specified path is greater than 248 characters. + File system error. + Attempt to copy a file to a different drive. + The argument contains invalid characters. + The argument is null. + The system does not support this operation. + + + + Opens a file in the specified mode. + + Specified mode to open the file. (Open, Append, etc.) + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + A file opened in the specified mode, with read/write access and unshared. + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + class Test + { + + public static void Main() + { + string path = @"\User\MyTest.txt"; + FileInfo fi = new FileInfo(path); + + // Delete the file if it exists. + if (!fi.Exists) + { + //Create the file. + using (FileStream fs = fi.Create()) + { + Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file."); + //Add some information to the file. + fs.Write(info, 0, info.Length); + } + } + + //Open the stream and read it back. + using (FileStream fs = fi.Open(FileMode.Open)) + { + byte[] b = new byte[1024]; + UTF8Encoding temp = new UTF8Encoding(true); + while (fs.Read(b, 0, b.Length) > 0) + { + ...... + } + } + } + } + + + + + Opens the current file with the specified mode and access. + + Specified mode to open the file. (Open, Append, etc.) + Constant that specifies the file access allowed by the stream. (Read, Write, etc.) + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + FileStream instance of the current file. + + + + Opens a file in the specified mode with read, write, or read/write access + and the specified sharing option. + + Specified mode to open the file. (Open, Append, etc.) + Constant that specifies the file access allowed by the stream. (Read, Write, etc.) + + A FileShare constant specifying the type of access other FileStream + objects have to this file. + + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + FileStream instance of the current file. + + + + Opens the current file with Read only access. + + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + FileStream instance of the current file with read only access. + + + + Creates a with UTF8 encoding that reads from an existing + text file. + + Invalid directory location. + The file passed does not exist. + The user does not have the required permissions. + Attempt to copy a file to a different drive. + A new with UTF8 encoding. + + using Crestron.SimplSharp; + using Crestron.SimplSharp.CrestronIO;; + + class Test + { + public static void Main() + { + string path = @"\User\MyTest.txt"; + + FileInfo fi = new FileInfo(path); + + // Check for existing file + if (!fi.Exists) + { + // Create the file. + using (FileStream fs = fi.Create()) + { + Byte[] info = + new UTF8Encoding(true).GetBytes("This is some text in the file."); + + // Add some information to the file. + fs.Write(info, 0, info.Length); + fs.Close(); + } + } + + // Open the stream and read it back. + using (StreamReader sr = fi.OpenText()) + { + string s = ""; + while ((s = sr.ReadLine()) != null) + { + Process ..... + } + } + } + } + + + + + Opens the current file with write only access. + + Invalid directory location passed. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + Invalid argument passed. + One of the arguments is null. + The user does not have the required permissions. + Mode or FileAccess are invalid. + The file is of a non-file system type. + FileStream instance of the current file with write only access.. + + + + Determines if the file exists on the system. + + true if the specified file exists. + + + + Return the name of file. + + A string populated with the name of the file. + + + + Gets or sets the FileAttributes of the current object. + + FileAttributes of the current object. + The specified file does not exist. + The specified path is invalid. + The caller does not have the required permission. + The caller attempted to set an invalid file attribute. + Cannot initialize the data. + + + + Gets the creation time of the current object. + + The creation data and time of the current object. + Cannot initialize the data. + The specified path is invalid. + The current operating system is not Microsoft Windows NT or later. + + + + Gets the string representing the extension part of the file. + + A string contains the extension + + + + Gets or sets the time the current file or directory was last accessed. + + The time that the current file or directory was last accessed. + Cannot initialize the data. + The current operating system is not Microsoft Windows NT or later. + + + + Gets or sets the time when the current file or directory was last written to. + + The time the current file was last written. + Cannot initialize the data. + The current operating system is not Microsoft Windows NT of later. + + + + Return the full name of the file path + + Access denied. + + + + Return the DirectoryInfo for the parent directory. + + The parent directory does not exist. + Access denied. + A DirectoryInfo instance of the parent directory. + + + + Return the the directory's name. + + Access Denied. + The specified directory is null. + A string with the name of the parent directory. + + + + Return the the length of the file, in bytes. + + The current file does not exist. + File System error. + A long representing the length of the current file in bytes. + + + + Provides an static methods for the creation, copying, deletion, and moving of files. + + + + + Opens a CrestronIO.FileStream on the specified path with read/write access. + + + The file to open. + + + A CrestronIO.FileMode value that specifies whether a file is created if one + does not exist, and determines whether the contents of existing files are + retained or overwritten. + + + A CrestronIO.FileStream opened in the specified mode and path, with read/write + access and not shared. + + + path is a zero-length string, contains only white space, or contains one + or more invalid characters as defined by CrestronIO.Path.InvalidPathChars.-or- + access specified Read and mode specified Create, CreateNew, Truncate, or + Append. + + + path is null. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + The specified path is invalid, (for example, it is on an unmapped drive). + + + An I/O error occurred while opening the file. + + + path specified a file that is read-only and access is not Read.-or- path + specified a directory.-or- The caller does not have the required permission. + + + mode or access specified an invalid value. + + + The file specified in path was not found. + + + path is in an invalid format. + + + path is in an invalid format. + + + + + Opens a CrestronIO.FileStream on the specified path, with the specified mode + and access. + + + The file to open. + + + A CrestronIO.FileMode value that specifies whether a file is created if one + does not exist, and determines whether the contents of existing files are + retained or overwritten. + + + A CrestronIO.FileAccess value that specifies the operations that can be performed + on the file. + + + An unshared CrestronIO.FileStream that provides access to the specified file, + with the specified mode and access. + + + path is a zero-length string, contains only white space, or contains one + or more invalid characters as defined by CrestronIO.Path.InvalidPathChars.-or- + access specified Read and mode specified Create, CreateNew, Truncate, or + Append. + + + path is null. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + The specified path is invalid, (for example, it is on an unmapped drive). + + + An I/O error occurred while opening the file. + + + path specified a file that is read-only and access is not Read.-or- path + specified a directory.-or- The caller does not have the required permission. + + + mode or access specified an invalid value. + + + The file specified in path was not found. + + + path is in an invalid format. + + + + + Opens a CrestronIO.FileStream on the specified path, having the specified + mode with read, write, or read/write access and the specified sharing option. + + + The file to open. + + + A CrestronIO.FileMode value that specifies whether a file is created if one + does not exist, and determines whether the contents of existing files are + retained or overwritten. + + + A CrestronIO.FileAccess value that specifies the operations that can be performed + on the file. + + + A CrestronIO.FileShare value specifying the type of access other threads have + to the file. + + + A CrestronIO.FileStream on the specified path, having the specified mode with + read, write, or read/write access and the specified sharing option. + + + path is a zero-length string, contains only white space, or contains one + or more invalid characters as defined by CrestronIO.Path.InvalidPathChars.-or- + access specified Read and mode specified Create, CreateNew, Truncate, or + Append. + + + path is null. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + The specified path is invalid, (for example, it is on an unmapped drive). + + + An I/O error occurred while opening the file. + + + path specified a file that is read-only and access is not Read.-or- path + specified a directory.-or- The caller does not have the required permission. + + + mode, access, or share specified an invalid value. + + + The file specified in path was not found. + + + path is in an invalid format. + + + + + Opens an existing file for reading. + + The file to be opened for reading. + Invalid destination directory. + The user does not have the required permissions. + A read-only stream on the specified path. + + + + Opens an existing file for writing. + + The file to be opened for writing. + Invalid destination directory. + The user does not have the required permissions. + An FileStream object on the specified path. + + + + Function to Read an entire file and return it as a string + + File to open for reading. + Encoding used to convert the file to a string. + Invalid destination directory. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + The user does not have the required permissions. + The contents of the file according to the Encoding passed in. + + + + Determines if the specified file exists on the system. + + Directory to check. + true if the specified file exists, otherwise false. This method also returns false if + path is null, an invalid path, or a zero-length string. + + + + Delete the specified file. + + File to delete. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + + + + Copies an existing file to a new file. + + Source file to copy. + The name of the destination file. + Invalid Directory location specified for source or destination. + destFileName exists or a file system error has occurred. + Specified directory for source or destination does not exist. + Specified path for source or destination is greater than 248 characters. + The source file does not exist. + Source or destination access is not provided to the user. + sourceFileName or destFileName contain invalid characters. + sourceFileName or destFileName is null. + sourceFileName or destFileName is of invalid format. + + + + Copies an existing file to a new file where overwrite can be specified. + + Source file to copy. + The name of the destination file. + 'true' if the destination file can be overwritten; otherwise, 'false'. + Invalid Directory location specified for source or destination. + destFileName is read-only, or destFileName exists and overwrite is false, or a file system error has occurred. + Specified directory for source or destination does not exist. + Specified path for source or destination is greater than 248 characters. + The source file does not exist. + Source or destination access is not provided to the user. + sourceFileName or destFileName contain invalid characters. + sourceFileName or destFileName is null. + sourceFileName or destFileName is of invalid format. + + + + Creates or opens a file for writing UTF-8 encoded text. + + The file to be opened for writing. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + StreamWriter that writes to the specified file using UTF-8 encoding. + + + + Creates a StreamWriter that appends UTF-8 encoded text to an existing file. + + The path to the file to append to. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + A StreamWriter that appends UTF-8 encoded text to an existing file. + + + + Opens an existing UTF-8 encoded text file for reading. + + The file to be opened for reading. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + StreamReader on the specified path + + + + Creates or overwrites a file in the specified path. + + The path and name of the file to create. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + FileStream that provides read/write access to the file specified in path. + + + + Moves the specified file to the destination location. + + Source directory to move. + Destination to move the source file to. + One of the specified directories is invalid. + A Specified directory does not exist. + A specified file does not exist. + The specified path is longer than 248 characters. + File System error. + Higher Permissions needed. + Specified path contains invalid characters. + Specified path is null. + System does not support this operation. + + + + Returns the data and time the specified file was created. + + File to query. + Invalid path specified. + The specified path is greater than 248 characters. + User does not have the require permissions to this file. + The specified path contains invalid characters. + The specified path is null. + The system does not support this operation. + A DateTime object populated with the creation time of the specified path. + + + + Returns the data and time the specified file was last accessed. + + File to query. + Invalid path specified. + The specified path is greater than 248 characters. + User does not have the require permissions to this file. + The specified path contains invalid characters. + The specified path is null. + The system does not support this operation. + A DateTime object populated with the last access time of the specified path. + + + + Returns the data and time the specified file was last written to. + + Path to delete. + Invalid path specified. + The specified path is greater than 248 characters. + User does not have the require permissions to this file. + The specified path contains invalid characters. + The specified path is null. + The system does not support this operation. + A DateTime object populated with the last write time of the specified path. + + + + Provides a static methods for deleting, moving, and enumerating through directories + and subdirectories. + + + + + Create the specified empty directory. + + Path to create. + Directory Info for the new directory + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + + + + Create the specified empty directory. + + Path to create. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + + + + Delete the specified empty directory. + + Path to delete. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + The system does not support this operation. + + + + Delete the specified directory and any subdirectories, if indicated. + + Path to delete. + Specify True to delete subdirectories. + Invalid Directory location specified. + File System Error. + Specified directory does not exist. + Specified path is greater than 248 characters. + Attempting to delete a file the user does not have permissions for. + The specified path contains invalid characters. + The argument is null. + + + + Determines if the specified path exists on the system. + + Directory to check. + Invalid directory specified. + true if the specified path exists. + + + + Returns the data and time the specified directory was created. + + Directory to query. + Invalid path specified. + The specified path is greater than 248 characters. + User does not have the require permissions to this directory. + The specified path contains invalid characters. + The specified path is null. + A DateTime object populated with the creation time of the specified path. + + + + Returns the data and time the specified directory was last accessed. + + Directory to query. + Invalid path specified. + The specified path is greater than 248 characters. + User does not have the require permissions to this directory. + The specified path contains invalid characters. + The specified path is null. + The system does not support this operation. + A DateTime object populated with the last access time of the specified path. + + + + Returns the data and time the specified directory was last written to. + + Directory to query. + Invalid path specified. + The specified path is greater than 248 characters. + User does not have the require permissions to this directory. + The specified path contains invalid characters. + The specified path is null. + A DateTime object populated with the last write time of the specified path. + + + + Moves the specified directory and contents to the destination location. + + Source directory to move. + Destination to move the source folder to. + One of the specified directories is invalid. + A Specified directory does not exist. + A specified directory does not exist. + The specified path is longer than 248 characters. + File System error. + Higher Permissions needed. + Specified path contains invalid characters. + Specified path is null. + + + + Returns an array populated with the names of directories in the specified directory. + + Directory to search. + Invalid Directory location. + The specified directory does not exist. + The specified directory is greater than 248 characters. + File System error. + The user does not have the require permissions. + The specified argument contains invalid characters. + The specified argument is null. + A string array populated with the names of files in the specified directory. + + + + Returns an array populated with the names of directories in the specified directory matched against the search pattern. + + Directory to search. + Pattern to match the directories against. + Invalid Directory location. + The specified directory does not exist. + The specified directory is greater than 248 characters. + File System error. + The user does not have the require permissions. + The specified argument contains invalid characters. + The specified argument is null. + A string array populated with the names of directories in the specified directory that match the search pattern. + + + + Returns the root information of the specified directory. + + Directory to search. + Path is longer than 248 characters. + Higher permissions required. + The path contains invalid characters. + The path is null. + A string with the root information of the specified directory. + + + + Returns an array populated with the names of files in the specified directory. + + Directory to search. + Invalid Directory location. + The specified directory does not exist. + The specified directory is greater than 248 characters. + File System error. + The user does not have the require permissions. + The specified argument contains invalid characters. + The specified argument is null. + A string array populated with the names of files in the specified directory. + + + + Returns an array populated with the names of files in the specified directory that match the search pattern. + + Directory to search. + Search pattern to match against files in the supplied directory. + Invalid Directory location. + The specified directory does not exist. + The specified directory is greater than 248 characters. + The user does not have the require permissions. + The specified argument contains invalid characters. + The specified argument is null. + A string array populated with the names of files in the specified directory that match the search pattern. + + + + Return the working directory of the application. + + The path of the current directory as a string. "\\SIMPL\\AppXX" or "/SIMPL/AppXX" based on the platform. + + + + Returns the application's 'root' directory. This is where NVRAM and HTML folders can be found. No trailing directory separator at the end. + + The path of this applications 'root' as a string. For appliances, this would be ""; for servers, this would be the "{HOME}/RunningPrograms/RoomName". + + + + + Returns the names of all files and subdirectories in the specified directory. + + + The directory for which file and subdirectory names are returned. + + + A String array containing the names of file system entries in the specified + directory. + + + The caller does not have the required permission. + + + path is a zero-length string, contains only white space, or contains one + or more invalid characters as defined by System.IO.Path.InvalidPathChars. + + + path is null. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters and file names must be less than 260 characters. + + + path is a file name. + + + The specified path is invalid (for example, it is on an unmapped drive). + + + + + Returns an array of file system entries matching the specified search criteria. + + + The path to be searched. + + + The search string to match against the names of files in path. The searchPattern + parameter cannot end in two periods ("..") or contain two periods ("..") + followed by System.IO.Path.DirectorySeparatorChar or System.IO.Path.AltDirectorySeparatorChar, + nor can it contain any of the characters in System.IO.Path.InvalidPathChars. + + + A String array of file system entries matching the search criteria. + + + The caller does not have the required permission. + + + path is a zero-length string, contains only white space, or contains one + or more invalid characters as defined by System.IO.Path.InvalidPathChars.-or- + searchPattern does not contain a valid pattern. + + + path or searchPattern is null. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters and file names must be less than 260 characters. + + + path is a file name. + + + The specified path is invalid (for example, it is on an unmapped drive). + + + + + Static methods to perform operations on paths. + + + + + Provides a platform-specific alternate character used to separate directory + levels in a path string that reflects a hierarchical file system organization. + + + + + Provides a platform-specific character used to separate directory levels in a + path string that reflects a hierarchical file system organization. + + + + + A platform-specific separator character used to separate path strings in environment variables. + + + + + Provides a platform-specific volume separator character. + + + + + Constructor + + + + + Changes the extension of the specified path string. + + Path string to modify. This string cannot contain any of the characters returned from Crestron.SimplSharp.CrestronIO.Path.GetInvalidPathChars(). + The new extension (with or without a leading period). Specify null to remove an existing extension from path. + A string containing the modified path information. + Path string contains one or more of the invalid characters defined in Crestron.SimplSharp.CrestronIO.Path.GetInvalidPathChars(). + + + + Changes the extension of the specified path string. + + Path string to modify. This string cannot contain any of the characters returned from Crestron.SimplSharp.CrestronIO.Path.GetInvalidPathChars(). + The new extension (with or without a leading period). Specify null to remove an existing extension from path. + A string containing the modified path information. + Path string contains one or more of the invalid characters defined in Crestron.SimplSharp.CrestronIO.Path.GetInvalidPathChars(). + + + + Combines two path strings. + + First path. + Second path. + A string containing the combined paths. If one of the specified paths is a zero-length string, this method returns the other path. + If path2 contains an absolute path, this method returns path2. + Path1 or path2 contain one or more of the invalid characters defined in Crestron.SimplSharp.CrestronIO.Path.GetInvalidPathChars(). + Path1 or path2 is null. + + + + Gets an array that contains the characters not allowed in path names. + + An array containing the characters that are not allowed in path names. + + + + Determines whether a path contains a file name extension. + + Specified path to search for an extension. + true if the characters that follow the last directory separator (\\ or /) or volume separator (:) + in the path include a period (.) followed by one or more characters; otherwise, false. + + path contains one or more of the invalid characters defined in Crestron.SimplSharp.CrestronIO.Path.GetInvalidPathChars(). + + + + Function to return the number of bytes available on the drive of the specified path. + + Path to check free space. + Invalid path specified. + Specified path is too long. + The specified path contains invalid characters. + Long integer containing the number of bytes available. + + + + Returns the extension of the specified path. + + Path from which to get the extension from. + The specified path contains invalid characters. + String containing the extension (including '.'), null if the path is null, and Empty string if the + path does not contain an extension. + + + + Returns the extension of the specified path. + + Path from which to get the extension from. + The specified path contains invalid characters. + String containing the extension (including '.'), null if the path is null, and Empty string if the + path does not contain an extension. + + + + Returns the file name and extension of the specified path. + + Path from which to get the file name from. + The specified path contains invalid characters. + String containing the file name with extension (ex. "test.txt"), null if the path is null, and Empty string if the + path does not contain file name at the end. + + + + Returns the file name and extension of the specified path. + + Path from which to get the file name from. + The specified path contains invalid characters. + String containing the file name with extension (ex. "test.txt"), null if the path is null, and Empty string if the + path does not contain file name at the end. Note: This method is identical to the GetFileNameWithExtension method. + + + + Returns the file name without the extension of the specified path. + + Path from which to get the file name from. + The specified path contains invalid characters. + String containing the file name with extension (ex. "test") + + + + Returns the directory information from the specified path string. + + Path from which to get the directory information from. + Specified path is too long. + The specified path contains invalid characters. + String containing the directory information as a string. + + + + Gets a value indicating whether the specified path string contains absolute or relative path information. + Note, absolute paths are expected for operations like opening or creating a file in the File class. + + The path to test. + true if path contains an absolute path; otherwise, false. + The specified path contains invalid characters. + + + + Exception used when a File System I/O error occurs. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Exception used when a directory is not present on the system. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Exception used when a File Sis not present on the system. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Exception used when the end of a stream is reached. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Exception used when the specified path is greater than 248 characters. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Exception used when a the specified directory is invalid. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Represents a reader that can read a sequential series of characters. + + + + + Provides a TextReader with no data to read from. + + + + + Initializes a new instance of the CrestronIO.TextReader class. + + + + + Closes the CrestronIO.TextReader and releases any system resources associated + with the TextReader. + + + + + Releases all resources used by the CrestronIO.TextReader object. + + + + + Releases the unmanaged resources used by the CrestronIO.TextReader and optionally + releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Reads the next character without changing the state of the reader or the + character source. Returns the next available character without actually reading + it from the input stream. + + + An integer representing the next character to be read, or -1 if no more characters + are available or the stream does not support seeking. + + + The CrestronIO.TextReader is closed. + + + An I/O error occurs. + + + + + Reads the next character from the input stream and advances the character + position by one character. + + + The next character from the input stream, or -1 if no more characters are + available. The default implementation returns -1. + + + The CrestronIO.TextReader is closed. + + + An I/O error occurs. + + + + + Reads a maximum of count characters from the current stream and writes the + data to buffer, beginning at index. + + + When this method returns, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The place in buffer at which to begin writing. + + + The maximum number of characters to read. If the end of the stream is reached + before count of characters is read into buffer, the current method returns. + + + The number of characters that have been read. The number will be less than + or equal to count, depending on whether the data is available within the + stream. This method returns zero if called when no more characters are left + to read. + + + buffer is null. + + + The buffer length minus index is less than count. + + + index or count is negative. + + + The CrestronIO.TextReader is closed. + + + An I/O error occurs. + + + + + Reads a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + + The place in buffer at which to begin writing. + + + The maximum number of characters to read. + + + The position of the underlying stream is advanced by the number of characters + that were read into buffer.The number of characters that have been read. + The number will be less than or equal to count, depending on whether all + input characters have been read. + + + buffer is null. + + + The buffer length minus index is less than count. + + + index or count is negative. + + + The CrestronIO.TextReader is closed. + + + An I/O error occurs. + + + + + Reads a line of characters from the current stream and returns the data as + a string. + + + The next line from the input stream, or null if all characters have been + read. + + + An I/O error occurs. + + + There is insufficient memory to allocate a buffer for the returned string. + + + The CrestronIO.TextReader is closed. + + + The number of characters in the next line is larger than System.Int32.MaxValue + + + + + Reads all characters from the current position to the end of the TextReader + and returns them as one string. + + + A string containing all characters from the current position to the end of + the TextReader. + + + The CrestronIO.TextReader is closed. + + + There is insufficient memory to allocate a buffer for the returned string. + + + The number of characters in the next line is larger than System.Int32.MaxValue + + Invalid destination directory. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + + + + Creates a thread-safe wrapper around the specified TextReader. + + + The TextReader to synchronize. + + + A thread-safe CrestronIO.TextReader. + + + reader is null. + + + + + Allows a CrestronIO.TextWriter and its derivations to be passed into .Net apis + + + + + Represents a writer that can write a sequential series of characters. This + class is abstract. + + + + + Provides a TextWriter with no backing store that can be written to, but not + read from. + + + + + Stores the new line characters used for this TextWriter. + + + + + Initializes a new instance of the CrestronIO.TextWriter class. + + + + + Initializes a new instance of the CrestronIO.TextWriter class with the specified + format provider. + + + An System.IFormatProvider object that controls formatting. + + + + + Closes the current writer and releases any system resources associated with + the writer. + + + + + Releases all resources used by the CrestronIO.TextWriter object. + + + + + Releases the unmanaged resources used by the CrestronIO.TextWriter and optionally + releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying device. + + + + + Creates a thread-safe wrapper around the specified TextWriter. + + + The TextWriter to synchronize. + + + A thread-safe wrapper. + + + writer is null. + + + + + Writes the text representation of a Boolean value to the text stream. + + + The Boolean to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character to the text stream. + + + The character to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character array to the text stream. + + + The character array to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a decimal value to the text stream. + + + The decimal value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte floating-point value to the text + stream. + + + The 8-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte floating-point value to the text + stream. + + + The 4-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte signed integer to the text stream. + + + The 4-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte signed integer to the text stream. + + + The 8-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an object to the text stream by calling + ToString on that object. + + + The object to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a string to the text stream. + + + The string to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte unsigned integer to the text stream. + + + The 4-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte unsigned integer to the text + stream. + + + The 8-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + An object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object array to write into the formatted string. + + + format or arg is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + arg. Length. + + + + + Writes a subarray of characters to the text stream. + + + The character array to write data from. + + + Starting index in the buffer. + + + The number of characters to write. + + + The buffer length minus index is less than count. + + + The buffer parameter is null. + + + index or count is negative. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + An object to write into the formatted string. + + + An object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes a line terminator to the text stream. + + + The default line terminator is a carriage return followed by a line feed + ("\r\n"), but this value can be changed using the CrestronIO.TextWriter.NewLine + property. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a Boolean followed by a line terminator + to the text stream. + + + The Boolean to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character followed by a line terminator to the text stream. + + + The character to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes an array of characters followed by a line terminator to the text stream. + + + The character array from which data is read. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a decimal value followed by a line terminator + to the text stream. + + + The decimal value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 8-byte floating-point value followed + by a line terminator to the text stream. + + + The 8-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte floating-point value followed + by a line terminator to the text stream. + + + The 4-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte signed integer followed by a line + terminator to the text stream. + + + The 4-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte signed integer followed by a + line terminator to the text stream. + + + The 8-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an object by calling ToString on this object, + followed by a line terminator to the text stream. + + + The object to write. If value is null, only the line termination characters + are written. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a string followed by a line terminator to the text stream. + + + The string to write. If value is null, only the line termination characters + are written. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte unsigned integer followed by a + line terminator to the text stream. + + + The 4-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte unsigned integer followed by + a line terminator to the text stream. + + + The 8-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatted string. + + + The object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object array to write into format string. + + + A string or object is passed in as null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + arg.Length. + + + + + Writes a subarray of characters followed by a line terminator to the text + stream. + + + The character array from which data is read. + + + The index into buffer at which to begin reading. + + + The maximum number of characters to write. + + + Characters are read from buffer beginning at index and ending at index + + count. + + + The buffer length minus index is less than count. + + + The buffer parameter is null. + + + index or count is negative. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object to write into the format string. + + + The object to write into the format string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + When overridden in a derived class, returns the System.Text.Encoding in which + the output is written. + + + The Encoding in which the output is written. + + + + + Gets an object that controls formatting. + + + An System.IFormatProvider object for a specific culture, or the formatting + of the current culture if no other culture is specified. + + + + + Gets or sets the line terminator string used by the current TextWriter. + + + The line terminator string for the current TextWriter. + + + + + Implements a CrestronIO.TextReader that reads characters from a byte stream + in a particular encoding. + + + + + A CrestronIO.StreamReader object around an empty stream. + + + + + Initializes a new NULL instance of the CrestronIO.StreamReader class + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + stream. + + + The stream to be read. + + + stream does not support reading. + + + stream is null. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + file name. + + + The complete file path to be read. + + + path is an empty string (""). + + + path is null. + + + The file cannot be found. + + + The specified path is invalid, such as being on an unmapped drive. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + stream, with the specified byte order mark detection option. + + + The stream to be read. + + + Indicates whether to look for byte order marks at the beginning of the file. + + + stream does not support reading. + + + stream is null. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + stream, with the specified character encoding. + + + The stream to be read. + + + The character encoding to use. + + + stream does not support reading. + + + stream or encoding is null. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + file name, with the specified byte order mark detection option. + + + The complete file path to be read. + + + Indicates whether to look for byte order marks at the beginning of the file. + + + path is an empty string (""). + + + path is null. + + + The file cannot be found. + + + The specified path is invalid, such as being on an unmapped drive. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + file name, with the specified character encoding. + + + The complete file path to be read. + + + The character encoding to use. + + + path is an empty string (""). + + + path or encoding is null. + + + The file cannot be found. + + + The specified path is invalid, such as being on an unmapped drive. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + stream, with the specified character encoding and byte order mark detection + option. + + + The stream to be read. + + + The character encoding to use. + + + Indicates whether to look for byte order marks at the beginning of the file. + + + stream does not support reading. + + + stream or encoding is null. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + file name, with the specified character encoding and byte order mark detection + option. + + + The complete file path to be read. + + + The character encoding to use. + + + Indicates whether to look for byte order marks at the beginning of the file. + + + path is an empty string (""). + + + path or encoding is null. + + + The file cannot be found. + + + The specified path is invalid, such as being on an unmapped drive. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + stream, with the specified character encoding, byte order mark detection + option, and buffer size. + + + The stream to be read. + + + The character encoding to use. + + + Indicates whether to look for byte order marks at the beginning of the file. + + + The minimum buffer size. + + + The stream does not support reading. + + + stream or encoding is null. + + + bufferSize is less than or equal to zero. + + + + + Initializes a new instance of the CrestronIO.StreamReader class for the specified + file name, with the specified character encoding, byte order mark detection + option, and buffer size. + + + The complete file path to be read. + + + The character encoding to use. + + + Indicates whether to look for byte order marks at the beginning of the file. + + + The minimum buffer size, in number of 16-bit characters. + + + path is an empty string (""). + + + path or encoding is null. + + + The file cannot be found. + + + The specified path is invalid, such as being on an unmapped drive. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label. + + + buffersize is less than or equal to zero. + + + + + Destructor for StreamReader. + + + + + Allows a CrestronIO.StreamReader object to discard its current data. + + + + + Closes the underlying stream, releases the unmanaged resources used by the + CrestronIO.StreamReader, and optionally releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Returns the next available character but does not consume it. + + + An integer representing the next character to be read, or -1 if no more characters + are available or the stream does not support seeking. + + + An I/O error occurs. + + + + + Reads the next character from the input stream and advances the character + position by one character. + + + The next character from the input stream represented as an System.Int32 object, + or -1 if no more characters are available. + + + An I/O error occurs. + + + + + Reads a maximum of count characters from the current stream into buffer, + beginning at index. + + + When this method returns, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The index of buffer at which to begin writing. + + + The maximum number of characters to read. + + + The number of characters that have been read, or 0 if at the end of the stream + and no data was read. The number will be less than or equal to the count + parameter, depending on whether the data is available within the stream. + + + The buffer length minus index is less than count. + + + buffer is null. + + + index or count is negative. + + + An I/O error occurs, such as the stream is closed. + + + + + Reads a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + + The place in buffer at which to begin writing. + + + The maximum number of characters to read. + + + The position of the underlying stream is advanced by the number of characters + that were read into buffer.The number of characters that have been read. + The number will be less than or equal to count, depending on whether all + input characters have been read. + + + buffer is null. + + + The buffer length minus index is less than count. + + + index or count is negative. + + + The CrestronIO.TextReader is closed. + + + An I/O error occurs. + + + + + Reads a line of characters from the current stream and returns the data as + a string. + + + The next line from the input stream, or null if the end of the input stream + is reached. + + + There is insufficient memory to allocate a buffer for the returned string. + + + An I/O error occurs. + + + + + Reads the stream from the current position to the end of the stream. + + + The rest of the stream as a string, from the current position to the end. + If the current position is at the end of the stream, returns the empty string(""). + + + There is insufficient memory to allocate a buffer for the returned string. + + Invalid destination directory. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + + + + Returns the underlying stream. + + + The underlying stream. + + + + + Gets the current character encoding that the current CrestronIO.StreamReader + object is using. + + + The current character encoding used by the current reader. The value can + be different after the first call to any Overload:CrestronIO.StreamReader.Read + method of CrestronIO.StreamReader, since encoding autodetection is not done + until the first call to a Overload:CrestronIO.StreamReader.Read method. + + + + + Gets a value that indicates whether the current stream position is at the + end of the stream. + + + true if the current stream position is at the end of the stream; otherwise + false. + + + The underlying stream has been disposed. + + + + + Implements a CrestronIO.TextWriter for writing characters to a stream in a + particular encoding. + + + + + Provides a StreamWriter with no backing store that can be written to, but + not read from. + + + + + Initializes a new NULL instance of the CrestronIO.StreamWriter class + + + + + Initializes a new instance of the CrestronIO.StreamWriter class for the specified + stream, using UTF-8 encoding and the default buffer size. + + + The stream to write to. + + + stream is not writable. + + + stream is null. + + + + + Initializes a new instance of the CrestronIO.StreamWriter class for the specified + file on the specified path, using the default encoding and buffer size. + + + The complete file path to write to. path can be a file name. + + + Access is denied. + + + path is an empty string(""). -or-path contains the name of a system device + (com1, com2, and so on). + + + path is null. + + + The specified path is invalid, such as being on an unmapped drive. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label syntax. + + + The caller does not have the required permission. + + + + + Initializes a new instance of the CrestronIO.StreamWriter class for the specified + stream, using the specified encoding and the default buffer size. + + + The stream to write to. + + + The character encoding to use. + + + stream or encoding is null. + + + stream is not writable. + + + + + Initializes a new instance of the CrestronIO.StreamWriter class for the specified + file on the specified path, using the default encoding and buffer size. If + the file exists, it can be either overwritten or appended to. If the file + does not exist, this constructor creates a new file. + + + The complete file path to write to. + + + Determines whether data is to be appended to the file. If the file exists + and append is false, the file is overwritten. If the file exists and append + is true, the data is appended to the file. Otherwise, a new file is created. + + + Access is denied. + + + path is empty. -or-path contains the name of a system device (com1, com2, + and so on). + + + path is null. + + + The specified path is invalid, such as being on an unmapped drive. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label syntax. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + The caller does not have the required permission. + + + + + Initializes a new instance of the CrestronIO.StreamWriter class for the specified + stream, using the specified encoding and buffer size. + + + The stream to write to. + + + The character encoding to use. + + + Sets the buffer size. + + + stream or encoding is null. + + + bufferSize is negative. + + + stream is not writable. + + + + + Initializes a new instance of the CrestronIO.StreamWriter class for the specified + file on the specified path, using the specified encoding and default buffer + size. If the file exists, it can be either overwritten or appended to. If + the file does not exist, this constructor creates a new file. + + + The complete file path to write to. + + + Determines whether data is to be appended to the file. If the file exists + and append is false, the file is overwritten. If the file exists and append + is true, the data is appended to the file. Otherwise, a new file is created. + + + The character encoding to use. + + + Access is denied. + + + path is empty. -or-path contains the name of a system device (com1, com2, + etc). + + + path is null. + + + The specified path is invalid, such as being on an unmapped drive. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label syntax. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + The caller does not have the required permission. + + + + + Initializes a new instance of the CrestronIO.StreamWriter class for the specified + file on the specified path, using the specified encoding and buffer size. + If the file exists, it can be either overwritten or appended to. If the file + does not exist, this constructor creates a new file. + + + The complete file path to write to. + + + Determines whether data is to be appended to the file. If the file exists + and append is false, the file is overwritten. If the file exists and append + is true, the data is appended to the file. Otherwise, a new file is created. + + + The character encoding to use. + + + Sets the buffer size. + + + path is an empty string (""). -or-path contains the name of a system device + (com1, com2, etc). + + + path or encoding is null. + + + bufferSize is negative. + + + path includes an incorrect or invalid syntax for file name, directory name, + or volume label syntax. + + + The caller does not have the required permission. + + + Access is denied. + + + The specified path is invalid, such as being on an unmapped drive. + + + The specified path, file name, or both exceed the system-defined maximum + length. For example, on Windows-based platforms, paths must be less than + 248 characters, and file names must be less than 260 characters. + + + + + Destructor for StreamWriter. + + + + + Releases the unmanaged resources used by the CrestronIO.StreamWriter and optionally + releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying stream. + + + The current writer is closed. + + + An I/O error has occurred. + + + + + Writes the text representation of a Boolean value to the text stream. + + + The Boolean to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character to the text stream. + + + The character to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character array to the text stream. + + + The character array to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a decimal value to the text stream. + + + The decimal value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte floating-point value to the text + stream. + + + The 8-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte floating-point value to the text + stream. + + + The 4-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte signed integer to the text stream. + + + The 4-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte signed integer to the text stream. + + + The 8-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an object to the text stream by calling + ToString on that object. + + + The object to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a string to the text stream. + + + The string to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte unsigned integer to the text stream. + + + The 4-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte unsigned integer to the text + stream. + + + The 8-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + An object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object array to write into the formatted string. + + + format or arg is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + arg. Length. + + + + + Writes a subarray of characters to the text stream. + + + The character array to write data from. + + + Starting index in the buffer. + + + The number of characters to write. + + + The buffer length minus index is less than count. + + + The buffer parameter is null. + + + index or count is negative. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + An object to write into the formatted string. + + + An object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes a line terminator to the text stream. + + + The default line terminator is a carriage return followed by a line feed + ("\r\n"), but this value can be changed using the CrestronIO.TextWriter.NewLine + property. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a Boolean followed by a line terminator + to the text stream. + + + The Boolean to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character followed by a line terminator to the text stream. + + + The character to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes an array of characters followed by a line terminator to the text stream. + + + The character array from which data is read. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a decimal value followed by a line terminator + to the text stream. + + + The decimal value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 8-byte floating-point value followed + by a line terminator to the text stream. + + + The 8-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte floating-point value followed + by a line terminator to the text stream. + + + The 4-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte signed integer followed by a line + terminator to the text stream. + + + The 4-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte signed integer followed by a + line terminator to the text stream. + + + The 8-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an object by calling ToString on this object, + followed by a line terminator to the text stream. + + + The object to write. If value is null, only the line termination characters + are written. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a string followed by a line terminator to the text stream. + + + The string to write. If value is null, only the line termination characters + are written. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte unsigned integer followed by a + line terminator to the text stream. + + + The 4-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte unsigned integer followed by + a line terminator to the text stream. + + + The 8-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatted string. + + + The object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object array to write into format string. + + + A string or object is passed in as null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + arg.Length. + + + + + Writes a subarray of characters followed by a line terminator to the text + stream. + + + The character array from which data is read. + + + The index into buffer at which to begin reading. + + + The maximum number of characters to write. + + + Characters are read from buffer beginning at index and ending at index + + count. + + + The buffer length minus index is less than count. + + + The buffer parameter is null. + + + index or count is negative. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object to write into the format string. + + + The object to write into the format string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Gets or sets a value indicating whether the CrestronIO.StreamWriter will flush + its buffer to the underlying stream after every call to CrestronIO.StreamWriter.Write(System.Char). + + + true to force CrestronIO.StreamWriter to flush its buffer; otherwise, false. + + + + + Gets the underlying stream that interfaces with a backing store. + + + The stream this StreamWriter is writing to. + + + + + Gets the System.Text.Encoding in which the output is written. + + + The System.Text.Encoding specified in the constructor for the current instance, + or System.Text.UTF8Encoding if an encoding was not specified. + + + + + Gets or sets the line terminator string used by the current TextWriter. + + + The line terminator string for the current TextWriter. + + + + + Implements a CrestronIO.TextReader that reads from a string. + + + + + Initializes a new instance of the System.IO.StringReader class that reads + from the specified string. + + + The string to which the System.IO.StringReader should be initialized. + + + The s parameter is null. + + + + + Destructor for StringReader. + + + + + Releases the unmanaged resources used by the System.IO.StringReader and optionally + releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Returns the next available character but does not consume it. + + + An integer representing the next character to be read, or -1 if no more characters + are available or the stream does not support seeking. + + + An I/O error occurs. + + + + + Reads the next character from the input stream and advances the character + position by one character. + + + The next character from the input stream represented as an System.Int32 object, + or -1 if no more characters are available. + + + An I/O error occurs. + + + + + Reads a maximum of count characters from the current stream into buffer, + beginning at index. + + + When this method returns, contains the specified character array with the + values between index and (index + count - 1) replaced by the characters read + from the current source. + + + The index of buffer at which to begin writing. + + + The maximum number of characters to read. + + + The number of characters that have been read, or 0 if at the end of the stream + and no data was read. The number will be less than or equal to the count + parameter, depending on whether the data is available within the stream. + + + The buffer length minus index is less than count. + + + buffer is null. + + + index or count is negative. + + + An I/O error occurs, such as the stream is closed. + + + + + Reads a maximum of count characters from the current stream, and writes the + data to buffer, beginning at index. + + + When this method returns, this parameter contains the specified character + array with the values between index and (index + count -1) replaced by the + characters read from the current source. + + + The place in buffer at which to begin writing. + + + The maximum number of characters to read. + + + The position of the underlying stream is advanced by the number of characters + that were read into buffer.The number of characters that have been read. + The number will be less than or equal to count, depending on whether all + input characters have been read. + + + buffer is null. + + + The buffer length minus index is less than count. + + + index or count is negative. + + + The CrestronIO.TextReader is closed. + + + An I/O error occurs. + + + + + Reads a line of characters from the current stream and returns the data as + a string. + + + The next line from the input stream, or null if the end of the input stream + is reached. + + + There is insufficient memory to allocate a buffer for the returned string. + + + An I/O error occurs. + + + + + Reads the stream from the current position to the end of the stream. + + + The rest of the stream as a string, from the current position to the end. + If the current position is at the end of the stream, returns the empty string(""). + + + There is insufficient memory to allocate a buffer for the returned string. + + Invalid destination directory. + File System error while attempting to open the stream. + Invalid directory location. + The file passed does not exist. + Path is great than 248 characters. + + + + Implements a System.IO.TextWriter for writing information to a string. The + information is stored in an underlying System.Text.StringBuilder. + + + + + Initializes a new instance of the System.IO.StringWriter class. + + + + + Initializes a new instance of the System.IO.StringWriter class with the specified + format control. + + + An System.IFormatProvider object that controls formatting. + + + + + Initializes a new instance of the System.IO.StringWriter class that writes + to the specified System.Text.StringBuilder. + + + The StringBuilder to write to. + + + sb is null. + + + + + Initializes a new instance of the System.IO.StringWriter class that writes + to the specified System.Text.StringBuilder and has the specified format provider. + + + The StringBuilder to write to. + + + An System.IFormatProvider object that controls formatting. + + + sb is null. + + + + + Destructor for StringWriter. + + + + + Releases the unmanaged resources used by the CrestronIO.StringWriter and optionally + releases the managed resources. + + + true to release both managed and unmanaged resources; false to release only + unmanaged resources. + + + + + Clears all buffers for the current writer and causes any buffered data to + be written to the underlying stream. + + + The current writer is closed. + + + An I/O error has occurred. + + + + + Writes the text representation of a Boolean value to the text stream. + + + The Boolean to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character to the text stream. + + + The character to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character array to the text stream. + + + The character array to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a decimal value to the text stream. + + + The decimal value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte floating-point value to the text + stream. + + + The 8-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte floating-point value to the text + stream. + + + The 4-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte signed integer to the text stream. + + + The 4-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte signed integer to the text stream. + + + The 8-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an object to the text stream by calling + ToString on that object. + + + The object to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a string to the text stream. + + + The string to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte unsigned integer to the text stream. + + + The 4-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte unsigned integer to the text + stream. + + + The 8-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + An object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object array to write into the formatted string. + + + format or arg is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + arg. Length. + + + + + Writes a subarray of characters to the text stream. + + + The character array to write data from. + + + Starting index in the buffer. + + + The number of characters to write. + + + The buffer length minus index is less than count. + + + The buffer parameter is null. + + + index or count is negative. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string, using the same semantics as System.String.Format(System.String,System.Object). + + + The formatting string. + + + An object to write into the formatted string. + + + An object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes a line terminator to the text stream. + + + The default line terminator is a carriage return followed by a line feed + ("\r\n"), but this value can be changed using the CrestronIO.TextWriter.NewLine + property. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a Boolean followed by a line terminator + to the text stream. + + + The Boolean to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a character followed by a line terminator to the text stream. + + + The character to write to the text stream. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes an array of characters followed by a line terminator to the text stream. + + + The character array from which data is read. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a decimal value followed by a line terminator + to the text stream. + + + The decimal value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 8-byte floating-point value followed + by a line terminator to the text stream. + + + The 8-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte floating-point value followed + by a line terminator to the text stream. + + + The 4-byte floating-point value to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte signed integer followed by a line + terminator to the text stream. + + + The 4-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte signed integer followed by a + line terminator to the text stream. + + + The 8-byte signed integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an object by calling ToString on this object, + followed by a line terminator to the text stream. + + + The object to write. If value is null, only the line termination characters + are written. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes a string followed by a line terminator to the text stream. + + + The string to write. If value is null, only the line termination characters + are written. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of a 4-byte unsigned integer followed by a + line terminator to the text stream. + + + The 4-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes the text representation of an 8-byte unsigned integer followed by + a line terminator to the text stream. + + + The 8-byte unsigned integer to write. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatted string. + + + The object to write into the formatted string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object array to write into format string. + + + A string or object is passed in as null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + arg.Length. + + + + + Writes a subarray of characters followed by a line terminator to the text + stream. + + + The character array from which data is read. + + + The index into buffer at which to begin reading. + + + The maximum number of characters to write. + + + Characters are read from buffer beginning at index and ending at index + + count. + + + The buffer length minus index is less than count. + + + The buffer parameter is null. + + + index or count is negative. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + + + Writes out a formatted string and a new line, using the same semantics as + System.String.Format(System.String,System.Object). + + + The formatting string. + + + The object to write into the format string. + + + The object to write into the format string. + + + format is null. + + + The CrestronIO.TextWriter is closed. + + + An I/O error occurs. + + + The format specification in format is invalid.-or- The number indicating + an argument to be formatted is less than zero, or larger than or equal to + the number of provided objects to be formatted. + + + + + Returns the underlying System.Text.StringBuilder. + + + The underlying StringBuilder. + + + + + Returns a string containing the characters written to the current StringWriter + so far. + + + The string containing the characters written to the current StringWriter. + + + + + Gets the System.Text.Encoding in which the output is written. + + + The System.Text.Encoding specified in the constructor for the current instance, + or System.Text.UTF8Encoding if an encoding was not specified. + + + + + Gets or sets the line terminator string used by the current TextWriter. + + + The line terminator string for the current TextWriter. + + + + + Represents "diffie-hellman-group-exchange-sha256" algorithm implementation. + + + + + Hashes the specified data bytes. + + Data to hash. + + Hashed bytes + + + + + Gets algorithm name. + + + + + Provides functionality for "none" authentication method + + + + + Initializes a new instance of the class. + + The username. + is whitespace or null. + + + + Authenticates the specified session. + + The session. + + Result of authentication process. + + is null. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets connection name + + + + + Represents "env" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the variable. + The variable value. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets the name of the variable. + + + The name of the variable. + + + + + Gets or sets the variable value. + + + The variable value. + + + + + Represents "none" SSH_MSG_USERAUTH_REQUEST message. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + + + + Called when type specific data need to be saved. + + + + + Gets the name of the authentication method. + + + The name of the method. + + + + + Provides data for message events. + + Message type + + + + Initializes a new instance of the class. + + The message. + is null. + + + + Gets the message. + + + + + The exception that is thrown when operation is timed out. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Implementation of ASCII Encoding + + + + + Initializes a new instance of the class. + + + + + Calculates the number of bytes produced by encoding a set of characters from the specified character array. + + The character array containing the set of characters to encode. + The index of the first character to encode. + The number of characters to encode. + + The number of bytes produced by encoding the specified characters. + + + is null. + + + or is less than zero.-or- and do not denote a valid range in . + + A fallback occurred (see Understanding Encodings for complete explanation)-and- is set to . + + + + Encodes a set of characters from the specified character array into the specified byte array. + + The character array containing the set of characters to encode. + The index of the first character to encode. + The number of characters to encode. + The byte array to contain the resulting sequence of bytes. + The index at which to start writing the resulting sequence of bytes. + + The actual number of bytes written into . + + + is null.-or- is null. + + + or or is less than zero.-or- and do not denote a valid range in .-or- is not a valid index in . + + + does not have enough capacity from to the end of the array to accommodate the resulting bytes. + + A fallback occurred (see Understanding Encodings for complete explanation)-and- is set to . + + + + Calculates the number of characters produced by decoding a sequence of bytes from the specified byte array. + + The byte array containing the sequence of bytes to decode. + The index of the first byte to decode. + The number of bytes to decode. + + The number of characters produced by decoding the specified sequence of bytes. + + + is null. + + + or is less than zero.-or- and do not denote a valid range in . + + A fallback occurred (see Understanding Encodings for complete explanation)-and- is set to . + + + + Decodes a sequence of bytes from the specified byte array into the specified character array. + + The byte array containing the sequence of bytes to decode. + The index of the first byte to decode. + The number of bytes to decode. + The character array to contain the resulting set of characters. + The index at which to start writing the resulting set of characters. + + The actual number of characters written into . + + + is null.-or- is null. + + + or or is less than zero.-or- and do not denote a valid range in .-or- is not a valid index in . + + + does not have enough capacity from to the end of the array to accommodate the resulting characters. + + A fallback occurred (see Understanding Encodings for complete explanation)-and- is set to . + + + + Calculates the maximum number of bytes produced by encoding the specified number of characters. + + The number of characters to encode. + + The maximum number of bytes produced by encoding the specified number of characters. + + + is less than zero. + + A fallback occurred (see Understanding Encodings for complete explanation)-and- is set to . + + + + Calculates the maximum number of characters produced by decoding the specified number of bytes. + + The number of bytes to decode. + + The maximum number of characters produced by decoding the specified number of bytes. + + + is less than zero. + + A fallback occurred (see Understanding Encodings for complete explanation)-and- is set to . + + + + Lists channel types as defined by the protocol. + + + + + session + + + + + x11 + + + + + forwarded-tcpip + + + + + direct-tcpip + + + + + Implements "direct-tcpip" SSH channel. + + + Implements "direct-tcpip" SSH channel. + + + + + Initializes a new instance of the class. + + + + + Binds channel to remote host. + + + + + Called when channel data is received. + + The data. + + + + Called when channel is opened by the server. + + The remote channel number. + Initial size of the window. + Maximum size of the packet. + + + + Called when channel has no more data to receive. + + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Represents possible authentication methods results + + + + + Authentication was successful. + + + + + Authentication completed with partial success. + + + + + Authentication failed. + + + + + Remove this ID from the list of sockets + + Socket Identifier + + + + Obtain the next available SocketID + + The next available socket ID as a UInt32 + No valid SocketIDs available + + + + Returns the invalid socket Id + + Invalid socket Id index + + + + Remove this ID from the list of sockets + + Socket Identifier + + + + Obtain the next available SocketID + + The next available socket ID as a UInt32 + No valid SocketIDs available + + + + Static class for all initial parameters + + + + + Function to indicate if the current running platform is Linux PC + + 'true', running on a PC; 'false' otherwise. + + + + Function to indicate if the current running platform is WindowsCE + + 'true', running on Windows CE; 'false' otherwise. + + + + Function to indicate if the current running platform is Linux Control System + + 'true', running on Linux CS; 'false' otherwise. + + + + Function to indicate if the current running platform is Mercury/DGE + + 'true', running on Mercury/DGE; 'false' otherwise. + + + + Indicates if we are running on the mono runtime; + + 'true' - running under Mono Project runtime; 'false' otherwise. + + + + Variable to see if we need to do an audit log printing. + + + + + Enum for second ethernet adapter + + + + + Indicates if this is the ship with application. + + + + + This is the version class based on the firmware version string. + + + + + Number of removable drives + + + + + Returns number of ethernet interfaces or adapters + + + + + Stores the number of external ethernet interfaces + + + + + Function to initialize the Command Processor from SIMPL+ + + + + + + + Reference to the shutdown method from python interface. + + + + + Method to call the python interface's shutdown method. + + + + + This so the Auto Update Interface can set the app number and friendly name so that it will work with the + CrestronScheduler (aka Pythagoras). + + + + + + + Method to read in the platform model. + + + + + Method to determine the platform that we are running on. Only called on Unix platforms. + + + + + + Function to read in all the initial parameters - Need to be called once on startup passing in the + application number + Do not use the error logger functions in here or else the NVRAM Utility will fail .. + + Application Number - we pass uint.MaxValue for things which use the Helper interface and need to call ReadInInitialParameters + + + + + Function to read in RemoteSysLogger enable status - Need to be called in process watchdog function + + + + + Function to read in RemoteSysLogger connection status + + Flag to indicate that server is connected. + + + + Returns the enum type for the second internal adapter - if it exists + + + + + + Method to read in information from the registry as needed for this application. + + + + + + + Method to parses a string to determine if host name or valid Ip address + + + true if it is a host name + + + + Indicates if authentication is enabled on the controller + + + + + Get the current socket PollTimeout of the system. This is firmware dependent on ManagedUtilities. + + + + + Maximum multicast time to live (in hops) + + + + + Indicates whether this is a prodigy system + + + + + Returns the controller prompt + + + + + Returns the Application Number + + + + + Get the Program ID Tag for this application. + + + + + Unique Room ID given to this application. + + + + + The name of this running program. + + + + + Returns the firmware version of the controller + + + + + Returns the number of removable media + + + + + Returns the number of Ethernet Interfaces in the system + + + + + Set and get the number of external ethernet interfaces + + + + + String to store the program directory + + + + + Property to indiciate if this system has a router present. + + + + + Returns the maximum number of CIP to Application queue entries + for extended service in the system. + + + + + Returns the maximum number of Application to CIP queue entries + for extended service in the system. + + + + + Method to set and get the ResolveHostName + + + + + List of all the platforms + + + + + Platform not known + + + + + Running on a windows 3 series control system + + + + + Running on a Mercury/DGE - basically pinpoint where we have a linux and an android mix + and the CS code is a hack. This is the BUILDROOT side. + + + + + True CS on linux + + + + + True CS on linux but this is a Touch Screen control system + + + + + This is an Android platform + + + + + This is an Linux device platform + + + + + This is a Linux OS running on a PC/Server + + + + + Init method MUST BE called! + + + + + This method will return the product name as determined by the environment. + + Storage of the return value, "DM-TXRX-100-STR" + 0 = success + + + + This method will return the full version string. + + Storage of the return value, "0.2990.10183 (Mar 28 2016)" + -1 = success + + + + This method will return the product type + + Product type + + + + Delegate Signature for the Resolve Host name command + + HostName to resolve + Resolved Host Name + + + + + Crestron Secure Storage Status codes + + + + + Success. + + + + + Success. + + + + + A parameter provided is invalid. + + + + + Not enough size of data buffer on read operation provided + + + + + The Secure Storage is not available + + + + + An error occured while storing the data. + + + + + An error occured while retrieving the data. + + + + + An error occured while deleting the data. + + + + + An error occured while encrypting the data. + + + + + An error occured while decryping the data. + + + + + The Secure Storage API that allows encrypting and storing of data. + + + + Encrypt a blob of data + + @param[in] dataSize -- sizeof unencrypted data + @param[in] dataBuf -- pointer to unencrypted data buffer + @param[in] supplementalKeySize -- size of supplemental key (optional) + @param[in] supplementalKey -- supplemental key (optional) + @param[in/out] encryptedBufSize -- sizeof encrypted data buffer + @param[in/out] encryptedBuf -- pointer to encrypted data buffer + @param[out] encryptedDataSize -- sizeof encrypted data returned by API + @param[in] ownerOnly -- indicates if the blob can only be decrypted by the current user + + @return return status code + + Additional notes: + #1 -- The caller of this API is expected to allocate memory all data buffers + #2 -- The implementation of this API is expected to generate and save a master key + on the local device. + + + + Decrypt a blob of data + + @param[in] encryptedDataSize -- sizeof encrypted data buffer + @param[in] encryptedData -- pointer to encrypted data buffer + @param[in] supplementalKeySize -- size of supplemental key (optional) + @param[in] supplementalKey -- supplemental key (optional) + @param[in/out] dataBufSize -- sizeof unencrypted data buffer + @param[in/out] dataBuf -- pointer to unencrypted data buffer + @param[out] dataSize -- sizeof unencrypted data + @param[in] ownerOnly -- indicates if the blob can only be decrypted by the current user + + @return return status code + + Additional notes: + #1 -- The caller of this API is expected to allocate memory all data buffers + #2 -- The implementation of this API is expected to generate and save a master key + on the local device. + + + + Get size of encrypted data blob for a given unencrypted data block + + @param[in] dataSize -- sizeof unencrypted data blob + + @return return size of encrypted data blob + + Additional notes: + #1 -- the expected usage of this method would be to retrieve the possible size of + an encrypted data blob for a given size of unencrypted data + + + + Get size of decrypted data blob for a given encrypted data block + + @param[in] encryptedDataSize -- sizeof encrypted data blob + + @return return size of decrypted data blob + + Additional notes: + #1 -- the expected usage of this method would be to retrieve the possible size of + an decrypted data blob for a given size of encrypted data + + + + + Encrypts the input string given and passes back a base-64 encoded version of the resulting binary data + + Unique string identifier to reference the data + Boolean to restrict access + Byte[] to be encrypted + Optional secure key + A eCrestronSecureStorageStatus value + + + + Decodes a byte[] represented previously encrypted data and passes back the original text that was encrypted. + + Unique string identifier to reference the data + Boolean to restrict access + Optional secure key + Byte[] that contains the retrieved data + A eCrestronSecureStorageStatus value + + + + Deletes a tag from the secure blob. + + Unique string identifier to reference the data + Boolean to restrict access + A eCrestronSecureStorageStatus value. + + + + Encrypts data from the provided input array and passes back the encrypted output. + + Byte[] that contains the data to be encrypted + Optional secure key + Byte[] that contains the encrpyed data. + + + + + Flushes data to permanent storage. + + 'true' if success, otherwise 'false' + + + + Returns True if CrestronSecureStorage is supported on this firmware. + + + + + + + Implements key support for host algorithm. + + + + + Initializes a new instance of the class. + + Host key name. + Host key. + + + + Initializes a new instance of the class. + + Host key name. + Host key. + Host key encoded data. + + + + Signs the specified data. + + The data. + + Signed data. + + + + + Verifies the signature. + + The data. + The signature. + + True is signature was successfully verifies; otherwise false. + + + + + Gets the key. + + + + + Gets the public key data. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets or sets the name of the algorithm. + + + The name of the algorithm. + + + + + Gets or sets the signature. + + + The signature. + + + + + Provides HMAC algorithm implementation. + + Class that implements . + + + + Rfc 2104. + + The key. + Size + + + + Initializes an implementation of the class. + + + + + Hashes the core. + + The RGB. + The ib. + The cb. + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Gets the size of the block. + + + The size of the block. + + + + + Gets or sets the key to use in the hash algorithm. + + The key to use in the hash algorithm. + + + + Implements OFB cipher mode + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Represents SSH_MSG_GLOBAL_REQUEST message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the request. + if set to true [want reply]. + + + + Initializes a new instance of the class. + + Name of the request. + if set to true [want reply]. + The address to bind. + The port to bind. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets a value indicating whether message reply should be sent.. + + + true if message reply should be sent; otherwise, false. + + + + + Gets the address to bind to. + + + + + Gets port number to bind to. + + + + + Represents "window-change" type channel request information + + + + + Channe request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The columns. + The rows. + The width. + The height. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the columns. + + + + + Gets the rows. + + + + + Gets the width. + + + + + Gets the height. + + + + + Used to open "direct-tcpip" channel type + + + + + Specifies channel open type + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The host to connect. + The port to connect. + The originator address. + The originator port. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Gets the host to connect. + + + + + Gets the port to connect. + + + + + Gets the originator address. + + + + + Gets the originator port. + + + + + Represents SSH_MSG_USERAUTH_PASSWD_CHANGEREQ message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets password change request message. + + + + + Gets message language. + + + + + The exception that is thrown when file or directory is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + String Encoding passed in by the SIMPL compiler. This was copied from the top of CWCharString.h + This is a copy from SplusObjects - so for the time being please do update there also + + + + + Throw an error if we see this + + + + + This is the format that is currently being used as ASCII + + + + + UTF16 + + + + + String class to convert between a CrestronString and Simpl # strings + Used when interfacing with Simpl Plus + + + + + Default constructor for the SimplSharp String + Encoding defaults to ASCII + + + + + Constructor for the SimplSharpString which takes in a specified String + Encoding defaults to ASCII + + String specified + + + + Constructor for the SimplSharpString which takes in a specified String and the encoding + + String specified + String encoding + + + + Constructor for the SimplSharpString which takes in a Simpl Sharp String + + Simpl Sharp String Object + + + + Constructor for the SIMPLSharpString to take in multiple SIMPLSharpString objects and append them together + + Array of string objects to append together. + + + + Constructor for the Simpl Sharp String which takes in a string builder + This is not exposed. + + + + + + + Returns the string from the String Builder Object + + The current string within the StringBuilder Object + + + + Updates the String builder object with the new value + + String to set. + + + + Appends the value to the existing String Builder Object + + String to append. + + + + Function to explicitly convert a string to a SimplSharp String + + String to put into SimplSharpString. + new SimplSharpString created from a String + + + + Operator overload for the + operator + + String to put into SimplSharpString. + String to put into SimplSharpString. + new SimplSharpString + + + + StringBuilder object within the Simpl Sharp String Object + + + + + String encoding for the Simpl Sharp String Object + + + + + Class to provide static function to serialize and deserialize objects from XML Files. + + + + + Function to convert public fields and properties of an object to an XML file. + + + The following types can not be serialized, arrays of ArrayList or arrays of List(Of T). + Also, enumerations of type unsigned long that contains values larger then 9,223,372,036,854,775,807 can not be serialized. + + File to serialize the object to. If the file already exists it will be replaced. + Object to serialize to the specified file. + Error while attempting to serialize the object. + The location of the specified file is invalid. + The specified file name is null(or empty) or the objectToSerialize parameter is null. + + + + Function to convert public fields and properties of an object to an XML file. + + + The following types can not be serialized, arrays of ArrayList or arrays of List(Of T). + Also, enumerations of type unsigned long that contains values larger then 9,223,372,036,854,775,807 can not be serialized. + + Stream to serialize the object to. + Object to serialize to the specified stream. + Error while attempting to serialize the object. + The specified stream is null(or empty) or the objectToSerialize parameter is null. + + + + Function to convert public fields and properties of an object to an XML file. + + TextWriter to serialize the object to. + Object to serialize. + Parameter set to null. + Error while attempting to serialize the object. + + + + Function to convert public fields and properties of an object to an XML file. + + XmlWriter to serialize the object to. + Object to serialize. + Parameter set to null. + Error while attempting to serialize the object. + + + + Function to convert public fields and properties of an object to an XML file. + + Stream to serialize the object to. + Object to serialize. + Namespaces that will be referenced. + Parameter set to null. + Error while attempting to serialize the object. + + + + Function to convert public fields and properties of an object to an XML file. + + TextWriter to serialize the object to. + Object to serialize. + Namespaces that will be referenced. + Parameter set to null. + Error while attempting to serialize the object. + + + + Function to convert public fields and properties of an object to an XML file. + + XmlWriter to serialize the object to. + Object to serialize. + Namespaces that will be referenced. + Parameter set to null. + Error while attempting to serialize the object. + + + + Function to convert public fields and properties of an object to an XML file. + + The type of the object that is to be serialized. + XmlTextWriter to serialize the object to. + Object to serialize. + Namespaces that will be referenced. + The encoding style. + Set paramEncodingStyle to for SOAP version 1.1 encoding; otherwise, + set it to for SOAP version 1.2 encoding. + Parameter set to null. + Error while attempting to serialize the object. + Encoding was not set to + or + + + + Function to create an object of the specified type from an XML document. + + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of T). + Objects being deserialized must have a parameterless constructor. + + The object deserialized from the file or null if the file does not exist on the system. + File to read from. + Type of the object to deserialize. + Error while attempting to deserialize the object. + The location of the specified file is invalid. + The specified file name is null(or empty). + + + + Function to create an object of the specified type from an XML document. + + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of T). + Objects being deserialized must have a parameterless constructor. + + The object deserialized from the file or null if the file does not exist on the system. + Stream to read from. + Type of the object to deserialize. + Error while attempting to deserialize the object. + The specified Stream is null(or empty). + + + + Function to create an object of the specified type from an XML document. + + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + + The object deserialized from the file or null if the file does not exist on the system or if there is + an error deserializing. + Type of the object to deserialize. + File to read from. + Error while attempting to deserialize the object. + The location of the specified file is invalid. + The specified file name is null(or empty). + + + + Function to create an object of the specified type from an XML document. + + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + + The object deserialized from the stream or null if there is an issue deserializing. + Type of the object to deserialize. + Stream to read from. + Error while attempting to deserialize the object. + The specified Stream is null(or empty). + The TypeOfObject is null(or empty). + + + + Function to create an object of the specified type from an XML document. + + Type of the object to deserialize. + TextReader to read from. + The object deserialized from the TextReader or null if there was an error. + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + + Parameter set to null. + Error while attempting to deserialize the object. + + + + Function to create an object of the specified type from an XML document. + + Type of the object to deserialize. + TextReader to read from. + The object deserialized from the TextReader or null if there was an error. + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + + The specified TextReader is null. + Error while attempting to deserialize the object. + + + + Function to create an object of the specified type from an XML document. + + Type of the object to deserialize. + XmlReader to read from. + The object deserialized from the XmlReader or null if there is an error. + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + + Parameter set to null. + Error while attempting to deserialize the object. + + + + Function to create an object of the specified type from an XML document. + + Type of the object to deserialize. + XmlReader to read from. + The object deserialized from the XmlReader or the default value of T if there is an error. + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + + If the argument that is passed in is null an ArgumentNullException will be thrown. + + + + Function to create an object of the specified type from an XML document. + + Type of the object to deserialize. + XmlReader to read from. + The encoding to use when deserializing the XML file. + The object deserialized from the XmlReader or null if there is an error. + + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + Set paramEncodingStyle to for SOAP version 1.1 encoding; otherwise, + set it to for SOAP version 1.2 encoding. + + Parameter set to null. + Error while attempting to deserialize the object. + Encoding was not set to + or + + + + Function to create an object of the specified type from an XML document. + + Type of the object to deserialize. + XmlReader to read from. + The encoding to use when deserializing the XML file. + The object deserialized from the XmlReader or the default value of T if there is an error. + The following types can not be deserialized, arrays of ArrayList or arrays of List(Of type). + Objects being deserialized must have a parameterless constructor. + Set paramEncodingStyle to for SOAP version 1.1 encoding; otherwise, + set it to for SOAP version 1.2 encoding. + Parameter set to null. + Error while attempting to deserialize the object. + Encoding was not set to or + + + + Provides simple domain name resolution functionality. + + + + + Resolves an IP address to an IPHostEntry instance. + + IP address to resolve + An IPHostEntry instance that contains address information about the host specified in address. + Address is null + Address is an invalid IP address + An error is encountered when resolving address. + + + + Resolves a host name or IP address to an IPHostEntry instance. + + The host name or IP address to resolve. + An IPHostEntry instance that contains address information about the host specified in hostNameOrAddress. + The hostNameOrAddress parameter is null. + The length of hostNameOrAddress parameter is greater than 126 characters. + The hostNameOrAddress parameter is an invalid IP address + An error was encountered when resolving the hostNameOrAddress parameter + + + + Gets the host name of the device. + + A string that contains the DNS host name of the unit + + + + Common Cresnet Helper. + This feature is not supported on . + + + + + Prevent concurrent access to the AD functions + + + + + Function to report all the cresnet devices in the system. + This might not work if there are devices with duplicate Id's on the network. Please execute the function to + detect if there are duplicate Id's on your network. + + On a successful response, the will contain all devices available in the system. The list will be + empty if there are no devices in the system. if the function returns a , then one of the reasons + could be that there are duplicate Id's on your network. In that case please execute the function. + eCresnetDiscoveryReturnValues - enum indicating return value + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Method to parse the string... + this is only used for the ReportCresnet currently and not for PPNDIscover + + + + + + + + + + + Function to report the cresnet devices present in the system. If there are multiple devices at the same Id, then this will just report + the first device. Use the DiscoverAllDevices to discover all the cresnet devices (including duplicate Id's) in the system. + + On a successful response , the DiscoveredElementsList gets populated. + eCresnetDiscoveryReturnValues - enum indicating return value + + + + Function to discover all the devices in the system. This will report devices with duplicate Id's also. + This will not report any cresnet devices which are in the loader. Please execute the function to + detect those devices. + + On a successful response , the DiscoveredElementsList gets populated. + eCresnetDiscoveryReturnValues - enum indicating return value + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to discover all the devices in the system. This will report devices with duplicate Id's also. + This will not report any cresnet devices which are in the loader. Please execute the function to + detect those devices. + + Parameter to indicate if this was called externally or locally + On a successful response , the DiscoveredElementsList gets populated. + eCresnetDiscoveryReturnValues - enum indicating return value + + + + Function to set the cresnet Id for a specified discovered element. + + Specific device within the discovered list + New Id to set the specified device to + eCresnetDiscoveryReturnValues Enum indicating failure or success + Invoke the function to populate the discovered element list. + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to set the cresnet Id for a specific device based on the Touch Settable Id of the device + + Touch Settable Id for the specific device + New Id to set the specified device to + eCresnetDiscoveryReturnValues Enum indicating failure or success + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to set the cresnet Id for a specified discovered element. + + Specific device within the discovered list + New Id to set the specified device to + eCresnetDiscoveryReturnValues Enum indicating failure or success + Invoke the function to populate the discovered element list. + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to set the cresnet Id for a specific device based on the current Cresnet Id of the device + + Current Cresnet Id of the specific device + New Id to set the specified device to + eCresnetDiscoveryReturnValues Enum indicating failure or success + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to return the Id for the specified device based on the Touch Settable Id + + Specific device within the discovered list + Cresnet Id for the specified device + eCresnetDiscoveryReturnValues Enum indicating failure or success + Invoke the function to populate the discovered element list. + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to return the Id for the specified device based on the Touch Settable Id + + Touch Settable Id for the specific device + Cresnet Id for the specified device + eCresnetDiscoveryReturnValues Enum indicating failure or success + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to return the Touch Settable Id for a specified device based on the Id + + Specific device within the discovered list + Returns the Returns the Touch Settable Id for the specified device + eCresnetDiscoveryReturnValues Enum indicating failure or success + Invoke the function to populate the discovered element list. + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to return the Touch Settable Id for a specified device based on the Id + + cresnet Id for the specific device + Returns the Touch Settable Id for the specified device + eCresnetDiscoveryReturnValues Enum indicating failure or success + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Variable to store the user specified callback + + + + + Variable to store the thread for reading the response back + + + + + Handle to the event which indicates if there is any data or not + + + + + Indicates if the stop was called + + + + + Function to get the response when a device which is in Light And Poll is pressed. + + List of DiscoveredDeviceElement or NULL + + + + Function to invoke the user specified callback. Executes in the context of a system thread so does not hold off the processing + + Callback to invoke + + + + Function to wait until a device gets pressed or the user issues a Stop Light And poll + + eCresnetDiscoveryReturnValues Enum indicating failure or success + + + + Function to do the actual light and poll + + User specified callback + TSID of device to light up if by TSID + flag to indicate if to light all the devices or the one specified by TSID + + + + + Function to enable Light And Poll on all cresnet devices + + User specified callback which is invoked whenever a device which is in Light and poll mode responds. + eCresnetDiscoveryReturnValues Enum indicating failure or success + Please ensure that only a single instance of the or LightAllDevices is being called + at any given time. If not the outcome is nondeterministic. + This requires firmware version 1.011.0014 and higher. + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to enable Light And Poll on a specific device based on the touch settable Id + + Touch Settable Id for the specific device to light + User specified callback which is invoked whenever a device which is in Light and poll mode responds. + eCresnetDiscoveryReturnValues Enum indicating failure or success + Please ensure that only a single instance of the or LightDeviceBySpecifiedTouchSettableId is being called + at any given time. If not the outcome is nondeterministic. + This requires firmware version 1.011.0014 and higher. + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to stop the light and poll. + + eCresnetDiscoveryReturnValues Enum indicating failure or success + This requires firmware version 1.011.0014 and higher. + Cresnet is not supported on this platform. Use to determine the running platform type. + + + + Function to close all the native resourcess. + + + + + List of elements discovered by issuing the function. + The List is empty until the function is executed or there are no cresnet devices in the system. + + + + + One discovered Cresnet device + + + + + Creates an empty discovered device element. + + + + + Creates a discovered device element. + + Cresnet ID. + Model name. + TSID. + Version number. + + + + Creates a discovered device element. + + Cresnet ID. + Branch ID. + Model name. + TSID. + Version number. + + + + Returns a string that displays the values of the object's members. + + Returns a String that contains each members value. + + + + Cresnet Id of the device. + + + + + Cresnet branch of the device. Will be set to 0 if the device is not on a cresnet bridge. + + + + + Model Name of the device + + + + + Device Touch Settable Identification string + + + + + Version of the device + + + + + Used to compare discovered device elements for equality. + + + + + Returns true if the TSIDs are the same. If the TSID is zero, this function will fall back on the Cresnet IDs. + + Discovered device element one. + Discovered device element two. + Returns true if the TSIDs match + + + + Returns the Discovered device element's TSID's hashcode. + + Discovered device element. + Hash code. + + + + Enum for return codes from the Cresnet discovery operation + + + + + Indicates discovery not supported + + + + + Indicates discovery operation was successful + + + + + Indicates discovery operation timed out + + + + + Indicates unknown error. + + + + + Indicates invalid parameter(s) were passed in to the calls + + + + + Indicates that the operation failed + + + + + Indicates that the operation is already in progress + + + + + Delegate Signature for the Light and Poll functionality + + An array of the discovered devices. The array could be null if no devices responded while we were in the + Light and poll mode. + + + + Resolves path into absolute path on the server. + + Path to resolve. + Absolute path + + + + Performs SSH_FXP_OPEN request + + The path. + The flags. + if set to true returns null instead of throwing an exception. + File handle. + + + + Performs SSH_FXP_CLOSE request. + + The handle. + + + + Performs SSH_FXP_READ request. + + The handle. + The offset. + The length. + data array; null if EOF + + + + Performs SSH_FXP_WRITE request. + + The handle. + The offset. + The data to send. + The wait event handle if needed. + Status. + + + + Performs SSH_FXP_LSTAT request. + + The path. + if set to true returns null instead of throwing an exception. + + File attributes + + + + + Performs SSH_FXP_FSTAT request. + + The handle. + if set to true returns null instead of throwing an exception. + + File attributes + + + + + Performs SSH_FXP_SETSTAT request. + + The path. + The attributes. + + + + Performs SSH_FXP_FSETSTAT request. + + The handle. + The attributes. + + + + Performs SSH_FXP_OPENDIR request + + The path. + if set to true returns null instead of throwing an exception. + File handle. + + + + Performs SSH_FXP_READDIR request + + The handle. + + + + + Performs SSH_FXP_REMOVE request. + + The path. + + + + Performs SSH_FXP_MKDIR request. + + The path. + + + + Performs SSH_FXP_RMDIR request. + + The path. + + + + Performs SSH_FXP_REALPATH request + + The path. + if set to true returns null instead of throwing an exception. + + + + + Performs SSH_FXP_STAT request. + + The path. + if set to true returns null instead of throwing an exception. + + File attributes + + + + + Performs SSH_FXP_RENAME request. + + The old path. + The new path. + + + + Performs SSH_FXP_READLINK request. + + The path. + if set to true returns null instead of throwing an exception. + + + + + Performs SSH_FXP_SYMLINK request. + + The linkpath. + The targetpath. + + + + Performs posix-rename@openssh.com extended request. + + The old path. + The new path. + + + + Performs statvfs@openssh.com extended request. + + The path. + if set to true [null on error]. + + + + + Performs fstatvfs@openssh.com extended request. + + The file handle. + if set to true [null on error]. + + + + + + Performs hardlink@openssh.com extended request. + + The old path. + The new path. + + + + Gets remote working directory. + + + + + Gets SFTP protocol version. + + + + + Gets the next request id for sftp session. + + + + + Implements Twofish cipher algorithm + + + + Define the fixed p0/p1 permutations used in keyed S-box lookup. + By changing the following constant definitions, the S-boxes will + automatically Get changed in the Twofish engine. + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + gSubKeys[] and gSBox[] are eventually used in the + encryption and decryption methods. + + + Use (12, 8) Reed-Solomon code over GF(256) to produce + a key S-box 32-bit entity from 2 key material 32-bit + entities. + + @param k0 first 32-bit entity + @param k1 second 32-bit entity + @return Remainder polynomial Generated using RS code + + + Reed-Solomon code parameters: (12,8) reversible code: +

    +

    +            G(x) = x^4 + (a+1/a)x^3 + ax^2 + (a+1/a)x + 1
    +            
    + where a = primitive root of field generator 0x14D +

    +
    + + + Implements ARCH4 cipher algorithm + + + + + Base class of stream cipher algorithms. + + + + + Initializes a new instance of the class. + + The key. + is null. + + + + Holds the state of the RC4 engine + + + + + Initializes a new instance of the class. + + The key. + if set to true will disharged first 1536 bytes. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Encrypts the specified input. + + The input. + + Encrypted data. + + + + + + Decrypts the specified input. + + The input. + + Decrypted data. + + + + + + Gets the minimum data size. + + + The minimum data size. + + + + + Provides functionality to perform private key authentication. + + + + + Initializes a new instance of the class. + + The username. + The key files. + is whitespace or null. + + + + Authenticates the specified session. + + The session to authenticate. + + Result of authentication process. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets authentication method name + + + + + Gets the key files used for authentication. + + + + + Provides connection information when password authentication method is used + + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + is null. + is invalid, or is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Connection password. + is null. + is invalid, or is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Connection password. + is null. + is invalid, or is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Occurs when user's password has expired and needs to be changed. + + + + + Represents SSH_MSG_REQUEST_SUCCESS message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The bound port. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the bound port. + + + + + Represents "keepalive@openssh.com" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Represents "exit-status" type channel request information + + + + + Channel request name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The exit status number. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the exit status number. + + + + + Represents "hostbased" SSH_MSG_USERAUTH_REQUEST message. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + The public key algorithm. + The public host key. + Name of the client host. + The client username. + + + + Called when type specific data need to be saved. + + + + + Gets the name of the authentication method. + + + The name of the method. + + + + + Gets the public key algorithm for host key + + + + + Gets or sets the public host key and certificates for client host. + + + The public host key. + + + + + Gets or sets the name of the client host. + + + The name of the client host. + + + + + Gets or sets the client username on the client host + + + The client username. + + + + + Gets or sets the signature. + + + The signature. + + + + + Provides functionality for dynamic port forwarding + + + + + Initializes a new instance of the class. + + The port. + + + + Initializes a new instance of the class. + + The host. + The port. + + + + Starts local port forwarding. + + + + + Stops local port forwarding. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged ResourceMessages. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets the bound host. + + + + + Gets the bound port. + + + + + The exception that is thrown when connection was terminated. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The disconnect reason code. + + + + Initializes a new instance of the class. + + The message. + The disconnect reason code. + The inner. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Gets the disconnect reason if provided by the server or client. Otherwise None. + + + + + Provides data for event. + + + + + Initializes a new instance of the class. + + The username. + + + + Gets or sets the new password. + + + The new password. + + + + + Implements Session SSH channel. + + + + + Counts faile channel open attempts + + + + + Wait handle to signal when response was received to open the channel + + + + + Opens the channel. + + + + + Called when channel is opened by the server. + + The remote channel number. + Initial size of the window. + Maximum size of the packet. + + + + Called when channel failed to open. + + The reason code. + The description. + The language. + + + + Called when channel is closed by the server. + + + + + Sends the pseudo terminal request. + + The environment variable. + The columns. + The rows. + The width. + The height. + The terminal mode values. + + true if request was successful; otherwise false. + + + + + Sends the X11 forwarding request. + + if set to true the it is single connection. + The protocol. + The cookie. + The screen number. + true if request was successful; otherwise false. + + + + Sends the environment variable request. + + Name of the variable. + The variable value. + true if request was successful; otherwise false. + + + + Sends the shell request. + + true if request was successful; otherwise false. + + + + Sends the exec request. + + The command. + true if request was successful; otherwise false. + + + + Sends the exec request. + + Length of the break. + true if request was successful; otherwise false. + + + + Sends the subsystem request. + + The subsystem. + true if request was successful; otherwise false. + + + + Sends the window change request. + + The columns. + The rows. + The width. + The height. + true if request was successful; otherwise false. + + + + Sends the local flow request. + + if set to true [client can do]. + true if request was successful; otherwise false. + + + + Sends the signal request. + + Name of the signal. + true if request was successful; otherwise false. + + + + Sends the exit status request. + + The exit status. + true if request was successful; otherwise false. + + + + Sends the exit signal request. + + Name of the signal. + if set to true [core dumped]. + The error message. + The language. + true if request was successful; otherwise false. + + + + Sends eow@openssh.com request. + + true if request was successful; otherwise false. + + + + Sends keepalive@openssh.com request. + + true if request was successful; otherwise false. + + + + Called when channel request was successful + + + + + Called when channel request failed. + + + + + Sends the channel open message. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Worker Collection Class + + + + + Worker Collection default constructor + + + + + Add a Worker to the Worker Collection + + A object. + + + + Remove a Worker from the Worker Collection + + A object. + + + + Close the Data Connection for each Worker instance in the Worker Collection + + + + + Crestron Timer Callback function + + Any object the user specifies. + + + + + Timer class for the Crestron Simpl# + + + + + TimerCallbackFunction - this is the callback function for the timer. + + + + + + + + Callback function to be invoked. + Any System.Object the user specifies. + + + + + + Constructor for the CTimer + + Timer Callback Function to invoke + The amount of time to delay before callback is invoked, in milliseconds. + Specify Timeout.Infinite to prevent the timer from starting. Specify zero (0) to start the timer immediately. + + + + Constructor for the CTimer + + Timer Callback Function to invoke + Object to pass to the function + The amount of time to delay before callback is invoked, in milliseconds. + Specify Timeout.Infinite to prevent the timer from starting. Specify zero (0) to start the timer immediately. + + + + Constructor for the CTimer + + Timer Callback Function to invoke + Object to pass to the function + The amount of time to delay before callback is invoked, in milliseconds. + Specify Timeout.Infinite to prevent the timer from starting. Specify zero (0) to start the timer immediately. + The time interval between invocations of callback, in milliseconds. Specify Timeout.Infinite to disable periodic signaling. + + + + Default constructor - Not exposed or used + + + + + Destructor for the timer + + + + + Clean up of unmanaged resources. + + + + + Dispose implementation + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Function to stop the timer + + + + + Function to immediately start the timer + + + + + Function to start the timer after the specified due time + + due Time in milliseconds + + + + Function to start the timer after the specified due time and repeatable + + due time in milliseconds + repeat period in milliseconds + + + + Property to indicate if the CTimer has been disposed. + + + + + Object to accurately measure elapsed time. + + + + + Internal handle to the read stopwatch class. + + + + + Initializes a new instance of the Stopwatch class. + + + + + Starts, or resumes, measuring elapsed time. + + + + + Stops measuring elapsed time. + + + + + Stops the current time measurement and resets to elapsed time to zero. + + + + + Gets the current number of ticks in the timer mechanism. + + A long integer representing the tick counter value of the underlying timer mechanism. + + + + Initializes a new Stopwatch instance, sets the elapsed time property to zero, and starts measuring elapsed time. + + A Stopwatch that has just begun measuring elapsed time + + + + Gets the total elapsed time measured by the current instance. + + + + + Get the total elapsed time measured by the current instance, in milliseconds. + + + + + Gets the total elapsed time measured by the current instance, in timer ticks. + + + + + Gets a value indicating if the current Stopwatch timer is running. + + + + + Gets the frequency of the timer as the number of ticks per second. This field is read-only. + + + + + Indicates whether the timer is based on a high-resolution performance counter. + + + + + SimplSharp personal database manager for this application + Manages two databases Local - access only to the application + Global - access controlled by application + any application read/write or read only + + + + + Provides support to store and retrieve data from a private or global database. + + + + + Unmount to flush on the way out + + + + + Shut down the database connection and Flush buffered data + + true + + + + Walks through each record in the Global Store + Find the next record after this name and return the record information. + If name is an empty string, the record pointer is set to the first record in the Global Database. + + input record name to find, output the next record name + outputs extended record information + optional processing features + CDS_ERROR + + + + Find the next record after this name and return the record information. + If name is an empty string, the record pointer is set to the first record in the Local Database. + If there are no more records or no records, then the status will be CDS_END_OF_TABLE. + + input record name to find, output the next record name + outputs extended record information + CDS_ERROR + + + + Find the Global record by tag name and return the boolean value. + + boolean's name + local variable to hold the boolean value + CDS_ERROR + + + + Find the Global record by tag name and return the unsigned int32 value + + uint's name + local variable to hold the uint value + CDS_ERROR + + + + Find the Global record by tag name and return the int32 value + + integer's name + local variable to hold the int value + CDS_ERROR + + + + Find the Global record by tag name and return the double float value + + double's value + local variable to hold the double value + CDS_ERROR + + + + Find the Global record by tag name and return the string value + + string's name + local variable to hold the string value + CDS_ERROR + + + + Find the Local record by tag name and return the Boolean value. + + Booleans's name + local variable to hold the boolean value + CDS_ERROR + + + + Find the Local record by tag name and return the unsigned int32 value + + the uint's name + local variable to hold the unsigned integer value + CDS_ERROR + + + + Find the Local record by tag name and return the int32 value + + The int's name + local variable to hold the int value + CDS_ERROR + + + + Find the Local record by tag name and return the double floating value. + + double's name + local variable to hold the double value + CDS_ERROR + + + + Find the Local record by tag name and return the string value + + string's name + local variable to hold the string value + CDS_ERROR + + + + Write/Edit the named Global record with the boolean value + + he boolean's name + boolean value to store + CDS_ERROR + + + + Write/Edit the named Global record with the unsigned int32 value + + uint's name + unsigned integer value to store + CDS_ERROR + + + + Write/Edit the named Global record with the signed int32 value + + integer's name + The integer value to store + CDS_ERROR + + + + Write/Edit the named Global record with the double value + + The double's name + The double value to store + CDS_ERROR + + + + Write/Edit the named Global record with the string value + + The string's name + The string value to store + CDS_ERROR + + + + Write/Edit the named Local record with the boolean value + + The boolean's name + The boolean value to store + CDS_ERROR + + + + Write/Edit the named Local record with the unsigned in32 value + + The uint's name + The unsigned integer value to store + CDS_ERROR + + + + Write/Edit the named Local record with the signed in32 value + + The int's name + The integer value to store + CDS_ERROR + + + + Write/Edit the named Local record with the double value + + The double's name + The double value to store + CDS_ERROR + + + + Write/Edit the named Local record with the string value + + The string's name + The string value to store + CDS_ERROR + + + + Deletes the record by name in local space. + If name is an empty string then all records are deleted that belong to this application. + + value name + CDS_ERROR + + + + Deletes the record by name in global space. + If name is an empty string then all records are deleted that belong to this application. + + value name + CDS_ERROR + + + + Global space read/write permissions + + + + + Crestron DataStore Types + + + + + Crestron Field Data type Description (Int) + + + + + Crestron Field Data type Description (Unsigned Int) + + + + + Crestron Field Data type Description (Unsigned Long) + + + + + Crestron Field Data type enum (Long) + + + + + Crestron Field Data type enum (UInt) + + + + + Crestron Field Data type enum (DATETIME) + + + + + Crestron Field Data type enum (byte[]) + + + + + Crestron Field Data type enum (byte[]) + + + + + Crestron Field Data type Enum (Double) + + + + + Crestron DataStore Fields + + + + + Record Reference Name field + + + + + Record Data field + + + + + Record last modification Time Field + + + + + Record Creator Field + + + + + Record Access Field + + + + + Crestron DataStore Record Access + + + + + Owner Read Only (not supported) + + + + + Owner Read - Write (Default) + + + + + any readOnly (default for global) + + + + + any body read - write (applies to global section only) + + + + + hidden from anybody except owner (applies to global section only) + + + + + Crestron DataStore application Interface Error Codes. + + + + + No error + + + + + Database not found or not available. + + + + + record not found. + + + + + Wrong data type for this record + + + + + End of the table. No more records + + + + + Do not have permission + + + + + Max size is 32 characters + + + + + Max size is 1600 characters + + + + + Max records allowed in this space + + + + + Data base error + + + + + Crestron DataStore Optional processing features + + + + + Reference name, Default + + + + + Reset table pointer + + + + + Name returned with extension. + + + + + Record information + + + + + Record data type + + + + + creator of the record + + + + + Last modified + + + + + Record access flags + + + + + SimplSharp personal database manager for this application + Manages two databases Local - access only to the application + Global - access controlled by application + any application read/write or read only + + + + + The Valid Definitions For Crestron DataStore Records. Record ( idname,idData*,IdSMLPid,idAccess,idTime ) + + + + + Method to create the flow control for the global data store. + This creates a named mutex. We do not use this for anything but just to see if the mutex exists or not. + If the mutex exists, then it is assumed that the global data store has been created. + + returns false if global mutex already existed or true otherwise + + + + Provides support to store and retrieve data from a private or global database. + + Error or success + + + + Flush buffered data + + true + + + + Find the next record after this name in the Global DataStore and return the record information. + + + Input record name to find. Output the next record name. + If name is an empty string, info on the first record will be returned. + + Outputs extended record information. + Optional processing features. + + CDS_ERROR + CDS_RECORD_NOT_FOUND - If name is not found or database is empty. + CDS_END_OF_TABLE - If name is the last record or the output info is the last record. + Note: CDS_END_OF_TABLE will be returned when "name" is the second to the last record. In this case "info" will be valid. + + + + + Find the next record after this name in the Global DataStore and return the record information. + + + Input record name to find. Output the next record name. + If name is an empty string, info on the first record will be returned. + + Outputs extended record information. + + CDS_ERROR + CDS_RECORD_NOT_FOUND - If name is not found or database is empty. + CDS_END_OF_TABLE - If name is the last record or the output info is the last record. + Note: CDS_END_OF_TABLE will be returned when "name" is the second to the last record. In this case "info" will be valid. + + + + + Private method to support GetNext______Tag methods for local and global. + + Tag to search for. If empty/null then return the first record in info. + Outputs record information. + Database to perform action on. + optional processing features + + + + + Find the Global record by tag name and return the boolean value. + + boolean's name + local variable to hold the boolean value + CDS_ERROR + + + + Find the Global record by tag name and return the boolean value. + + boolean's name + local variable to hold the boolean value + CDS_ERROR + + + + Find the Global record by tag name and return the unsigned int32 value + + uint's name + local variable to hold the uint value + CDS_ERROR + + + + Find the Global record by tag name and return the int32 value + + integer's name + local variable to hold the int value + CDS_ERROR + + + + Find the Global record by tag name and return the signed int64 value + + long's name + local variable to hold the int value + CDS_ERROR + + + + Find the Global record by tag name and return the unsigned int64 value + + ulong's name + local variable to hold the int value + CDS_ERROR + + + + Find the Global record by tag name and return the double float value + + double's value + local variable to hold the double value + CDS_ERROR + + + + Find the Global record by tag name and return the string value + + string's name + local variable to hold the string value + CDS_ERROR + + + + Find the Local record by tag name and return the Boolean value. + + Booleans's name + local variable to hold the boolean value + CDS_ERROR + + + + Find the Local record by tag name and return the Boolean value. + + Booleans's name + local variable to hold the boolean value + CDS_ERROR + + + + Find the Local record by tag name and return the unsigned int32 value + + the uint's name + local variable to hold the unsigned integer value + CDS_ERROR + + + + Find the Local record by tag name and return the int32 value + + The int's name + local variable to hold the int value + CDS_ERROR + + + + Find the Local record by tag name and return the int64 value + + The long's name + local variable to hold the int value + CDS_ERROR + + + + Find the Local record by tag name and return the unsigned int64 value + + The ulong's name + local variable to hold the int value + CDS_ERROR + + + + Find the Local record by tag name and return the double floating value. + + double's name + local variable to hold the double value + CDS_ERROR + + + + Find the Local record by tag name and return the string value + + string's name + local variable to hold the string value + CDS_ERROR + + + + Write/Edit the named Global record with the boolean value + + he boolean's name + boolean value to store + CDS_ERROR + + + + Write/Edit the named Local record with the boolean value + + The boolean's name + The boolean value to store + CDS_ERROR + + + + Write/Edit the named Global record with the unsigned int32 value + + uint's name + unsigned integer value to store + CDS_ERROR + + + + Write/Edit the named Global record with the signed int32 value + + integer's name + The integer value to store + CDS_ERROR + + + + Write/Edit the named Global record with the signed int64 value + + long's name + The long value to store + CDS_ERROR + + + + Write/Edit the named Global record with the unsigned int64 value + + ulong's name + The ulong value to store + CDS_ERROR + + + + Write/Edit the named Global record with the double value + + The double's name + The double value to store + CDS_ERROR + + + + Write/Edit the named Global record with the string value + + The string's name + The string value to store + CDS_ERROR + + + + Write/Edit the named Local record with the boolean value + + The boolean's name + The boolean value to store + CDS_ERROR + + + + Write/Edit the named Local record with the boolean value + + The boolean's name + The boolean value to store + CDS_ERROR + + + + Write/Edit the named Local record with the unsigned in32 value + + The uint's name + The unsigned integer value to store + CDS_ERROR + + + + Write/Edit the named Local record with the signed in32 value + + The int's name + The integer value to store + CDS_ERROR + + + + Write/Edit the named Local record with the signed int64 value + + The long's name + The long value to store + CDS_ERROR + + + + Write/Edit the named Local record with the unsigned int64 value + + The ulong's name + The ulong value to store + CDS_ERROR + + + + Write/Edit the named Local record with the double value + + The double's name + The double value to store + CDS_ERROR + + + + Write/Edit the named Local record with the string value + + The string's name + The string value to store + CDS_ERROR + + + + Write/Edit record command hidden from the user + + The type of the value + name of the value to store + The value to store + The record list to use + + + + + Inserts a new record on the table and return it's Id. + + The database session + The record object + The record Id + + + + + Deletes the record by name in local space. + If name is an empty string then all records are deleted that belong to this application. + + value name + CDS_ERROR + + + + Deletes the record by name in global space. + If name is an empty string then all records are deleted that belong to this application. + + value name + CDS_ERROR + + + + Delete record by name + + value name + local list to delete from + CDS_ERROR + + + + Loads up the local list of records related to this application + + A object. + String to match + Dictionary to use + + + + Find and open the named record + + table to open + record name + list to update + + + + + Finds the tag optionally qualified with the owner,in the open session(local or global) + + the open session to seek + tag name\owner (optional) + + + + + Blocking call that sets up the applications' environment + required to execute the requested function. + + + + + Release rights to dataStore + + + + + Look up the tag in the local or global list of known records + + local record list + value name + + + + + Open a session with the requested table + + A object. + A value. + + + + + get the friendly name of this program from the registry + + + + + + Make sure the database exists and is useable. + + + + + Global space read/write permissions + + + + + Crestron SIMPL Sharp record definition class + record + Name + Value + Date + Owner + Access Flags + + + + + Crestron record field definitions(property id's) + + + + + Constructor for empty record + + Application Identifier + + + + Constructor for existing record + + A object. + + + + Create a property/value entry in the record + + Property type + Property Identifier + Property Value + + + + Extract property members that apply to the SIMPL fields + + + + + Class to determine if two Uints are of the same value. + + + + + Method to determine if two values are equal. + + First value to compare. + Second value to compare. + 'true' the values are the same; 'false' otherwise. + + + + Return the value from . + + Object to get the hash code of. + A hash code for the specified object. + + + + Class to determine if two ints are of the same value. + + + + + Method to determine if two values are equal. + + + + + Return the value from . + + + + + Critical Section synchronization between threads. + + This is how we would use a CriticalSection + + // Initialize the critical section + CCriticalSection tempCS = new CCriticalSection(); + // Enter the critical section + tempCs.Enter(); + // Do anything critical in here + // .. + // .. + // Leave the critical section + tempCs.Leave(); + + + + + + Initialize the Critical Section object. + + + + + Block until ownership of the critical section can be obtained. + + Critical Section has been disposed. + + + + Release ownership of the critical section. + + Critical Section has been disposed. + + + + Attempt to enter the critical section without blocking. + + True, calling thread has ownership of the critical section; otherwise, false. + Critical Section has been disposed. + + + + Clean up of unmanaged resources. + + + + + Dispose implementation + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Make sure unmanaged handle is cleaned up from the finalizer. + + + + + Property to indicate if the Critical Section object has been disposed. + + + + + Provides client connection to SSH server. + + + + + Holds the list of forwarded ports + + + + + If true, causes the connectionInfo object to be disposed. + + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains whitespace characters. + + + + Called when client is disconnecting from the server. + + + + + Adds the forwarded port. + + The port. + Forwarded port is already added to a different client. + is null. + Port is already forwarded + Client is not connected. + + + + Stops and removes the forwarded port from the list. + + Forwarded port. + is null. + + + + Creates the command to be executed. + + The command text. + object. + Client is not connected. + + + + Creates the command to be executed with specified encoding. + + The command text. + The encoding to use for results. + object which uses specified encoding. + This method will change current default encoding. + Client is not connected. + or is null. + + + + Creates and executes the command. + + The command text. + Returns an instance of with execution results. + This method internally uses asynchronous calls. + CommandText property is empty. + Invalid Operation - An existing channel was used to execute this command. + Asynchronous operation is already in progress. + Client is not connected. + is null. + + + + Creates the shell. + + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal mode. + Size of the internal read buffer. + + Returns a representation of a object. + + + + + Creates the shell. + + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal mode. + + Returns a representation of a object. + + + + + Creates the shell. + + The input. + The output. + The extended output. + + Returns a representation of a object. + + + + + Creates the shell. + + The encoding to use to send the input. + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal mode. + Size of the internal read buffer. + + Returns a representation of a object. + + + + + Creates the shell. + + The encoding. + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal modes. + + Returns a representation of a object. + + + + + Creates the shell. + + The encoding. + The input. + The output. + The extended output. + + Returns a representation of a object. + + + + + Creates the shell stream. + + Name of the terminal. + The columns. + The rows. + The width. + The height. + Size of the buffer. + + Reference to Created ShellStream object. + + + + + Creates the shell stream. + + Name of the terminal. + The columns. + The rows. + The width. + The height. + Size of the buffer. + The terminal mode values. + + Reference to Created ShellStream object. + + + + + Called when client is disconnected from the server. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Gets the list of forwarded ports. + + + + + Returns the Ethernet adapter on which the socket resides + EthernetAdapterType.EthernetLANAdapter indicates that the socket is on the LAN Adapter + EthernetAdapterType.EthernetCSAdapter indicates the Control Subnet side (for a system with a router) + EthernetAdapterType.EthernetUnknownAdapter indicates that the socket is not initialized as yet + EthernetAdapterType.EthernetLAN2Adapter indicates the second LAN Adapter + + + + + MD5 algorithm implementation + + + + + Initializes a new instance of the class. + + + + + Routes data written to the object into the hash algorithm for computing the hash. + + The input to compute the hash code for. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Initializes an implementation of the class. + + + + + Gets the size, in bits, of the computed hash code. + + The size, in bits, of the computed hash code. + + + + Gets the input block size. + + The input block size. + + + + Gets the output block size. + + The output block size. + + + + Gets a value indicating whether the current transform can be reused. + + Always true. + + + + Gets a value indicating whether multiple blocks can be transformed. + + true if multiple blocks can be transformed; otherwise, false. + + + + Represents SSH_MSG_CHANNEL_SUCCESS message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + The bytes to add. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets number of bytes to add to the window. + + + + + Represents SSH_MSG_CHANNEL_SUCCESS message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Used to open "forwarded-tcpip" channel type + + + + + Specifies channel open type + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Gets the connected address. + + + + + Gets the connected port. + + + + + Gets the originator address. + + + + + Gets the originator port. + + + + + List channel open failure reasons defined by the protocol. + + + + + SSH_OPEN_ADMINISTRATIVELY_PROHIBITED + + + + + SSH_OPEN_CONNECT_FAILED + + + + + SSH_OPEN_UNKNOWN_CHANNEL_TYPE + + + + + SSH_OPEN_RESOURCE_SHORTAGE + + + + + Represents "keyboard-interactive" SSH_MSG_USERAUTH_REQUEST message. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + + + + Called when type specific data need to be saved. + + + + + Gets the name of the authentication method. + + + The name of the method. + + + + + Gets message language. + + + + + Gets authentication sub methods. + + + + + Provides additional information for asynchronous command execution + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Provides data for Shell DataReceived event + + + + + Initializes a new instance of the class. + + The data. + + + + Initializes a new instance of the class. + + The line. + + + + Gets the data. + + + + + Gets the line data. + + + + + Defines host name types for the System.Url.CheckHostName(System.String) method. + + + + + The type of the host name is not supplied. + + + + + The host is set, but the type cannot be determined. + + + + + The host name is a domain name system (DNS) style host name. + + + + + The host name is an Internet Protocol (IP) version 4 host address. + + + + + The host name is an Internet Protocol (IP) version 6 host address. + + + + + The KnownProtocols class represents some common protocols (ftp, ssh, telnet, smtp, http, pop3, https) and their default ports which are used by the UrlParser. + If you want UrlParser to make out any other protocol, you can register this protocol by using RegisterProtocol method. + + + + + Registers a new protocol and its default port for the UrlParser. + + Protocol name to register + Port Number + + + + Returns the default port number for the specified protocol. + + String containing name of protocol + the default port number for the specified protocol + + + + The UrlParser class represents a URL string and its separate components. It can be assigned a full string to the UrlParser via the Url property, + or it can be accessed through separate parts of the URL via the individual properties. + + + + + URL parser default constructor. Sets Protocol and port by default. + + + + + URL parser constructor with URL parameter that parses the input URL. + + String containing the URL to parse + is null. + is incorrectly formed or contains invalid credentials. + + + + + + The base URL. + The relative URL to add to the base URL. + is null. + is incorrectly formed or contains invalid credentials. + + + + Returns the URL as a string. + + the URL as a string + + + + Parses the URL and sets the proper definitions for all aspects of the URL + + String containing the URL to parse + is null. + is incorrectly formed or contains invalid credentials. + + + + The full URL. Only the relevant parts of the URL will be included; + the Port will be omitted if it is equal to the default for the specified Protocol, + Path and Params will be omitted if they are not assigned. + + + + + Combined Path and Parameters of the URL ("test.pas?query=something"). + The Parameters and the separating questionmark will only be included if the Params value is assigned. + + + + + Combined Hostname and Port of the URL ("www.website.com:81"). + The Port and the separating colon will only be included if the Port value is different from the default port for the specified protocol. + + + + + Protocol portion of the URL ("http"). + + + + + Get the HostName. + + + + + Get Hostname type + + + + + Port portion of the URL ("81"). + + + + + Path portion of the URL ("/test.asp) + + + + + Parameters portion of the URL ("?query=something"). + + + + + The Fragment property gets any text following a fragment marker (#) in the URL, including the fragment marker itself. + + + + + The IsUnc property is true if the specified Url instance is a UNC path (such as \\server\folder or file://server/folder). + This property always returns true if the URL has the file:// scheme and specifies a host component. + + + + + The AbsoluteUrl property includes the entire URL stored in the Url instance, including all fragments and query strings. + + This instance represents a relative URL, + and this property is valid only for absolute URLs. + + + + Gets whether the port value of the URL is the default for this scheme. + + This instance represents a relative URL, + and this property is valid only for absolute URLs. + + + + Gets a value indicating whether the specified Url is a file URL. + + This instance represents a relative URL, + and this property is valid only for absolute URLs. + + + + Gets whether the specified Url references the local host. + + This instance represents a relative URL, + and this property is valid only for absolute URLs. + + + + An Exception object that contains errors returned from an UrlParser call. + + + + Parameterless (default) constructor + + + Constructor for an exception with text message + General message about the Exception. + + + Constructor for an exception with text message and inner exception + General message about the Exception. + Inner Exception. + + + + The Async Stream States + + + + + Async Request has not been initiated + + + + + Async Request has been initiated + + + + + Connection made waiting for data + + + + + Initiated response + + + + + StopReceiving Data + + + + + Task Completed + + + + + State information for an AsyncStreamOperation + BeginGetRequestStream,EndGetRequestStream,BeginResponseStream, and EndResponseStream. + + + + + Abstract base class representing an HTTP message. + + + + + Creates an instance of the HttpRequestResponse Class. + + + + + Creates an instance of the HttpRequestResponse Class with HTTP Header parameter. + + An object. + + + + Clones the events of the HTTP Request Response. + + A object. + + + + Trigger the OnTransferStart Event Handler + + A . + Total byte count. + + + + Trigger the OnTransferEnd Event Handler + + A . + + + + Trigger the OnTransferProgress Event Handler + + A . + The current byte count transfered. + + + + Get or set the HTTP Response Header + + + + + Determines the Encoding for the HTTP Request Response + + + + + Gets the Client property status for the HTTPRequestResponse. + + + + + Gets the Server property status for the HTTPRequestResponse. + + + + + OnTransferStart Event handler + + + + + OnTransferEnd Event Handler + + + + + OnTransferProgress Event Handler + + + + + Determines whether the current HTTPRequest Response has an OnTransferProgress event handler. + + + + + contains information about an asynchronous operation. + + returns information about an asynchronous operation. + + + + Gets a value that indicates whether the asynchronous operation completed. + + true if the operation is complete; otherwise, false. + + + + Gets the Client that is host to this Async request + + + + + Base class representing an incoming HTTP message - either a request to be received by the HttpServer, or a response received by the HttpClient. + + + + + Creates an instance of the HttpIncomingRequestResponse Class + + A object. + An object. + + + + Flush the content of the HTTP Incoming Stream. + + true if the operation succeeds; otherwise, false + + + + Validate that the HTTP Header "Transfer-Encoding" is not chunked. + + This request has Chunked transfer encoding. + + + + Gets the Data Connection for the HttpIncomingRequestResponse instance. + + + + + Returns the HTTP body in the form of a byte array. + The stream unexpected ended. + Error reading HTTP chunk data. + + + + + Returns a Stream object with the HTTP body of the received request (server) or response (client). + Because ContentStream provides you with direct access to the underlying Connection Stream, + it is the fastest and most efficient way to access the response (as opposed to ContentString and ContentBytes, + both of which involve copying the entire data from the stream into a memory buffer). + + + + + Returns the HTTP body in form of a String object. + The stream unexpected ended. + Error reading HTTP chunk data. + + + + + Specifies whether the HTTP header provides a ContentLength field. + + + + + Contains the ContentLength header value received from the remote side. + If the remote did not provide a length (for example in HTTP 1.0 scenarios, or if Keep-Alive is not supported), accessing the property will raise an exception. + Use the HasContentLength property to determine if a valid ContentLength has been received. + + + + + Keeps the HTTP Request Response connection alive. + If enabled (true), once a request is made and a connection is established, this connection is kept open and used for future requests. + If disabled, the connection is closed, and a new connection is created for future requests. + + + + + Determines whether data being transferred will be chunked or not. + + + + + Clears all buffers for this stream. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + Count of bytes to use in the byte array + + + + + + Reads a byte from the current stream and advances the position within the stream by one. + + + + + + Sets the position within the current stream. + + irrelevant + irrelevant + + + + + Sets the length of the current stream. + + irrelevant + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + array of Byte buffer + offset + Size + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + The Abstract Base Class represents an outgoing HTTP message - either a request to be sent from the HttpClient, or a response to be sent from the HttpServer. + + + + + HttpOutgoingRequestResponse base constructor + + + + + HttpOutgoingRequestResponse with custom HTTP Header parameter + + An object. + + + + Clean out any request data in this request + + + + + Sets the Header Value for the "Content-Length" in the Content Source. + + + + + Writes the Header and Body to the Connection instance. + + A object. + + + + Write the Header to the Connection instance. + + A object. + + + + Write the Header to the Connection instance. + + A object. + + + + Defines which property (ContentBytes, ContentStream or ContentString) will be used to send the body of the response. + Assigning any of these three properties will automatically set the ContentSource property so that the content will always be sent from the appropriate source. + + + + + Assigns a byte array to send back as the HTTP body to this property. + + + + + Assigns a stream to send back as HTTP body to this property. When assigned (and ContentSource is set to ContentStream), + you can use the CloseStream property to determine if the stream should be closed automatically after sending it to the connection (true) or not (false). + + + + + Assigns a string to send back as HTTP body to this property. + + + + + Delays the demise of request data in writebody + + + + + When ContentSource is set to ContentStream (and a ContentStream is assigned), + this property determines if the stream should be closed automatically after sending it to the connection (true) or not (false). + + + + + Determines the keep alive status of the HTTP Outgoing Request Response. + + + + + HTTP Server Request Class. + + + + + Property to indicate if the header of this request is valid or supported. + + + + + Creates an instance of the HTTPServerRequest class. + + A object. + An object. + + + + Validate the HTTP Server Request by ensuring that the 'Host' header has a value. + + This request has no host header. + + + + Always returns false for Client Property. + + + + + Always returns true for Server Property. + + + + + Gets the Query string for this HTTP Server Request instance. + + A . + + + + Gets the Path for the HTTP Server Request. + + + + + The HttpServerResponse class is used to create a server response that is sent back to the client by the HttpServer. + + + + + Creates a new instance of the HttpServerResponse class. + + + + + Wraps the provided error message into an HTML document and puts the resulting document into ContentBytes. + + Int32 with HTTP response code. + String with HTTP response text. + String to put into response document. + + + + Wraps the provided error message into an HTML document and puts the resulting document into ContentBytes. + This method always sets the ResponseText to ERROR. + + Int32 with HTTP response code. + String to put into the response document. + + + + Wraps the provided System.Exception object, including the exception type name, + exception message and full stacktrace into an HTML document and puts the resulting document into ContentBytes. + + Int32 with HTTP response code. + String with HTTP response text. + A object. + + + + Allows to set custom error messages. Unlike the SendError methods, this method doesn't wrap the provided text into any HTML tags. + The provided response body is used as is. + + Int32 with HTTP response code. + String with HTTP response text. + String to use as response document. + + + + This method finalizes the HTTP header. + It sets the correct value of the Content-Length header and sets the HTTP version header to 1.1. + + + + + Always False. + + + + + Always True. + + + + + Gets or sets the HTTP status code of the response. The default value is 200. + + + + + Gets or sets the HTTP status code description (For example, OK when the Code is 200). + It is up to the caller to ensure that the Code and the ResponseText values correspond to each other. + The default value is OK. + + + + + The HttpClientRequest class represents an HTTP request sent from the client to the server. + + + + + Creates an instance of the HttpClientRequest Class. + + + + + Sets the HTTP headers of the request. + + + + + Gets a flag indicating whether this class is used in a client application. + The value of this class is always true. + + + + + Gets a flag indicating whether this class is used in a server application. + The value of this class is always false. + + + + + Gets or sets the target URL for the HTTP request. + + + + + Gets or sets the type of the HTTP request. + Possible values are: + RequestType.Get + RequestType.Post + RequestType.Put + RequestType.Delete + RequestType.Head + RequestType.Patch + The default value of this class is RequestType.Get. + + + + + The HttpClientResponse class represents an HTTP response received by the client from the server. + + + + + Creates a new instance of the HttpClientResponse class. + + A object. + An object. + + + + Validate the HTTP Client Response. + + + + + Releases resources used by the current instance, in particular the disposed HTTP connection instance that was provided as a constructor parameter earlier. + + + + + Gets a flag indicating whether this class is used in a client application. + The value of this property is always true. + + + + + Gets a flag indicating whether this class is used in a server application. + The value of this class is always false. + + + + + Gets the HTTP Result code received from the server. + HTTP codes of 300 and above usually indicate a redirect or error on the server side (such as 404 "File not Found") + + + + + Gets the URL of the Internet resource that responded to the request. + + + + + Clears all buffers for this stream. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + Count of bytes to use in the byte array + + + + + + Reads a byte from the current stream and advances the position within the stream by one. + + + + + + Sets the position within the current stream. + + irrelevant + irrelevant + + + + + Sets the length of the current stream. + + irrelevant + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + array of Byte buffer + offset + Size + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + Implements an incoming stream of HTTP message (HttpIncomingRequestResponse). + + + + + Creates an instance of the HttpIncomingStream Class. + + A object. + + + + Clears all buffers for this stream. + + + + + Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. + + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + System.Byte array to receive the bytes read. + Starting offset in the byte array. + Count of bytes to use in the byte array + + + + + + Reads a byte from the current stream and advances the position within the stream by one. + + + + + + Sets the position within the current stream. + + irrelevant + irrelevant + + + + + Sets the length of the current stream. + + irrelevant + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + array of Byte buffer + offset + Size + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + Defines which type of the HTTP body will be used - array of bytes or string. + + + + + N/A + + + + + Array of bytes content + + + + + Stream content + + + + + String content + + + + + This enumeration defines the common values for the HTTP methods used to make a request. + + + + + GET request + + + + + POST request + + + + + Put request + + + + + Delete Request + + + + + Head Request + + + + + Patch Request + + + + + QueryString represents a collection of key/value pairs which is used to store parameters from the HTTP path (the tail from symbol "?" to the end). + + + + + QueryString constructor with query parameter which stores parameters from the HTTP path (the tail from symbol "?" to the end). + + Query string with parameter in HTTP path + + + + ToString that returns the Query String. + + the Query String + + + + Returns Query string using Key as index. + + Key to look up. + + + + + HttpRequestInvalidException class + + + + + Constructor for an exception of the HTTP Request Response with ErrorCode and Error Message. + + Integer error code to return for this request. + String with error message text to return for this request. + + + + Constructor for an exception with Error Code, message, and inner Exception. + + Integer error code to return for this request. + String with error message text to return for this request. + A object. + + + + The specific content returned from the server when the error occurred. + + + + + Delegate for the TransferStartEvent Handler + + An object representing the sender of the event + A object. + + + + Delegate for the TransferEndEvent Handler + + An object representing the sender of the event + A object. + + + + Delegate for the TransferProgressEvent Handler + + An object representing the sender of the event + A object. + + + + Transfer direction for Events. + + + + + Send Direction + + + + + Receive Direction + + + + + TransferEventArgs Class + + + + + Creates an instance of the TransferEventArgs Class + + Direction specified + + + + Returns the Direction for this TransferEventArgs instance. + + + + + TransferStartEventArgs Class + + + + + Creates an instance of the TransferStartEventArgs Class. + + Direction specified + long Total + + + + Gets the Total value for this TransferStartEventArgs instance. + + + + + TransferEndEventArgs Class + + + + + Creates an instance of the TransferEndEventArgs class. + + A . + + + + TransferProgressEventArgs Class + + + + + Creates an instance of the TransferProgressEventArgs Class with specified direction and Current. + + A . + The current byte count transfered. + + + + Gets the Current value for this TransferProgressEventArgs + + + + + Add the specified device's unique name to this program's table. + + Unique name for this device reporting object. + The specified "deviceUuid" is already in use in the application. + + + + Remove the specified device's unique name to this program's table. + + Unique name for this device reporting object. + + + + Property to indicate if we are running on VC-4. + + + + + Property to indicated if we are reporting status from outside a SIMPL# Pro application. + + + + + Get this application's location information. + + + + + Object used to report device information to Crestron cloud services + + Type of object will report about to and from the cloud. + + + + Constructor to initialize a new device reporting object. + + The universally unique identifier for this device driver. The cloud services will register this ID for communication. + User settable object that will be passed into the specified DeviceReportingCallback. Can be 'null'. + When the cloud service sends a device update, the callback will be triggered with an object containing information. Can be 'null' if no feedback is needed. + The specified "deviceUuid" is already in use in the application. + This version of firmware does not support JsonDb feature. + + + + Send a device change or update to the Crestron cloud services. + + Object that contains the updated information. + This object has been disposed, no further updates are possible. + + + + String representation of this object. + + "SimplSharpDeviceReporting for ''" + + + + Dispose of this device reporting object. This will unregister the devices UUID with the cloud services. + + + + + Dispose implementation method. + + 'true' means called from Dispose(). 'false' means this was called by the finalizer. + Under the 'false' case, do not remove the device from the cloud. + + + + Destructor for this class. + + + + + Read back the set device UUID that this object is related to. + + + + + Get the program location for this device reporting object + + + + + Callback signature for SimplSharpDeviceReporting objects. + + Represents the object type that will be received from the cloud. + The user specified object that was supplied to the SimplSharpDeviceReporting's constructor. + The updated information from the cloud service. + + + + Timeout for the Crestron Event and Timer class + + + + + A constant used to specify an infinite waiting period. This field is constant. + + + + + Base class for the crestron CEvent. + + + This class should not be derived from. + + + + + Default constructor for the CEvent + Creates an Auto Reset Event with the event set to be signaled + + + + + Function to wait for the event to be signaled + + Timeout in milliseconds or Timeout.Infinite to wait indefinitely + True if the current instance receives a signal otherwise false. + Object not initialized + + + + Function to wait for the event to be signaled + + True if the current instance receives a signal otherwise false. + Object not initialized + + + + Clean up of resources. + + + + + Dispose implementation + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Closes the Event + + + + + Destructor for the CEvent class + + + + + Class to create instances of crestron named events. + A named event can be shared across multiple programs + + + + + Class to create instances of crestron events. + + + + + Unmanaged event handle. + + + + + .NET event handle. + + + + + Constructor to set the .NET Event handle and use that instead of native. + + .NET Event handle to use + + + + Default constructor for the Crestron event class. + Creates an Auto Reset Event with the event set to be signaled. + If a name is specified, this can be used to synchronize across multiple programs. + + Name of the event + If true will log an info message if the event already exists (created by another program) + Unable to create event + + + + Constructor for the Crestron event class. + If a name is specifiedl, this can be used to synchronize across multiple programs + + If true indicates Auto Reset event / False indicates Manual Reset Event + If true indicates event is signaled + Name of the event + If true will log an info message if the event already exists (created by another program) + Unable to create event + + + + Default constructor for the CEvent + Creates an Auto Reset Event with the event set to be signaled. + + + + + Constructor for the Crestron Event class + + If true indicates Auto Reset event / False indicates Manual Reset Event + If true indicates event is signaled + + + + Function to set the event + + true if the operation succeeds; otherwise, false. + Object not initialized + + + + Function to reset the specified event + + true if the operation succeeds; otherwise, false. + Object not initialized + + + + Function to wait for the event to be signaled. This will block indefinitely until the event is signaled. + + True if the current instance receives a signal otherwise false. + Object not initialized + + + + Function to wait for the event to be signaled + + Timeout in milliseconds or Timeout.Infinite to wait indefinitely + True if the current instance receives a signal otherwise false. + Object not initialized + + + + Close the event to release all resources used by this instance. + + + + + Default constructor for the Crestron named event class + This can be used to synchronize across multiple programs + Creates an Auto Reset Event with the event set to be signaled + + Name of the event + If true will log an info message if the event already exists (created by another program) + Unable to create event + + + + Constructor for the Crestron named event class. + This can be used to synchronize across multiple programs + + If true indicates Auto Reset event / False indicates Manual Reset Event + If true indicates event is signaled + Name of the event + If true will log an info message if the event already exists (created by another program) + Unable to create event + + + + Function to pulse the specified event. + + true if the operation succeeds; otherwise, false. + Object not initialized + + + + Property to get the name of the event. + + + + + Class-wrapper for zip functionality from Utilities DLL + + + + + Method to unzip an archive to a specified (optional) destination folder with password (optional) + + The path to the zip file to unzip + The path to the destination folder to unzip to (optional). + If NULL or empty, the folder with the name of the zip file w/o extension is created beside the zip file. + + The password to the zip file if encrypted + + + + Method to zip a file or a folder (recursive) to an archive with password (optional) + + The path to the zip file to zip to. + If NULL or empty, the path is built from the name of the source file or folder with .zip extension appended. + The path to the source file or folder (recursive) to zip. + The password to the zip file if encrypted + + + + Method to unzip an archive to a specified (optional) destination folder + + The path to the zip file to unzip + The path to the destination folder to unzip to (optional). + If NULL or empty, the files are unzipped to the folder where the zip file resides. + + Result code indicating success or failure + + The zip file is not deleted after unzipping. + This operation overwrites any existing file in the destination folder with the same name. + However, if the destination folder has an existing folder with the same name as one of the file(s) being unzipped + then the file will not be unzipped and ZR_NOFILE error will be returned. + Conversely, if we have a folder in the file being unzipped and the destination folder contains a file with the same name + then the folder will not be unzipped with ZR_NOFILE error returned. + + + + + Method to zip a file or a folder (including subfolders) to an zip file. + + The path to the zip file to zip to. + If NULL or empty, the path is built from the name of the source file or folder with .zip extension appended. + The path to the source file or folder to zip. + Result code indicating error or success + + + These are the result codes of a zip/unzip operation. + + + Everything went OK. + + + + nb. the pseudo-code zr-recent is never returned, + but can be passed to FormatZipMessage. + + + + The following come from general system stuff (e.g. files not openable) + + + couldn't duplicate the handle + + + couldn't create/open the file or folder + + + failed to allocate some resource + + + a general error writing to the file + + + couldn't find that file in the zip + + + there's still more data to be unzipped + + + the zipfile is corrupt or not a zipfile + + + a general error reading the file + + + we didn't get the right password to unzip the file + + + The following come from mistakes on the part of the caller + + + general mistake with the arguments + + + tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't + + + the memory size is too small + + + the thing was already failed when you called this function + + + the zip creation has already been closed + + + the indicated input file size turned out mistaken + + + the file had already been partially unzipped + + + tried to mix creating/opening a zip + + + The following come from bugs within the zip library itself + + + initialization didn't work + + + trying to seek in an unseekable file + + + changed its mind on storage, but not allowed + + + an internal error in the de/inflation code + + + + Specifies the amount of input or output checking that the created XmlReader + and XmlWriter objects perform. + + + + + The XmlReader or XmlWriter object automatically detects + whether document or fragment checking should be performed, and does the appropriate + checking. In the case where you are wrapping another XmlReader + or XmlWriter object, the outer object does not do any additional + conformance checking. Conformance checking is left up to the underlying object. + + + + + + The XML data is a well-formed XML fragment. + + + + + + The XML data is in conformance to the rules for a well-formed XML 1.0 document. + + + + + Specifies how the XmlTextReader or XmlValidatingReader + handle entities. + + + + + Expands all entities and returns the expanded nodes. + + + + + + Expands character entities and returns general entities as XmlNodeType.EntityReference + nodes. + + + + + Specifies formatting options for the XmlTextWriter. + + + + + No special formatting is applied. This is the default. + + + + + + Causes child elements to be indented according to the XmlTextWriter.Indentation + and XmlTextWriter.IndentChar settings. + + + + + Specifies how to handle line breaks. + + + + + New line characters are replaced to match the character specified in the + XmlWriterSettings.NewLineChars property. + + + + + + New line characters are entitized. This setting preserves all characters + when the output is read by a normalizing XmlReader. + + + + + + The new line characters are unchanged. The output is the same as the input. + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + + The Read method has been called. Additional methods may be called on the + reader. + + + + + + An error occurred that prevents the read operation from continuing. + + + + + + The end of the file has been reached successfully. + + + + + + The XmlReader.Close() method has been called. + + + + + Specifies the type of validation to perform. + + + + + No validation is performed. This setting creates an XML 1.0 compliant non-validating + parser. + + + + + + Validate according to XML Schema definition language (XSD) schemas, including + inline XML Schemas. XML Schemas are associated with namespace URIs either + by using the schemaLocation attribute or the provided Schemas property. + + + + + Specifies how white space is handled. + + + + + Return Whitespace and SignificantWhitespace nodes. This is the default. + + + + + + Return SignificantWhitespace nodes only. + + + + + + Return no Whitespace and no SignificantWhitespace nodes. + + + + + Specifies the state of the XmlWriter. + + + + + A Write method has not been called. + + + + + + The prolog is being written. + + + + + + An element start tag is being written. + + + + + + An attribute value is being written. + + + + + + The element content is being written. + + + + + + The XmlWriter.Close() method has been called. + + + + + + An exception has been thrown, which has left the XmlWriter in + an invalid state. You may call the XmlWriter.Close() method to + put the XmlWriter in the WriteState.Closed state. Any + other XmlWriter method calls results in an System.InvalidOperationException + being thrown. + + + + + Specifies how to treat the time value when converting between string and + System.DateTime. + + + + + Treat as local time. If the System.DateTime object represents a Coordinated + Universal Time (UTC), it is converted to the local time. + + + + + + Treat as a UTC. If the System.DateTime object represents a local time, it + is converted to a UTC. + + + + + + Treat as a local time if a System.DateTime is being converted to a string. + + + + + + Time zone information should be preserved when converting. + + + + + Defines the namespace scope. + + + + + All namespaces defined in the scope of the current node. This includes the + xmlns:xml namespace which is always declared implicitly. The order of the + namespaces returned is not defined. + + + + + + All namespaces defined in the scope of the current node, excluding the xmlns:xml + namespace, which is always declared implicitly. The order of the namespaces + returned is not defined. + + + + + + All namespaces that are defined locally at the current node. + + + + + Specifies the type of node change. + + + + + A node is being inserted in the tree. + + + + + + A node is being removed from the tree. + + + + + + A node value is being changed. + + + + + Describes the document order of a node compared to a second node. + + + + + The current node of this navigator is before the current node of the supplied + navigator. + + + + + + The current node of this navigator is after the current node of the supplied + navigator. + + + + + + The two navigators are positioned on the same node. + + + + + + The node positions cannot be determined in document order, relative to each + other. This could occur if the two nodes reside in different trees. + + + + + Specifies the type of node. + + + + + This is returned by the XmlReader if a Read method has not been + called. + + + + + An element. + + + + + + An attribute (for example, id='123' ). + + + + + + The text content of a node. + + + + + + A CDATA section (for example, ). + + + + + + A reference to an entity (for example, num; ). + + + + + + An entity declaration ( ). + + + + + + A processing instruction (for example, ). + + + + + + A comment (for example, ). + + + + + + A document object that, as the root of the document tree, provides access + to the entire XML document. + + + + + + The document type declaration, indicated by the following tag + (for example, ). + + + + + + A document fragment. + + + + + + A notation in the document type declaration ( + ). + + + + + + White space between markup. + + + + + + White space between markup in a mixed content model or white space within + the xml:space="preserve" scope. + + + + + An end element tag (for example, /item ). + + + + + + Returned when XmlReader gets to the end of the entity replacement as a result + of a call to XmlReader.ResolveEntity(). + + + + + + The XML declaration + + + + + Specifies the method used to serialize the XmlWriter output. + + + + + Serialize according to the XML 1.0 rules. + + + + + + Use the XSLT rules to choose between the XmlOutputMethod.Xml and + XmlOutputMethod.Html output methods at runtime. + + + + + Specifies the current xml:space scope. + + + + + No xml:space scope. + + + + + + The xml:space scope equals default. + + + + + + The xml:space scope equals preserve. + + + + + Represents the XML type for the string. This allows the string to be read + as a particular XML type, for example a CDATA section type. + + + + + CDATA type. + + + + + + ID type. + + + + + + IDREF type. + + + + + + IDREFS type. + + + + + + ENTITY type. + + + + + + ENTITIES type. + + + + + + NMTOKEN type. + + + + + + NMTOKENS type. + + + + + + NOTATION type. + + + + + + ENUMERATION type. + + + + + + QName type. + + + + + + NCName type. + + + + + + No type. + + + + + Specifies schema validation options used by the Crestron.Xml.Schema.XmlSchemaValidator + and Crestron.Xml.XmlReader classes. + + + + + Do not process identity constraints, inline schemas, schema location hints, + or report schema validation warnings. + + + + + Process inline schemas encountered during validation. + + + + + Process schema location hints (xsi:schemaLocation, xsi:noNamespaceSchemaLocation) + encountered during validation. + + + + + Report schema validation warnings encountered during validation. + + + + + Process identity constraints (xs:ID, xs:IDREF, xs:key, xs:keyref, xs:unique) + encountered during validation. + + + + + Allow xml:* attributes even if they are not defined in the schema. The attributes + will be validated based on their data type. + + + + + Provides read-only access to a set of prefix and namespace mappings. + + + + + Gets a collection of defined prefix-namespace mappings that are currently + in scope. + + An System.Xml.XmlNamespaceScope value that specifies the type of namespace + nodes to return. + An System.Collections.IDictionary that contains the current in-scope namespaces. + + + + Gets the namespace URI mapped to the specified prefix. + + The prefix whose namespace URI you wish to find. + The namespace URI that is mapped to the prefix; null if the prefix is not + mapped to a namespace URI. + + + + Gets the prefix that is mapped to the specified namespace URI. + + The namespace URI whose prefix you wish to find. + The prefix that is mapped to the namespace URI; null if the namespace URI + is not mapped to a prefix. + + + + SimplSharp.CrestronXml XmlReader Instance of a file supporting Xml Reading. + Parameters: + input: + The stream containing the XML data. The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the stream looking for a byte order mark or other sign of encoding. + When encoding is determined, the encoding is used to continue reading the + stream, and processing continues parsing the input as a stream of (Unicode) + characters. + + Returns: + An SimplSharp.CrestronXml.XmlReader object used to read the data contained in the stream. + + + + + Initialize the XmlReader with the specified Crestron Stream. + + A + One of the arguments is null. + The user does not have the required permissions. + + + + + Initialize the XmlReader with the specified Crestron TextReader. + + A + One of the arguments is null. + The user does not have the required permissions. + + + + + Initialize the XmlReader with the specified Crestron Stream and XmlReaderSettings. + Parameters: + input: + The stream containing the XML data. The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the stream looking for a byte order mark or other sign of encoding. + When encoding is determined, the encoding is used to continue reading the + stream, and processing continues parsing the input as a stream of (Unicode) + characters. + + settings: + The SimplSharp.CrestronXml.XmlReaderSettings object used to configure the new SimplSharp.CrestronXml.XmlReader + instance. This value can be null. + + Returns: + An SimplSharp.CrestronXml.XmlReader object to read the XML data. + + Exceptions: + System.ArgumentNullException: + The input value is null. + + A + SimplSharp XmlReaderSettings type. This parameter can be null. + One of the arguments is null. + The user does not have the required permissions. + + + + Initialize the XmlReader with the specified Crestron TextReader and XmlReaderSettings. + Parameters: + input: + The TextReader containing the XML data. The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the stream looking for a byte order mark or other sign of encoding. + When encoding is determined, the encoding is used to continue reading the + stream, and processing continues parsing the input as a stream of (Unicode) + characters. + + settings: + The SimplSharp.CrestronXml.XmlReaderSettings object used to configure the new SimplSharp.CrestronXml.XmlReader + instance. This value can be null. + + Returns: + An SimplSharp.CrestronXml.XmlReader object to read the XML data. + + Exceptions: + System.ArgumentNullException: + The input value is null. + + A + SimplSharp XmlReaderSettings type. This parameter can be null. + One of the arguments is null. + The user does not have the required permissions. + + + + Creates a new XmlReader instance with the specified XML passed in as the string + Returns: + An SimplSharp.CrestronXml.XmlReader object used to read the data contained in the string. + + The string containing the XML data.The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the string looking for a byte order mark or other sign of encoding. + When encoding is determined, the encoding is used to continue reading the + string, and processing continues parsing the input as a stream of (Unicode) + characters. + One of the arguments is null. + The user does not have the required permissions. + + + + Creates a new XmlReader instance with the specified XML passed in as the string + Returns: + An SimplSharp.CrestronXml.XmlReader object used to read the data contained in the string. + + The string containing the XML data. The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the string looking for a byte order mark or other sign of encoding. When encoding is determined, + the encoding is used to continue reading the string, and processing continues parsing the input as a stream of (Unicode) + characters. + SimplSharp XmlReaderSettings type. This value can be null. + One of the arguments is null. + The user does not have the required permissions. + + + + Creates a new XmlReader instance + Returns: + An SimplSharp.CrestronXml.XmlReader object + + If true indicates that we have a URI. If false indicates that the string passed in contains XML data + The URI for the file containing the XML data or the string containing the XML data. Depends upon the bStringIsURIOrXMLData parameter. If this is + a string containing the XMLData then the SimplSharp.CrestronXml.XmlReader scans the first bytes of the string looking for a byte order mark or other sign of encoding. + When encoding is determined, the encoding is used to continue reading the string, and processing continues parsing the input as a stream of (Unicode)characters. + One of the arguments is null. + The user does not have the required permissions. + The file identified by the URI does not exist. + + + + SimplSharp.CrestronXml XmlReader Instance of a string supporting Xml Reading. + Parameters: + input: + The string containing the XML data. The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the string looking for a byte order mark or other sign of encoding. + When encoding is determined, the encoding is used to continue reading the + string, and processing continues parsing the input as a stream of (Unicode) + characters. + + Returns: + An SimplSharp.CrestronXml.XmlReader object used to read the data contained in the string. + + SimplSharp Filestream type + One of the arguments is null. + The user does not have the required permissions. + + + + SimplSharp.CrestronXml XmlReader Instance of a string supporting Xml Reading. + Parameters: + The SimplSharp.CrestronXml.XmlReaderSettings object used to configure the new SimplSharp.CrestronXml.XmlReader + instance. This value can be null. + + Returns: + An SimplSharp.CrestronXml.XmlReader object used to read the data contained in the string. + + The stream containing the XML data.The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the string looking for a byte order mark or other sign of encoding.When encoding is determined, the encoding is used + to continue reading the string, and processing continues parsing the input as a stream of (Unicode) characters. + SimplSharp XmlReaderSettings object used to configure the new SimplSharp.CrestronXml.XmlReader + instance.This value can be null. + One of the arguments is null. + The user does not have the required permissions. + + + + Creates a new XmlReader instance with the specified XmlReader and XmlReaderSettings objects. + Parameters: + reader: + The SimplSharp.CrestronXml.XmlReader object that you wish to use as the underlying reader. + + settings: + The SimplSharp.CrestronXml.XmlReaderSettings object used to configure the new + SimplSharp.CrestronXml.XmlReader instance.The conformance level of the XmlReaderSettings + object must either match the conformance level of the underlying reader, or it must + be set to SimplSharp.CrestronXml.ConformanceLevel.Auto. + + Returns: + An SimplSharp.CrestronXml.XmlReader object that is wrapped around the specified + SimplSharp.CrestronXml.XmlReader object. + + Exceptions: + System.ArgumentNullException: + The reader value is null. + + System.InvalidOperationException: + If the XmlReaderSettings object specifies a conformance level + that is not consistent with conformance level of the underlying reader.-or-The + underlying XmlReader is in an SimplSharp.CrestronXml.ReadState.Error or + SimplSharp.CrestronXml.ReadState.Closed state. + + CrestronXml XmlReader + SimplSharp XmlReaderSettings type + One of the arguments is null. + The user does not have the required permissions. + + + + Creates an empty wrapper + + A Crestron.Xml.XmlReader object. + Default constructor of XmlReader class is deprecated. Please use one of the overloaded constructors. + + + + Creates a new XmlReader instance using the specified stream, XmlReaderSettings, and XmlParserContext objects. + Parameters: + input: + The stream containing the XML data. The SimplSharp.CrestronXml.XmlReader scans the first + bytes of the stream looking for a byte order mark or other sign of encoding. + When encoding is determined, the encoding is used to continue reading the + stream, and processing continues parsing the input as a stream of (Unicode) + characters. + + settings: + The SimplSharp.CrestronXml.XmlReaderSettings object used to configure the new SimplSharp.CrestronXml.XmlReader + instance. This value can be null. + + inputContext: + TheSimplSharp.CrestronXml.XmlParserContext object that provides the context information + required to parse the XML fragment. The context information can include the + SimplSharp.CrestronXml.XmlNameTable to use, encoding, namespace scope, the current xml:lang + and xml:space scope, base URI, and document type definition. This value can + be null. + + Returns: + An SimplSharp.CrestronXml.XmlReader object to read XML data. + + Exceptions: + System.ArgumentNullException: + The input value is null. + + SimplSharp Filestream type + The XmlReaderSettings object used to configure the new XmlReader instance. This value can be null + XmlParserContext provides the context information to parse the Xml fragment. This value can be null + The specified Stream is null. + The user does not have the required permissions. + + + Initializes a new XmlReader with the specified TextReader, XmlReaderSettings, and XmlParserContext objects + SimplSharp TextReader type + The XmlReaderSettings object used to configure the new XmlReader instance. This value can be null + XmlParserContext provides the context information to parse the Xml fragment. This value can be null + The specified TextReader is null. + The user does not have the required permissions. + + + Initializes a new XmlReader with the specified URI, XmlReaderSettings, and XmlParserContext objects + The URI for the file containing the XML data + The XmlReaderSettings object used to configure the new XmlReader instance. This value can be null + XmlParserContext provides the context information to parse the Xml fragment. This value can be null + The specified uri is null. + The user does not have the required permissions. + + + + Creates a new XmlReader instance using the specified stream, base URI, and XmlReaderSettings object + + The stream containing the Xml data + The XmlReaderSettings object used to configure the new XmlReader instance. This value can be null + The base URI for the entity or document being read. This value can be null + The specified Stream is null + + + + Initialize the XmlReader with the specified TextReader, XmlReaderSettings, and URI + + The TextReader to read the XML data. The encoding used will be Unicode + The XmlReaderSettings object used to configure the new XmlReader. This value can be null + The base URI for the entity or document being read. This value can be null. + One of the arguments is null + + + + This method also releases any resources held during reading. + If Close has already been called, no action is performed. + + + + + Creates a new XmlReader instance using the specified stream. + + A + new XmlReader instance + + + + Creates a new XmlReader instance using the specified stream. + + A + An object + new XmlReader instance + + + + Creates a new XmlReader instance using the specified TextReader. + + A + new XmlReader instance + + + + Creates a new XmlReader instance using the specified TextReader. + + A + An object + new XmlReader instance + + + + Creates a new instance with the specified URI and XmlReaderSettings + + SimplSharp Filestream type + The XmlReaderSettings object used to configure the new XmlReader. This value can be null + One of the arguments is null. + The user does not have the required permissions. + new XmlReader instance + + + + Creates a new XmlReader instance using the specified XmlReader instance. + + An object + An object + new XmlReader instance + + + + Creates a new XmlReader instance with the specified URI + + The URI for the file containing the XML data + new XmlReader instance + The uri is null + The user does not have the required permissions. + new XmlReader instance + + + + Creates a new XmlReader instance using the specified stream, base URI, and XmlReaderSettings object + + The stream containing the Xml data + The XmlReaderSettings object used to configure the new XmlReader. This value can be null + The base URI for the entity or document being read. This value can be null + The specified Stream is null + new XmlReader instance + + + + Creates a new XmlReader instance using the specified Stream, XmlReaderSettings, and XmlParserContext + + SimplSharp Filestream type + The XmlReaderSettings object used to configure the new XmlReader instance. This value can be null + XmlParserContext provides the context information to parse the Xml fragment. This value can be null + The specified Stream is null. + The user does not have the required permissions. + new XmlReader instance + + + Creates a new XmlReader with the specified TextReader, XmlReaderSettings, and XmlParserContext objects + SimplSharp TextReader type + The XmlReaderSettings object used to configure the new XmlReader instance. This value can be null + XmlParserContext provides the context information to parse the Xml fragment. This value can be null + The specified TextReader is null. + The user does not have the required permissions. + new XmlReader instance + + + Creates a new XmlReader with the specified URI, XmlReaderSettings, and XmlParserContext objects + The URI for the file containing the XML data + The XmlReaderSettings object used to configure the new XmlReader instance. This value can be null + XmlParserContext provides the context information to parse the Xml fragment. This value can be null + The specified uri is null. + The user does not have the required permissions. + new XmlReader instance + + + + Creates a new XmlReader with the specified TextReader, XmlReaderSettings, and URI + + The TextReader to read the XML data. The encoding used will be Unicode + The XmlReaderSettings object used to configure the new XmlReader. This value can be null + The base URI for the entity or document being read. This value can be null. + The TextReader is null + new XmlReader instance + + + + Checks whether the current node is a content (non-white space text, CDATA, + Element, EndElement, EntityReference, or EndEntity) node. If the node is + not a content node, the reader skips ahead to the next content node or end + of file. It skips over nodes of the following type: ProcessingInstruction, + DocumentType, Comment, Whitespace, or SignificantWhitespace. + + Returns: + The XmlReader.NodeType of the current node found by the method + or XmlNodeType.None if the reader has reached the end of the input stream. + + Incorrect XML encountered in the input stream.. + The XmlReader.NodeType of the current node found by the method or XmlNodeType.None if the reader has reached the end of the input stream. + + + + Moves to the element that contains the current attribute node. + + true if the reader is positioned on an attribute (the reader moves to the element that owns the attribute); false if the reader is not positioned on an attribute (the position of the reader does not change). + + + + Moves to the next attribute. + + true if there is a next attribute; false if there are no more attributes. + + + + Calls XmlReader.MoveToContent() and tests if the current content + node is a start tag or empty element tag and if the XmlReader.Name + property of the element found matches the given argument. + + The string matched against the Name property of the element found. + + true if the resulting node is an element and the Name property matches the + specified string. false if a node type other than XmlNodeType.Element was + found or if the element Name property does not match the specified string. + + Incorrect XML is encountered in the input stream. + + + + + Reads the content and returns the Base64 decoded binary bytes. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + The number of bytes written to the buffer. + The buffer value is null. + XmlReader.ReadContentAsBase64(System.Byte[],System.Int32,System.Int32) + is not supported on the current node. + The index into the buffer or index + count is larger than the allocated buffer + size. + The Crestron.Xml.XmlReader implementation does not support this method. + + + + + Reads the content and returns the BinHex decoded binary bytes. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + The number of bytes written to the buffer. + The buffer value is null. + + XmlReader.ReadContentAsBinHex(System.Byte[],System.Int32,System.Int32) + is not supported on the current node. + + The index into the buffer or index + count is larger than the allocated buffer + size. + + The Crestron.Xml.XmlReader implementation does not support this method. + + + + + Reads the text content at the current position as a Boolean. + + The text content as a System.Bool object. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the text content at the current position as a System.DateTime object. + + The text content as a System.DateTime object. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the text content at the current position as a System.Decimal object. + + The text content at the current position as a System.Decimal object. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the text content at the current position as a double-precision floating-point + number. + + The text content as a double-precision floating-point number. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the text content at the current position as a single-precision floating + point number. + + The text content at the current position as a single-precision floating point + number. + + + + Reads the text content at the current position as a 32-bit signed integer. + + The text content as a 32-bit signed integer. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the text content at the current position as a 64-bit signed integer. + + The text content as a 64-bit signed integer. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the text content at the current position as an System.Object. + + The text content as the most appropriate common language runtime (CLR) object. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the text content at the current position as a System.String object. + + The text content as a System.String object. + The attempted cast is not valid. + The string format is not valid. + + + + Reads the content as an object of the type specified. + + The type of the value to be returned. + An IXmlNamespaceResolver object that is used to resolve any namespace + prefixes related to type conversion. This value can be null. + The concatenated text content or attribute value converted to the requested type. + The content is not in the correct format for the target type. + The returnType value is null. + The current node is not a supported node type. + Read Decimal.MaxValue + The attempted cast is not valid. + + + + Reads the element content as the requested type. + + The type of the value to be returned. + An IXmlNamespaceResolver object object that is used to resolve any namespace + prefixes related to type conversion.. + The element content converted to the requested typed object. + The method is called with null arguments. + The XmlReader is not positioned on an element. + Read Decimal.MaxValue + The current element contains child elements. -or- The element content cannot + be converted to the requested type. + This method advances the reader past the end element tag. + + + + Reads the element content as the requested type. + + The type of the value to be returned. + An IXmlNamespaceResolver object object that is used to resolve any namespace + prefixes related to type conversion. + The local name of the element. + The namespace URI of the element. + The element content converted to the requested typed object. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + The XmlReader is not positioned on an element. + Read Decimal.MaxValue + The current element contains child elements. -or- The element content cannot + be converted to the requested type. + This method advances the reader past the end element tag. + + + + Reads the element and decodes the Base64 content. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + The number of bytes written to the buffer. + The buffer value is null. + The current node is not an element node. + The index into the buffer or index + count is larger than the allocated buffer + size. + The XmlReader implementation does not support this method. + The content cannot be converted to the requested type. + The element contains mixed-content. + This method advances the reader past the end element tag. + + + + Reads the element and decodes the BinHex content. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + The number of bytes written to the buffer. + The buffer value is null. + The current node is not an element node. + The index into the buffer or index + count is larger than the allocated buffer + size. + The XmlReader implementation does not support this method. + The content cannot be converted to the requested type. + The element contains mixed-content. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as a System.Bool object. + + The element content as a System.Bool object. + The Crestron.Xml.XmlReader is not positioned on an element. + The method is called with null arguments. + The current element contains child elements. or + The element content cannot be converted to a System.Bool object. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as a System.Boolean object. + + The local name of the element. + The namespace URI of the element. + The element content as a System.Boolean object + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.Boolean object. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as a System.DateTime object. + + The element content as a System.DateTime object. + The current element contains child elements. or The element content cannot + be converted to a System.DateTime object. + The Crestron.Xml.XmlReader is not positioned on an element. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as a System.DateTime object. + + The local name of the element. + The namespace URI of the element. + The element content as a System.DateTime object + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.DateTime object. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as a System.Decimal object. + + The element content as a System.Decimal object. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.Decimal. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as a System.Decimal object. + + The local name of the element. + The namespace URI of the element. + The element content as a System.Decimal object + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.Decimal object. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as a double-precision + floating-point number. + + The element content as a double-precision floating-point number. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.Decimal. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as a double-precision floating-point number. + + The local name of the element. + The namespace URI of the element. + The element content as a double-precision floating-point number + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a double-precision floating-point number. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as single-precision floating-point + number. + + The element content as a single-precision floating point number. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.Decimal. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as a single-precision floating-point number. + + The local name of the element. + The namespace URI of the element. + The element content as a single-precision floating-point number + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a single-precision floating-point number. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as a 32-bit signed integer. + + The element content as a 32-bit signed integer. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.Decimal. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as a 32-bit signed integer + + The local name of the element. + The namespace URI of the element. + The element content as a 32-bit signed integer + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a 32-bit signed integer. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as a 64-bit signed integer. + + The element content as a 64-bit signed integer. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a 64-bit signed integer. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as a 64-bit signed integer + + The local name of the element. + The namespace URI of the element. + The element content as a 64-bit signed integer + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a 64-bit signed integer. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as an System.Object. + + A boxed common language runtime (CLR) object of the most appropriate type. + The XmlReader.ValueType property determines the appropriate CLR + type. If the content is typed as a list type, this method returns an array + of boxed objects of the appropriate type. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to to the requested type. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the current element, then reads the current element + and returns the contents as an System.Object. + + The local name of the element. + The namespace URI of the element. + A boxed common language runtime (CLR) object of the most appropriate type. + The XmlReader.ValueType property determines the appropriate CLR + type. If the content is typed as a list type, this method returns an array + of boxed objects of the appropriate type. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to the requested type. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads the current element and returns the contents as a System.String object. + + The element content as a System.String object. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.String. + The method is called with null arguments. + This method advances the reader past the end element tag. + + + + Checks that the specified local name and namespace URI matches that of the + current element, then reads the current element and returns the contents as a System.String object. + + The local name of the element. + The namespace URI of the element. + The element content as a System.String object. + The Crestron.Xml.XmlReader is not positioned on an element. + The current element contains child elements. or The element content cannot + be converted to a System.String. + The method is called with null arguments. + The specified local name and namespace URI do not match that of the current + element being read. + This method advances the reader past the end element tag. + + + + Reads a text-only element. + + The text contained in the element that was read. An empty string if the element + is empty. + The next content node is not a start tag. or the element found does not contain + a simple text value. + + + + Checks that the Crestron.Xml.XmlReader.Name property of the element found matches + the given string before reading a text-only element. + + The name to check. + The text contained in the element that was read. An empty string if the element is empty. + If the next content node is not a start tag; if the element Name does not + match the given argument; or if the element found does not contain a simple + text value. + + + + Checks that the current content node is an end tag and advances the reader to the next node. + + The current node is not an end tag or if incorrect XML is encountered in + the input stream. + + + + Reads all the content, including markup, + as a string. + + All the XML content, including markup, in the current node. If the current + node has no children, an empty string is returned. If the current node is + neither an element nor attribute, an empty string is returned. + The XML was not well-formed, or an error occurred while parsing the XML. + + + + Reads the content, including markup, + representing this node and all its children. + + If the reader is positioned on an element or an attribute node, this method + returns all the XML content, including markup, of the current node and all + its children; otherwise, it returns an empty string. + The XML was not well-formed, or an error occurred while parsing the XML. + + + + Checks that the current content node is an element with the given Crestron.Xml.XmlReader.Name + and advances the reader to the next node. + + The qualified name of the element. + Crestron.Xml.XmlReader.IsStartElement() returns false or if the Crestron.Xml.XmlReader.Name + of the element does not match the given name. + + + + Checks that the current content node is an element with the given Crestron.Xml.XmlReader.Name + and Crestron.Xml.XmlReader.NamespaceURI and advances the reader to the next node. + + The local name of the element. + The namespace URI of the element. + Crestron.Xml.XmlReader.IsStartElement() returns false or if the Crestron.Xml.XmlReader.LocalName + and Crestron.Xml.XmlReader.NamespaceURI properties of the element found do not match the given arguments of + the element does not match the given name. + + + + Checks that the current node is an element and advances the reader to the next node. + + Crestron.Xml.XmlReader.IsStartElement() returns false. + + + + Returns a new XmlReader instance that can be used to read the current node, + and all its descendants. + + A new XmlReader instance set to ReadState.Initial. A call to the Crestron.Xml.XmlReader.Read() + method positions the new XmlReader on the node that was current before the + call to ReadSubtree method. + The XmlReader is not positioned on an element when this method is called. + + + + Advances the Crestron.Xml.XmlReader to the next descendant element with the + specified qualified name. + + The qualified name of the element you wish to move to. + true if a matching descendant element is found; otherwise false. If a matching + child element is not found, the Crestron.Xml.XmlReader is positioned on the + end tag (Crestron.Xml.XmlReader.NodeType is XmlNodeType.EndElement) of the + element. If the Crestron.Xml.XmlReader is not positioned on an element when + Crestron.Xml.XmlReader.ReadToDescendant(System.String) was called, this method + returns false and the position of the Crestron.Xml.XmlReader is not changed. + + + + Advances the Crestron.Xml.XmlReader to the next descendant element with the + specified qualified name and namespace URI. + + The qualified name of the element you wish to move to. + The namespaceURI you wish to move to + true if a matching descendant element is found; otherwise false. If a matching + child element is not found, the Crestron.Xml.XmlReader is positioned on the + end tag (Crestron.Xml.XmlReader.NodeType is XmlNodeType.EndElement) of the + element. If the Crestron.Xml.XmlReader is not positioned on an element when + Crestron.Xml.XmlReader.ReadToDescendant(System.String) was called, this method + returns false and the position of the Crestron.Xml.XmlReader is not changed. + + + + Reads until an element with the specified qualified name is found. + + The qualified name of the element. + true if a matching element is found; otherwise false and the Crestron.Xml.XmlReader + is in an end of file state. + + + + Reads until an element with the specified qualified name and namespace URI is found. + + The qualified name of the element. + The namespace URI of the element + true if a matching element is found; otherwise false and the Crestron.Xml.XmlReader + is in an end of file state. + + + + Advances the XmlReader to the next sibling element with the specified qualified name. + + The qualified name of the sibling element you wish to move to. + true if a matching sibling element is found; otherwise false. If a matching + sibling element is not found, the XmlReader is positioned on the end tag + (Crestron.Xml.XmlReader.NodeType is XmlNodeType.EndElement) of the parent element. + + + + Advances the XmlReader to the next sibling element with the specified qualified name and namespace URI. + + The qualified name of the sibling element you wish to move to. + The namespace URI of the sibling element you wish to move to + true if a matching sibling element is found; otherwise false. If a matching + sibling element is not found, the XmlReader is positioned on the end tag + (Crestron.Xml.XmlReader.NodeType is XmlNodeType.EndElement) of the parent element. + + + + Reads the next node from the stream. + + Returns: + true if the next node was read successfully; false if there are no more nodes + to read. + + Exceptions: + SimplSharp.CrestronXml.XmlException: + An error occurred while parsing the XML. + + One of the arguments is null. + true if the next node was read successfully; false if there are no more nodes to read. + + + + Gets the value of the attribute with + the specified index. + + Parameters: + i: + The index of the attribute. The index is zero-based. (The first attribute + has index 0.) + + Returns: + The value of the specified attribute. This method does not move the reader. + + The zero-based index of the attribute. + The value of the specified attribute. + + + + Gets the value of the attribute with + the specified SimplSharp.CrestronXml.XmlReader.Name. + + Parameters: + name: + The qualified name of the attribute. + + Returns: + The value of the specified attribute. If the attribute is not found, null + is returned. + + The qualified name of the attribute. + The value of the specified attribute. If the attribute is not found, null + is returned. + + + + gets the value of the attribute with the specified LocalName and NamespaceURI.. + + The qualified name of the attribute. + The namespace URI of the attribute. + The value of the specified attribute. + + + + Releases the unmanaged resources used by the Crestron.Xml.XmlReader and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + When overridden in a derived class, moves to the attribute with the specified + index. + + + The index of the attribute. + + + + + When overridden in a derived class, moves to the attribute with the specified + XmlReader.Name. + + + The qualified name of the attribute. + + + true if the attribute is found; otherwise, false. If false, the reader's + position does not change. + + + + + When overridden in a derived class, moves to the attribute with the specified + XmlReader.LocalName and XmlReader.NamespaceURI. + + + The local name of the attribute. + + + The namespace URI of the attribute. + + + true if the attribute is found; otherwise, false. If false, the reader's + position does not change. + + + + + When overridden in a derived class, moves to the first attribute. + + + true if an attribute exists (the reader moves to the first attribute); otherwise, + false (the position of the reader does not change). + + + + + When overridden in a derived class, parses the attribute value into one or + more Text, EntityReference, or EndEntity nodes. + + + true if there are nodes to return.false if the reader is not positioned on + an attribute node when the initial call is made or if all the attribute values + have been read.An empty attribute, such as, misc="", returns true with a + single node with a value of String.Empty. + + + + + When overridden in a derived class, reads the contents of an element or text + node as a string. + + + The contents of the element or an empty string. + + + An error occurred while parsing the XML. + + + + + When overridden in a derived class, resolves the entity reference for EntityReference + nodes. + + + The reader is not positioned on an EntityReference node; this implementation + of the reader cannot resolve entities (XmlReader.CanResolveEntity + returns false). + + + + + Skips the children of the current node. + + + + + When overridden in a derived class, resolves a namespace prefix in the current + element's scope. + + + The prefix whose namespace URI you want to resolve. To match the default + namespace, pass an empty string. + + + The namespace URI to which the prefix maps or null if no matching prefix + is found. + + + + + Reads large streams of text embedded in an XML document. + + + The array of characters that serves as the buffer to which the text contents + are written. This value cannot be null. + + + The offset within the buffer where the XmlReader can start to + copy the results. + + + The maximum number of characters to copy into the buffer. The actual number + of characters copied is returned from this method. + + + The number of characters read into the buffer. The value zero is returned + when there is no more text content. + + + The current node does not have a value (XmlReader.HasValue is + false). + + + The buffer value is null. + + + The index into the buffer, or index + count is larger than the allocated + buffer size. + + + The XmlReader implementation does not support this method. + + + The XML data is not well-formed. + + + + + Calls XmlReader.MoveToContent() and tests if the current content + node is a start tag or empty element tag. + + + true if XmlReader.MoveToContent() finds a start tag or empty element + tag; false if a node type other than XmlNodeType.Element was found. + + + Incorrect XML is encountered in the input stream. + + + + + Calls XmlReader.MoveToContent() and tests if the current content + node is a start tag or empty element tag and if the XmlReader.LocalName + and XmlReader.NamespaceURI properties of the element found match + the given strings. + + + The string to match against the LocalName property of the element found. + + + The string to match against the NamespaceURI property of the element found. + + + true if the resulting node is an element. false if a node type other than + XmlNodeType.Element was found or if the LocalName and NamespaceURI properties + of the element do not match the specified strings. + + + Incorrect XML is encountered in the input stream. + + + + + Gets a value indicating whether the string argument is a valid XML name + + The name to validate + true if the name is valid; otherwise, false + The str value is null + + + + Gets a value indicating whether or not the string argument is a valid XML name token + + The name token to validate + true if it is a valid name token; otherwise false + The str value is null + + + + Gets the number of attributes on the current node. + + + + + gets the base URI of the current node. + + + + + Gets a value indicating whether the XmlReader implements the binary content read methods. + + + + + Gets a value indicating whether the XmlReader implements the ReadValueChunk method. + + + + + Gets a value indicating whether this reader can parse and resolve entities. + + + + + gets the depth of the current node in the XML document. + + + + + Gets a value indicating whether the reader is positioned at the end of the stream. + + + + + Gets a value indicating whether the current node has any attributes + + + + + Gets a value indicating whether the current node can have a Value. + + + + + Gets a value indicating whether the current node is an attribute that was generated + from the default value defined in the DTD or schema. + + + + + Gets a value indicating whether the current node is an empty element (for example, ). + + + + + Gets the local name of the current node. + + + + + Gets the qualified name of the current node. + + + + + Gets the namespace URI (as defined in the W3C Namespace specification) + of the node on which the reader is positioned + + + + + Gets the XmlNameTable associated with this implementation + + + + + gets the type of the current node. + + + + + gets the namespace prefix associated with the current node. + + + + + gets the quotation mark character used to enclose the value of an attribute node. + + + + + gets the state of the reader. + + + + + Gets the schema information that has been assigned to the current node as a result of schema validation. + + + + + Gets the XmlReaderSettings object used to create this XmlReader instance. + + + + + Gets the text value of the current node. + + + + + Gets the text value of the current node. + + + + + Gets the current xml:lang scope. + + + + + Gets the current xml:space scope. + + + + + When overridden in a derived class, gets the value of the attribute with + the specified index. + + The index of the attribute. + The value of the specified attribute. + + + + When overridden in a derived class, gets the value of the attribute with the specified XmlReader.Name + + The qualified name of the attribute. + The value of the specified attribute. If the attribute is not found, null + is returned. + + + + When overridden in a derived class, gets the value of the attribute + with the specified LocalName and NamespaceURI. + + The local name of the attribute. + The namespace URI of the attribute. + The value of the specified attribute. If the attribute is not found, null is returned. + + + + Specifies a set of features to support on the XmlReader object created by the Create method. + + + + + Initialize the XmlReaderSettings to default settings + + One of the arguments is null. + + + + + Checks for referential equality between two XmlReaderSettings + + The left value + The right value + true if the XmlReaderSettings are the same reference; false otherwise + + + + Checks for referential inequality between two XmlReaderSettings + + The left value + The right value + true if the XmlReaderSettings are different references; false otherwise + + + + Gets the hash code for this XmlReaderSettings + + The hash code + + + + Determines if the specified object is equal to the current XmlReaderSettings + + The object to compare + true if the object is equal to the current XmlReaderSettings; false otherwise + + + + Gets or sets a value indicating whether to do character checking. + + + + + Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed. + + + + + Gets or sets the level of conformance which the XmlReader will comply. + + + + + Gets or sets a value indicating whether to ignore comments. + + + + + Gets or sets a value indicating whether to ignore processing instructions. + + + + + Gets or sets a value indicating whether to ignore insignificant white space. + + + + + Gets or sets line number offset of the XmlReader object. + + + + + Gets or sets line position offset of the XmlReader object. + + + + + Gets or sets the XmlNameTable used for atomized string comparisons. + + + + + Gets or sets the XmlSchemaSet to use when performing schema validation. + + + + + Gets or sets a value indicating the schema validation settings. + This setting applies to schema validating XmlReader objects + (ValidationType property set to ValidationType.Schema). + + + + + Gets or sets a value indicating whether the XmlReader will perform validation or type assignment when reading. + + + + + Sets the XmlResolver used to access external documents + + + + + SimplSharp.CrestronXml XmlWriter Instance of a file supporting Xml Reading. + Represents a writer that provides a fast, non-cached, forward-only means + of generating streams or files containing XML data. + + + + + The underlying System.Xml.XmlWriter + + + + + Creates an empty wrapper + + A Crestron.Xml.XmlWriter object. + + + + + Initializes a new instance of the SimplSharp.CrestronXml.XmlWriter class. + + A + One of the arguments is null. + + + + + Initializes a new instance of the SimplSharp.CrestronXml.XmlWriter class. + + A + One of the arguments is null. + + + + + Initializes a new instance of the XmlWriter class. + + XmlWriter + + + + Initializes a new instance of the XmlWriter class. + + A + SimplSharp XmlReaderSettings type + One of the arguments is null. + + + + Initializes a new instance of the XmlWriter class. + + A + SimplSharp XmlReaderSettings type + One of the arguments is null. + + + + Initializes a new instance of the XmlWriter class with the specified file name. + + The file system path to write to, The XmlWriter creates a file at the specified path + and writes to it in XML 1.0 text syntax. + fileName is null + The user does not have the required permissions. + Invalid directory location passed. + The file was not found + + + + Initializes a new instance of the XmlWriter class with the specified StringBuilder. + + The StringBuilder to write to, + the content from the XmlWriter will be appended to the StringBuilder + builder is null + + + + Initializes a new instance of the XmlWriter class with the specified file name and XmlWriterSettings. + + The file system path to write to, The XmlWriter creates a file at the specified path + and writes to it in XML 1.0 text syntax + The XmlWriterSettings object to configure the new XmlWriter instance. This value can be null + The specified fileName is null. + The user does not have the required permissions. + Invalid directory location passed. + The file was not found + + + + Initializes a new instance of the XmlWriter class with the specified StringBuilder and XmlWriterSettings. + + The StringBuilder to write to, + the content from the XmlWriter will be appended to the StringBuilder + The XmlWriterSettings object to configure the new XmlWriter instance. This value can be null + The specified builder is null + + + + Initializes a new instance of the XmlWriter class with the specified underlying XmlWriter. + + The XmlWriter to use as the underlying writer + The specified XmlWriter is null. + + + + + Initializes a new instance of the XmlWriter class with the specified XmlWriter and XmlWriterSettings. + + The XmlWriter to use as the underlying writer + The XmlWriterSettings object to configure the new XmlWriter instance. This value can be null + The specified writer is null. + + + + This method also releases any resources held during writing. + If Close has already been called, no action is performed. + + + + + Creates a new XmlWriter instance using the specified stream. + + A + new XmlWriter instance + + + + Creates a new XmlWriter instance using the specified stream. + + A + An object + new XmlWriter instance + + + + Creates a new XmlWriter instance using the specified TextWriter. + + A + new XmlWriter instance + + + + Creates a new XmlWriter instance using the specified TextWriter. + + A + An object + new XmlWriter instance + + + + Creates a new instance of the XmlWriter class. + + The file system path to write to, the XmlWriter creates a file at the specified path + and writes to it in XML 1.0 text syntax. + new XmlWriter instance + fileName is null + + + + Creates a new instance of the XmlWriter class. + + The StringBuilder to write to, + the content from the XmlWriter will be appended to the StringBuilder + new XmlWriter instance + builder is null + + + + Creates a new instance of the SimplSharp.CrestronXml.XmlWriter class. + + The XmlWriter to use as the underlying writer + An XmlWriter wrapping the specified XmlWriter + The specified XmlWriter is null. + + + + Creates a new instance of the XmlWriter class with the specified file name and XmlWriterSettings. + + The file system path to write to, The XmlWriter creates a file at the specified path + and writes to it in XML 1.0 text syntax + The XmlWriterSettings object to configure the new XmlWriter instance. This value can be null + An XmlWriter object with the specified settings + The specified fileName is null. + + + + Creates a new instance of the XmlWriter class with the specified StringBuilder and XmlWriterSettings. + + The StringBuilder to write to, + the content from the XmlWriter will be appended to the StringBuilder + The XmlWriterSettings object to configure the new XmlWriter instance. This value can be null + An XmlWriter object with the specified settings + The specified builder is null + + + + Creates a new instance of the XmlWriter class with the specified XmlWriter and XmlWriterSettings. + + The XmlWriter to use as the underlying writer + The XmlWriterSettings object to configure the new XmlWriter instance. This value can be null + An XmlWriter object with the specified settings + The specified writer is null. + + + + Releases the unmanaged resources used by the Crestron.Xml.XmlWriter and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Releases the unmanaged resources used by the XmlWriter + and optionally releases the managed resources. + + + + + flushes whatever is in the buffer to the underlying streams + and also flushes the underlying stream. + + + + + writes out all the attributes found at the current position in the XmlReader. + + The XmlReader from which to copy the attributes. + true to copy the default attributes from the XmlReader; otherwise, false. + One of the arguments is null. + One of the arguments is null. + + + + + writes out the attribute with the specified local name and value + + The local name of the attribute. + The value of the attribute. + The state of writer is not WriteState.Element or writer is closed. + The xml:space or xml:lang attribute value is invalid. + + + + + writes an attribute with the specified local name, namespace URI, and value + + The local name of the attribute. + The namespace URI of the attribute. + The value of the attribute. + The state of writer is not WriteState.Element or writer is closed. + The xml:space or xml:lang attribute value is invalid. + + + + + writes out the attribute with the specified prefix, local name, namespace URI, and value. + + The namespace prefix of the attribute. + The local name of the attribute. + The namespace URI of the attribute. + The value of the attribute. + The state of writer is not WriteState.Element or writer is closed. + The xml:space or xml:lang attribute value is invalid. + + + + + encodes the specified binary bytes as Base64 and writes out the resulting text. + + Byte array to encode. + The position in the buffer indicating the start of the bytes to write. + The number of bytes to write. + index or count is less than zero. + buffer is null.. + The xml:space or xml:lang attribute value is invalid. + + + + + encodes the specified binary bytes as BinHex and writes out the resulting text. + + Byte array to encode. + The position in the buffer indicating the start of the bytes to write. + The number of bytes to write. + index or count is less than zero. + buffer is null.. + The xml:space or xml:lang attribute value is invalid. + + + + + writes out a block containing the specified text. + + The xml:space or xml:lang attribute value is invalid. + String containing text to write. + + + + forces the generation of a character entity for the specified Unicode character value. + + The character to write. + The xml:space or xml:lang attribute value is invalid. + + + + + writes text one buffer at a time.. + + The char array from which to write. + The starting index in the char array. + The character count in the char array. + index or count is less than zero. + buffer is null.. + + + + + writes text one buffer at a time.. + + String containing text to write. + The xml:space or xml:lang attribute value is invalid. + + + + + writes the DOCTYPE declaration with the specified name and optional attributes. + + The name of the DOCTYPE. This must be non-empty. + If non-null it also writes PUBLIC "pubid" "sysid" where pubid and sysid are replaced with the value of the given arguments. + If pubid is null and sysid is non-null it writes SYSTEM "sysid" where sysid is replaced with the value of this argument. + If non-null it writes [subset] where subset is replaced with the value of this argument. + This method was called outside the prolog (after the root element). + The xml:space or xml:lang attribute value is invalid. + + + + + writes an element with the specified local name and value. + + The local name of the element. + The value of the element. + The xml:space or xml:lang attribute value is invalid. + + + + + writes an element with the specified local name and value. + + The local name of the element. + The namespace URI of the element. + The value of the element. + The xml:space or xml:lang attribute value is invalid. + + + + + writes an element with the specified prefix local name and value. + + The namespace prefix of the element. + The local name of the element. + The namespace URI of the element. + The value of the element. + The xml:space or xml:lang attribute value is invalid. + + + + + closes the previous WriteStartAttribute call. + + + + + closes any open elements or attributes and puts the writer back in the Start state. + + The xml:space or xml:lang attribute value is invalid. + + + + + closes one element and pops the corresponding namespace scope. + + This method was called outside the prolog (after the root element). + + + + + writes out an entity reference as name;. + + The name of the entity reference. + The xml:space or xml:lang attribute value is invalid. + + + + + closes one element and pops the corresponding namespace scope. + + + + + writes out the specified name, + ensuring it is a valid name according to the W3C XML 1.0 recommendation + (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name).Namespace: System.Xml + + The name to write. + The xml:space or xml:lang attribute value is invalid. + + + + + writes out the specified name, + ensuring it is a valid NmToken according to the W3C XML 1.0 recommendation + (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name). + + The name to write. + The xml:space or xml:lang attribute value is invalid. + + + + + copies everything from the reader to the writer + and moves the reader to the start of the next sibling. + + The XmlReader to read from. + true to copy the default attributes from the XmlReader; otherwise, false. + buffer is null.. + + + + + writes out a processing instruction + with a space between the name and text as follows: . + + String containing the name of the processing instruction. + String containing the text of the processing instruction. + The xml:space or xml:lang attribute value is invalid. + + + + + writes out the namespace-qualified name. + This method looks up the prefix that is in scope for the given namespace. + + The local name of the element. + The namespace URI of the element. + + + + writes raw markup manually from a string. + + String containing the text to write. + + + + writes raw markup manually from a string. + + Character array containing the text to write. + The position within the buffer indicating the start of the text to write. + The number of characters to write. + + + + writes out all the attributes found at the current position in the XmlReader. + + The local name of the element. + + + + writes out the attribute with the specified local name and value + + The local name of the element. + The namespace URI of the element. + + + + writes an attribute with the specified local name, namespace URI, and value + + The namespace prefix of the element. + The local name of the element. + The namespace URI of the element. + + + + writes the XML declaration with the version "1.0". + + This method was called outside the prolog (after the root element). + + + + + writes the XML declaration with the version "1.0" and the standalone attribute. + + If true, it writes "standalone=yes"; if false, it writes "standalone=no". + This method was called outside the prolog (after the root element). + + + + + writes out a start tag with the specified local name. + + This method was called outside the prolog (after the root element). + + The local name of the element. + + + + writes the specified start tag and associates it with the given namespace. + + The local name of the element. + The namespace URI of the element. + This method was called outside the prolog (after the root element). + + + + Writes the specified start tag and associates it with the given namespace and prefix. + + The namespace prefix of the element. + The local name of the element. + The namespace URI to associate with the element. + Writer is closed + + + + writes the given text content. + + String containing text to write. + The xml:space or xml:lang attribute value is invalid. + + + + + generates and writes the surrogate character entity for the surrogate character pair. + + The high surrogate. This must be a value between 0xD800 and 0xDBFF. + The low surrogate. This must be a value between 0xDC00 and 0xDFFF. + An invalid surrogate character pair was passed. + + + + + Writes a Boolean value + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes a DateTime value. + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes a Decimal value. + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes a Double value. + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes a Int32 value. + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes a Int64 value + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes the object value. + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes a single-precision floating-point number. + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes a String value. + + The value to write. + The xml:space or xml:lang attribute value is invalid. + + + + + Writes out the given white space. + + The string of white space characters. + The xml:space or xml:lang attribute value is invalid. + + + + + When overridden in a derived class, returns the closest prefix defined in + the current namespace scope for the namespace URI. + + + The namespace URI whose prefix you want to find. + + + The matching prefix or null if no matching namespace URI is found in the + current scope. + + + ns is either null or String.Empty. + + + + + gets the state of the reader. + + + + + Gets the XmlWriterSettings object used to create this XmlWriter instance. + + + + + Gets the current xml:lang scope. + + + + + Gets the current xml:space scope. + + + + + SimplSharp.CrestronXml XmlReader Instance of a file supporting Xml Reading. + + + + + Initialize the XmlReaderSettings to default settings + + + + + + Creates a copy of the instance. + + The cloned object. + + + + Resets the members of the settings class to their default values. + + + + + Checks for referential equality between two XmlWriterSettings + + The left value + The right value + true if the XmlWriterSettings are the same reference; false otherwise + + + + Checks for referential inequality between two XmlWriterSettings + + The left value + The right value + true if the XmlWriterSettings are different references; false otherwise + + + + Gets the hash code for this XmlWriterSettings + + The hash code + + + + Determines if the specified object is equal to the current XmlWriterSettings + + The object to compare + true if the object is equal to the current XmlWriterSettings; false otherwise + + + + Gets or sets a value indicating whether to do character checking. + + + + + Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed. + + + + + Gets or sets the level of conformance which the XmlReader will comply. + + + + + Gets or sets the type of text encoding to use. + + + + + Gets or sets a value indicating whether to ignore processing instructions. + + + + + Gets or sets the character string to use when indenting. + This setting is used when the Indent property is set to true. + + + + + Gets or sets line number offset of the XmlReader object. + + + + + Gets or sets line position offset of the XmlReader object. + + + + + Gets or sets the XmlNameTable used for atomized string comparisons. + + + + + Gets or sets a value indicating whether to write an XML declaration. + + + + + Gets a value indicating the schema validation settings. + This setting applies to schema validating XmlReader objects + (ValidationType property set to ValidationType.Schema). + + + + Encodes and decodes XML names and provides methods for converting between + common language runtime types and XML Schema definition language (XSD) types. + When converting data types the values returned are locale independent. + + + + Decodes a name. This method does the reverse of the XmlConvert.EncodeName(System.String) + and XmlConvert.EncodeLocalName(System.String) methods. + + The name to be transformed. + The decoded name. + + + Converts the name to a valid XML local name. + The name to be encoded. + The encoded name + + + Converts the name to a valid XML name. + A name to be translated. + Returns the name with any invalid characters replaced by an escape string. + + + + Verifies the name is valid according to the XML specification. + + The name to be encoded + The encoded name + + + + Converts the System.String to a System.Boolean equivalent. + + The string to convert + A Boolean value, that is, true or false. + s is null + s does not represent a Boolean value. + + + + Converts the System.String to a System.Byte equivalent. + + The string to convert + A byte equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.Byte.MinValue or greater than System.Byte.MaxValue. + + + + Converts the System.String to a System.Char equivalent. + + The string containing a single char to convert + A char representing the single character. + s is null + s contains more than one character. + + + + Converts the System.String to a System.DateTime equivalent. + + The string to convert + The format structure to apply to the converted DateTime. Valid formats include + "yyyy-MM-ddTHH:mm:sszzzzzz" and its subsets. The string is validated against + this format. + A DateTime equivalent of the string. + s is null + s or format is String.Empty -or- s does not contain a date and time that + corresponds to format. + + + + Converts the System.String to a System.DateTime equivalent. + + The string to convert + An array containing the format structures to apply to the converted DateTime. Valid formats include + "yyyy-MM-ddTHH:mm:sszzzzzz" and its subsets. + A DateTime equivalent of the string. + s is null + s or format is String.Empty -or- s does not contain a date and time that + corresponds to format. + + + + Converts the System.String to a System.DateTime using the XmlDateTimeSerializationMode + specified + The string value to convert + One of the XmlDateTimeSerializationMode values that specify whether + the date should be converted to local time or preserved as Coordinated Universal + Time (UTC), if it is a UTC date. + A DateTime equivalent of the string. + s is null + The dateTimeOption is null + s is an empty string or is not in a valid format. . + + + + Converts the System.String to a System.Decimal equivalent. + + The string to convert + A decimal equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.Decimal.MinValue or greater than System.Decimal.MaxValue. + + + + Converts the System.String to a System.Double equivalent. + + The string to convert + A double equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.Double.MinValue or greater than System.Double.MaxValue. + + + + Converts the System.String to a System.Guid equivalent. + + The string to convert. + A Guid equivalent of the string. + + + + Converts the System.String to a System.Int16 equivalent. + + The string to convert + An Int16 equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.Int16.MinValue or greater than System.Int16.MaxValue. + + + + Converts the System.String to a System.Int32 equivalent. + + The string to convert + An Int32 equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.Int32.MinValue or greater than System.Int32.MaxValue. + + + + Converts the System.String to a System.Int64 equivalent. + + The string to convert + An Int64 equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.Int64.MinValue or greater than System.Int64.MaxValue. + + + + Converts the System.String to a System.SByte equivalent. + + The string to convert + An SByte equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.SByte.MinValue or greater than System.SByte.MaxValue. + + + + Converts the System.String to a System.Single equivalent. + + The string to convert + A Single equivalent of the string. + s is null + s is not in the correct format. + s represents a number less than System.Single.MinValue or greater than System.Single.MaxValue. + + + + Converts the System.Boolean to a System.String. + + The value to convert + A string representation of the Boolean, that is, "true" or "false". + + + + Converts the System.Byte to a System.String. + + The value to convert + A string representation of the byte. + + + + Converts the System.Char to a System.String. + + The value to convert + A string representation of the Char. + + + + Converts the System.Decimal to a System.String. + + The value to convert + A string representation of the Decimal. + + + + Converts the System.Double to a System.String. + + The value to convert + A string representation of the Double. + + + + Converts the System.Single to a System.String. + + The value to convert + A string representation of the Single. + + + + Converts the System.Guid to a System.String. + + The value to convert + A string representation of the Guid. + + + + Converts the System.Int32 to a System.String. + + The value to convert + A string representation of the Int32. + + + + Converts the System.Int64 to a System.String. + + The value to convert + A string representation of the Int64. + + + + Converts the System.SByte to a System.String. + + The value to convert. + A string representation of the SByte. + + + + Converts the System.Int16 to a System.String. + + The value to convert + A string representation of the Int16. + + + + Converts the System.TimeSpan to a System.String. + + The value to convert + A string representation of the TimeSpan. + + + + Converts the System.UInt32 to a System.String. + + The value to convert. + A string representation of the UInt32. + + + + Converts the System.UInt64 to a System.String. + + The value to convert. + A string representation of the UInt64. + + + + Converts the System.UInt16 to a System.String. + + The value to convert. + A string representation of the UInt16. + + + + Converts the System.DateTime to a System.String. + + The value to convert + The format structure that defines how to display the converted string. Valid + formats include "yyyy-MM-ddTHH:mm:sszzzzzz" and its subsets. + A string representation of the DateTime in the specified format. + + + + Converts the System.DateTime to a System.String using the XmlDateTimeSerializationMode specified. + + The DateTime value to convert + One of the XmlDateTimeSerializationMode values that specify how + to treat the System.DateTime value. + A string equivalent of the System.DateTime. + The dateTimeOption value is not valid. + The value or dateTimeOption value is null. + + + + Converts the System.DateTime to a System.TimeSpan equivalent. + + The string to convert. The string format must conform to the W3C XML Schema + Part 2: Datatypes recommendation for duration. + A TimeSpan equivalent of the string. + s is not in correct format to represent a TimeSpan value. + The value or dateTimeOption value is null. + + + + Converts the System.String to a System.UInt16 equivalent. + + The string to convert. + A UInt16 equivalent of the string. + s is not in correct format. + s is null. + s represents a number less than System.UInt16.MinValue or greater than System.UInt16.MaxValue. + + + + Converts the System.String to a System.UInt32 equivalent. + + The string to convert. + A UInt32 equivalent of the string. + s is not in correct format. + s is null. + s represents a number less than System.UInt32.MinValue or greater than System.UInt32.MaxValue. + + + + Converts the System.String to a System.UInt64 equivalent. + + The string to convert. + A UInt64 equivalent of the string. + s is not in correct format. + s is null. + s represents a number less than System.UInt64.MinValue or greater than System.UInt64.MaxValue. + + + + Verifies that the name is a valid name according to the W3C Extended Markup Language recommendation. + + The name to verify + The name, if it is a valid XML name.. + name is not a valid XmlName. + name is null or String.Empty. + + + + Verifies that the name is a valid NCName according to the W3C Extended Markup Language recommendation. + + The name to verify + The name, if it is a valid NCname.. + name is not a valid NCName. + name is null or String.Empty. + + + + Verifies that the name is a valid NMTOKEN according to the W3C XML Schema + Part2: Datatypes recommendation + + The string to verify + The name token, if it is a valid NMTOKEN. + name is not a valid name token. + name is null or String.Empty. + + + + Verifies that the string is a valid token according to the W3C XML Schema + Part2: Datatypes recommendation. + + The string to verify + The token, if it is a valid token. + String value is not a valid token. + + + + Represents a reader that provides fast, non-cached, forward-only access to + XML data. + + + + + Initializes a new instance of the XmlTextReader. + + + + + Initializes a new instance of the XmlTextReader class with the + specified stream. + + + The stream containing the XML data to read. + + + input is null. + + + + + Initializes a new instance of the XmlTextReader class with the + specified file. + + + The URL for the file containing the XML data. The XmlTextReader.BaseURI + is set to this value. + + + The specified file cannot be found. + + + Part of the filename or directory cannot be found. + + + url is an empty string. + + + The remote filename cannot be resolved.-or-An error occurred while processing + the request. + + + url is not a valid URI. + + + + + Initializes a new instance of the XmlTextReader class with the + specified System.CrestronIO.TextReader. + + + The TextReader containing the XML data to read. + + + + + Initializes a new instance of the XmlTextReader class with the + specified XmlNameTable. + + + The XmlNameTable to use. + + Unable to create XmlTextReader with the XmlNameTable + + + + Initializes a new instance of the XmlTextReader class with the + specified stream and XmlNameTable. + + + The stream containing the XML data to read. + + + The XmlNameTable to use. + + + The input or nt value is null. + + + + + Initializes a new instance of the XmlTextReader class with the + specified URL and stream. + + + The URL to use for resolving external resources. The XmlTextReader.BaseURI + is set to this value. + + + The stream containing the XML data to read. + + + input is null. + + + + + Initializes a new instance of the XmlTextReader class with the + specified URL and System.CrestronIO.TextReader. + + + The URL to use for resolving external resources. The XmlTextReader.BaseURI + is set to this value. + + + The TextReader containing the XML data to read. + + + + + Initializes a new instance of the XmlTextReader class with the + specified file and XmlNameTable. + + + The URL for the file containing the XML data to read. + + + The XmlNameTable to use. + + + The nt value is null. + + + The specified file cannot be found. + + + Part of the filename or directory cannot be found. + + + url is an empty string. + + + The remote filename cannot be resolved.-or-An error occurred while processing + the request. + + + url is not a valid URI. + + + + + Initializes a new instance of the XmlTextReader class with the + specified System.CrestronIO.TextReader and XmlNameTable. + + + The TextReader containing the XML data to read. + + + The XmlNameTable to use. + + + The nt value is null. + + + + + Initializes a new instance of the XmlTextReader class with the + specified stream, XmlNodeType, and XmlParserContext. + + + The stream containing the XML fragment to parse. + + + The XmlNodeType of the XML fragment. This also determines what + the fragment can contain. (See table below.) + + + The XmlParserContext in which the xmlFragment is to be parsed. + This includes the XmlNameTable to use, encoding, namespace scope, + the current xml:lang, and the xml:space scope. + + + fragType is not an Element, Attribute, or Document XmlNodeType. + + + xmlFragment is null. + + + + + Initializes a new instance of the XmlTextReader class with the + specified URL, stream and XmlNameTable. + + + The URL to use for resolving external resources. The XmlTextReader.BaseURI + is set to this value. If url is null, BaseURI is set to String.Empty. + + + The stream containing the XML data to read. + + + The XmlNameTable to use. + + + The input or nt value is null. + + + + + Initializes a new instance of the XmlTextReader class with the + specified URL, System.CrestronIO.TextReader and XmlNameTable. + + + The URL to use for resolving external resources. The XmlTextReader.BaseURI + is set to this value. If url is null, BaseURI is set to String.Empty. + + + The TextReader containing the XML data to read. + + + The XmlNameTable to use. + + + The nt value is null. + + + + + Initializes a new instance of the XmlTextReader class with the + specified string, XmlNodeType, and XmlParserContext. + + + The string containing the XML fragment to parse. + + + The XmlNodeType of the XML fragment. This also determines what + the fragment string can contain. (See table below.) + + + The XmlParserContext in which the xmlFragment is to be parsed. + This includes the XmlNameTable to use, encoding, namespace scope, + the current xml:lang, and the xml:space scope. + + + fragType is not an Element, Attribute, or DocumentXmlNodeType. + + + xmlFragment is null. + + + + + Changes the XmlReader.ReadState to Closed. + + + + + Gets the value of the attribute with the specified index. + + + The index of the attribute. The index is zero-based. (The first attribute + has index 0.) + + + The value of the specified attribute. + + + The i parameter is less than 0 or greater than or equal to XmlTextReader.AttributeCount. + + + + + Gets the value of the attribute with the specified name. + + + The qualified name of the attribute. + + + The value of the specified attribute. If the attribute is not found, null + is returned. + + + + + Gets the value of the attribute with the specified local name and namespace + URI. + + + The local name of the attribute. + + + The namespace URI of the attribute. + + + The value of the specified attribute. If the attribute is not found, null + is returned. This method does not move the reader. + + + + + Gets a collection that contains all namespaces currently in-scope. + + + An XmlNamespaceScope value that specifies the type of namespace + nodes to return. + + + An System.Collections.IDictionary object that contains all the current in-scope + namespaces. If the reader is not positioned on an element, an empty dictionary + (no namespaces) is returned. + + + + + Gets the remainder of the buffered XML. + + + A System.CrestronIO.TextReader containing the remainder of the buffered XML. + + + + + Gets a value indicating whether the class can return line information. + + + true if the class can return line information; otherwise, false. + + + + + Resolves a namespace prefix in the current element's scope. + + + The prefix whose namespace URI you want to resolve. To match the default + namespace, pass an empty string. This string does not have to be atomized. + + + The namespace URI to which the prefix maps or null if no matching prefix + is found. + + + The XmlTextReader.Namespaces property is set to true and the prefix + value is null. + + + + + Gets the prefix that is mapped to the specified namespace URI. + + The namespace URI whose prefix you wish to find. + The prefix that is mapped to the namespace URI; null if the namespace URI + is not mapped to a prefix. + + + + Moves to the attribute with the specified index. + + + The index of the attribute. + + + The i parameter is less than 0 or greater than or equal to XmlReader.AttributeCount. + + + + + Moves to the attribute with the specified name. + + + The qualified name of the attribute. + + + true if the attribute is found; otherwise, false. If false, the reader's + position does not change. + + + + + Moves to the attribute with the specified local name and namespace URI. + + + The local name of the attribute. + + + The namespace URI of the attribute. + + + true if the attribute is found; otherwise, false. If false, the reader's + position does not change. + + + + + Moves to the element that contains the current attribute node. + + + true if the reader is positioned on an attribute (the reader moves to the + element that owns the attribute); false if the reader is not positioned on + an attribute (the position of the reader does not change). + + + + + Moves to the first attribute. + + + true if an attribute exists (the reader moves to the first attribute); otherwise, + false (the position of the reader does not change). + + + + + Moves to the next attribute. + + + true if there is a next attribute; false if there are no more attributes. + + + + + Reads the next node from the stream. + + + true if the next node was read successfully; false if there are no more nodes + to read. + + + An error occurred while parsing the XML. + + + + + Parses the attribute value into one or more Text, EntityReference, or EndEntity + nodes. + + + true if there are nodes to return.false if the reader is not positioned on + an attribute node when the initial call is made or if all the attribute values + have been read.An empty attribute, such as, misc="", returns true with a + single node with a value of String.Empty. + + + + + Decodes Base64 and returns the decoded binary bytes. + + + The array of characters that serves as the buffer to which the text contents + are written. + + + The zero-based index into the array specifying where the method can begin + to write to the buffer. + + + The number of bytes to write into the buffer. + + + The number of bytes written to the buffer. + + + The Base64 sequence is not valid. + + + The value of array is null. + + + array.Length- offset.]]> + + + + + Decodes BinHex and returns the decoded binary bytes. + + + The byte array that serves as the buffer to which the decoded binary bytes + are written. + + + The zero-based index into the array specifying where the method can begin + to write to the buffer. + + + The number of bytes to write into the buffer. + + + The number of bytes written to your buffer. + + + The BinHex sequence is not valid. + + + The value of array is null. + + + array.Length- offset]]>. + + + + + Reads the text contents of an element into a character buffer. This method + is designed to read large streams of embedded text by calling it successively. + + + The array of characters that serves as the buffer to which the text contents + are written. + + + The position within buffer where the method can begin writing text contents. + + + The number of characters to write into buffer. + + + The number of characters read. This can be 0 if the reader is not positioned + on an element or if there is no more text content to return in the current + context. + + + count is greater than the space specified in the buffer (buffer size - index). + + + The buffer value is null. + + + + + + + + Reads the content and returns the Base64 decoded binary bytes. + + + The buffer into which to copy the resulting text. This value cannot be null. + + + The offset into the buffer where to start copying the result. + + + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + + + The number of bytes written to the buffer. + + + The buffer value is null. + + + XmlTextReader.ReadContentAsBase64(System.Byte[],System.Int32,System.Int32) + is not supported in the current node. + + + The index into the buffer or index + count is larger than the allocated buffer + size. + + + + + Reads the content and returns the BinHex decoded binary bytes. + + + The buffer into which to copy the resulting text. This value cannot be null. + + + The offset into the buffer where to start copying the result. + + + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + + + The number of bytes written to the buffer. + + + The buffer value is null. + + + XmlTextReader.ReadContentAsBinHex(System.Byte[],System.Int32,System.Int32) + is not supported on the current node. + + + The index into the buffer or index + count is larger than the allocated buffer + size. + + + The XmlTextReader implementation does not support this method. + + + + + Reads the element and decodes the Base64 content. + + + The buffer into which to copy the resulting text. This value cannot be null. + + + The offset into the buffer where to start copying the result. + + + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + + + The number of bytes written to the buffer. + + + The buffer value is null. + + + The current node is not an element node. + + + The index into the buffer or index + count is larger than the allocated buffer + size. + + + The XmlTextReader implementation does not support this method. + + + The element contains mixed-content. + + + The content cannot be converted to the requested type. + + + + + Reads the element and decodes the BinHex content. + + + The buffer into which to copy the resulting text. This value cannot be null. + + + The offset into the buffer where to start copying the result. + + + The maximum number of bytes to copy into the buffer. The actual number of + bytes copied is returned from this method. + + + The number of bytes written to the buffer. + + + The buffer value is null. + + + The current node is not an element node. + + + The index into the buffer or index + count is larger than the allocated buffer + size. + + + The XmlReader implementation does not support this method. + + + The element contains mixed-content. + + + The content cannot be converted to the requested type. + + + + + Reads the contents of an element or a text node as a string. + + + The contents of the element or text node. This can be an empty string if + the reader is positioned on something other than an element or text node, + or if there is no more text content to return in the current context.Note: + The text node can be either an element or an attribute text node. + + + An error occurred while parsing the XML. + + + An invalid operation was attempted. + + + + + Resets the state of the reader to ReadState.Initial. + + + Calling ResetState if the reader was constructed using an XmlParserContext. + + + Documents in a single stream do not share the same encoding. + + + + + Resolves the entity reference for EntityReference nodes. + + + + + Skips the children of the current node. + + + + + Gets the number of attributes on the current node. + + + The number of attributes on the current node. + + + + + Gets the base URI of the current node. + + + The base URI of the current node. + + + + + Gets a value indicating whether the XmlTextReader implements the + binary content read methods. + + + true if the binary content read methods are implemented; otherwise false. + The XmlTextReader class always returns true. + + + + + Gets a value indicating whether the XmlTextReader implements the + XmlReader.ReadValueChunk(System.Char[],System.Int32,System.Int32) + method. + + + true if the XmlTextReader implements the XmlReader.ReadValueChunk(System.Char[],System.Int32,System.Int32) + method; otherwise false. The XmlTextReader class always returns + false. + + + + + Gets a value indicating whether this reader can parse and resolve entities. + + + true if the reader can parse and resolve entities; otherwise, false. The + XmlTextReader class always returns true. + + + + + Gets the depth of the current node in the XML document. + + + The depth of the current node in the XML document. + + + + + Gets the encoding of the document. + + + The encoding value. If no encoding attribute exists, and there is no byte-order + mark, this defaults to UTF-8. + + + + + Gets or sets a value that specifies how the reader handles entities. + + + One of the EntityHandling values. If no EntityHandling is specified, + it defaults to EntityHandling.ExpandCharEntities. + + + + + Gets a value indicating whether the reader is positioned at the end of the + stream. + + + true if the reader is positioned at the end of the stream; otherwise, false. + + + + + Gets a value indicating whether the current node can have a XmlTextReader.Value + other than String.Empty. + + + true if the node on which the reader is currently positioned can have a Value; + otherwise, false. + + + + + Gets a value indicating whether the current node is an attribute that was + generated from the default value defined in the DTD or schema. + + + This property always returns false. (XmlTextReader does not expand + default attributes.) + + + + + Gets a value indicating whether the current node is an empty element (for + example, ). + + + true if the current node is an element (XmlTextReader.NodeType + equals XmlNodeType.Element) that ends with />; otherwise, false. + + + + + Gets the current line number. + + + The current line number. + + + + + Gets the current line position. + + + The current line position. + + + + + Gets the local name of the current node. + + + The name of the current node with the prefix removed. + + + + + Gets the qualified name of the current node. + + + The qualified name of the current node. The name returned is dependent on the XmlTextReader.NodeType + of the node. The following node types return the listed values. All other + node types return an empty string.Node Type Name AttributeThe name of the + attribute. DocumentTypeThe document type name. ElementThe tag name. EntityReferenceThe + name of the entity referenced. ProcessingInstructionThe target of the processing + instruction. XmlDeclarationThe literal string xml. + + + + + Gets or sets a value indicating whether to do namespace support. + + + true to do namespace support; otherwise, false. The default is true. + + + Setting this property after a read operation has occurred (XmlTextReader.ReadState + is not ReadState.Initial). + + + + + Gets the namespace URI (as defined in the W3C Namespace specification) of + the node on which the reader is positioned. + + + The namespace URI of the current node; otherwise an empty string. + + + + + Gets the XmlNameTable associated with this implementation. + + + The XmlNameTable enabling you to get the atomized version of a string within + the node. + + + + + Gets the type of the current node. + + + One of the XmlNodeType values representing the type of the current + node. + + + + + Gets or sets a value indicating whether to normalize white space and attribute + values. + + + true to normalize; otherwise, false. The default is false. + + + Setting this property when the reader is closed (XmlTextReader.ReadState + is ReadState.Closed). + + + + + Gets the namespace prefix associated with the current node. + + + The namespace prefix associated with the current node. + + + + + Gets the quotation mark character used to enclose the value of an attribute + node. + + + The quotation mark character (" or ') used to enclose the value of an attribute + node. + + + + + Gets the state of the reader. + + + One of the ReadState values. + + + + + Gets the XmlReaderSettings object used to create this XmlTextReader + instance. + + + The XmlReaderSettings object used to create this XmlTextReader + instance; null if the reader was not created using the Overload:XmlReader.Create + method. + + + + + Gets the text value of the current node. + + + The value returned depends on the XmlTextReader.NodeType of the + node. The following table lists node types that have a value to return. All + other node types return String.Empty.Node Type Value AttributeThe value of + the attribute. CDATA The content of the CDATA section. Comment The content + of the comment. DocumentType The internal subset. ProcessingInstruction The + entire content, excluding the target. SignificantWhitespace The white space + within an xml:space= 'preserve' scope. Text The content of the text node. + Whitespace The white space between markup. XmlDeclarationThe content of the + declaration. + + + + + Gets or sets a value that specifies how white space is handled. + + + One of the WhitespaceHandling values. The default is WhitespaceHandling.All + (returns Whitespace and SignificantWhitespace nodes). + + + Invalid value specified. + + + Setting this property when the reader is closed (XmlTextReader.ReadState + is ReadState.Closed). + + + + + Gets the current xml:lang scope. + + + The current xml:lang scope. + + + + + Sets the XmlResolver used for resolving DTD references. + + + The XmlResolver to use. If set to null, external resources are not resolved.In + version 1.1 of the .NET Framework, the caller must be fully trusted in order + to specify an XmlResolver. + + + + + Gets the current xml:space scope. + + + One of the XmlSpace values. If no xml:space scope exists, this + property defaults to XmlSpace.None. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of + generating streams or files containing XML data that conforms to the W3C + Extensible Markup Language (XML) 1.0 and the Namespaces in XML recommendations. + + + + + Creates an instance of the XmlTextWriter class using the specified System.CrestronIO.TextWriter. + + + The TextWriter to write to. It is assumed that the TextWriter is already + set to the correct encoding. + + + + + Creates an instance of the XmlTextWriter class using the specified stream + and encoding. + + + The stream to which you want to write. + + + The encoding to generate. If encoding is null it writes out the stream as + UTF-8 and omits the encoding attribute from the ProcessingInstruction. + + + The encoding is not supported or the stream cannot be written to. + + + w is null. + + + + + Creates an instance of the XmlTextWriter class using the specified + file. + + + The filename to write to. If the file exists, it truncates it and overwrites + it with the new content. + + + The encoding to generate. If encoding is null it writes the file out as UTF-8, + and omits the encoding attribute from the ProcessingInstruction. + + + The encoding is not supported; the filename is empty, contains only white + space, or contains one or more invalid characters. + + + Access is denied. + + + The filename is null. + + + The directory to write to is not found. + + + The filename includes an incorrect or invalid syntax for file name, directory + name, or volume label syntax. + + + The caller does not have the required permission. + + + + + Closes this stream and the underlying stream. + + + A call is made to write more output after Close has been called or the result + of this call is an invalid XML document. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes + the underlying stream. + + + + + Returns the closest prefix defined in the current namespace scope for the + namespace URI. + + + Namespace URI whose prefix you want to find. + + + The matching prefix. Or null if no matching namespace URI is found in the + current scope. + + + ns is either null or String.Empty. + + + + + Encodes the specified binary bytes as base64 and writes out the resulting + text. + + + Byte array to encode. + + + The position within the buffer indicating the start of the bytes to write. + + + The number of bytes to write. + + + buffer is null. + + + The buffer length minus index is less than count. + + + index or count is less than zero. + + + The XmlTextWriter.WriteState is Closed. + + + + + Encodes the specified binary bytes as binhex and writes out the resulting + text. + + + Byte array to encode. + + + The position in the buffer indicating the start of the bytes to write. + + + The number of bytes to write. + + + buffer is null. + + + The buffer length minus index is less than count. + + + index or count is less than zero. + + + The XmlTextWriter.WriteState is Closed. + + + + + Writes out a block containing the specified text. + + + Text to place inside the CDATA block. + + + The text would result in a non-well formed XML document. + + + The XmlTextWriter.WriteState is Closed. + + + + + Forces the generation of a character entity for the specified Unicode character + value. + + + Unicode character for which to generate a character entity. + + + The character is in the surrogate pair character range, 0xd800 - 0xdfff; + or the text would result in a non-well formed XML document. + + + The XmlTextWriter.WriteState is Closed. + + + + + Writes text one buffer at a time. + + + Character array containing the text to write. + + + The position in the buffer indicating the start of the text to write. + + + The number of characters to write. + + + buffer is null. + + + index or count is less than zero. -or-The buffer length minus index is less + than count; the call results in surrogate pair characters being split or + an invalid surrogate pair being written. + + + The XmlTextWriter.WriteState is Closed. + + + + + Writes out a comment ]]> containing the specified text. + + + Text to place inside the comment. + + + The text would result in a non-well formed XML document + + + The XmlTextWriter.WriteState is Closed. + + + + + Writes the DOCTYPE declaration with the specified name and optional attributes. + + + The name of the DOCTYPE. This must be non-empty. + + + If non-null it also writes PUBLIC "pubid" "sysid" where pubid and sysid are + replaced with the value of the given arguments. + + + If pubid is null and sysid is non-null it writes SYSTEM "sysid" where sysid + is replaced with the value of this argument. + + + If non-null it writes [subset] where subset is replaced with the value of + this argument. + + + This method was called outside the prolog (after the root element). + + + name is null or String.Empty-or- the value for name would result in invalid + XML. + + + + + Closes the previous XmlTextWriter.WriteStartAttribute(System.String,System.String,System.String) + call. + + + + + Closes any open elements or attributes and puts the writer back in the Start + state. + + + The XML document is invalid. + + + + + Closes one element and pops the corresponding namespace scope. + + + + + Writes out an entity reference as name. + + + Name of the entity reference. + + + The text would result in a non-well formed XML document or name is either + null or String.Empty. + + + + + Closes one element and pops the corresponding namespace scope. + + + + + Writes out the specified name, ensuring it is a valid name according to the + W3C XML 1.0 recommendation (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name). + + + Name to write. + + + name is not a valid XML name; or name is either null or String.Empty. + + + + + Writes out the specified name, ensuring it is a valid NmToken according to + the W3C XML 1.0 recommendation (http://www.w3.org/TR/1998/REC-xml-19980210#NT-Name). + + + Name to write. + + + name is not a valid NmToken; or name is either null or String.Empty. + + + + + Writes out a processing instruction with a space between the name and text + as follows: . + + + Name of the processing instruction. + + + Text to include in the processing instruction. + + + The text would result in a non-well formed XML document.name is either null + or String.Empty.This method is being used to create an XML declaration after + XmlTextWriter.WriteStartDocument() has already been called. + + + + + Writes out the namespace-qualified name. This method looks up the prefix + that is in scope for the given namespace. + + + The local name to write. + + + The namespace URI to associate with the name. + + + localName is either null or String.Empty.localName is not a valid name according + to the W3C Namespaces spec. + + + + + Writes raw markup manually from a string. + + + String containing the text to write. + + + + + Writes raw markup manually from a character buffer. + + + Character array containing the text to write. + + + The position within the buffer indicating the start of the text to write. + + + The number of characters to write. + + + buffer is null. + + + index or count is less than zero.-or-The buffer length minus index is less + than count. + + + + + Writes the start of an attribute. + + + Namespace prefix of the attribute. + + + LocalName of the attribute. + + + NamespaceURI of the attribute + + + localName is either null or String.Empty. + + + + + Writes the XML declaration with the version "1.0". + + + This is not the first write method called after the constructor. + + + + + Writes the XML declaration with the version "1.0" and the standalone attribute. + + + If true, it writes "standalone=yes"; if false, it writes "standalone=no". + + + This is not the first write method called after the constructor. + + + + + Writes the specified start tag and associates it with the given namespace + and prefix. + + + The namespace prefix of the element. + + + The local name of the element. + + + The namespace URI to associate with the element. If this namespace is already + in scope and has an associated prefix then the writer automatically writes + that prefix also. + + + The writer is closed. + + + + + Writes the given text content. + + + Text to write. + + + The text string contains an invalid surrogate pair. + + + + + Generates and writes the surrogate character entity for the surrogate character + pair. + + + The low surrogate. This must be a value between 0xDC00 and 0xDFFF. + + + The high surrogate. This must be a value between 0xD800 and 0xDBFF. + + + An invalid surrogate character pair was passed. + + + + + Writes out the given white space. + + + The string of white space characters. + + + The string contains non-white space characters. + + + + + Gets the underlying stream object. + + + The stream to which the XmlTextWriter is writing or null if the XmlTextWriter + was constructed using a System.CrestronIO.TextWriter that does not inherit from the + System.CrestronIO.StreamWriter class. + + + + + Indicates how the output is formatted. + + + One of the Formatting values. The default is Formatting.None (no + special formatting). + + + + + Gets or sets how many IndentChars to write for each level in the hierarchy + when XmlTextWriter.Formatting is set to Formatting.Indented. + + + Number of IndentChars for each level. The default is 2. + + + Setting this property to a negative value. + + + + + Gets or sets which character to use for indenting when XmlTextWriter.Formatting + is set to Formatting.Indented. + + + The character to use for indenting. The default is space.The XmlTextWriter + allows you to set this property to any character. To ensure valid XML, you + must specify a valid white space character, 0x9, 0x10, 0x13 or 0x20. + + + + + Gets or sets a value indicating whether to do namespace support. + + + true to support namespaces; otherwise, false.The default is true. + + + You can only change this property when in the WriteState.Start state. + + + + + Gets or sets which character to use to quote attribute values. + + + The character to use to quote attribute values. This must be a single quote + (') or a double quote ("). The default is a double quote. + + + Setting this property to something other than either a single or double quote. + + + + + Gets the state of the writer. + + + One of the WriteState values. + + + + + Gets the current xml:lang scope. + + + The current xml:lang or null if there is no xml:lang in the current scope. + + + + + Gets an XmlSpace representing the current xml:space scope. + + + An XmlSpace representing the current xml:space scope.Value Meaning None This + is the default if no xml:space scope exists. Default The current scope is + xml:space="default". Preserve The current scope is xml:space="preserve". + + + + + Resolves, adds, and removes namespaces to a collection + and provides scope management for these namespaces + + + + + The underlying System.Xml.XmlNamespaceManager + + + + + The XmlNameTable used to create this XmlNamespaceManager + + + + + Initializes an XmlNamespaceManager from another namespace manager, for internal use + + The XmlNamespaceManager to create a new namespace manager from + + + + Initializes a new instance of the XmlNamespaceManager class with the specified XmlNameTable + + The XmlNameTable to use + table is null + + + + Adds the given namespace to the collection + + The prefix to associate with the namespace being added. Use String.Empty to add a default namespace. + The namespace to add + The value for prefix is "xml" or "xmlns" + The uri is null + + + + Returns an enumerator to use to iterate through the namespaces in the XmlNamespaceManager. + + An IEnumerator containing the prefixes stored by the XmlNamespaceManager + + + + Gets a collection of namespace names keyed by prefix which can be used to enumerate the namespaces currently in scope. + + Specifies the type of namespace nodes to return + An IDictionary object containing a collection of namespace and prefix pairs currently in scope + + + + Gets a value indicating whether the supplied prefix has a namespace defined for the current pushed scope + + The prefix of the namespace to find + Returns true if there is a namespace defined + + + + Gets the namespace URI for the specified prefix. + + The prefix whose namespace URI you want to resolve. Pass String.Empty to match the default namespace + Returns an atomized string containing the namespace URI for prefix, or null if there is no mapped namespace + + + + Finds the prefix declared for the given namespace URI. + + The namespace to resolve for the prefix + The matching prefix. If there is no mapped prefix, the method returns String.Empty. If a null value is supplied, then null is returned + + + + Pops a namespace scope off the stack. + + true if there are namespace scopes left on the stack, false if not + + + + Pushes a namespace scope onto the stack. + + + + + Removes the given namespace for the given prefix + + The prefix for the namespace + The namespace to remove for the given prefix + The value of prefix or uri is null + + + + Checks for referential equality between two XmlNamespaceManagers + + The left value + The right value + true if the XmlNamespaceManagers are the same reference; false otherwise + + + + Checks for referential inequality between two XmlNamespaceManagers + + The left value + The right value + true if the XmlNamespaceManagers are different references; false otherwise + + + + Gets the hash code for this XmlNamespaceManager + + The hash code + + + + Determines if the specified object is equal to the current XmlNamespaceManager + + The object to compare + true if the object is equal to the current XmlNamespaceManager; false otherwise + + + + Gets the namespace URI for the default namespace. + + + + + Gets the XmlNameTable associated with this object. + + + + + Table of atomized string objects + + + + + The underlying System.Xml.XmlNameTable + + + + + Instantiates the XmlNameTable class + + + + + When overridden in a derived class, atomizes the specified string and adds it to the XmlNameTable + + The name to add + The new atomized string or the existing one if it already exists + array is null + + + + When overridden in a derived class, atomizes the specified string and adds it to the XmlNameTable + + The char array containing the name to add + zero based index into the array specifying the first character of the name + The number of characters in the name + length is less than zero + offset is invalid or length is greater than array length + The new atomized string or the existing one if it already exists. If length is zero, String.Empty is returned + + + + When overridden in a derived class, gets the atomized string containing the same value as the specified string + + The name to look up + array is null + The atomized string or null if the string has not already been atomized + + + + When overridden in a derived class, gets the atomized string containing the same characters as the specified range of characters in the given array + + The character array containing the name to look up + Zero based index into the array specifying the first character of the name + The number of characters in the name + length is less than zero + offset is invalid or length is greater than array length + The atomized string or null if the string has not already been atomized. If length is zero, String.Empty is returned + + + + Checks for referential equality between two XmlNameTables + + The left value + The right value + true if the XmlNameTables are the same reference; false otherwise + + + + Checks for referential inequality between two XmlNameTables + + The left value + The right value + true if the XmlNameTables are different references; false otherwise + + + + Gets the hash code for this XmlNameTable + + The hash code + + + + Determines if the specified object is equal to the current XmlNameTable + + The object to compare + true if the object is equal to the current XmlNameTable; false otherwise + + + + Instantiates a XmlNameTable, for internal use + + The XmlNameTable to use + + + + When overridden in a derived class, atomizes the specified string and adds it to the XmlNameTable + + The name to add + The new atomized string or the existing one if it already exists + array is null + + + + When overridden in a derived class, atomizes the specified string and adds it to the XmlNameTable + + The char array containing the name to add + zero based index into the array specifying the first character of the name + The number of characters in the name + length is less than zero + offset is invalid or length is greater than array length + The new atomized string or the existing one if it already exists. If length is zero, String.Empty is returned + + + + When overridden in a derived class, gets the atomized string containing the same value as the specified string + + The name to look up + array is null + The atomized string or null if the string has not already been atomized + + + + When overridden in a derived class, gets the atomized string containing the same characters as the specified range of characters in the given array + + The character array containing the name to look up + Zero based index into the array specifying the first character of the name + The number of characters in the name + length is less than zero + offset is invalid or length is greater than array length + The atomized string or null if the string has not already been atomized. If length is zero, String.Empty is returned + + + + abstract class implementation for user. + + + + + Instantiates a NameTable class, for internal use + + The NameTable to use + + + + Instantiates a NameTable class + + + + + Atomizes the specified string and adds it to the XmlNameTable + + The name to add + The new atomized string or the existing one if it already exists + array is null + + + + Atomizes the specified string and adds it to the XmlNameTable + + The char array containing the name to add + zero based index into the array specifying the first character of the name + The number of characters in the name + length is less than zero + offset is invalid or length is greater than array length + The new atomized string or the existing one if it already exists. If length is zero, String.Empty is returned + + + + Gets the atomized string containing the same value as the specified string + + The name to look up + array is null + The atomized string or null if the string has not already been atomized + + + + Gets the atomized string containing the same characters as the specified range of characters in the given array + + The character array containing the name to look up + Zero based index into the array specifying the first character of the name + The number of characters in the name + length is less than zero + offset is invalid or length is greater than array length + The atomized string or null if the string has not already been atomized. If length is zero, String.Empty is returned + + + + Provides all the context information required by the XmlReader to parse an XML Fragment + + + + + Initializes a new instance of the XmlParserContext class with the specified XmlNameTable, + XmlNamespaceManager, base URI, xml lang, xml space, encoding, and document type values. + + The XmlNameTable to use to atomize strings, if null the name table used to construct + mg is used instead + The XmlNamespaceManager to use for looking up namespace information, this value can be null + The name of the document type declaration + The public identifier + The system identifier + The internal DTD subset, used for entity resolution + The location from which the fragment was loaded + The xml lang scope + An XmlSpace value + An Encoding object indicating the encoding setting. + nt is not the same XmlNameTable used to construct mg + + + + Initializes a new instance of the XmlParserContext class with the specified XmlNameTable, XmlNamespaceManager, + xml lang, and XmlSpace values. + + The XmlNameTable to use to atomize strings, if null the name table used to construct + mg is used instead + The XmlNamespaceManager to use for looking up namespace information, this value can be null + The Xml lang scope + An XmlSpace value + nt is not the same XmlNameTable used to construct mg + + + + Initializes a new instance of the XmlParserContext class with the specified XmlNameTable, XmlNamespaceManager, + xml lang, XmlSpace, and encoding. + + The XmlNameTable to use to atomize strings, if null the name table used to construct + mg is used instead + The XmlNamespaceManager to use for looking up namespace information, this value can be null + The Xml lang scope + An XmlSpace value + An Encoding object indicating the encoding setting. + nt is not the same XmlNameTable used to construct mg + + + + Initializes a new instance of the XmlParserContext class with the specified XmlNameTable, + XmlNamespaceManager, base URI, xml lang, xml space, encoding, and document type values. + + The XmlNameTable to use to atomize strings, if null the name table used to construct + mg is used instead + The XmlNamespaceManager to use for looking up namespace information, this value can be null + The name of the document type declaration + The public identifier + The system identifier + The internal DTD subset, used for entity resolution + The location from which the fragment was loaded + the xml lang scope + An XmlSpace value + nt is not the same XmlNameTable used to construct mg + + + + Checks for referential equality between two XmlParserContext + + The left value + The right value + true if the XmlParserContexts are the same reference; false otherwise + + + + Checks for referential inequality between two XmlParserContexts + + The left value + The right value + true if the XmlParserContexts are different references; false otherwise + + + + Gets the hash code for this XmlParserContext + + The hash code + + + + Determines if the specified object is equal to the current XmlParserContext + + The object to compare + true if the object is equal to the current XmlParserContext; false otherwise + + + + Gets or sets the base URI + + + + + Gets or sets the document type declaration + + + + + Gets or sets the Encoding type + + + + + Gets or sets the internal DTD subset + + + + + Gets or sets the XmlNamespaceManager + + + + + Gets or sets the XmlNameTable + + + + + Gets or sets the public identifier + + + + + Gets or sets the system identifier + + + + + Gets or sets the current xml lang scope + + + + + Gets or sets the current XmlSpace scope + + + + + Represents a single node in the XML document. + + + + + The underlying System.Xml.XmlNode + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlNode + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlNode using the specified System.Xml.XmlNode + + The System XmlNode to use + + + + Adds the specified node to the end of the list of child nodes, of this node. + + The node to add. + All the contents of the node to be added are moved into the specified location. + The node added. + This node is of a type that does not allow child nodes of the type of the newChild node. + and the newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node. + Or this node is read-only. + + + + Creates a duplicate of this node. + + The cloned node. + + + + When overridden in a derived class, creates a duplicate of the node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned node. + The node type cannot be cloned. + + + + Provides support for the for each style iteration over the nodes in the XmlNode. + + An System.Collections.IEnumerator + + + + Looks up the closest xmlns declaration for the given prefix that is in scope for the current node + and returns the namespace URI in the declaration. + + Prefix whose namespace URI you want to find. + The namespace URI of the specified prefix. + + + + Looks up the closest xmlns declaration for the given namespace URI that is in scope for the current node + and returns the prefix defined in that declaration. + + Namespace URI whose prefix you want to find. + The prefix for the specified namespace URI. + + + + Inserts the specified node immediately after the specified reference node. + + The XmlNode to insert. + The XmlNode that is the reference node. The newNode is placed after the refNode. + The node being inserted. + This node is of a type that does not allow child nodes of the type of the newChild node. + Or the newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node, + or the refChild is not a child of this node, + or this node is read-only. + + + + Inserts the specified node immediately before the specified reference node. + + The XmlNode to insert. + The XmlNode that is the reference node. The newChild is placed before this node. + The node being inserted. + This node is of a type that does not allow child nodes of the type of the newChild node. + Or the newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node, + or the refChild is not a child of this node, + or this node is read-only. + + + + Puts all XmlText nodes in the full depth of the sub-tree underneath this XmlNode into a "normal" + form where only markup (that is, tags, comments, processing instructions, CDATA sections, and entity references) + separates XmlText nodes, that is, there are no adjacent XmlText nodes. + + This method can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, + and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used. + + + + Adds the specified node to the beginning of the list of child nodes for this node. + + The node to add. All the contents of the node to be added are moved into the specified location. + The node added. + This node is of a type that does not allow child nodes of the type of the newChild node + or the newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node or + the node is read-only + + + + Removes all the child nodes and/or attributes of the current node. + + If a removed attribute is known to have a default value, + an attribute immediately appears containing the default value and, + if applicable, the corresponding namespace URI, local name, and prefix. + + + + Removes specified child node. + + The node being removed. + The node removed. + The oldChild is not a child of this node. Or this node is read-only. + + + + Replaces the child node oldChild with newChild node. + + The new node to put in the child list. + The node being replaced in the list. + The node replaced. + This node is of a type that does not allow child nodes of the type of the newChild node + or the newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node or + the node is read-only or oldChild is not a child of this node. + If the newChild is already in the tree, it is first removed. + If the newChild was created from another document, you can use XmlDocument.ImportNode to import the node + to the current document. The imported node can then be passed to the ReplaceChild method. + + + + Selects the first XmlNode that matches the XPath expression. + + The XPath expression. + The first XmlNode that matches the XPath query or null if no matching node is found. + The XmlNode should not be expected to be connected "live" to the XML document. + That is, changes that appear in the XML document may not appear in the XmlNode, and vice versa. + The XPath expression contains a prefix. + If the XPath expression requires namespace resolution, + you must use the SelectSingleNode overload which takes an XmlNamespaceManager as its argument. + The XmlNamespaceManager is used to resolve namespaces. + + + + Selects the first XmlNode that matches the XPath expression. + Any prefixes found in the XPath expression are resolved using the supplied XmlNamespaceManager. + + The XPath expression. + An XmlNamespaceManager to use for resolving namespaces for prefixes in the XPath expression. + The first XmlNode that matches the XPath query or null if no matching node is found. + The XmlNode should not be expected to be connected "live" to the XML document. + That is, changes that appear in the XML document may not appear in the XmlNode, and vice versa. + The XPath expression contains a prefix which is not defined in the XmlNamespaceManager. + XPath expressions can include namespaces. Namespace resolution is supported using the XmlNamespaceManager. + If the XPath expression includes a prefix, the prefix and namespace URI pair must be added to the XmlNamespaceManager. + + + + Test if the DOM implementation implements a specific feature. + + The package name of the feature to test. This name is not case-sensitive. + This is the version number of the package name to test. + If the version is not specified (null), supporting any version of the feature causes the method to return true. + true if the feature is implemented in the specified version; otherwise, false. + + + + When overridden in a derived class, saves all the child nodes of the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + + + + When overridden in a derived class, saves the current node to the specified XmlWriter. + + The XmlWriter to which you want to save. + + + + Creates a duplicate of this node. + + The cloned node. + + + + Selects a list of nodes matching the XPath expression + + The XPath expression + An XmlNodeList containing a collection of nodes matching the XPath query + The XPath expression contains a prefix + + + + Selects a list of nodes matching the XPath expression. Any prefixes found in the XPath expression are resolved using the supplied XmlNamespaceManager + + The XPath expression + An XmlNamespaceManager to use for resolving namespaces for prefixes in the XPath expression + An XmlNodeList containing a collection of nodes matching the XPath query + The XPath expression contains a prefix which is not defined in the XmlNamespaceManager + + + + Checks for referential equality between two XmlNodes + + The left value + The right value + true if the XmlNodes are the same reference; false otherwise + + + + Checks for referential inequality between two XmlNodes + + The left value + The right value + true if the XmlNodes are different references; false otherwise + + + + Gets the hash code for this XmlNode + + The hash code + + + + Determines if the specified object is equal to the current XmlNode + + The object to compare + true if the object is equal to the current XmlNode; false otherwise + + + + Gets an XmlAttributeCollection containing the attributes of this node. + + An XmlAttributeCollection containing the attributes of the node. + If the node is of type XmlNodeType.Element, the attributes of the node are returned. Otherwise, this property returns null. + + + + Gets the base URI of the current node. + + + + + Gets the first child of the node. + + + + + Gets a value indicating whether this node has any child nodes. + + + + + Gets or sets the concatenated values of the node and all its child nodes. + + + + + Gets or sets the markup representing only the child nodes of this node. + + + + + Gets a value indicating whether the node is read-only. + + + + + Gets the last child of the node. + + + + + When overridden in a derived class, gets the local name of the node. + + + + + When overridden in a derived class, gets the qualified name of the node. + + + + + Gets the namespace URI of this node. + + This is the namespace URI specified at creation time. + + + + Gets the node immediately following this node. + + + + + When overridden in a derived class, gets the type of the current node. + + + + + Gets the markup representing this node and all its child nodes. + + + + + Gets the XmlDocument to which this node belongs. + + When adding nodes to the current node, + use the XmlDocument returned by the OwnerDocument property to create the node. + + + + Gets the parent of this node (for nodes that can have parents). + + + + + Gets or sets the namespace prefix of this node. + + This node is read-only. + The specified prefix is invalid + + + + Gets the node immediately preceding this node. + + + + + Gets or sets the value of the node. + + Setting the value of a node that is read-only. + Setting the value of a node that is not supposed to have a value + (for example, an Element node). + + + + Gets all the child nodes of the node + + + + + Gets the first child element with the specified Name + + The qualified name of the element to retrieve + The first that matches the specified name + This property returns null if a matching element was not found + + + + Gets the first child element with the specified LocalName and NamespaceURI + + The local name of the element + The namespace URI of the element + The first with the matching localname and ns + This property returns null if a matching element was not found + + + + Defines the context for a set of XmlDocument objects. + + XmlDocument objects that are created from the same implementation share the same XmlNameTable. This enables users to compare attribute and element names between the objects more efficiently. + Although the XmlDocument objects share the same implementation, to move nodes from one document to another, you must use the ImportNode method. + + + + The underlying System.Xml.XmlImplementation + + + + + Initializes a new instance of the class + + + + + Creates a using the specified System.Xml.XmlImplementation + + The System XmlImplementation to use. + + + + Creates a using the specified . + + An XmlNameTable object. + + + + Creates a new XmlDocument. + + The new XmlDocument object. + XmlDocument objects created from the same implementation share the same name table. This enables users to compare attribute and element names between the objects more efficiently. + Although the XmlDocument objects share the same implementation, to move nodes from one document to another, you must use the ImportNode method. + + + + Tests if the Document Object Model (DOM) implementation implements a specific feature. + + The package name of the feature to test. This name is not case-sensitive. + This is the version number of the package name to test. If the version is not specified (null), supporting any version of the feature causes the method to return true. + true if the feature is implemented in the specified version; otherwise, false. + + + + Represents an XML qualified name. + + An XML qualified name is a namespace qualified local name in the format of namespace:localname. + Because prefixes are only required when XML is persisted or read, they are irrelevant for XmlQualifiedName objects. This class assumes that prefixes are irrelevant. It is the responsibility of the user to ensure the local name does not contain a ":". + + + + The underlying System.Xml.XmlQualifiedName + + + + + Default constructor for the + + The object created has no name or namespace defined. + + + + Internal default constructor for the using the . + + The object created has no name or namespace defined. + + + + Creates a using the specified name. + + The local name to use as the name of the XmlQualifiedName object. + The object created does not have a namespace defined. + + + + Creates a using the specified name and namespace. + + The local name to use as the name of the XmlQualifiedName object. + The namespace for the XmlQualifiedName object. + + + + Determines whether the specified XmlQualifiedName object is equal to the current XmlQualifiedName object. + + The XmlQualifiedName to compare. + true if the two are the same instance object; otherwise, false. + : It is probably possible to compare against a null object, also if it is a Crestron XmlQualifiedName this method will never return true, need to reference the inner object + + + + Returns the hash code for the XmlQualifiedName. + + A hash code for this object. + + + + Returns the string value of the XmlQualifiedName. + + The string value of the XmlQualifiedName in the format of namespace:localname. If the object does not have a namespace defined, this method returns just the local name. + + + + Returns the string value of the XmlQualifiedName. + + The name of the object. + The namespace of the object. + The string value of the XmlQualifiedName in the format of namespace:localname. If the object does not have a namespace defined, this method returns just the local name. + + + + Provides an empty XmlQualifiedName. + + + + + Compares two XmlQualifiedName objects. + + An XmlQualifiedName to compare. + An XmlQualifiedName to compare. + true if the two objects have the same name and namespace values; otherwise, false. + + + + Compares two XmlQualifiedName objects. + + An XmlQualifiedName to compare. + An XmlQualifiedName to compare. + true if the name and namespace values for the two objects differ; otherwise, false. + + + + Gets a value indicating whether the XmlQualifiedName is empty. + + true if name and namespace are empty strings; otherwise, false. + + + + Gets a string representation of the qualified name of the XmlQualifiedName. + + A string representation of the qualified name or String.Empty if a name is not defined for the object. + + + + Gets a string representation of the namespace of the XmlQualifiedName. + + A string representation of the namespace or String.Empty if a namespace is not defined for the object. + + + + Represents a lightweight object that is useful for tree insert operations. + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlDocumentFragment + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlDocumentFragment using the specified System.Xml.XmlDocumentFragment + + The System XmlDocumentFragment to use + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned node. + CloneNode serves as a copy constructor for nodes. To see how this method behaves with other node types, see XmlNode.CloneNode. + The cloned node has no parent (ParentNode returns null). + + + + Saves all the children of the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The specified XmlWriter is null. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Saves the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The specified XmlWriter is null. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Gets or sets the markup representing the children of this node. + + The markup of the children of this node. + The XML specified when setting this property is not well-formed. + Setting this property replaces the children of the node with the parsed contents of the given string. The parsing is done in the current namespace context. + This property is a Microsoft extension to the Document Object Model (DOM). + + + + Gets the local name of the node. + + For XmlDocumentFragment nodes, the local name is #document-fragment. + + + + Gets the qualified name of the node. + + For XmlDocumentFragment, the name is #document-fragment. + + + + Gets the type of the current node. + + For XmlDocumentFragment nodes, this value is XmlNodeType.DocumentFragment. + + + + Gets the XmlDocument to which this node belongs. + + The XmlDocument to which this node belongs. + When adding nodes to the current node, use the XmlDocument returned by the OwnerDocument property to create the node. + + + + Gets the parent of this node (for nodes that can have parents). + + The parent of this node. For XmlDocumentFragment nodes, this property is always null. + + + + Represents a collection of nodes that can be accessed by name or index. + + XmlNamedNodeMap is returned by the following three properties. + XmlElement.Attributes - Returns XmlAttributeCollection, a class which inherits from XmlNamedNodeMap. + XmlDocumentType.Entities - Returns an XmlNamedNodeMap containing XmlEntity objects. The XmlNamedNodeMap is read-only. + XmlDocumentType.Notations - Returns an XmlNamedNodeMap containing XmlNotation objects. The XmlNamedNodeMap is read-only. + + + + The underlying System.Xml.XmlNamedNodeMap + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlAttributeCollection + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlNamedNodeMap using the specified System.Xml.XmlNamedNodeMap + + The System XmlNamedNodeMap to use. + + + + Provides support for the "foreach" style iteration over the collection of nodes in the XmlNamedNodeMap. + + An enumerator object. + + + + Retrieves an XmlNode specified by name. + + The qualified name of the node to retrieve. It is matched against the Name property of the matching node. + An XmlNode with the specified name or null if a matching node is not found. + + + + Retrieves a node with the matching LocalName and NamespaceURI. + + The local name of the node to retrieve. + The namespace Uniform Resource Identifier (URI) of the node to retrieve. + An XmlNode with the matching local name and namespace URI or null if a matching node was not found. + + + + Retrieves the node at the specified index in the XmlNamedNodeMap. + + The index position of the node to retrieve from the XmlNamedNodeMap. The index is zero-based; therefore, the index of the first node is 0 and the index of the last node is Count -1. + The XmlNode at the specified index. If index is less than 0 or greater than or equal to the Count property, null is returned. + + + + Removes the node from the XmlNamedNodeMap. + + The qualified name of the node to remove. The name is matched against the Name property of the matching node. + The XmlNode removed from this XmlNamedNodeMap or null if a matching node was not found. + + + + Removes a node with the matching LocalName and NamespaceURI. + + The local name of the node to remove. + The namespace URI of the node to remove. + The XmlNode removed or null if a matching node was not found. + + + + Adds an XmlNode using its Name property. + + An XmlNode to store in the XmlNamedNodeMap. If a node with that name is already present in the map, it is replaced by the new one. + If the node replaces an existing node with the same name, the old node is returned; otherwise, null is returned. + The node was created from a different XmlDocument than the one that created the XmlNamedNodeMap; or the XmlNamedNodeMap is read-only. + + + + Gets the number of nodes in the XmlNamedNodeMap. + + + + + Represents a collection of nodes that can be accessed by name or index. + + XmlAttributeCollection extends the XmlNamedNodeMap class by adding strongly typed helper methods. You can use this class to add, remove, or modify attributes in the collection. XmlAttributeCollection is returned by the XmlElement.Attributes property. + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlAttributeCollection + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlAttributeCollection using the specified System.Xml.XmlAttributeCollection + + The System XmlAttributeCollection to use. + + + + Inserts the specified attribute as the last node in the collection. + + The XmlAttribute to insert. + The XmlAttribute to append to the collection. + node was created from a document different from the one that created this collection. + The XmlAttribute to insert is specified as null. + If an attribute with the same name is already present in the collection, the original attribute is removed from the collection and node is added to the end of the collection. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Copies all the XmlAttribute objects from this collection into the given array. + + The array that is the destination of the objects copied from this collection. + The index in the array where copying begins. + The array is passed as null. + The index value passed is not valid. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Inserts the specified attribute immediately after the specified reference attribute. + + The XmlAttribute to insert. + The XmlAttribute that is the reference attribute. newNode is placed after the refNode. + The XmlAttribute to insert into the collection. + The newNode was created from a document different from the one that created this collection. Or the refNode is not a member of this collection. + The XmlAttribute to insert or the reference attribute is specified as null. + If an attribute with the same name is already present in the collection, the original attribute is removed from the collection and newNode is inserted into the collection. If refNode is null, newNode is inserted at the beginning of the collection. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Inserts the specified attribute immediately before the specified reference attribute. + + The XmlAttribute to insert. + The XmlAttribute that is the reference attribute. newNode is placed before the refNode. + The XmlAttribute to insert into the collection. + The newNode was created from a document different from the one that created this collection. Or the refNode is not a member of this collection. + The XmlAttribute to insert or the reference attribute is specified as null. + If an attribute with the same name is already present in the collection, the original attribute is removed from the collection and newNode is inserted into the collection. If refNode is null, newNode is inserted at the end of the collection. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Inserts the specified attribute as the first node in the collection. + + The XmlAttribute to insert. + The XmlAttribute added to the collection. + The XmlAttribute to insert is specified as null. + If an attribute with the same name is already present in the collection, the original attribute is removed from the collection and node is added to the beginning of the collection. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Removes the specified attribute from the collection. + + The XmlAttribute to remove. + The node removed or null if it is not found in the collection. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Removes all attributes from the collection. + + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Removes the attribute corresponding to the specified index from the collection. + + The index of the node to remove. The first node has index 0. + Returns null if there is no attribute at the specified index. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Adds a XmlNode using its Name property + + An attribute node to store in this collection. The node will later be accessible using the name of the node. If a node with that name is already present in the collection, it is replaced by the new one; otherwise, the node is appended to the end of the collection. + If the node replaces an existing node with the same name, the old node is returned; otherwise, the added node is returned. + node was created from a different XmlDocument than the one that created this collection. + This XmlAttributeCollection is read-only. + node is an XmlAttribute that is already an attribute of another XmlElement object. To re-use attributes in other elements, you must clone the XmlAttribute objects you want to re-use. + The specified XmlNode to be added is null. + + + + Copies all the XmlAttribute objects from this collection into the given array. + + The array that is the destination of the objects copied from this collection. + The index in the array where copying begins. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Gets the attribute with the specified index. + + The index of the attribute. + The index being passed in is out of range. + This property is a Microsoft extension to the Document Object Model (DOM). It is equivalent to calling XmlNamedNodeMap.Item. + + + + Gets the attribute with the specified name. + + The qualified name of the attribute. + The XmlAttribute with the specified name. If the attribute does not exist, this property returns null. + This property is a Microsoft extension to the Document Object Model (DOM). It is equivalent to calling GetNamedItem. + + + + Gets the attribute with the specified local name and namespace Uniform Resource Identifier (URI). + + The local name of the attribute. + The namespace URI of the attribute. + The XmlAttribute with the specified local name and namespace URI. If the attribute does not exist, this property returns null. + This property is a Microsoft extension to the Document Object Model (DOM). It is equivalent to calling GetNamedItem. + + + + Gets the number of nodes in the XmlNamedNodeMap. + + The number of nodes. + + + + Gets a value indicating whether access to the ICollection is synchronized (thread safe). + + Returns true if the collection is synchronized. + This member is an explicit interface member implementation. It can be used only when the XmlAttributeCollection instance is cast to an ICollection interface. + SyncRoot returns an object, which can be used to synchronize access to the ICollection. + Most collection classes in the System.Collections namespace also implement a Synchronized method, which provides a synchronized wrapper around the underlying collection. + Enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads. + + + + Gets an object that can be used to synchronize access to the ICollection. + + Returns the Object that is the root of the collection. + This member is an explicit interface member implementation. It can be used only when the XmlAttributeCollection instance is cast to an ICollection interface. + For collections whose underlying store is not publicly available, the expected implementation is to return the current instance. Note that the pointer to the current instance might not be sufficient for collections that wrap other collections; those should return the underlying collection's SyncRoot property. + Most collection classes in the System.Collections namespace also implement a Synchronized method, which provides a synchronized wrapper around the underlying collection. However, derived classes can provide their own synchronized version of the collection using the SyncRoot property. The synchronizing code must perform operations on the SyncRoot property of the collection, not directly on the collection. This ensures proper operation of collections that are derived from other objects. Specifically, it maintains proper synchronization with other threads that might be simultaneously modifying the collection instance. + + + + Gets the node immediately preceding or following this node. + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlLinkedNode + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlLinkedNode using the specified System.Xml.XmlLinkedNode + + The System XmlLinkedNode to use. + + + + Gets the node immediately following this node. + + + + + Gets the node immediately preceding this node. + + + + + Represents an entity reference node. + + Do not instantiate an XmlEntityReference directly; instead, use methods such as CreateEntityReference. + + + + Creates a using . + + The System XmlEntityReference to use. + + + + Creates a using a specified name and an . + + The name of the entity reference; see the Name property. + The parent XML document. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. Because XmlDeclaration nodes do not have children, the cloned node always includes the data value, regardless of the parameter setting. + The cloned node. + The node type cannot be cloned. + CloneNode serves as a copy constructor for nodes. To see how this method behaves with other node types, see XmlNode.CloneNode. + The cloned node has no parent (ParentNode returns null). + + + + Saves the children of the node to the specified XmlWriter. Because XmlDeclaration nodes do not have children, this method has no effect. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + + + + Saves the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + The value of the encoding and standalone attributes are determined by the Encoding and Standalone properties. If either of the properties is not set, the corresponding attribute is not written. The version attribute is always written out with a value of 1.0. + + + + Gets the base Uniform Resource Identifier (URI) of the current node. + + The location from which the node was loaded. + A networked XML document is comprised of chunks of data aggregated using various World Wide Web Consortium (W3C) standard inclusion mechanisms and therefore contains nodes that come from different places. The BaseURI tells you where these nodes came from. If there is no base URI for the nodes being returned (maybe they were parsed from an in-memory string), Empty is returned. + BaseURI walks the node tree looking for entity reference boundaries, so if entities are expanded, this information is not preserved and this property returns the location of the XmlDocument in all cases. + For additional information on BaseURI and how it behaves with other node types, see XmlNode.BaseURI. + This property is a Microsoft extension to the Document Object Model (DOM). + + + + Gets a value indicating whether the node is read-only. + + true if the node is read-only; otherwise false. + Because XmlEntityReference nodes are read-only, this property always returns true. + A read-only node is one whose properties, attributes, or children cannot be changed. However, you can remove a read-only node from the tree and insert it somewhere else. + This property is a Microsoft extension to the Document Object Model (DOM). + + + + Gets the local name of the node. + + For XmlEntityReference nodes, this property returns the name of the entity referenced. + + + + Gets the name of the node. + + The name of the entity referenced. + + + + Gets the type of the node. + + The node type. For XmlEntityReference nodes, the value is XmlNodeType.EntityReference. + + + + Gets or sets the value of the node. + + The value of the node. For XmlEntityReference nodes, this property returns null. + Node is read-only. + Setting the property. + + + + Represents the XML declaration node <?xml version='1.0'...?>. + + This class is a Microsoft extension to the Document Object Model (DOM). + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlDeclaration + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlDeclaration using the specified System.Xml.XmlDeclaration + + The System XmlDeclaration to use + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlDeclaration. + + The XML version; see the Version property. + The encoding scheme; see the Encoding property. + Indicates whether the XML document depends on an external DTD; see the Standalone property. + The parent XML document. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. Because XmlDeclaration nodes do not have children, the cloned node always includes the data value, regardless of the parameter setting. + The cloned node. + The node type cannot be cloned. + CloneNode serves as a copy constructor for nodes. To see how this method behaves with other node types, see XmlNode.CloneNode. + The cloned node has no parent (ParentNode returns null). + + + + Saves the children of the node to the specified XmlWriter. Because XmlDeclaration nodes do not have children, this method has no effect. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + + + + Saves the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + The value of the encoding and standalone attributes are determined by the Encoding and Standalone properties. If either of the properties is not set, the corresponding attribute is not written. The version attribute is always written out with a value of 1.0. + + + + Gets or sets the encoding level of the XML document. + + This value is optional. If a value is not set, this property returns String.Empty. + If an encoding attribute is not included, UTF-8 encoding is assumed when the document is written or saved out. + Unlike most XML attributes, encoding attribute values are not case-sensitive. This is because encoding character names follow ISO and Internet Assigned Numbers Authority (IANA) standards. + + + + Gets or sets the concatenated values of the XmlDeclaration. + + The specified text was invalid + + + + Gets the local name of the node. + + + + + Gets the qualified name of the node. + + + + + Gets the type of the current node. + + + + + Gets or sets the value of the standalone attribute. + + Valid values are yes if all entity declarations required by the XML document are contained within the document or no if an external document type definition (DTD) is required. If a standalone attribute is not present in the XML declaration, this property returns String.Empty. + + + + Gets or sets the value of the XmlDeclaration. + + The contents of the XmlDeclaration (that is, everything between <?xml and ?>). + + + + Gets the XML version of the document. + + The value is always 1.0. + + + + Represents an attribute. Valid and default values for the attribute are defined in a document type definition (DTD) or schema. + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlAttribute + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlAttribute using the specified System.Xml.XmlAttribute + + The System XmlAttribute to use + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlAttribute + + The namespace prefix. + The local name of the attribute. + The namespace uniform resource identifier (URI). + The parent XML document. + Do not instantiate an XmlAttribute directly; instead, use methods such as CreateAttribute. + + + + Adds the specified node to the end of the list of child nodes, of this node. + + The XmlNode to add. + The XmlNode added. + This node is of a type that does not allow child nodes of the type of the newChild node. + The newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node. + This node is read-only. + The newChild is not initialized. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself + The duplicate node. + This method serves as a copy constructor for nodes. The cloned node has no parent (ParentNode returns null). + Cloning an unspecified attribute returns a specified attribute (Specified returns true). + + + + Inserts the specified node immediately after the specified reference node. + + The XmlNode to insert. + The XmlNode that is the reference node. The newChild is placed after the refChild. + The XmlNode inserted. + This node is of a type that does not allow child nodes of the type of the newChild node. + The newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node. + The refChild is not a child of this node. This node is read-only. + The newChild or refChild is not initialized. + If refChild is null, insert newChild at the beginning of the list of child nodes. If newChild is an XmlDocumentFragment object, its child nodes are inserted, in the same order, after refChild. If the newChild is already in the tree, it is first removed. + If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. The imported node can then be inserted into the current document. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Inserts the specified node immediately before the specified reference node. + + The XmlNode to insert. + The XmlNode that is the reference node. The newChild is placed before this node. + The XmlNode inserted. + The current node is of a type that does not allow child nodes of the type of the newChild node. + The newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node. + The refChild is not a child of this node. This node is read-only. + + + + Adds the specified node to the beginning of the list of child nodes for this node. + + The XmlNode to add. If it is an XmlDocumentFragment, the entire contents of the document fragment are moved into the child list of this node. + The XmlNode added. + This node is of a type that does not allow child nodes of the type of the newChild node. + The newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node. + This node is read-only. + If the newChild is already in the tree, it is first removed. + If the node being inserted was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. The imported node can then be inserted into the current document. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Removes the specified child node. + + The XmlNode to remove. + The XmlNode removed. + The oldChild is not a child of this node. Or this node is read-only. + + + + Replaces the child node specified with the new child node specified. + + The new child XmlNode. + The XmlNode to replace. + The XmlNode replaced. + This node is of a type that does not allow child nodes of the type of the newChild node. + The newChild is an ancestor of this node. + The newChild was created from a different document than the one that created this node. + This node is read-only. + The oldChild is not a child of this node. + If the newChild is already in the tree, it is first removed. + If the newChild was created from another document, you can use XmlDocument.ImportNode to import the node to the current document. + + + + Saves all the children of the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + This method is a Microsoft extension to the Document Object Model (DOM). It is functionally equivalent to the InnerXml property. + + + + Saves the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + + This method is a Microsoft extension to the Document Object Model (DOM). It is functionally equivalent to the XmlNode.OuterXml property. + + + + Gets the base Uniform Resource Identifier (URI) of the node. + + A networked XML document is comprised of chunks of data aggregated using various World Wide Web Consortium (W3C) standard inclusion mechanisms and therefore contains nodes that come from different places. The BaseURI tells you where these nodes came from. + For additional information on BaseURI and how it behaves with other node types, see XmlNode.BaseURI. + This property is a Microsoft extension to the Document Object Model (DOM). + + + + Sets the concatenated values of the node and all its children. + + Setting this property replaces all the children with the parsed contents of the given string. + This property is a Microsoft extension to the Document Object Model (DOM). + + + + Sets the value of the attribute. + + The XML specified when setting this property is not well-formed. + This property is a Microsoft extension to the Document Object Model (DOM). + + + + Gets the local name of the node. + + If the node does not have a prefix, LocalName is the same as Name. + + + + Gets the qualified name of the node. + + + + + Gets the namespace URI of this node. + + An attribute does not inherit its namespace from the element it is attached to. If an attribute is not explicitly given a namespace, the namespace URI is considered to be String.Empty. + + + + Gets the type of the current node. + + + + + Gets the XmlDocument to which this node belongs. + + + + + Gets the XmlElement to which the attribute belongs. + + + + + Gets the parent of this node. For XmlAttribute nodes, this property always returns null. + + Use the OwnerElement property to get the XmlElement to which the attribute belongs. + + + + Gets or sets the namespace prefix of this node. + + This node is read-only. + The specified prefix contains an invalid character. + The specified prefix is malformed. + The namespaceURI of this node is null. + The specified prefix is "xml", and the namespaceURI of this node is different from "http://www.w3.org/XML/1998/namespace". + This node is an attribute, the specified prefix is "xmlns", and the namespaceURI of this node is different from "http://www.w3.org/2000/xmlns/". + This node is an attribute, and the qualifiedName of this node is "xmlns" [Namespaces]. + Because changing the prefix of an attribute does not change its namespace URI, changing the prefix + of an attribute that is known to have a default value does not create a new attribute with the default + value and the original prefix. + + + + Gets the post-schema-validation-infoset that has been assigned to this node as a result of schema validation. + + + + + Gets a value indicating whether the attribute value was explicitly set. + + true if this attribute was explicitly given a value in the original instance document; otherwise, false. A value of false indicates that the value of the attribute came from the DTD. + The implementation is in charge of this property, not the user. If the user changes the value of the attribute (even if it ends up having the same value as the default/fixed value), then the specified flag is automatically flipped to true. To re-specify the attribute as the default/fixed value from the DTD, the user must delete the attribute. The implementation then makes a new attribute available with specified set to false and the default/fixed value (if one exists). + In summary: + If the attribute has an assigned value in the document, Specified is true, and the value is the assigned value. + If the attribute has no assigned value in the document and has a default/fixed value in the DTD, Specified is false, and the value is the default/fixed value in the DTD. + Otherwise, the attribute does not appear in the structure model of the document. + + + + Gets or sets the value of the node. + + The node is read-only and a set operation is called. + + + + Represents a processing instruction, which XML defines to keep processor-specific information in the text of the document. + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlProcessingInstruction + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlElement using the specified System.Xml.XmlProcessingInstruction + + The System XmlProcessingInstruction to use + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlProcessingInstruction. + + The target of the processing instruction; see the Target property. + The content of the instruction; see the Data property. + The parent XML document. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned node. + The node type cannot be cloned. + CloneNode serves as a copy constructor for nodes. For processing instruction nodes, the cloned node always includes the target and data. To see how this method behaves with other node types, see the CloneNode method in the XmlNode class. + The cloned node has no parent (ParentNode returns null). + + + + Saves all the children of the node to the specified XmlWriter. Because ProcessingInstruction nodes do not have children, this method has no effect. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + + + + Saves the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + + + + Gets or sets the content of the processing instruction, excluding the target. + + + + + Gets or sets the concatenated values of the node and all its children. + + + + + Gets the local name of the node. + + + + + Gets the qualified name of the node. + + + + + Gets the type of the current node. + + + + + Gets the target of the processing instruction. + + + + + Gets or sets the value of the node. + + + + + Represents an element. + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlElement + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlElement using the specified System.Xml.XmlElement + + The System XmlElement to use + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlElement. + + The namespace prefix; see the Prefix property. + The local name; see the LocalName property. + The namespace URI; see the NamespaceURI property. + The parent XML document. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself (and its attributes if the node is an XmlElement). + The cloned node. + The node type cannot be cloned. + This method serves as a copy constructor for nodes. The duplicate node has no parent (ParentNode returns null). + + + + Returns the value for the attribute with the specified name + + The qualified name of the attribute to retrieve, it is matched against the Name + property of the matching node + The value of the specified attribute, an empty string is returned if no matching attributes were + found or if the attribute doesn't have a default or specified value + + + + Returns the value for the attribute with the specified local name and namespace URI + + The local name of the attribute to retrieve + The namespace URI of the attribute to retrieve + The value of the specified attribute, an empty string is returned if no matching attributes were + found or if the attribute doesn't have a default or specified value + + + + Returns the XmlAttribute with the specified name + + The qualified name of the attribute to retrieve, it is matched against the Name + property of the matching node + The specified XmlAttribute or null if a matching attribute was not found + + + + Returns the XmlAttribute with the specified local name and namespace URI + + The local name of the attribute + The namespace URI of the attribute + The specified XmlAttribute or null if a matching attribute was not found + + + + Determines whether the current node has an attribute with the specified name + + The qualified name of the attribute to retrieve, it is matched against the Name + property of the matching node + true if the current node has the specified attribute; otherwise, false + + + + Determines whether the current node has an attribute with the specified local name and namespace URI + + The local name of the attribute to find + The namespace URI of the attribute to find. + true if the current node has the specified attribute; otherwise, false + + + + Removes all specified attributes and children of the current node. Default attributes are not removed. + + + + + Removes all specified attributes from the element. Default attributes are not removed. + + + + + Removes an attribute by name + + The qualified name of the attribute to remove, this is matched against + the Name property of the matching node + The node is real-only + If the removed attribute has a default value, it is immediately replaced + + + + Removes an attribute with the specified local name and namespace URI + + The local name of the attribute to remove + The namespace URI of the attribute to remove + The node is real-only + If the removed attribute has a default value, it is immediately replaced + + + + Removes the attribute node with the specified index from the element + + The index of the node to remove, The first node has index 0 + The attribute node removed or null if there is no node at the given index + If the removed attribute has a default value, it is immediately replaced + + + + Removes the specified XmlAttribute + + The XmlAttribute to remove + The removed XmlAttribute or null if oldAttr is not an attribute node of the XmlElement + If the removed attribute has a default value, it is immediately replaced + + + + Removes the XmlAttribute specified by the local name and namespace URI + + The local name of the attribute + The namespace URI of the attribute + The removed XmlAttribute or null if the XmlElement does not have a matching attribute node + If the removed attribute has a default value, it is immediately replaced + The node is real-only + + + + Sets the value of the attribute with the specified name + + The qualified name of the attribute to create or alter. If the + name contains a colon it is parsed into prefix and local name components + The value to set the attribute + The specified name contains an invalid character + The node is read-only + If an attribute with the specified name already exists it's value is overwritten with the + specified value + + + + Sets the value of the attribute with the specified local name and namespace URI + + The local name of the attribute + The namespace URI of the attribute + The value to set for the attribute + The value to set the attribute + + + + Adds the specified XmlAttribute + + The XmlAttribute node to add to the attribute collection for this element + If the attribute replaces an existing attribute with the same name, the old XmlAttribute is + returned; otherwise, null is returned + The newAttr was created from a different document than the one + that created this XmlElement. Or this node is read-only + The newAttr is already an attribute of another XmlElement, + you must explicitly clone the XmlAttribute to re-use them in other XmlElement objects + If an attribute with that name is already present in the element, it is replaced by the new one + + + + Adds the specified XmlAttribute + + The local name of the attribute + The namespace URI of the attribute + The XmlAttribute to add + The XmlAttribute does not have any children. Use Value to assign a text value to the + attribute or use AppendChild (or a similar method) to add children to the attribute + + + + Saves all the children of the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + + + + Saves the current node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlWriter argument is not initialized. + + + + Returns an XmlNodeList containing a list of all descendant elements that match the specified Name + + The name tag to match. This is a qualified name. It is matched against the Name property of the matching node. The asterisk (*) is a special value that matches all tags + An XmlNodeList containing a list of all matching nodes + The nodes are placed in the order in which they would be encountered in a preorder traversal of the XmlElement tree + + + + Returns an XmlNodeList containing a list of all descendant elements that match the specified LocalName and NamespaceURI + + The local name to match. The asterisk (*) is a special value that matches all tags + The namespace URI to match + An XmlNodeList containing a list of all matching nodes + The nodes are placed in the order in which they would be encountered in a preorder traversal of the XmlElement tree + + + + Gets an XmlAttributeCollection containing the list of attributes for this node. + + XmlAttributeCollection containing the list of attributes for this node. + + + + Gets a boolean value indicating whether the current node has any attributes. + + + + + Gets or sets the concatenated values of the node and all its children. + + + + + Gets or sets the markup representing just the children of this node. + + + + + Gets or sets the tag format of the element + + Returns true if the element is to be serialized in the short tag format, + false for the long format + + + + Gets the local name of the current node. + + + + + Gets the qualified name of the node. + + + + + Gets the namespace URI of this node. + + + + + Gets the XmlNode immediately following this element. + + + + + Gets the type of the current node. + + + + + Gets the XmlDocument to which this node belongs. + + + + + Gets the parent of this node (for nodes that can have parents). + + + + + Gets or sets the namespace prefix of this node. + + + + + Gets the post schema validation infoset that has been assigned to this node as a result of schema validation. + + + + + Provides text manipulation methods that are used by several classes. + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlCharacterData + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlCharacterData using the specified System.Xml.XmlCharacterData + + The System XmlCharacterData to use + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlCharacterData. + + The content of the instruction; see the Data property. + The parent XML document. + + + + Appends the specified string to the end of the character data of the node. + + The string to insert into the existing string. + This method raises the XmlNodeChangedAction.Change event. + Notes to Inheritors: When overriding AppendData in a derived class, in order for events to be raised correctly, you must either raise the event yourself or call the base version of this method. + strData is not initialized. + + + + Removes a range of characters from the node. + + The position within the string to start deleting. + The number of characters to delete. + This method raises the XmlNodeChangedAction.Change event. + Notes to Inheritors: When overriding DeleteData in a derived class, in order for events to be raised correctly, you must either raise the event yourself or call the base version of this method. + + + + Inserts the specified string at the specified character offset. + + The position within the string to insert the supplied string data. + The string data that is to be inserted into the existing string. + This method raises the XmlNodeChangedAction.Change event. + Notes to Inheritors: When overriding InsertData in a derived class, in order for events to be raised correctly, you must either raise the event yourself or call the base version of this method. + strData is not initialized. + + + + Replaces the specified number of characters starting at the specified offset with the specified string. + + The position within the string to start replacing. + The number of characters to replace. + The new data that replaces the old string data. + This method raises the XmlNodeChangedAction.Change event. + Note to Inheritors: When overriding ReplaceData in a derived class, in order for events to be raised correctly, you must either raise the event yourself or call the base version of this method. + strData is not initialized. + + + + Retrieves a substring of the full string from the specified range. + + The position within the string to start retrieving. An offset of zero indicates the starting point is at the start of the data. + The number of characters to retrieve. + The substring corresponding to the specified range. + + + + Contains the data of the node. + + + + + Contains the data of the node. + + The data returned is equivalent to the Value property. + + + + Gets the length of the data, in characters. + The length, in characters, of the string in the Data property. The length may be zero; that is, CharacterData nodes can be empty. + + + + + Gets or sets the value of the node. + + Node is read-only. + + + + Represents a CDATA section. + + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlCDataSection + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlCDataSection using the specified System.Xml.XmlCDataSection + + The System XmlCDataSection to use + + + + Initializes a new instance of the XmlCDataSection class. + + The content of the instruction; see the Data property. + The parent XML document. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. Because CDATA nodes do not have children, regardless of the parameter setting, the cloned node will always include the data content. + The cloned node. + CloneNode serves as a copy constructor for nodes. To see how this method behaves with other node types, see the CloneNode method in the XmlNode class. + The cloned node has no parent (ParentNode returns null). + + + + Saves the children of the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + Because CDATA nodes do not have children, WriteContentTo has no effect. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Saves the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Gets the local name of the node. + + + + + Gets the qualified name of the node. + + + + + Gets the type of the current node. + + + + + Gets the parent of this node (for nodes that can have parents). + + + + + Represents the content of an XML comment. + + Do not instantiate a XmlComment directly; instead, use methods such as CreateNode. + + + + Internal default constructor for the Crestron.SimplSharp.CrestronXml.XmlComment + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlComment using the specified System.Xml.XmlComment + + The System XmlCDataSection to use + + + + Initializes a new instance of the XmlComment class. + + The content of the comment element. + The parent XML document. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. Because comment nodes do not have children, the cloned node always includes the text content, regardless of the parameter setting. + The cloned node. + CloneNode serves as a copy constructor for nodes. To see how this method behaves with other node types, see the CloneNode method in the XmlNode class. + The cloned node has no parent (ParentNode returns null). + + + + Saves all the children of the node to the specified XmlWriter. Because comment nodes do not have children, this method has no effect. + + The XmlWriter to which you want to save. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Saves the node to the specified XmlWriter. + + The XmlWriter to which you want to save. + This method is a Microsoft extension to the Document Object Model (DOM). + + + + Gets the local name of the node. + + For comment nodes, the value is #comment. + + + + Gets the qualified name of the node. + + For comment nodes, the value is #comment. + + + + Gets the type of the current node. + + For comment nodes, the value is XmlNodeType.Comment. + + + + Represents an ordered collection of nodes + + + + + The internal System.Xml.XmlNodeList + + + + + Initializes a new instance using the specified System.Xml.XmlNodeList + + + + + + Initializes a new instance of the class + + + + + Retrieves a node at the given index + + Zero-based index into the list of nodes + The XmlNode in the collection + If index is greater than or equal to length of the collection, NULL is returned + + + + Provides a simple "foreach" style iteration over the collection of nodes in the + + An IEnumerator + + + + Retrieves a node at the given index + + Zero based index into the list of nodes + The XmlNode in the collection + If index is greater than or equal to length of the collection, NULL is returned + + + + Gets the number of nodes in the XmlNodeList + + + + + Provides "foreach" enumeration through an XmlNodeList + + + + + Represents a reader that provides fast, non-cached forward only access to XML data in an XmlNode + + + + + The underlying System.Xml.XmlNodeReader + + + + + Creates an instance of the Crestron.SimplSharp.CrestronXml.XmlNodeReader class using the specified System.Xml.XmlNode + + The XmlNode to be read. + + + + Changes the ReadState to Closed. + + + + + Gets the value of the attribute with the specified index. + + The index of the attribute. The index is zero-based. (The first attribute has index 0.) + The value of the specified attribute. + The specified index is invalid. + + + + Gets the value of the attribute with the specified local name and namespace URI. + + The local name of the attribute. + The namespace URI of the attribute. + The value of the specified attribute. If the attribute is not found, null is returned. + + + + Gets the value of the attribute with the specified name. + + The qualified name of the attribute. + The value of the specified attribute. If the attribute is not found, null is returned. + This method does not move the reader. If the reader is positioned on a DocumentType node, this method can be used to get the PUBLIC and SYSTEM literals, for example, reader.GetAttribute("PUBLIC") + + + + Resolves a namespace prefix in the current element's scope. + + The prefix whose namespace URI you want to resolve. To match the default namespace, pass an empty string. This string does not have to be atomized. + The namespace URI to which the prefix maps or null if no matching prefix is found. + + + + Moves to the attribute with the specified index. + + The index of the attribute to move to. + The specified index is invalid + + + + Moves to the attribute with the specified local name and namespace URI. + + The local name of the attribute. + The namespace URI of the attribute. + true if the attribute is found; otherwise, false. If false, the reader's position does not change. + After calling this method, the Name, NamespaceURI, and Prefix properties reflect the properties of that attribute. + + + + Moves to the attribute with the specified name. + + The qualified name of the attribute. + true if the attribute is found; otherwise, false. If false, the reader's position does not change. + After calling this method, the Name, NamespaceURI, and Prefix properties reflect the properties of that attribute. + + + + Moves to the element that contains the current attribute node. + + true if the reader is positioned on an attribute (the reader moves to the element that owns the attribute); + false if the reader is not positioned on an attribute (the position of the reader does not change). + Use this method to return to an element after navigating through its attributes. + This method moves the reader to one of the following node types: Element, DocumentType, or XmlDeclaration. + + + + Moves to the first attribute. + + true if an attribute exists (the reader moves to the first attribute); + otherwise, false (the position of the reader does not change). + + + + Moves to the next attribute. + + true if there is a next attribute; false if there are no more attributes. + If the current node is not an attribute node, this method is equivalent to MoveToFirstAttribute. + If MoveToNextAttribute returns true, the reader moves to the next attribute; + otherwise, the position of the reader does not change. + + + + Reads the next node from the stream. + + true if the next node was read successfully; false if there are no more nodes to read. + When a reader is first created and initialized, there is no information available. + You must call Read to read the first node. + + + + Parses the attribute value into one or more Text, EntityReference, or EndEntity nodes. + + true if there are nodes to return. + false if the reader is not positioned on an attribute node when the initial call is made or if all the attribute values have been read. + Use this method after calling MoveToAttribute to read through the text or entity reference nodes + that make up the attribute value. The Depth of the attribute value nodes is one plus the depth of the attribute node; + it increments and decrements by one when you step into and out of general entity references. + + + + Reads the content and returns the Base64 decoded binary bytes. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of bytes copied is returned from this method. + The number of bytes written to the buffer. + The specified buffer is null + This method is not supported on the current node + The index is greater than the buffer length + This method is not supported on the following XML node types: Element, XmlDeclaration, None, Document, DocumentType, Notation, Entity, DocumentFragment. + + + + Reads the content and returns the BinHex decoded binary bytes. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of bytes copied is returned from this method. + The number of bytes written to the buffer. + The specified buffer is null + This method is not supported on the current node + The index is greater than the buffer length + This method is not supported on the following XML node types: Element, XmlDeclaration, None, Document, DocumentType, Notation, Entity, DocumentFragment. + + + + Reads the element and decodes the Base64 content. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of bytes copied is returned from this method. + The number of bytes written to the buffer. + The specified buffer is null + The current node is not an element node. + The index is greater than the buffer length + The element contains mixed content + The content cannot be converted to the requested type. + This method is very similar to the ReadContentAsBase64 method except that it can only be called on element node types. + The element cannot have child elements. + + + + Reads the element and decodes the BinHex content. + + The buffer into which to copy the resulting text. This value cannot be null. + The offset into the buffer where to start copying the result. + The maximum number of bytes to copy into the buffer. The actual number of bytes copied is returned from this method. + The number of bytes written to the buffer. + The specified buffer is null + The current node is not an element node. + The index is greater than the buffer length + The element contains mixed content + The content cannot be converted to the requested type. + This method is very similar to the ReadContentAsBinHex method except that it can only be called on element node types. + The element cannot have child elements. + + + + Reads the contents of an element or text node as a string. + + The contents of the element or text-like node (This can include CDATA, Text nodes, and so on). + This can be an empty string if the reader is positioned on something other than an element or text node, or if there is no more text content to return in the current context. + Note: The text node can be either an element or an attribute text node. + + + + Resolves the entity reference for EntityReference nodes. + + The reader is not positioned on an EntityReference node. + After calling this method, if the entity is part of an attribute value, you must call ReadAttributeValue to step into the entity. + + + + Skips the children of the current node. + + + + + Implementation of IXmlNamespaceResolver.GetNamespacesInScope + + The scope + A IDictionary + This member is an explicit interface member implementation. + It can be used only when the XmlNodeReader instance is cast to an IXmlNamespaceResolver interface. + + + + Implementation of IXmlNamespaceResolver.LookupPrefix + + The namespace to retrieve the prefix for + The prefix for the specified namespace + + + + Gets the number of attributes on the current node. + + + + + Gets the base URI of the current node. + + + + + Gets a value indicating whether the XmlNodeReader implements the binary content read methods. + + true if the binary content read methods are implemented; otherwise false. + The XmlNodeReader class always returns true. + + + + Gets a value indicating whether this reader can parse and resolve entities. + + true if the reader can parse and resolve entities; otherwise, false. XmlNodeReader always returns true. + + + + Gets the depth of the current node in the XML document. + + + + + Gets a value indicating whether the reader is positioned at the end of the stream. + + + + + Gets a value indicating whether the current node has any attributes. + + + + + Gets a value indicating whether the current node can have a Value. + + + + + Gets a value indicating whether the current node is an attribute that was generated from the default value + defined in the document type definition (DTD) or schema. + + This property applies to attribute nodes only. + If the reader is not positioned on an attribute node, this property returns false. + + + + Gets a value indicating whether the current node is an empty element (for example, ). + + + + + Gets the local name of the current node. + + + + + Gets the qualified name of the current node. + + + + + Gets the namespace URI (as defined in the W3C Namespace specification) of the node on which the reader is positioned. + + + + + Gets the XmlNameTable associated with this implementation. + + + + + Gets the type of the current node. + + + + + Gets the namespace prefix associated with the current node. + + + + + Gets the state of the reader. + + + + + Gets the text value of the current node. + + + + + Gets the current xml:lang scope. + + + + + Gets the current xml:space scope. + + + + + Represents an XML document + + + + + Creates a Crestron.SimplSharp.CrestronXml.XmlDocument using the specified System.Xml.XmlNode + + System.Xml.XmlNode to use + + + + Initializes a new instance of the XmlDocument class. + + + + + Initializes a new instance of the XmlDocument class with the specified XmlNameTable. + + The XmlNameTable to use. + + + + Creates a duplicate of this node. + + true to recursively clone the subtree under the specified node; false to clone only the node itself. + The cloned XmlDocument node. + + + + Creates an XmlNode with the specified node type, Name, and NamespaceURI. + + String version of the XmlNodeType of the new node. + The qualified name of the new node. If the name contains a colon, + it is parsed into Prefix and LocalName components. + The namespace URI of the new node. + The new XmlNode. + The name was not provided and the XmlNodeType requires a name; + or nodeTypeString is not one of the strings listed below. + If name is assigned null will throw NullReferenceException or NotSupportedException. + + If name is assigned null will throw NotSupportedException or NullReferenceException. + + This method does not automatically add the new object to the document tree, + to add you must explicitly call one of the node insert methods. + + + + Creates a XmlNode with the specified XmlNodeType, Prefix, Name, and NamespaceURI. + + The XmlNodeType of the new node. + The prefix of the new node. + The local name of the new node. + The namespace URI of the new node. + The new XmlNode. + The name was not provided and the XmlNodeType requires a name. + This method does not automatically add the new object to the document tree, + to add you must explicitly call one of the node insert methods. + + + + Creates an XmlNode with the specified XmlNodeType, Name, and NamespaceURI. + + The XmlNodeType of the new node. + The qualified name of the new node. If the name contains a colon then it is parsed into Prefix and LocalName components. + The namespace URI of the new node. + The new XmlNode. + The name was not provided and the XmlNodeType requires a name. + + + + Creates an XmlAttribute with the specified Name + + The qualified name of the attribute + The new XmlAttribute + + + + Creates an XmlAttribute with the specified qualified name and NamespaceURI + + The qualified name of the attribute + The namespaceURI of the attribute + The new XmlAttribute + + + + Creates an XmlAttribute with the specified Prefix, LocalName, and NamespaceURI + + The prefix of the attribute, String.Empty and null are equivalent + The local name of the attribute + The namespace URI of the attribute + The new XmlAttribute + If prefix is xmlns, then this parameter must be http://www.w3.org/2000/xmlns/; + otherwise an exception is thrown. + + + + Creates an element with the specified Prefix, LocalName, and NamespaceURI + + The prefix of the new element, String.Empty and null are equivalent + The local name of the new element + The namespace URI of the new element, String.Empty and null are equivalent + The new XmlElement + The returned XmlElement is created in context of the XmlDocument but not automatically + added it, you must explicitly call one of the insert methods + + + + Creates an element with the specified name + + The qualified name of the element. If the name contains a colon then the + Prefix property reflects the part of the name preceding the colon and the LocalName property + reflects the part of the name after the colon. The qualified name cannot include a prefix of'xmlns' + The new XmlElement + The returned XmlElement is created in context of the XmlDocument but not automatically + added it, you must explicitly call one of the insert methods + + + + Creates an XmlElement with the qualified name and NamespaceURI + + The qualified name of the element. If the name contains a colon then + the Prefix property will reflect the part of the name preceding the colon and the LocalName property + will reflect the part of the name after the colon. The qualified name cannot include a prefix of'xmlns' + The namespace URI of the element + The new XmlElement + The returned XmlElement is created in context of the XmlDocument but not automatically + added it, you must explicitly call one of the insert methods + + + + Creates an XmlEntityReference with the specified name. + + The name of the entity reference. + The new XmlEntityReference. + The name is invalid (for example, names starting with'#' are invalid.) + If the referenced entity is known, the child list of the XmlEntityReference node is made the same as that of the corresponding XmlEntity node. + The namespaces used in the replacement text for the entity reference are bound at the time the parent of the entity reference node is first set (for example, when the entity reference node is inserted into the document). + + + + Creates an XmlCDataSection containing the specified data + + The content of the XmlCDataSection to create + The new XmlCDataSection + The returned XmlCDataSection is created in context of the XmlDocument but not automatically + added it, you must explicitly call one of the insert methods + + + + Creates an XmlProcessingInstruction with the specified name and data + + The name of the processing instruction + The data for the processing instruction + The new XmlProcessingInstruction + The returned XmlProcessingInstruction is created in context of the XmlDocument but not automatically + added it, you must explicitly call one of the insert methods + According to the W3C Extensible Markup Language (XML) 1.0 recommendation (www.w3.org/TR/1998/REC-xml-19980210), + ProcessingInstruction nodes are only allowed within Document and Element nodes + + + + Creates a + + Returns a + DocumentFragment nodes cannot be inserted into a document, + However, you can insert children of the DocumentFragment node into a document + + + + Creates a with the specified values + + The version must be "1.0" + The value of the encoding attribute. This is the encoding that is used when + you save the XmlDocument to a file or a stream; therefore, it must be set to a string supported by + the Encoding class, otherwise Save fails. If this is null or String.Empty, the Save method does not + write an encoding attribute on the XML declaration and therefore the default encoding, UTF-8, is used + The value must be either "yes" or "no". If this is null or String.Empty, + the Save method does not write a standalone attribute on the XML declaration + Returns a + The version or standalone parameters have invalid values + + + + Creates a with the specified data + + The content of the + The new + Although this method creates the new object in the context of the document, + it does not automatically add the new object to the document tree. To add the new object, you must + explicitly call one of the node insert methods + + + + Creates a node + + The string must contain one or more space characters, carriage returns, line feeds, or tabs + A new node + Although this method creates the new object in the context of the document, + it does not automatically add the new object to the document tree. To add the new object, you must + explicitly call one of the node insert methods + + + + Creates a node + + The string must contain one or more space characters, carriage returns, line feeds, or tabs + A new node + This method is a Microsoft extension to the Document Object Model (DOM). + It is used when you want to manually format your document. + Although this method creates the new object in the context of the document, + it does not automatically add the new object to the document tree. To add the new object, you must + explicitly call one of the node insert methods + + + + Creates a with the specified text. + + The text for the Text node. + The new node + Although this method creates the new object in the context of the document, + it does not automatically add the new object to the document tree. To add the new object, + you must explicitly call one of the node insert methods. + According to the W3C Extensible Markup Language (XML) 1.0 recommendation + www.w3.org/TR/1998/REC-xml-19980210), Text nodes are only allowed within Element, Attribute + and EntityReference nodes. + + + + Imports a node from another document to the current document. + + The node being imported. + true to perform a deep clone; otherwise, false. + The imported XmlNode. + Calling this method on a node type which cannot be imported. + The returned node has no parent. The source node is not altered or removed from the original document; + ImportNode creates a copy of the source node. + + + + Loads the XML document from the specified stream. + + The stream containing the XML document to load. + There is a load or parse error in the XML. + In this case, a FileNotFoundException is raised. + + + + Loads the XML document from the specified TextReader. + + The TextReader used to feed the XML data into the document. + There is a load or parse error in the XML. + + + + Loads the XML document from the specified URL. + + URL for the file containing the XML document to load. + The URL can be either a local file or an HTTP URL. + There is a load or parse error in the XML. In this case, a FileNotFoundException is raised. + The URI contains invalid characters + the URI is null + The URI path is long + The path is invalid + An I/O error occurred while opening the file + The caller does not have the required permissions + The file was not found + The URI is in an invalid format + The user does not have the required permissions. + Invalid directory location passed. + + + + Loads the XML document from the specified XmlReader. + + The XmlReader used to feed the XML data into the document. + There is a load or parse error in the XML. + + + + Loads the XML document from the specified string. + + String containing the XML document to load. + There is a load or parse error in the XML. + There was an error parsing the XML. + By default the LoadXml method does not preserve white space or significant white space. + + + + Creates an XmlNode based on the information in the XmlReader, + the reader must be positioned on a node or attribute + + The XML source + The new XmlNode or null if no more nodes exist + The reader is positioned on a node type that does not + translate to a valid DOM node, ex. EndElement or EndEntity + Reads an XmlNode from the reader and advances the position to the next node + If the reader is in the initial state ReadNode advances the reader to the first node and + operates on that node + If the reader is positioned on an attribute this method does not move to the next attribute + + + + Saves the XML document to the specified stream. + + The stream to which you want to save. + The operation would not result in a well formed XML document + (for example, no document element or duplicate XML declarations). + White space is preserved only if PreserveWhitespace is set to true. + + + + Saves the XML document to the specified XmlWriter. + + The XmlWriter to which you want to save. + The operation would not result in a well formed XML document + (for example, no document element or duplicate XML declarations). + White space is preserved only if PreserveWhitespace is set to true. + + + + Saves the XML document to the specified file. + + The path to the file where you want to save the document. + The operation would not result in a well formed XML document + (for example, no document element or duplicate XML declarations). + The user does not have the required permissions. + Invalid directory location passed. + The file was not found + White space is preserved only if PreserveWhitespace is set to true. + + + + Saves the XML document to the specified TextWriter. + + The TextWriter to which you want to save. + The operation would not result in a well formed XML document + (for example, no document element or duplicate XML declarations). + The encoding of the XmlDeclaration node is replaced by the encoding of the TextWriter + + + + Saves all the children of the XmlDocument node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlDeclaration.Encoding property determines the encoding that is written out. + If the Encoding property does not have a value, the XmlDocument is written out without an encoding attribute. + + + + Saves the XmlDocument node to the specified XmlWriter. + + The XmlWriter to which you want to save. + The XmlDeclaration.Encoding property determines the encoding that is written out. + If the Encoding property does not have a value, the XmlDocument is written out without an encoding attribute. + + + + Returns an XmlNodeList containing a list of all descendant elements that match the specified Name + + The qualified name to match. It is matched against the Name property of the matching node. The special value "*" matches all tags + A containing a list of all matching nodes. If no nodes match name, the returned collection will be empty + The nodes are placed in the order in which they would be encountered in the document + + + + Returns an XmlNodeList containing a list of all descendant elements that match the specified LocalName and NamespaceURI + + The LocalName to match. The special value "*" matches all tags + NamespaceURI to match + A containing a list of all matching nodes. If no nodes match the specified localName and namespaceURI, the returned collection will be empty + The nodes are placed in the order in which they would be encountered in the document tree + + + + Gets the root XmlElement for the document + + A null is returned if no root exists + + + + Gets the base URI of the current node. + + + + + Gets or sets the markup representing the children of the current node. + + The XML specified when setting this property is not well-formed. + + + + Gets a value indicating whether the current node is read-only. + + + + + Gets the type of the current node. + + + + + Gets the qualified name of the node. + + + + + Gets the local name of the node. + + + + + Gets the XmlNameTable associated with this implementation. + + + + + Gets the XmlDocument to which the current node belongs. + + + + + Gets the parent node of this node (for nodes that can have parents). + + + + + Gets or sets a value indicating whether to preserve white space in element content. + + This property determines how white space is handled during the load and save process. + + + + Gets the object for the current document + + XmlDocument objects created from the same share the same . + This allows users to compare attribute and element names as objects rather than strings + Although the XmlDocument objects share the same implementation, + to move nodes from one document to another you must use the ImportNode method. + + + + Occurs when the Value of a node belonging to this document has been changed + + This event only applies to nodes that have a value + All nodes created by this document, whether or not they have been inserted into the document, are included in this event + + + + Occurs when the Value of a node belonging to this document is about to be changed + + This event allows the user to do extra checking and, if necessary, throw an exception + to stop the operation. If an exception is thrown the XmlDocument returns to its original state. + This event only applies to nodes that have a value + All nodes created by this document, whether or not they have been inserted into the document, are included in this event + + + + Occurs when a node belonging to this document has been inserted into another node + + All nodes created by this document, whether or not they have been inserted into the document, are included in this event + + + + Occurs when a node belonging to this document is about to be inserted into another node + + This event allows the user to do extra checking and, if necessary, throw an exception + to stop the operation. If an exception is thrown the XmlDocument returns to its original state. + This event only applies to nodes that have a value + All nodes created by this document, whether or not they have been inserted into the document, are included in this event + + + + Occurs when a node belonging to this document has been removed from its parent + + All nodes created by this document, whether or not they have been inserted into the document, are included in this event + + + + Occurs when a node belonging to this document is about to be removed from the document + + This event allows the user to do extra checking and, if necessary, throw an exception + to stop the operation. If an exception is thrown the XmlDocument returns to its original state. + This event only applies to nodes that have a value + All nodes created by this document, whether or not they have been inserted into the document, are included in this event + + + + Represents white space between markup in a mixed content node or white space + within an xml:space= 'preserve' scope. This is also referred to as significant white space + + + + + For internal use + + The System.Xml.XmlSignificantWhitespace to use + + + + Initializes a new instance of the class + + The white space characters of the node + The object + + + + Creates a duplicate of this node + + true to recursively clone the subtree under the specified node; + false to clone only the node itself. For significant white space nodes, + the cloned node always includes the data value, regardless of the parameter setting + The cloned node + The cloned node has no parent. ParentNode returns null + + + + Saves all the children of the node to the specified XmlWriter + + The XmlWriter to which you want to save + + + + Saves the node to the specified XmlWriter + + The XmlWriter to which you want to save + + + + Gets the local name of the node + + + + + Gets the qualified name of the node + + + + + Gets the type of the current node + + + + + Gets the parent of the current node + + + + + Gets or sets the value of the node + + Setting Value to invalid white space characters + When setting this property, valid white space characters must be specified. + White space can consist of one or more space characters, carriage returns, line feeds, or tabs + + + + Represents white space in element content. + + + + + For internal use + + The System.Xml.XmlWhitespace to use + + + + Initializes a new instance of the class + + The white space characters of the node + The object + + + + Creates a duplicate of this node + + true to recursively clone the subtree under the specified node; + false to clone only the node itself. For white space nodes, + the cloned node always includes the data value, regardless of the parameter setting. + The cloned node + The cloned node has no parent. ParentNode returns null + + + + Saves all the children of the node to the specified XmlWriter + + The XmlWriter to which you want to save + + + + Saves the node to the specified XmlWriter + + The XmlWriter to which you want to save + + + + Gets the local name of the node + + + + + Gets the qualified name of the node + + + + + Gets the type of the current node + + + + + Gets the parent of the current node + + + + + Gets or sets the value of the node + + Setting Value to invalid white space characters + When setting this property, valid white space characters must be specified. + White space can consist of one or more space characters, carriage returns, line feeds, or tabs + + + + Represents the text content of an element or attribute. + + + + + For internal use + + The System.Xml.XmlText to use + + + + Initializes a new instance of the class + + The content of the node; see the Value property. + The parent document + + + + Creates a duplicate of this node + + true to recursively clone the subtree under the specified node; + false to clone only the node itself. + The cloned node + + CloneNode serves as a copy constructor for nodes. For text nodes, the cloned node always + includes the data value. To see how this method behaves with other node types, + see the CloneNode method in the XmlNode class. + The cloned node has no parent. (ParentNode returns null) + + + + + Saves all the children of the node to the specified XmlWriter + + The XmlWriter to which you want to save + + + + Saves the node to the specified XmlWriter + + The XmlWriter to which you want to save + + + + Gets the local name of the node + + + + + Gets the qualified name of the node + + + + + Gets the type of the current node + + + + + Gets the parent of the current node + + + + + Gets or sets the value of the node + + The content of the text node. + + + + Provides data for the node events + + + + + For internal use + + + + + For internal use + + The System.Xml.XmlNodeChangedEventArgs to initialize with + + + + Initializes a new instance of the class + + The that generated the event + The old parent of the that generated the event + The new parent of the that generated the event + The old value of the that generated the event + The new value of the that generated the event + The + + + + Gets a value indicating what type of node change event is occurring + + The Action value does not differentiate between when the event occurred (before or after). + You can create separate event handlers to handle both instances + + + + Gets the value of the ParentNode after the operation completes + + The value of the ParentNode after the operation completes. + This property returns null if the node is being removed. + + + + Gets the new value of the node + + The new value of the node. + This property returns null if the node is neither an attribute nor a text node, or if the node is being removed. + If called in a NodeChanging event, NewValue returns the value of the node if the change is successful. + If called in a NodeChanged event, NewValue returns the current value of the node + + + + Gets the that is being added, removed or changed + + The that is being added, removed or changed; + this property never returns null + + + + Gets the value of the ParentNode before the operation began + + The value of the ParentNode before the operation began. + This property returns null if the node did not have a parent + + + + Gets the original value of the node + + The original value of the node. + This property returns null if the node is neither an attribute nor a text node, or if the node is being inserted. + If called in a NodeChanging event, OldValue returns the current value of the node that will be replaced if the change is successful. + If called in a NodeChanged event, OldValue returns the value of node prior to the change + + + + Represents the method that handles NodeChanged, NodeChanging, NodeInserted, NodeInserting, NodeRemoved and NodeRemoving events + + The source of the event + An containing the event data + + + + Exception used when an Xml error occurs. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + + + + Gets the line number indicating where the error occurred. + + + + + Gets the line position indicating where the error occurred. + + + + + Represents SSH_MSG_SERVICE_REQUEST message. + + + + + Initializes a new instance of the class. + + Name of the service. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the service. + + + The name of the service. + + + + + Represents SSH_MSG_KEX_DH_GEX_GROUP message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets or sets the safe prime. + + + The safe prime. + + + + + Gets or sets the generator for subgroup in GF(p). + + + The sub group. + + + + + Describes object identifier for DER encoding + + + + + Initializes a new instance of the class. + + The identifiers. + + + + Gets the object identifier. + + + + + Collection of different extension method + + + Collection of different extension method specific for .NET 3.5 + + + Collection of different extension method specific for .NET 4.0 + + + + + Checks whether a collection is the same as another collection + + The current instance object + The collection to compare with + The comparer object to use to compare each item in the collection. If null uses EqualityComparer(T).Default + True if the two collections contain all the same items in the same order + + + + Checks whether a collection is the same as another collection + + The current instance object + The collection to compare with + True if the two collections contain all the same items in the same order + + + + Prints out + + The bytes. + + + + Trims the leading zero from bytes array. + + The data. + Data without leading zeros. + + + + Creates an instance of the specified type using that type's default constructor. + + The type to create. + Type of the instance to create. + A reference to the newly created object. + + + + Returns the specified 16-bit unsigned integer value as an array of bytes. + + The number to convert. + An array of bytes with length 2. + + + + Returns the specified 32-bit unsigned integer value as an array of bytes. + + The number to convert. + An array of bytes with length 4. + + + + Returns the specified 64-bit unsigned integer value as an array of bytes. + + The number to convert. + An array of bytes with length 8. + + + + Returns the specified 64-bit signed integer value as an array of bytes. + + The number to convert. + An array of bytes with length 8. + + + + Disposes the specified socket. + + The socket. + + + + Disposes the specified handle. + + The handle. + + + + Disposes the specified algorithm. + + The algorithm. + + + + Clears the contents of the string builder. + + + The to clear. + + + + + Determines whether [is null or white space] [the specified value]. + + The value. + + true if [is null or white space] [the specified value]; otherwise, false. + + + + + IListener is a generic network listener interface. The default implementation provides facilities for listening on a server socket. + + + + + Start listening for incoming connections. + + + + + Represents the socket which is listened for an incoming connection. + + + + + IAsyncWorker Interface + + + + + Represents the method which disconnects an asynchronous client and tries to connect it again in the heritable class. + + + + + Represents a connection property of the heritable class. + + + + + IConnectionFactory Interface. + + + + + Creates the connection to the server. + + A object. + + + + + Creates the connection to the client. + + A object. + + + + + Enum for the default socket parameters + + + + + Default socket buffer size + + + + + Max number of TCP clients supported + + + + + Enum for the TCP Server state + + + + + Server is not listening + + + + + Server listening for connections + + + + + Server has active connections + + + + + Enum for error codes returned by the socket functions + + + + + Success + + + + + Client, Server or UDP not in initial state + + + + + Could not resolve specified hostname + + + + + Port not in range of 0-65535. + + + + + Unable to establish a connection + + + + + Unable to allocate socket buffer + + + + + Address not specified + + + + + Out of memory + + + + + Socket connection in progress + + + + + UDP Server is receive only - cannot send to it + + + + + Indicates that the sockets are not allowed in the secure mode + + + + + Indicates that the specified port is already in use. This is for a TCP Server Only + + + + + Indicates that the client (socket) index is invalid + + + + + Indicates that the client connections reached the MAX + + + + + Indicates that the address specified and the EthernetAdapterToBindTo do not match + + + + + Indicates that a socket operation is pending + + + + + Enum for the socket status + + + + + Not Connected + + + + + Waiting for Connection + + + + + Connected + + + + + Connection Failed + + + + + Connection Broken Remotely + + + + + Connection Broken Locally + + + + + Performing DNS Lookup + + + + + DNS Lookup Failed + + + + + DNS Name Resolved + + + + + Link lost + + + + + Invalid (Client) Socket Index/Socket does not exist + + + + + Enum for the different socket types + + + + + TCP Client + + + + + TCP Server + + + + + UDP Server + + + + + Callback for the asynchronous Send function + + TCP client + Number of bytes actually sent.0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous Send function + + TCP client + Number of bytes actually sent.0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous Send function + + TCP client + Number of bytes actually sent.0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback for the asynchronous Send function + + TCP client + Number of bytes actually sent.0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback for the asynchronous receive function + + TCP client + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous receive function + + TCP client + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous receive function + + TCP client + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback for the asynchronous receive function + + TCP client + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback which is invoked whenever a TCP client gets connected to the server + + TCP client + + + + Callback which is invoked whenever a TCP client gets connected to the server + + TCP client + + + + Callback which is invoked whenever a TCP client gets connected to the server + + TCP client + User specified object + + + + Callback which is invoked whenever a TCP client gets connected to the server + + TCP client + User specified object + + + + Delegate which is invoked whenever the TCP client connection status changes + + TCP Client + Status of the TCP Client + + + + Delegate which is invoked whenever the TCP client connection status changes + + TCP Client + Status of the TCP Client + + + + Delegate which is invoked whenever the TCP server connection status changes. + + TCP server + Client Index + Status of the TCP server socket + + + + Delegate which is invoked whenever the Secure TCP server connection status changes. + + Secure TCP server + Client Index + Status of the Secure TCP server socket + + + + Callback for the asynchronous Send function + + TCP server + Client Index + Number of bytes actually sent.0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous Send function + + Secure TCP server + Client Index + Number of bytes actually sent. 0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous Send function + + TCP server + Client Index + Number of bytes actually sent.0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback for the asynchronous Send function + + Secure TCP server + Client Index + Number of bytes actually sent. 0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback for the asynchronous receive function + + TCP server + Client Index + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous receive function + + Secure TCP server + Client Index + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + + + + Callback for the asynchronous receive function + + TCP server + Client Index + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback for the asynchronous receive function + + Secure TCP server + Client Index + Number of bytes actually received. 0 or Negative count indicates that the socket got closed. + User specified object + + + + Callback which is invoked whenever a client gets connected + + TCP Server + A unique Index which is associated with the specific client which got connected. 0 indicates error + + + + Callback which is invoked whenever a client gets connected + + Secure TCP Server + A unique Index which is associated with the specific client which got connected. 0 indicates error + + + + Callback which is invoked whenever a client gets connected + + TCP Server + A unique Index which is associated with the specific client which got connected. 0 indicates error + User Specified Object + + + + Callback which is invoked whenever a client gets connected + + Secure TCP Server + A unique Index which is associated with the specific client which got connected. 0 indicates error + User Specified Object + + + + Callback for the asynchronous Send function + + UDP Server + Number of bytes actually received. 0 or Negative count indicates an error. + + + + Callback for the asynchronous Send function + + UDP Server + Number of bytes actually received. 0 or Negative count indicates an error. + User specified object + + + + Callback for the asynchronous receive function + + UDP Server + Number of bytes actually received. 0 or Negative count indicates an error. + + + + Callback for the asynchronous receive function + + UDP Server + Number of bytes actually received. 0 or Negative count indicates an error. + User specified object + + + + Internal class to figure out which side of the interface do we lie upon + + + + + Function to grab the external Adapter based on the address + + IP Address to match + Returns local address of adapter + + + + + Function to grab the internal Adapter based on the address + + IP Address to match + + + + + + IsAddressOnSameNetwork - Checks to see if the source of the incoming packet is on the same + subnet + + + + + + + + + Check if the IP is blocked. If it is, then we return false here. If it isn't blocked, then we return true. + + + true, if IP is fine. False, if the IP is blocked + + + + Check if we are receving an connection on the right ethernet adapter, if we are, everything is fine, and we can continue the connection + This function is used for all server instances that are listening for connections. Depending on how they are configured, and what types of adapters are plugged in and licenced, the server will either accept or reject the connection + + + + + + + + true, if we are on the right ethernet adapter; false if we aren't + + + + Check to see if the specific IP address was blocked. + + Remote endpoint + true if the IP is blocked. False otherwise + + + + Async callback Object class + + + + + Multiple client TCP Server class + + + + + Constructor for the TCP Server + + Server TCP Port. + Number of client connections supported. + + + + Constructor for the TCP server. + Sets the maximum number of clients supported to be 1 + + Client's IP Address or '0.0.0.0' for any client. + TCP Port. + Size of internal buffer to store received data. + + + + Constructor for the TCP server + Sets the maximum number of clients supported to be 1 + + IP end point for client. + Size of internal buffer to store received data. + + + + Constructor for the TCP server + Sets the maximum number of clients supported to be 1 + + Client's IP Address or '0.0.0.0' for any client. + TCP Port. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + + + + Constructor for the TCP server + Sets the maximum number of clients supported to be 1 + + IP end point for client. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + + + + Constructor for the TCP server + + Client's IP Address or '0.0.0.0' for any client. + TCP Port. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + Number of client connections supported. + + + + Constructor for the TCP server + + IP end point for client. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + Number of client connections supported. + + + + Constructor for the TCP Server + Allocates buffer of default size + Sets the maximum number of clients supported to be 1 + + Server TCP Port. + + + + Default constructor for the TCP Server + Initializes the port number to be a invalid value. + Allocates buffer of default size + Sets the maximum number of clients supported to be 1 + + + + + Function to accept an incoming connection on the server. This is a blocking call and will block until a connection is made or an + error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + SocketErrorCode indicating success or an error + + + + Function to accept an incoming connection on the server. This is a blocking call and will block until a connection is made or an + error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Client Index + SocketErrorCode indicating success or an error + + + + Function to accept an incoming connection on the server. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Callback invoked when the client gets connected or an error occurred. + SocketErrorCode indicating socket operation pending or an error + + + + Function to accept an incoming connection on the server. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Callback invoked when the client gets connected or an error occurred. + User specified callback object passed to the callback + SocketErrorCode indicating socket operation pending or an error + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Client Index + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Client Index + Socket Error Code indicating success or failure. + + + + Callback for the wait For connect function + + + + + + Function that accepts all incoming connections and triggers the given callback per connection that is accepted. + This will stop running once the Max socket number is reached. + + Customer callback function + + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating operation is pending or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating operation is pending or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + User specified callback object passed to the callback + Socket Error Code indicating operation is pending or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + User specified callback object passed to the callback + Socket Error Code indicating operation is pending or failure. + + + + Function to do basic postConnectErrorChecking + + + + + + + + + + + + + + + + + + + + + + Private function to accept an incoming connection on the server. This is a blocking call. This invokes the callback once a connection gets established + The callback needs to exit or else this function will not return. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Client Index for the connected socket. + Callback invoked when the client gets connected. + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server. This is a blocking call. This invokes the callback once a connection gets established + The callback needs to exit or else this function will not return. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server. This is a blocking call. This invokes the callback once a connection gets established + The callback needs to exit or else this function will not return. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating success or failure. + + + + Update the socket info also + + + + + + + + + + Address of the client which got connected to the server at the specified index + + Unique Client Index + string or null + + + + Local Address of server that got connected to the client at the specified index + + Unique Client Index + string or null + + + + Source Port number of client which got connected to the server at the specified index + + Unique Client Index + port number or zero + + + + Incoming data buffer for the client at the specified index + + Unique client Index + byte array or null + + + + Function to get the socket status for the client at the specified index + + Unique client Index + Socket status ... + + + + Function to send data to a client at the specified index + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Socket Error Code indicating success or failure. + + + + Function to send data to a client at the specified index + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Timeout duration in milliseconds for testing whether sending is possible prior to writing the data. + Socket Error Code indicating success or failure. + + + + Function to send data to a client at the specified index + + Client Index + Buffer of bytes + Count of bytes to send + Socket Error Code indicating success or failure. + + + + Function to send data to a client + + Buffer of bytes + Count of bytes to send + Socket Error Code indicating success or failure. + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Callback for the async send + + + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to disconnect the client from the server + This assumes a single client is connected to the server and will close that client + + SocketErrorCodes indicating a failure or a success + The TCP Server handles disconnecting of the client automatically in cases where there is an error. + + + + Function to disconnect a specific client at the specified index + + Unique client Index + SocketErrorCodes indicating a failure or a success + The TCP Server handles disconnecting of the client automatically in cases where there is an error. + + + + Function to disconnect all the sockets and to stop the server. + + + + + Determines if there are pending connection requests. + + true if connections are pending; otherwise, false. + The server has not been started using "WaitForConnection" or "WaitForConnectionAsync". + + + + Function to stop the TCP server, but leave the existing connections in place + + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + + Client Index + Offset into the packet to start receive + Number of bytes received. + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + + Client Index + Number of bytes received. + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This assumes a single client is connected to the server and reads data from that client. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This assumes a single client is connected to the server and reads data from that client. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + + + + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + Offset into the packet to start receive + Socket error code indicating operation pending or an error + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + Socket error code indicating operation pending or an error + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + Offset into the packet to start receive + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to return whether data is available to be read from the client at the specified index + + Client Index + True if there is data available or false + + + + Function to read data from the client + This assumes a single client is connected to the server and reads data from that client. + This function will clear out the buffer before reading in new data. + + Number of bytes received. + + + + Function to check if a client at the specified index is connected or not + + Client Index + true or false. + + + + Handle link up on a TCP Server + + + + + Handle link loss on a TCP Server + Closes the socket and sets the status to be SOCKET_STATUS_LINK_LOST + + + + + Address to accept connection from (the server's address) + + + + + Indicates the state of the server + + + + + Timeout period in milli second for socket send or receive + + + + + Port Number for the server port + + + + + Max number of clients supported + + + + + Indicates number of clients connected at the current time. + This will return -1 if we are unable to get the count. + + + + + Gets or Sets the current state of the Nagle Algorithm for the server socket. + Enabling Nagle will delay when send or receive buffers are not full. + Note: Nagle is not enabled by default. + + + + + Socket status change event that is fired when the status changes + + + + + Event triggered when the status of the socket changes + + + + + Indicates if the user wants to bind to a specific adapter + This is valid on systems which support multiple adapters. + Ignored on systems which do not support multiple adapters. + Only valid if the address of the TCP server is defined as 0.0.0.0 - Ignored otherwise + Set to EthernetAdapterType.EthernetUnknownAdapter if no specific binding is required. + On units which just have a single adapter - we can accept a connection from anywhere + - In this case this setting is ignored + On units which have multiple adapters + - If the user specified EthernetCSAdapter then accept connection from Control Subnet side only + - If the user specified EthernetLAN2Adapter then accept connection from LAN2 side only + - If the user specified EthernetLANAdapter, then accept connections from anywhere but from the Control subnet side and LAN2 + + + + + Local Address of server that accepted a connection. + This assumes a single client is connected to the server and returns the local address of that server connection. + If no client is connected - it returns String.Empty. + + + + + Address of the client which got connected to the server. + This assumes a single client is connected to the server and returns the address of that client. + If no client is connected - it returns String.Empty + + + + + Source Port number of the client which got connected to the server. + This assumes a single client is connected to the server and returns the source port number of that client. + If no client is connected - it returns 0. + + + + + Incoming data buffer for the client connected to the server + This assumes a single connection to the TCP Server + + + + + Function to get a socket status + This assumes a single client is connected to the server and returns the address of that client + + Socket status ... + + + + Indicates whether data is available on the client to be read. + This assumes a single client is connected to the server and returns true if there is data which can be read from that specific client. + + + + + private class for the active socket + + + + + Socket timer timeout function + + current active socket + + + + Listens for secure connections from TCP network clients. + + + + + Initializes a new instance of the SecureTcpListener class that listens to the specified IP address and port. + + The local IP address. + The port on which to listen. + The security options to use. + is a null reference (Nothing in Visual Basic). + is not between MinPort and MaxPort. + + + + Initializes a new instance of the SecureTcpListener class that listens to the specified IP address and port. + + The local IP address. + The port on which to listen. + is a null reference (Nothing in Visual Basic). + is not between MinPort and MaxPort. + + + + Gets the security options that are used for incoming connections. + + A instance. + + + + Multiple client Secure TCP Server class + SecureTCPServer requires firmware version 1.500.0005 or above + If no user certificate is provided, the SecureTCPServer will use the SSL state of the control system to determine which certificate to use. i.e. SSL Self will use the self signed certificate of the control system. SSL must be enabled on the controller. + + + This code snippet shows how one might instantiate and use a SecureTCPServer object + + using System; + using System.Text; // for ASCIIEncoding + using Crestron.SimplSharp; // for CrestronConsole + using Crestron.SimplSharp.CrestronSockets; + + /* ...Startup code for a SecureTCPServer... */ + + int port = 8000; + int bufsize = 100; + int max_connections = 10; + + SecureTCPServer server = new SecureTCPServer(port, bufsize, EthernetAdapterType.EthernetUnknownAdapter, max_connections); + server.SocketStatusChange += new SecureTCPServerSocketStatusChangeEventHandler(ServerSocketStatusChanged); + + // ServerConnectedCallback will get invoked once a client either + // connects successfully or if the connection encounters an error + SocketErrorCodes err = server.WaitForConnectionAsync(ServerConnectedCallback); + CrestronConsole.PrintLine("WaitForConnectionAsync returned: " + err); + + /* ...Callback methods... */ + + public void ServerSocketStatusChanged(SecureTCPServer server, uint clientIndex, SocketStatus status) + { + // A single SecureTCPServer may be handling many different sockets (up to server.MaxNumberOfClientSupported) at once. + // This event handler is called whenever the status of any one of these sockets changes. clientIndex + // uniquely identifies which socket has received a new status. + + if (status == SocketStatus.SOCKET_STATUS_CONNECTED) + { + CrestronConsole.PrintLine("ServerSocketStatusChanged: Client " + clientIndex + " connected."); + } + else + { + CrestronConsole.PrintLine("ServerSocketStatusChange for client " + clientIndex + ": " + status + "."); + } + } + + public void ServerConnectedCallback(SecureTCPServer server, uint clientIndex) + { + if (clientIndex != 0) + { + CrestronConsole.PrintLine("Server listening on port " + server.PortNumber + " has connected with a client (client #"+ clientIndex + ")"); + server.ReceiveDataAsync(clientIndex, ServerDataReceivedCallback); + if (server.MaxNumberOfClientSupported == server.NumberOfClientsConnected) + { + CrestronConsole.PrintLine("Client limit reached."); + // This call to Stop() causes the server.State flag, SERVER_NOT_LISTENING, to be set + server.Stop(); + CrestronConsole.PrintLine("After calling server.Stop(), the server state is: " + server.State); + } + // If the client limit is reached, WaitForConnectionAsync will return SOCKET_MAX_CONNECTIONS_REACHED + // and the ServerConnectedCallback will not be registered. Otherwise, the call to WaitForConnectionAsync + // causes the server to keep listening for more clients. + SocketErrorCodes err = server.WaitForConnectionAsync(ServerConnectedCallback); + CrestronConsole.PrintLine("WaitForConnectionAsync returned: " + err); + } + // A clientIndex of 0 could mean that the server is no longer listening, or that the TLS handshake failed when a client tried to connect. + // In the case of a TLS handshake failure, wait for another connection so that other clients can still connect + else + { + CrestronConsole.Print("Error in ServerConnectedCallback: "); + if ((server.State & ServerState.SERVER_NOT_LISTENING) > 0) + { + CrestronConsole.PrintLine("Server is no longer listening."); + } + else + { + CrestronConsole.PrintLine("Unable to make connection with client."); + // This connection failed, but keep waiting for another + server.WaitForConnectionAsync(ServerConnectedCallback); + } + } + } + + public void ServerDataReceivedCallback(SecureTCPServer server, uint clientIndex, int bytesReceived) + { + if (bytesReceived <= 0) { + CrestronConsole.PrintLine("ServerDataReceivedCallback error: server's connection with client " + clientIndex + " has been closed."); + server.Disconnect(clientIndex); + // A connection has closed, so another client may connect if the server stopped listening + // due to the maximum number of clients connecting + if ((server.State & ServerState.SERVER_NOT_LISTENING) > 0) + server.WaitForConnectionAsync(ServerConnectedCallback); + } + else { + CrestronConsole.PrintLine("\n------ incoming message -----------"); + byte[] recvd_bytes = new byte[bytesReceived]; + + // Copy the received bytes into a local buffer so that they can be echoed back. + // Do not pass the reference to the incoming data buffer itself to the SendDataAsync method + Array.Copy(server.GetIncomingDataBufferForSpecificClient(clientIndex), recvd_bytes, bytesReceived); + + // The server in this example expects ASCII text from the client, but any other encoding is possible + string recvd_msg = ASCIIEncoding.ASCII.GetString(recvd_bytes, 0, bytesReceived); + CrestronConsole.PrintLine("Client " + clientIndex + " says: " + recvd_msg + "\r\nEchoing back to client " + clientIndex + "..."); + + // echo the received message back to the client who sent it + server.SendDataAsync(clientIndex, recvd_bytes, recvd_bytes.Length, ServerDataSentCallback); + + // Begin waiting for another message from that same client + server.ReceiveDataAsync(clientIndex, ServerDataReceivedCallback); + + CrestronConsole.PrintLine("---------- end of message ----------"); + } + } + + public void ServerDataSentCallback(SecureTCPServer server, uint clientIndex, int bytesSent) + { + if (bytesSent <= 0) + { + CrestronConsole.PrintLine("Error sending message. Connection has been closed"); + } + else + { + CrestronConsole.PrintLine("Echoed message to client " + clientIndex + " (" + bytesSent + " byte(s))"); + } + } + + + + + + + Constructor for the TCP Server + + Server TCP Port. + Number of client connections supported. + + + + Constructor for the Secure TCP server. + Sets the maximum number of clients supported to be 1 + + Client's IP Address or '0.0.0.0' for any client. + TCP Port. + Size of internal buffer to store received data. + + + + Constructor for the TCP server + Sets the maximum number of clients supported to be 1 + + IP end point for client. + Size of internal buffer to store received data. + + + + Constructor for the TCP server + Sets the maximum number of clients supported to be 1 + + Client's IP Address or '0.0.0.0' for any client. + TCP Port. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + + + + Constructor for the TCP server + Sets the maximum number of clients supported to be 1 + + IP end point for client. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + + + + Constructor for the TCP server + + TCP Port. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + Number of client connections supported. + + + + Constructor for the TCP server + + Client's IP Address or '0.0.0.0' for any client. + TCP Port. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + Number of client connections supported. + + + + Constructor for the TCP server + + IP end point for client. + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Only valid if address is 0.0.0.0 and we have multiple adapters. + Set to EthernetUnknownAdapter if no specific binding is required. + Number of client connections supported. + + + + Constructor for the TCP Server + Allocates buffer of default size + Sets the maximum number of clients supported to be 1 + + Server TCP Port. + + + + Default constructor for the TCP Server + Initializes the port number to be a invalid value. + Allocates buffer of default size + Sets the maximum number of clients supported to be 1 + + + + + Sets Server Security Certificate associated with this object. + + The client x509 certificate object in binary (DER) format + + object does not contain the corresponding private key so that it must be provided using a SetServerPrivateKey method. + This method requires firmware version 1.500.0007 or later + + + + + Sets the Private Key corresponding to the Server Certificate + + The private key in binary (DER) format + + This method requires firmware version 1.500.0007 or later + + + + + Function to accept an incoming connection on the server. This is a blocking call and will block until a connection is made or an + error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + SocketErrorCode indicating success or an error + + + + Function to accept an incoming connection on the server. This is a blocking call and will block until a connection is made or an + error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Client Index + SocketErrorCode indicating success or an error + + + + Function to accept an incoming connection on the server. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Callback invoked when the client gets connected or an error occurred. + SocketErrorCode indicating socket operation pending or an error + + + + Function to accept an incoming connection on the server. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Callback invoked when the client gets connected or an error occurred. + User specified callback object passed to the callback + SocketErrorCode indicating socket operation pending or an error + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Client Index + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a blocking call and will block until + a connection is made or an error occurs. + Invoking WaitForConnection multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Client Index + Socket Error Code indicating success or failure. + + + + Callback for the wait For connect function + + + + + + Function that accepts all incoming connections and triggers the given callback per connection that is accepted. + This will stop running once the Max socket number is reached. + + Customer callback function + + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating operation is pending or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating operation is pending or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + User specified callback object passed to the callback + Socket Error Code indicating operation is pending or failure. + + + + Function to accept an incoming connection on the server from the specified address. This is a non blocking call. The call will + check for the parameters and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + Invoking WaitForConnectionAsync multiple times will throw a SOCKET_MAX_CONNECTIONS_REACHED error, if the server already has the max number + of connections active as specified by the MaxNumberOfClientSupported property. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + User specified callback object passed to the callback + Socket Error Code indicating operation is pending or failure. + + + + Function to do basic postConnectErrorChecking + + + + + + + + + + + + + Parameter checking before attempting to connect to the specified address. + + + + Target IP address to connect to. + Indicating whether addressToAcceptConnectionFrom is a host name, not IP address. + + + + + Callback for the SSLHandshakeNegotiationTimer + + Secure TCP Client socket to close + + + + Private function to accept an incoming connection on the server. This is a blocking call. This invokes the callback once a connection gets established + The callback needs to exit or else this function will not return. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Client Index for the connected socket. + Callback invoked when the client gets connected. + Socket Error Code indicating success or failure. + If a user certificate and key are provided with the SetServerCertificate and SetServerPrivateKey functions, respectively, and there is an issue with the formatting and/or parsing, this exception will be thrown. Also, if a user certificate and key aren't provided when the SSL mode of the controller is OFF, there is no certificate on the control system to use, and thus an exception will be thrown. + + + + Function to accept an incoming connection on the server. This is a blocking call. This invokes the callback once a connection gets established + The callback needs to exit or else this function will not return. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating success or failure. + + + + Function to accept an incoming connection on the server. This is a blocking call. This invokes the callback once a connection gets established + The callback needs to exit or else this function will not return. + + Specific IP Address or '0.0.0.0' to accept a connection from any IP Address. + Callback invoked when the client gets connected. + Socket Error Code indicating success or failure. + + + + Update the socket info also + + + + + + + + + + Address of the client which got connected to the server at the specified index + + Unique Client Index + string or null + + + + Local Address of server that got connected to the client at the specified index + + Unique Client Index + string or null + + + + Source Port number of client which got connected to the server at the specified index + + Unique Client Index + port number or zero + + + + Incoming data buffer for the client at the specified index + + Unique client Index + byte array or null + + + + Function to get the socket status for the client at the specified index + + Unique client Index + Socket status ... + + + + Function to send data to a client at the specified index + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Socket Error Code indicating success or failure. + + + + Function to send data to a client at the specified index + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Timeout duration in milliseconds for testing whether sending is possible prior to writing the data. + Socket Error Code indicating success or failure. + + + + Function to send data to a client at the specified index + + Client Index + Buffer of bytes + Count of bytes to send + Socket Error Code indicating success or failure. + + + + Function to send data to a client + + Buffer of bytes + Count of bytes to send + Socket Error Code indicating success or failure. + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Callback for the async send + + + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to a client at the specified index + The callback function gets invoked once the send succeeds or an error occurs. + + Client Index + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to disconnect the client from the server + This assumes a single client is connected to the server and will close that client + + SocketErrorCodes indicating a failure or a success + The TCP Server handles disconnecting of the client automatically in cases where there is an error. + + + + Function to disconnect a specific client at the specified index + + Unique client Index + SocketErrorCodes indicating a failure or a success + The TCP Server handles disconnecting of the client automatically in cases where there is an error. + + + + Function to disconnect all the sockets and to stop the server. + + + + + Determines if there are pending connection requests. + + true if connections are pending; otherwise, false. + The server has not been started using "WaitForConnection" or "WaitForConnectionAsync". + + + + Function to stop the TCP server, but leave the existing connections in place + + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + + Client Index + Offset into the packet to start receive + Number of bytes received. + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + + Client Index + Number of bytes received. + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This assumes a single client is connected to the server and reads data from that client. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This assumes a single client is connected to the server and reads data from that client. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + + + + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + Offset into the packet to start receive + Socket error code indicating operation pending or an error + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + Socket error code indicating operation pending or an error + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + Offset into the packet to start receive + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to read data from the client at the specified index + This function will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Client Index + Callback function to get invoked when data has been received or an error occurs + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to return whether data is available to be read from the client at the specified index + + Client Index + True if there is data available or false + + + + Function to read data from the client + This assumes a single client is connected to the server and reads data from that client. + This function will clear out the buffer before reading in new data. + + Number of bytes received. + + + + Function to check if a client at the specified index is connected or not + + Client Index + true or false. + + + + Handle link up on a TCP Server + + + + + Handle link loss on a TCP Server + Closes the socket and sets the status to be SOCKET_STATUS_LINK_LOST + + + + + Address to accept connection from (the server's address) + + + + + Indicates the state of the server + + + + + Property to set the SSL Handshake timeout in seconds. This controls the maximum time allowed for the SSL handshake to complete + before the socket is closed. The default timeout is which means that the SSL handshake + process will block forever. The range of permitted values is 30 seconds to . + + Timeout cannot be less then 30 seconds + + + + Timeout period in milli second for socket send or receive + + + + + Port Number for the server port + + + + + Max number of clients supported + + + + + Indicates number of clients connected at the current time. + This will return -1 if we are unable to get the count. + + + + + Gets or Sets the current state of the Nagle Algorithm for the server socket + Enabling Nagle will delay when send or receive buffers are not full. + Note: Nagle is not enabled by default. + + + + + Socket status change event that is fired when the status changes + + + + + Event triggered when the status of the socket changes + + + + + Indicates if the user wants to bind to a specific adapter + This is valid on systems which support multiple adapters. + Ignored on systems which do not support multiple adapters. + Only valid if the address of the TCP server is defined as 0.0.0.0 - Ignored otherwise + Set to EthernetAdapterType.EthernetUnknownAdapter if no specific binding is required. + On units which just have a single adapter - we can accept a connection from anywhere + - In this case this setting is ignored + On units which have multiple adapters + - If the user specified EthernetCSAdapter then accept connection from Control Subnet side only + - If the user specified EthernetLAN2Adapter then accept connection from LAN2 side only + - If the user specified EthernetLANAdapter, then accept connections from anywhere but from the Control subnet side and LAN2 + + + + + Local Address of server that accepted a connection. + This assumes a single client is connected to the server and returns the local address of that server connection. + + + + + Address of the client which got connected to the server. + This assumes a single client is connected to the server and returns the address of that client + + + + + Source Port number of the client which got connected to the server. + This assumes a single client is connected to the server and returns the source port number of that client + + + + + Incoming data buffer for the client connected to the server + This assumes a single connection to the TCP Server + + + + + Function to get a socket status + This assumes a single client is connected to the server and returns the address of that client + + Socket status ... + + + + Indicates whether data is available on the client to be read. + This assumes a single client is connected to the server and returns true if there is data which can be read from that specific client. + + + + + private class for the active socket + + + + + Socket timer timeout function + + current active socket + + + + Class for the TCP Client + + + + + For reporting in WHO command + + + + + + + + + + + + Default Constructor for the TCP Client + Initializes port number to be an invalid value + Allocates buffer of default size + + + + + Constructor for the TCP Client + + IP Address of TCP Server to connect to. + TCP Port number. + Size of the internal buffer to hold received data. + + + + Constructor for the TCP Client + + IP end point of TCP Server to connect to. + Size of the internal buffer to hold received data. + + + + Socket timer timeout function + + A tcp client + + + + Function to validate the parameters before we initiate a connection. + + + + + + + Have the Client Connect to the specified server. + + SocketErrorCodes indicating a success or a failure + + + + Callback method for the Begin Connect ... + + + + + + Function to connect to the server asynchronously. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + + Callback invoked when the client gets connected or an error occurred. + SocketErrorCode indicating socket operation pending or an error + + + + Function to connect to the server asynchronously. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + + Callback invoked when the client gets connected or an error occurred. + User specified object passed to the callback + SocketErrorCode indicating socket operation pending or an error + + + + Function to disconnect from an already connected socket + + SocketErrorCodes indicating a success or a failure + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Offset to read the data from + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Offset to read the data from + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to read data from the TCP client + This will clear out the buffer before reading in new data. + + Offset to read the data from + The number of bytes received by the client. + + + + Function to read data from the TCP client + This will clear out the buffer before reading in new data. + + The number of bytes received by the client. + + + + Function to send data to the server + + Buffer of bytes + Start at the specified offset + Count of bytes to send + SocketErrorCodes indicating a success or a failure + + + + Function to send data to the server + + Buffer of bytes + Count of bytes to send + SocketErrorCodes indicating a success or a failure + + + + Callback for the async send + + + + + + Function to send data asynchronously to the server + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the server + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the server. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + User specified object that is passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the server. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + User specified object that is passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Handle link up on a TCP client + Sets the state to be SOCKET_STATUS_NO_CONNECT + + + + + Handle link loss on a TCP client + Disconnects the socket and sets the status to be SOCKET_STATUS_LINK_LOST + + + + + free resources and disconnect + + + + + Releases the unmanaged resources used by the TcpClient and optionally releases the managed resources. + + Set to true to release both managed and unmanaged resources; false to release + only unmanaged resources. + + + + Sets the address of server to connect to. + Returns the address of the server. + + + + + Timeout period in milli second for socket send or receive + + + + + Indicates the local IP address of the client. + + + + + Indicates the local port number used + Only valid after the client is connected to the server. + + + + + Port number + This is the port number of the server to connect to. + + + + + Buffer for Incoming Data + + + + + Socket status + + + + + Socket status change event that is fired when the status changes + + + + + Event triggered when the status of the socket changes + + + + + Gets or Sets the current state of the Nagle Algorithm for the client + Enabling Nagle will delay when send or receive buffers are not full. + Note: Nagle is not enabled by default. + + + + + Returns the Ethernet adapter on which the socket resides + EthernetAdapterType.EthernetLANAdapter indicates that the socket is on the LAN Adapter + EthernetAdapterType.EthernetCSAdapter indicates the Control Subnet side (for a system with a router) + EthernetAdapterType.EthernetUnknownAdapter indicates that the socket is not initialized as yet + EthernetAdapterType.EthernetLAN2Adapter indicates the second LAN Adapter + + + + + Indicates whether data is available on the client to be read. + + + + + Class for the Secure TCP Client + + This code snippet shows how one might instantiate and use a SecureTCPClient object + + using System; + using System.Text; // for ASCIIEncoding + using Crestron.SimplSharp; // for CrestronConsole + using Crestron.SimplSharp.CrestronSockets; // for SecureTCPClient + + /* ...Startup code for a SecureTCPClient... */ + + SecureTCPClient client = new SecureTCPClient("localhost", 8000, 100); // provide hostname, port, and size of the incoming data buffer + client.SocketStatusChange += new SecureTCPClientSocketStatusChangeEventHandler(clientSocketStatusChange); + + SocketErrorCodes err; + + ErrorLog.Notice("Trying to connect with server..."); + try + { + // clientConnectCallback gets invoked once client either + // connects successfully or encounters an error + err = client.ConnectToServerAsync(clientConnectCallback); + CrestronConsole.PrintLine("ConnectToServerAsync returned: " + err); + } + catch (Exception e) + { + CrestronConsole.PrintLine("Error connecting to server: " + e.Message); + } + + /* ...Callback methods... */ + + public void clientSocketStatusChange(SecureTCPClient client, SocketStatus clientSocketStatus) + { + CrestronConsole.PrintLine("Client Socket Status Change - Socket State is now " + clientSocketStatus); + } + + public void clientConnectCallback(SecureTCPClient client) + { + CrestronConsole.PrintLine("clientConnectCallback: ClientStatus is: " + client.ClientStatus); + if (client.ClientStatus == SocketStatus.SOCKET_STATUS_CONNECTED) + { + CrestronConsole.PrintLine("clientConnectCallback: Connected to " + client.AddressClientConnectedTo + " on port " + client.PortNumber); + // Once connected, begin waiting for packets from the server. + // This call to ReceiveDataAsync is necessary to receive the FIN packet from the server in the event + // that the TLS handshake fails and the connection cannot be made. If you do not call ReceiveDataAsync here, + // the client will remain "connected" from its perspective, though no connection has been made. + client.ReceiveDataAsync(clientReceiveCallback); + } + else + { + CrestronConsole.PrintLine("clientConnectCallback: No connection could be made with the server."); + } + } + + public void clientReceiveCallback(SecureTCPClient client, int bytes_recvd) + { + if (bytes_recvd <= 0) // 0 or negative byte count indicates the connection has been closed + { + CrestronConsole.PrintLine("clientReceiveCallback: Could not receive message- connection closed"); + } + else + { + try + { + CrestronConsole.PrintLine("Received " + bytes_recvd + " bytes from " + client.AddressClientConnectedTo + " port " + client.PortNumber); + string received = ASCIIEncoding.ASCII.GetString(client.IncomingDataBuffer, 0, client.IncomingDataBuffer.Length); + CrestronConsole.PrintLine("Server says: " + received); + } + catch (Exception e) + { + CrestronConsole.PrintLine("Exception in clientReceiveCallback: " + e.Message); + } + // Wait for another message + client.ReceiveDataAsync(clientReceiveCallback); + } + } + + + + + + + For reporting in WHO command + + + + + + + + + + + + Default Constructor for the Secure TCP Client + Initializes port number to be an invalid value + Allocates buffer of default size + + + + + Constructor for the Secure TCP Client + + IP Address of TCP Server to connect to. + TCP Port number. + Size of the internal buffer to hold received data. + + + + Constructor for the TCP Client + + IP end point of TCP Server to connect to. + Size of the internal buffer to hold received data. + + + + Sets Client Security Certificate associated with this object. + + The client x509 certificate object in binary (DER) format + + object does not contain the corresponding private key so it must be provided using a SetClientPrivateKey method. + This method requires firmware version 1.502.xxxx or later + + + + + Sets the Private Key corresponding to the Client Certificate + + The private key in binary (DER) format + + This method requires firmware version 1.502.0048 or later + + + + + Socket timer timeout function + + A tcp client + + + + Function to validate the parameters before we initiate a connection. + + Target IP address to connect to. + Indicating whether is a host name, not IP address. + + + + + Have the Client Connect to the specified server. + + SocketErrorCodes indicating a success or a failure + + + + Callback method for the Begin Connect ... + + + + + + Function to connect to the server asynchronously. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + + Callback invoked when the client gets connected or an error occurred. + SocketErrorCode indicating socket operation pending or an error + + This method requires firmware version 1.502.xxxx or later + + + + + Function to connect to the server asynchronously. This is a non blocking call. The call will check for the parameters + and will start an asynchronous operation. The callback gets invoked when the connection succeeds or an error occurs. + + Callback invoked when the client gets connected or an error occurred. + User specified object passed to the callback + SocketErrorCode indicating socket operation pending or an error + + This method requires firmware version 1.502.xxxx or later + + + + + Internal method - will not check for the state at all. + + + + + Function to disconnect from an already connected socket + + SocketErrorCodes indicating a success or a failure + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Offset to read the data from + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Offset to read the data from + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the TCP client. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + User specified callback object passed to the callback + Socket error code indicating operation pending or an error + + + + Function to read data from the TCP client + This will clear out the buffer before reading in new data. + + Offset to read the data from + The number of bytes received by the client. + + + + Function to read data from the TCP client + This will clear out the buffer before reading in new data. + + The number of bytes received by the client. + + + + Function to send data to the server + + Buffer of bytes + Start at the specified offset + Count of bytes to send + SocketErrorCodes indicating a success or a failure + + + + Function to send data to the server + + Buffer of bytes + Count of bytes to send + SocketErrorCodes indicating a success or a failure + + + + Callback for the async send + + + + + + Function to send data asynchronously to the server + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the server + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the server. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Start at the specified offset + Count of bytes to send + Callback function to invoke when send completes + User specified object that is passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the server. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + User specified object that is passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Handle link up on a TCP client + Sets the state to be SOCKET_STATUS_NO_CONNECT + + + + + Handle link loss on a TCP client + Disconnects the socket and sets the status to be SOCKET_STATUS_LINK_LOST + + + + + free resources and disconnect + + + + + Releases the unmanaged resources used by the SecureTCPClient and optionally releases the managed resources. + + Set to true to release both managed and unmanaged resources; false to release + only unmanaged resources. + + + + Sets the address of server to connect to. + Returns the address of the server. + + + + + Timeout period in milli second for socket send or receive + + + + + Indicates the local IP address of the client. + + + + + Indicates the local port number used + Only valid after the client is connected to the server. + + + + + Port number + This is the port number of the server to connect to. + + + + + Buffer for Incoming Data + + + + + Socket status + + + + + Returns Secure Stream used for Ssl Connection. + + + + + Socket status change event that is fired when the status changes + + + + + Event triggered when the status of the socket changes + + + + + Gets or Sets the current state of the Nagle Algorithm for the client + Enabling Nagle will delay when send or receive buffers are not full. + Note: Nagle is not enabled by default. + + + + + Returns the Ethernet adapter on which the socket resides + EthernetAdapterType.EthernetLANAdapter indicates that the socket is on the LAN Adapter + EthernetAdapterType.EthernetCSAdapter indicates the Control Subnet side (for a system with a router) + EthernetAdapterType.EthernetUnknownAdapter indicates that the socket is not initialized as yet + EthernetAdapterType.EthernetLAN2Adapter indicates the second LAN Adapter + + + + + Indicates whether data is available on the client to be read. + + + + + Class for the UDP Server + + + + + Default Constructor for the UDP Server + Initializes port number to be an invalid value + Allocates buffer of default size + + + + + Constructor for the UDP server + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local and the remote port number + Size of internal buffer to store received data. + + + + Constructor for the UDP server + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local and the remote port number + Size of internal buffer to store received data. + + + + Constructor for the UDP server + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local port number + Size of internal buffer to store received data. + Indicates the remote port number + + + + Constructor for the UDP server + + Indicates IP end point we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local port number + Size of internal buffer to store received data. + + + + Constructor for the UDP server + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local and the remote port number + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Set to + EthernetUnknownAdapter if no specific binding is required. Only valid if address is 0.0.0.0 / 255.255.255.255 or a multicast socket + + + + Constructor for the UDP server + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local and the remote port number + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Set to + EthernetUnknownAdapter if no specific binding is required. Only valid if address is 0.0.0.0 / 255.255.255.255 or a multicast socket + + + + Constructor for the UDP server + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local port number + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Set to + EthernetUnknownAdapter if no specific binding is required. Only valid if address is 0.0.0.0 / 255.255.255.255 or a multicast socket + Indicates the remote port number + + + + Constructor for the UDP server + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local port number + Size of internal buffer to store received data. + Ethernet adapter to bind to. Based on the EthernetAdapterType enum. Set to + EthernetUnknownAdapter if no specific binding is required. Only valid if address is 0.0.0.0 / 255.255.255.255 or a multicast socket + + + + Socket timer timeout function + + UDP server + + + + Function to enable the UDP server + + SocketErrorCodes indicating a success or failure + + + + IsIpAddressMulticast - Function to determine if the specified IP address is a multicast address + + + + + + Function to enable the UDP server for the specified remote address using the specified local and remote port number + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local port number. Can be set to 0 to use the next available port number + Indicates the remote port number. + SocketErrorCodes indicating a success or failure + + + + Function to enable the UDP server for the specified remote address using the specified local and remote port number + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local port number. Can be set to 0 to use the next available port number + Indicates the remote port number. + SocketErrorCodes indicating a success or failure + + + + Function to enable the UDP server for the specified remote address and the portnumber. + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local and the remote port number + SocketErrorCodes indicating a success or failure + + + + Function to enable the UDP server for the specified remote address and the portnumber. + + Indicates address we accept data from. This could be a unicast/multicast/broadcast address or 0.0.0.0 to listen to any remote address. + Indicates the local and the remote port number + SocketErrorCodes indicating a success or failure + + + + Function to uninitialize the UDP server and free all resources + + SocketErrorCodes indicating a success or failure + + + + Function to read data asynchronously from the UDP Server. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + Socket error code indicating operation pending or an error + + + + Function to read data asynchronously from the UDP Server. This is a non-blocking call. + This will clear out the buffer before reading in new data. + The callback function gets invoked once the read succeeds or an error occurs. + + Callback function to get invoked when data has been received or an error occurs + User specified callback object that is passed to the callback + Socket error code indicating operation pending or an error + + + + Function to read data from the socket. The Callback function gets invoked when the read succeeds or an error + occurs. + + Byte array to read the data into + Receive Callback to invoke. + + + + + Function to read data from the socket. The Callback function gets invoked when the read succeeds or an error + occurs. + + Byte array to read the data into + Receive Callback to invoke. + User specified callback object passed to the callback + + + + + Function to make sure that the UDP is parsed properly before it is passed on ... + + + + + + + + Function to read data from the UDP Server. This is a blocking call. + This will clear out the buffer before reading in new data. + + Returns the number of bytes read + + + + Function to send data to the remote IP Address and port number where the last packet was received from. + Uses the IPAddressLastMessageReceivedFrom and the IPPortLastMessageReceivedFrom + + Buffer of bytes + Number of bytes to send + SocketErrorCodes indicating success or specific failure + + + + Function to send data asynchronously to the remote IP Address and port number where the last packet was received from. + Uses the IPAddressLastMessageReceivedFrom and the IPPortLastMessageReceivedFrom. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Number of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Receive data callback + + + + + + Callback for the send Data Async call + + + + + + Function to send data asynchronously to the specified address and port number. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Number of bytes to send + Address to send to + Port number to send to + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the specified address and port number. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Number of bytes to send + IP end point to send to + Callback function to invoke when send completes + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the specified address and port number. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Number of bytes to send + Address to send to + Port number to send to + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to send data asynchronously to the specified address and port number. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Number of bytes to send + IP end point to send to + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating socket send pending or specific failure + + + + Function to do basic error checking. + + + + + + + + + + Function to send data to a specified remote address on the specified port number + + Buffer of bytes + Number of bytes to send + Address to send to + Port number to send to + SocketErrorCodes indicating success or specific failure + + + + Function to send data to a specified remote address on the specified port number + + Buffer of bytes + Number of bytes to send + Address to send to + Port number to send to + Indicates that the address is a hostname and needs to be resolved. + SocketErrorCodes indicating success or specific failure + + + + Function to send data to a specified remote address on the specified port number + + Buffer of bytes + Number of bytes to send + IP end point to send to + SocketErrorCodes indicating success or specific failure + + + + Function to send data to the server + + Buffer of bytes + Count of bytes to send + SocketErrorCodes indicating a success or failure + + + + Function to send data to the server asynchronously. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + SocketErrorCodes indicating a operation pending or failure + + + + Function to send data to the server asynchronously. + The callback function gets invoked once the send succeeds or an error occurs. + + Buffer of bytes + Count of bytes to send + Callback function to invoke when send completes + User specified callback object passed to the callback + SocketErrorCodes indicating a operation pending or failure + + + + Handle link up on a UDP Server + Sets the status to SOCKET_STATUS_NO_CONNECT + + + + + Handle link loss on a UDP Server + Sets the status to be SOCKET_STATUS_LINK_LOST + + + + + free up resources and disable the server + + + + + Releases the unmanaged resources used by the UdpServer and optionally releases the managed resources. + + Set to true to release both managed and unmanaged resources; false to release + only unmanaged resources. + + + + Address to accept connection from + + + + + Indicates the local IP address of the client. + + + + + Timeout period in milli second for socket send or receive + + + + + Port number - This is the local and remote port number if the RemotePortNumber property + is not used. If the RemotePortNumber is defined, then this is just the local port number. + When used as the local port number - it can set as 0. In this case, we will use the next available port number. + Cannot be set to 0 when used as both the local and remote port number. + + + + + Remote port number + + + + + Buffer for Incoming Data + + + + + Socket status + + + + + Indicates if the user wants to bind to a specific adapter + This is valid on systems which support multiple adapters. + Undefined on systems which do not support multiple adapters. + Only valid if the address of the UDP server is defined as 0.0.0.0/255.255.255.255/ Multicast socket - Ignored otherwise. + Set to EthernetAdapterType.EthernetUnknownAdapter if no specific binding is required. + + + + + String indicating the source address that the last UDP Packet was received from. + Valid only after a packet has been received from the remote side. + Used within the SendDataEx function to send data back to the remote endpoint where the last data was received from. + This will return String.Empty if no packet has been received from the remote end + + + + + This indicates source port that the last UDP Packet was received from. + Valid only after a packet has been received from the remote side. + Used within the SendDataEx function to send data back to the remote endpoint where the last data was received from. + + + + + Indicates whether data is available on the UDP server + + + + + Contains the XML namespaces and prefixes that the uses to generate qualified names in an XML-document instance. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class, using the specified instance of containing the collection of prefix and namespace pairs. + + An array of XmlQualifiedName objects. + + + + Initializes a new instance of the class, using the specified instance of containing the collection of prefix and namespace pairs. + + An instance of the containing the namespace and prefix pairs. + + + + Adds a prefix and namespace pair to an object. + + The prefix associated with an XML namespace. + An XML namespace. + If you want the to qualify the element and attribute names in an XML document, you must + Add the prefix and namespace pairs to a object. Any namespaces + that you add must conform to the www.w3.org specification Namespaces in XML. + + + + Gets the array of prefix and namespace pairs in a object. + + An array of objects that are used as qualified names in an XML document. + + + + Gets the number of prefix and namespace pairs in the collection. + + + + + Thread start delegate + + + + + Constructor for the UserThreadStartDelegateWrapper + + + + + + + TimerCallbackFunction - This is the timer callback for the user specified function + + + + + + Function to start the timer + + + + + Delegate for the callback for the Invoke functionality for the Crestron Sharp Helper + + User specified Specific Parameter + + + + Crestron Invoke class - Provides BeginInvoke functionality + + + + + Function to Invoke the user specified callback + + Callback function to be invoked + Object to the specific callback - Reserved for future use + callbackFunction cannot be NULL + + + + Function to Invoke the user specified callback + + Callback function to be invoked + Parameter to be passes to the callback function + Object to the specific callback - Reserved for future use + callbackFunction cannot be NULL + + + + Contains File system information exposed by statvfs@openssh.com request. + + + + + Initializes a new instance of the class. + + The bsize. + The frsize. + The blocks. + The bfree. + The bavail. + The files. + The ffree. + The favail. + The sid. + The flag. + The namemax. + + + + Gets the size of the block. + + + The size of the block. + + + + + Gets the total blocks. + + + The total blocks. + + + + + Gets the free blocks. + + + The free blocks. + + + + + Gets the available blocks. + + + The available blocks. + + + + + Gets the total nodes. + + + The total nodes. + + + + + Gets the free nodes. + + + The free nodes. + + + + + Gets the available nodes. + + + The available nodes. + + + + + Gets the sid. + + + The sid. + + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets a value indicating whether [supports set uid]. + + + true if [supports set uid]; otherwise, false. + + + + + Gets the max name length. + + + The max name length. + + + + + Encapsulates the results of an asynchronous download operation. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + Number of downloaded bytes. + + + + Gets or sets a value indicating whether to cancel asynchronous download operation. + + + true if download operation to be canceled; otherwise, false. + + + Download operation will be canceled after finishing uploading current buffer. + + + + + Gets the number of downloaded bytes. + + + + + Represents base class for Diffie Hellman key exchange algorithm + + + + + Specifies client payload + + + + + Specifies server payload + + + + + Specifies client exchange number. + + + + + Specifies server exchange number. + + + + + Specifies random generated number. + + + + + Specifies host key data. + + + + + Specifies signature data. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Validates the exchange hash. + + + true if exchange hash is valid; otherwise false. + + + + + Populates the client exchange value. + + + + + Implements PKCS7 cipher padding + + + + + Transforms the specified input. + + Size of the block. + The input. + + Padded data array. + + + + + Implements CFB cipher mode + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Represents SSH_MSG_KEXECDH_REPLY message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets a string encoding an X.509v3 certificate containing the server's ECDSA public host key + + The host key. + + + + Gets the the server's ephemeral contribution to the ECDH exchange, encoded as an octet string. + + + + + Gets the an octet string containing the server's signature of the newly established exchange hash value. + + The signature. + + + + Represents "subsystem" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The subsystem. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the name of the subsystem. + + + The name of the subsystem. + + + + + Represents "eow@openssh.com" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Represents SSH_MSG_USERAUTH_SUCCESS message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_PK_OK message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the name of the public key algorithm. + + + The name of the public key algorithm. + + + + + Gets the public key data. + + + + + Represents SSH_MSG_USERAUTH_INFO_REQUEST message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets information request name. + + + + + Gets information request instruction. + + + + + Gets information request language. + + + + + Gets information request prompts. + + + + + The exception that is thrown when pass phrase for key file is empty or null + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + The exception that is thrown when authentication failed. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Provides data for event. + + + + + Initializes a new instance of the class. + + Request information. + + + + Gets request information. + + + + + Provides prompt information when is raised + + + + + Initializes a new instance of the class. + + The sequence id. + if set to true the user input should be echoed. + The request. + + + + Gets the prompt sequence id. + + + + + Gets or sets a value indicating whether the user input should be echoed as characters are typed. + + + true if the user input should be echoed as characters are typed; otherwise, false. + + + + + Gets server information request. + + + + + Gets or sets server information response. + + + The response. + + + + + This enumeration defines the values of how frequently the HostName should be looked up. + + + + + The specified HostName should be looked up once per application run. + + + + + The HostName will be resolved again for each subsequent connect. + This value is preferable if you anticipate the System.Net.IPAddress of the target host to change frequently. + + + + + Crestron License manager class + + + + + Method to check to see if this is a default license. if a default license then we do not indicate that the + unit is licensed. + + Vendor Id + Module Id + + + + + Validate license information + + Vendor Identifier + Module Identifier + A . + + + + Crestron License manager information data. + + + + + License payload data + + + + + License name string + + + + + License info string + + + + + license is valid flag + + + + + License vendor id + + + + + License module id + + + + + Get license is valid flag for last license validation check (true=valid) + + + + + Get module id for last license validation access + + + + + Get module id for last license validation access + + + + + Get payload data for last license validation access + + + + + Get/Set info string for last license validation access + + + + + Get/Set name string for last license validation access + + + + + Calculates the 16 bit CRC of a packet using a table. + + A pointer to the packet that the CRC will be calculated for. + A pointer to where the CRC will go. + Variable that the CrcHi will be put into. + Variable that the CrcLo will be put into. + + + + Implements RSA cipher algorithm. + + + + + Initializes a new instance of the class. + + The RSA key. + + + + Encrypts the specified data. + + The data. + Encrypted data. + + + + Decrypts the specified data. + + The data. + + Decrypted data. + + Only block type 01 or 02 are supported. + Thrown when decrypted block type is not supported. + + + + Implements CBC cipher mode + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + AES cipher implementation. + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + or is null. + or is too short. + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + or is null. + or is too short. + + + + Provides functionality to perform password authentication. + + + + + Initializes a new instance of the class. + + The username. + The password. + is whitespace or null. + is null. + + + + Initializes a new instance of the class. + + The username. + The password. + is whitespace or null. + is null. + + + + Authenticates the specified session. + + The session to authenticate. + + Result of authentication process. + + is null. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets authentication method name + + + + + Occurs when user's password has expired and needs to be changed. + + + + + Provides list of disconnect reason as specified by the protocol. + + + + + Disconnect reason is not provided. + + + + + SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT + + + + + SSH_DISCONNECT_PROTOCOL_ERROR + + + + + SSH_DISCONNECT_KEY_EXCHANGE_FAILED + + + + + SSH_DISCONNECT_RESERVED + + + + + SSH_DISCONNECT_MAC_ERROR + + + + + SSH_DISCONNECT_COMPRESSION_ERROR + + + + + SSH_DISCONNECT_SERVICE_NOT_AVAILABLE + + + + + SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED + + + + + SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE + + + + + SSH_DISCONNECT_CONNECTION_LOST + + + + + SSH_DISCONNECT_BY_APPLICATION + + + + + SSH_DISCONNECT_TOO_MANY_CONNECTIONS + + + + + SSH_DISCONNECT_AUTH_CANCELLED_BY_USER + + + + + SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE + + + + + SSH_DISCONNECT_ILLEGAL_USER_NAME + + + + + Represents SSH_MSG_CHANNEL_EOF message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Provides data for the Downloading event. + + + + + Initializes a new instance of the class. + + The downloaded filename. + The downloaded file size. + The number of downloaded bytes so far. + + + + Gets the downloaded filename. + + + + + Gets the downloaded file size. + + + + + Gets number of downloaded bytes so far. + + + + + TCPClient Class provides client connections for TCP (Transmission Control Protocol) network services. + + + + + TCP Client base constructor + + + + + Class for the crestron Mutex + + + + + Constructor for the Crestron Mutex + Mutex is not initially owned - Use WaitForMutex to get ownership + + + + + Constructor for the Crestron Mutex + + True to give the calling thread initial ownership of the mutex; otherwise false. + + + + Destructor for the CMutex class + + + + + Clean up of unmanaged resources. + + + + + Dispose implementation + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Closes the mutex + + + + + Function to release the mutex + Throws + + Object is already disposed + Calling thread does not own the mutex + + + + Function to acquire the specified mutex. This will block indefinitely until the mutex can be acquired + + True - if we can acquire the mutex / False - if we cannot acquire the mutex + Object is already disposed + + + + Function to acquire the specified mutex. This will block for the specified timeout In ms + + Time to wait for in Milliseconds + True - if we can acquire the mutex / False - if we cannot acquire the mutex + Object is already disposed + + + + Class for the crestron Named Mutex + A named mutex can be shared across multiple programs + + + + + Constructor for the Crestron named Mutex + This can be used to synchronize across multiple programs + Mutex is not initially owned - Use WaitForMutex to get ownership + + Name of the mutex + If true will log an info message if the mutex already exists (created by another program) + Unable to create mutex + + + + Constructor for the Crestron Mutex + + True to give the calling thread initial ownership of the mutex; otherwise false. + Name of the mutex + If true will log an info message if the mutex already exists (created by another program) + Unable to create mutex + + + + Destructor for the CMutex class + + + + + Clean up of unmanaged resources. + + + + + Dispose implementation + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Closes the mutex + + + + + Function to release the mutex + + Object is already disposed + Calling thread does not own the mutex + + + + Function to acquire the specified mutex. This will block indefinitely until the mutex can be acquired + + True - if we can acquire the mutex / False - if we cannot acquire the mutex + Object is already disposed + + + + Function to acquire the specified mutex. This will block for the specified timeout In ms + + Time to wait for in Milliseconds + True - if we can acquire the mutex / False - if we cannot acquire the mutex + Object is already disposed + + + + Property to get the name of the mutex + + + + + Enums for the Ethernet Adapter Type + + + + + Error - Indicates adapter is unknown or ignored + + + + + Indicates Ethernet LAN Adapter + + + + + Indicates Ethernet Control Subnet Adapter + + + + + Indicates WIFI Adapter + + + + + Indicates second EthernetLANAdapter + + + + + Crestron Ethernet Helper library + + + + + maximum buffer size for toolbox and control system connection ethernet settings + + + + + maximum buffer size for port forwarding ethernet settings + + + + + Function to map the passed in adapter Id to the EthernetAdapterType + + Adapter Id to map to a valid EthernetAdapterType + EthernetAdapterType based on the passed in adapter Id. + Invalid adapter Id specified + + + + Function to return the adapter Id for the given adapter Type + + Adapter Type to map to an adapter Id + Adapter Id corresponding to the specified adapter type + Invalid adapter type specified + + + + Function to set the specified ethernet parameter for the specific device Id + + Ethernet parameter to set + adapter Id - 0 Based + value to be set\ + user credential token. + true if the operation succeeds; otherwise, false + User Token is not valid + User is not administrator. + + + + Function to set the specified ethernet parameter for the specific device Id + + Ethernet parameter to set + adapter Id - 0 Based + value to be set + true if the operation succeeds; otherwise, false + + + + Function to get the specified ethernet parameter + + ethernet parameter to get + adapter Id - 0 Based + String containing the Ethernet parameter value. + + + + Configure the starting port number for toolbox control system connection + + The User PAT starting port number + returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Get the starting port number for toolbox control system connection + + The User PAT starting port number + returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Add port forwarding + + Port number on the LAN side + Port number on the control sub-net side + IP address (in dot decimal notation) of the device on the LAN side of Router + IP protocol for the portmap service (TCP | UDP) + Returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Add port forwarding + + Port number on the LAN side + Port number on the control sub-net side + IP address (in dot decimal notation) of the device on the LAN side of Router + IP protocol for the portmap service (TCP | UDP) + Returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Remove port forwarding + + Port number on the LAN side + Port number on the control sub-net side + IP address (in dot decimal notation) of the device on the LAN side of Router + IP protocol for the portmap service (TCP | UDP) + Returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Remove port forwarding + + Port number on the LAN side + Port number on the control sub-net side + IP address (in dot decimal notation) of the device on the LAN side of Router + IP protocol for the portmap service (TCP | UDP) + Returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Add or Remote a port map for this control system's router. Please wait for the router to be present before using this function. + + 'true' Add the following port map, 'false' remove the following map. + Port to add or remove based on the value of 'paramAddRemove'. + Network protocol this port maps to. + 'true' the port map was successfully modified, 'false' there was an error making the modification. + + + + Get list of port forwarding entries + + where the port forward information is returned + returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Get list of ports opened for toolbox control system connections + + where the toolbox and cs connection information is returned + returns PortForwardingUserPatRetCodes.NoErr if successful + + + + Function to the Get the CS side CIDR notation + + + + + + + Function to set the CS side CIDR notation + + + + + + + Get list of IP Addresses connected to a specified IPID. + This function is not valid for a UDP connection. + + The IPID to query IP Addresses for. + String array populated with IP Address(es) of connected device(s). + Empty string array means nothing is connected to the IPID or an invalid IPID + Returns null in error condition + This functionality requires a minimum firmware version of 1.011.0010 + + + + Method to check if the supplied address is a hostname. + + String to check for a hostname. + 'true' the supplied string is a hostname; 'false' otherwise. + + + + Indicates if the ControlSubnet is in the Automatic mode + This is only for systems which have a router. + + + + + Enum for ethernet parameters which we can set + + + + + Set Static IP Address + + + + + Set Static IP Mask + + + + + Set Static Default Router + + + + + Set HostName + + + + + Set Domain Name + + + + + Set Ethernet State + Valid States are ON/OFF + + + + + Set DHCP State + Valid States are ON/OFF + + + + + Set CIP Port + + + + + Set CTP Port + + + + + Set Web Port + + + + + Set Secure CIP Port + + + + + Set Secure CTP Port + + + + + Set Secure Web Port + + + + + Set Webserver State + Valid States are ON / OFF + + + + + Set SSL State + Can be SET to OFF / CA or SELF + + + + + Adds the specified DNS Server + DNS server specified in A.B.C.D format + + + + + Removes the specified DNS Server + DNS server specified in A.B.C.D format + + + + + Sets the CS side router prefix + Only valid on systems which have a router + + + + + Enum for ethernet parameters which we can get + + + + + Returns the statically assigned IP Address + + + + + Returns the statically assigned IP Mask + + + + + Returns the statically assigned Default Router + + + + + Returns the current IP Address + + + + + Returns the current IP Mask + + + + + Returns the current Router + + + + + Returns the current HostName + + + + + Returns the current Domain Name + + + + + Returns the current DHCP Server + Only valid if the current DHCP state is enabled + + + + + Returns the current CIP Port + + + + + Returns the current CTP Port + + + + + Returns the current Webserver port + + + + + Returns the current Secure CIP Port + + + + + Returns the current Secure CTP Port + + + + + Returns the currentSecure WebServer Port + + + + + Returns the current Webserver status + + + + + Get SSL SELF Status + Returns ON / OFF + + + + + Get SSL Type + Returns None / Self / CA + + + + + Get SSL CA status + Returns ON / OFF + + + + + Get SSL OFF Status + Returns ON / OFF + + + + + Get DNS Servers + List of "," separated DNS servers + + + + + Get MAC address + + + + + Returns DHCP state on system startup + + + + + Returns the current DHCP state + + + + + Returns the current Ethernet State + + + + + Returns the current Link Status + + + + + Get the CS side router prefix + Only valid on systems which have a router + + + + + Port forwarding and SetStartingPortForToolBoxCSConnection function return codes + + + + + User PAT call was successful + + + + + General error + + + + + Router is not preset + + + + + Router returned error + + + + + External port number is invalid + + + + + Internal port number is invalid + + + + + Host name is invalid + + + + + Invalid protocol or unsupported protocol selected + + + + + Port number is invalid + + + + + IP address is invalid + + + + + Isolate Network mode is active + + + + + Port forwarding parameters + + + + + Port number on the LAN side + + + + + Port number on the control sub-net side + + + + + IP address + + + + + IP protocol e.g. TCP, UDP etc... + + + + + Indicates the owner + Can be either User or System + User indicates that this entry can be deleted + System indicates that this entry cannot be deleted + + + + + User PAT (protocol address translation) mapping parameters + + + + + LAN interface port number + + + + + IP protocol e.g. TCP, UDP etc... + + + + + Destination host name on the control sub-net side + + + + + Destination port number on the control sub-net side + + + + + Number of active connections being forwarded from the LAN side + + + + + Enumeration to define valid network protocols for the method. + + + + + Transmission Control Protocol (TCP) + + + + + User Datagram Protocol (UDP) + + + + + Ethernet Autodiscovery class + + + + + Prevent concurrent access to the AD functions + + + + + Function to initiate an Autodiscovery query on all the adapters. Will populate the DiscoveredElementsList. + This function needs to be invoked before a call can be made to any of the autodiscovery related functions. + + On a successful response , the DiscoveredElementsList gets populated. + eAutoDiscoveryErrors - enum indicating return value + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to initiate an Autodiscovery query on the specified adapter. Will populate the DiscoveredElementsList. + This function needs to be invoked before a call can be made to any of the autodiscovery related functions. + The parameter is only supported on firmware version 1.502.0018 and higher. + + Indicates which adapter to query. The valid values are for LAN side , + for CS side and for both sides. + is the default value. This value is only used for a unit with a router. For all other + units this value is ignored. + On a successful response , the DiscoveredElementsList gets populated. + eAutoDiscoveryErrors - enum indicating return value + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to return the device element at the specified IP Address + + IP address + Element in the discovered list corresponding to the specified address or NULL + Invoke the "Query" function to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to return the device element with the specified hostname + + hostname to search for + Element in the discovered list corresponding to the specified address or NULL + Invoke the "Query" function to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to send an IP Table entry for this control system to the specified device. + The device will require its setup (or equivalent) button pressed to acknowledge and process the new entry. + + Specific device within . + IP ID of the entry to send. Adds/Modifies an entry within the IPTable on the device + Timeout in ms for the device the respond to the autodiscovery command. This call will block until the timeout expires or the device responds to the autodiscovery. + 0 specifies no timeout. specifies this call will block until the device responds to the autodiscovery request. + + enum indicating failure or success + Call will return when autodiscovery stop function is invoked, timeout expires, or the device responds to the autodiscovery command. + Invoke the or to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to light the specified device.This will help the user to locate a specific device + + Specific device within the discovered list + Timeout in ms for the device the respond to the autodiscovery command. This call will block until the timeout expires + or the device responds to the autodiscovery. 0 specifies no timeout. Infinite specifies call will block until the device responds to the autodiscovery request. + + eAutoDiscoveryErrors Enum indicating failure or success + Call will return when we invoke the stop function / timeout expires / device responds to the autodiscovery command. + This requires a minimum firmware version of 1.011.0011 and higher. + Invoke the "Query" function to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to clear the IP table entry on the specified device. + + Specific device within the discovered list + Boolean indicating failure or success + Invoke the "Query" function to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to send an IP Table entry for this control system to all devices of the specified type. + The devices will require their setup (or equivalent) button pressed to acknowledge and process the new entry. + + Indicates the device type. This type must be present in the currnet . + New IP ID of the entry to send. Adds/Modifies an entry within the IPTable on the device. + Timeout in ms for the device the respond to the autodiscovery command. This call will block until the timeout expires or the device responds to the autodiscovery. + 0 specifies no timeout. specifies this call will block until the device responds to the autodiscovery request. + + If set to true, the controller will not force all devices on the network into light and poll mode if the specified device type is not found. This requires firmware version 1.013.0000 and higher. + enum indicating failure or success. + Call will return when autodiscovery stop function is invoked, timeout expires, or the device responds to the autodiscovery command. + Invoke the or to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to send an IP Table entry for this control system to all devices of the specified type. + The devices will require their setup (or equivalent) button pressed to acknowledge and process the new entry. + + Indicates the device type. This type must be present in the currnet . + New IP ID of the entry to send. Adds/Modifies an entry within the IPTable on the device. + Timeout in ms for the device the respond to the autodiscovery command. This call will block until the timeout expires or the device responds to the autodiscovery. + 0 specifies no timeout. specifies this call will block until the device responds to the autodiscovery request. + + enum indicating failure or success. + Call will return when autodiscovery stop function is invoked, timeout expires, or the device responds to the autodiscovery command. + Invoke the or to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to clear the IP Table Entry on the specified device defined by the device Type + + Indicates the device type + eAutoDiscoveryErrors enum indicating failure or success + Invoke the "Query" function to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to force the IPTableEntry on the specified device defined by the device type + + Indicates the device type + New IP Id to set the device to. Adds/Modifies an entry within the IPTable on the device + eAutoDiscoveryErrors enum indicating failure or success + Forces an iptable entry on the device of the specified type. + Invoke the "Query" function to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to stop the Autodiscovery functionality on the controller + + eAutoDiscoveryErrors enum indicating failure or success + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + Function to set the hostname on the specified device + + Specific device within the discovered list + New hostname to set on the device + eAutoDiscoveryErrors enum indicating failure or success + The device might not accept the new hostname until a reboot. + Invoke the "Query" function to populate the discovered element list. + Ethernet autodiscovery is not supported on this platform. Use to determine the running platform type. + + + + List of elements discovered by issuing a query command + Need to invoke the before this list is populated. + + + + + One Autodiscovered Ethernet device + + + + + IP Address of the device + + + + + IP Id of the device. + If non zero, indicates that the device has an IP Table entry for this specific controller. + + + + + Hostname of the device + + + + + Device Identification string + Includes device type / Version and additional device specific information + + + + + Indicates the adapter on which the specific device lies + Default is LAN. + + + + + Enum for return codes from the Autodiscovery operation + + + + + Indicates Autodiscovery not supported + + + + + Indicates Autodiscovery operation was successful + + + + + Indicates Autodiscovery operation timed out + + + + + Indicates unknown error. + + + + + Indicates invalid parameter(s) were passed in to the calls + + + + + Class to allow the CustomApplication to log errors. + Starting with firmware version 1.500 and higher, the contents + of the error log will also get posted to the Remote Sys Logger + if it is enabled. + + + + + Static Handle to the Error Log + + + + + Log a user generated error to the system's error log. + + String containing the error information + + + + Function to log an error + + Method Name or other Context information + String containing the error information + + + + Writes the text representation of the specified array of objects to + error log using the specified format information. + + A composite format string for error information. + An array of objects to write using format. + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Log a user generated warning to the system's error log. + + String containing the warning information + + + + Writes the text representation of the specified array of objects to + error log using the specified format information. + + A composite format string for warning information. + An array of objects to write using format. + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Log a user generated notice to the system's error log. + + String containing the notice information + + + + Writes the text representation of the specified array of objects to + error log using the specified format information. + + A composite format string for notice information. + An array of objects to write using format. + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Log a user generated OK message to the system's error log. + + String containing the Ok information + This function is only available on firmware versions 1.500.0004 and higher. + + + + Writes the text representation of the specified array of objects to + error log using the specified format information. + + A composite format string for Ok information. + An array of objects to write using format. + An I/O error occurred. + Format is null. + The format specification in format is invalid. + This function is only available on firmware versions 1.500.0004 and higher. + + + + Function to log an exception + + Function Name + Exception information. + + + + Log Info Message + + String containing the information + + + + Writes the text representation of the specified array of objects to + error log using the specified format information. + + A composite format string for information. + An array of objects to write using format. + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Initialize the error log class. + + + + + Class to allow the CustomApplication to log errors to Remote System Log server + This will not log the errors to the error log. + + + + + Initialize the remote system logging class. + + + + + Build an error log message with necessary information + + + + + + + + Log a user generated error to the remote system error log. + + String containing the error information + Returns true if successful + + + + Writes the text representation of the specified array of objects to + the remote system logger using the specified format information. + + A composite format string for error information. + An array of objects to write using format. + Returns true if successful + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Log Info Message + + String containing the information + Returns true if successful + + + + Writes the text representation of the specified array of objects to + the remote system logger using the specified format information. + + A composite format string for information. + An array of objects to write using format. + Returns true if successful + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Log Ok Message + + String containing the information + Returns true if successful + + + + Writes the text representation of the specified array of objects to + the remote system logger using the specified format information. + + A composite format string for information. + An array of objects to write using format. + Returns true if successful + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Log a user generated warning to the remote system error log. + + String containing the warning information + Returns true if successful + + + + Writes the text representation of the specified array of objects to + the remote system logger using the specified format information. + + A composite format string for warning information. + An array of objects to write using format. + Returns true if successful + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Log a user generated notice to the remote system error log. + + String containing the notice information + Returns true if successful + + + + Writes the text representation of the specified array of objects to + the remote system logger using the specified format information. + + A composite format string for notice information. + An array of objects to write using format. + Returns true if successful + An I/O error occurred. + Format is null. + The format specification in format is invalid. + + + + Property to indicate the remote system logger is enabled or not + + + + + Property to indicate the remote system logger is connected or not + + This property is only available on firmware version 1.500.0009 and higher + + + + SSH_FX_OK + + + + + SSH_FX_EOF + + + + + SSH_FX_NO_SUCH_FILE + + + + + SSH_FX_PERMISSION_DENIED + + + + + SSH_FX_FAILURE + + + + + SSH_FX_BAD_MESSAGE + + + + + SSH_FX_NO_CONNECTION + + + + + SSH_FX_CONNECTION_LOST + + + + + SSH_FX_OP_UNSUPPORTED + + + + + SSH_FX_INVALID_HANDLE + + + + + SSH_FX_NO_SUCH_PATH + + + + + SSH_FX_FILE_ALREADY_EXISTS + + + + + SSH_FX_WRITE_PROTECT + + + + + SSH_FX_NO_MEDIA + + + + + SSH_FX_NO_SPACE_ON_FILESYSTEM + + + + + SSH_FX_QUOTA_EXCEEDED + + + + + SSH_FX_UNKNOWN_PRINCIPAL + + + + + SSH_FX_LOCK_CONFLICT + + + + + SSH_FX_DIR_NOT_EMPTY + + + + + SSH_FX_NOT_A_DIRECTORY + + + + + SSH_FX_INVALID_FILENAME + + + + + SSH_FX_LINK_LOOP + + + + + SSH_FX_CANNOT_DELETE + + + + + SSH_FX_INVALID_PARAMETER + + + + + SSH_FX_FILE_IS_A_DIRECTORY + + + + + SSH_FX_BYTE_RANGE_LOCK_CONFLICT + + + + + SSH_FX_BYTE_RANGE_LOCK_REFUSED + + + + + SSH_FX_DELETE_PENDING + + + + + SSH_FX_FILE_CORRUPT + + + + + SSH_FX_OWNER_INVALID + + + + + SSH_FX_GROUP_INVALID + + + + + SSH_FX_NO_MATCHING_BYTE_RANGE_LOCK + + + + + Represents "diffie-hellman-group-exchange-sha1" algorithm implementation. + + + + + Gets algorithm name. + + + + + Blowfish cipher implementation. + + + + + The s-boxes + + + + + The s-boxes + + + + + The s-boxes + + + + + The s-boxes + + + + + The p-array + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + apply the encryption cycle to each value pair in the table. + + The xl. + The xr. + The table. + + + + Contains operation for working with NetConf server. + + + + + Holds SftpSession instance that used to communicate to the SFTP server + + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains whitespace characters. + + + + Sends the receive RPC. + + The RPC. + Reply message to RPC request + Client is not connected. + + + + Sends the receive RPC. + + The XML. + Reply message to RPC request + + + + Sends the close RPC. + + Reply message to closing RPC request + Client is not connected. + + + + Called when client is connected to the server. + + + + + Called when client is disconnecting from the server. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged ResourceMessages. + + + + Gets or sets the operation timeout. + + The operation timeout. + + + + Gets NetConf server capabilities. + + Client is not connected. + + + + Gets NetConf client capabilities. + + Client is not connected. + + + + Gets or sets a value indicating whether [automatic message id handling]. + + + true if [automatic message id handling]; otherwise, false. + + + + + Indicates that a class represents SSH message. This class cannot be inherited. + + + + + Initializes a new instance of the class. + + The name. + The number. + + + + Gets or sets message name as defined in RFC 4250. + + + The name. + + + + + Gets or sets message number as defined in RFC 4250. + + + The number. + + + + + Represents SSH_MSG_CHANNEL_OPEN_FAILURE message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + The description. + The reason code. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets failure reason code. + + + + + Gets description for failure. + + + + + Gets message language. + + + + + The exception that is thrown when there is something wrong with the server capabilities. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Base class for DER encoded data. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + DER encoded data. + + + + Encodes written data as DER byte array. + + DER Encoded array. + + + + Reads next mpint data type from internal buffer. + + mpint read. + + + + Reads next int data type from internal buffer. + + int read. + + + + Writes BOOLEAN data into internal buffer. + + UInt32 data to write. + + + + Writes UInt32 data into internal buffer. + + UInt32 data to write. + + + + Writes INTEGER data into internal buffer. + + BigInteger data to write. + + + + Writes OCTETSTRING data into internal buffer. + + The data. + + + + Writes OBJECTIDENTIFIER data into internal buffer. + + The identifier. + + + + Writes NULL data into internal buffer. + + + + + Writes DerData data into internal buffer. + + DerData data to write. + + + + Gets a value indicating whether end of data is reached. + + + true if end of data is reached; otherwise, false. + + + + + HttpsHeader holds Name and Value pairs for Request and Response Header fields. + + + + + HTTPs Header constructor with Name and Value Parameters. + + String with the name of the HTTP header line. + String with the value of the HTTP header line. + + + + Creates an instance of the HTTPs Header Class with the HTTP Header line parameter. + + String with the entire HTTP header line. + + + + HTTPs Header ToString + + string + + + + Get a value from the HTTPs Header fields at the specified index. + + Index to get + string + + + + Add a value to the HTTP Header field. + + String containing HTTP Header field to add. + + + + Get or set the HTTPs Header Name property. + + + + + Get the HTTPs Header Count property. + + + + + Get or set the HTTPs Header Value property. + Setting this Value property will clear all old values of this HttpsHeader. + + + + + HttpsHeaders contains an array of HttpHeader objects. + + + + + Creates an instance of the HTTPsHeaders class. + + + + + Initializes the HTTPs Header to a default of 100 HeaderLines. + + + + + Parse the first line of the HTTPs header. + + + + + Delete the entries in the HttpHeaders Hashtable + + + + + Reads the HTTPs Header for the incoming HTTPs request connection. + + A object. + + + + + Reads the HTTPs Header for the incoming HTTPs request connection. + + A object. + + + + + Write the HTTPs Header Content out from the Connection. + + A object. + + + + Write the HTTPs Header Content out from the Connection. + + A object. + + + + Sets the HTTPs Response Header with the specified parameter values. + + String for HTTP version number. + Int32 for HTTP response code. + String for HTTP response text. + + + + Sets the specified RequestVersion, RequestType, RequestPath. + + String for HTTP version number. + String for HTTP method. + String for HTTP request path. + + + + Determines whether the HttpsHeaders object contains a specified value. + + String containing an HTTP header name to look up + true if the HttpHeaders object contains a specified value + + + + Adds the specified name and value to the array. + + String with the name of the HTTP header line. + String with the value of the HTTP header line. + + + + Adds the HTTPSHeader object to the array of HTTPSHeaders. + + HTTPSHeader object + + + + Gets the value associated with the specified name. + + String containing an HTTP header name to look up + A string value associated with the specified name + + + + ToString method for the HTTPs Header + + the HTTPS Header as a string + + + + Returns the Enumerator for the HTTPs Header Enumerator. + + An Enumerator for the HTTP Headers + + + + Gets or sets the method of the HTTPs request, usually "GET" or "POST". + + + + + Gets or sets the Request URL, not including the server URL. + + + + + Gets or sets the protocol version of the HTTPs. + + + + + Returns the Status-Code of the Response message. + + + + + Determines the maximum HTTPs header count allowed. + + + + + Determines whether the MaxHeaderLines is enabled. + + + + + The mime type of this content. Used for Response headers. + It is composed of at least two parts: a type, a subtype and one or more optional parameters. For example: text/html; charset=utf-8. + + + + + Gets or sets the Status-Line of the Response message. + It consists of the protocol version followed by a numeric status code and its associated textual phrase. + + + + + Returns the number of elements contained in the array. + + + + + Returns the HTTP Header for the index provided. + + HTTP Header name to look up. + + + + + An Exception object that contains errors returned from one of the HttpsHeader or HttpsHeaders methods call. + + + + + HTTPHeaderException default constructor + + + + + HTTPsHttpHeaderException with message string parameter + + General message about the Exception. + + + + HTTPsHttpHeaderException with message string and Exception parameters + + General message about the Exception. + A object. + + + + DNS Lookup class + + + + + Resolves the given host name and returns the first IP address that matches it. + If the host could not be resolved, a DnsResolveException is thrown. + + + + + + + Resolves the given host name and - if multiple IP Addresses are available - returns a random IP address from the list. + This can be used in load balancing scenarios to hit a random of several available hosts. + If the host could not be resolved, a DnsResolveException is thrown. + + + + + + + ResolveAll returns an array with all IP addresses for the given host name. + In load balancing scenarios, several IP addresses can be provided in the DNS servers for the same host name. + If the host name could not be resolved, an empty array is returned. + To retrieve one specific IP address, you will usually use ResolveFirst or ResolveAll. + + + + + + + Try to resolve the input parameter string as an IP address. + + + + + + + Obtains the host name for a given IP address via reverse-dns, if possible. + + IP Address + + + + + DnsResolveException class + + + + + This type of exception is thrown in resolving of a host name or if the IP address fails. + + + + + + Enum to specify the type of matching for a Gather operation + + + + + This mode indicates that the match is based on a particular delimiter. + + + + + This mode indicates that the match is based on a set number of characters. + + + + + Class to contain the criteria for a Gather match + + + + + Constructor to create a match criteria based on delimiter matching. + + + + + Constructor to create a match criteria based on number of characters in buffer. + + + + + Routine that handles the matching operation. + + + + + This member controls the synchronizations of tasks. + + + + + + Used to spawn the event handler with the timeout status set. + + + + + Method to reset the Timeout timer for a Gather operation. + + + + + Method to pause the Timeout timer for a Gather operation. + + + + + Method to check for the canSpawnEvent + + + + + Method to check for the canSpawnEvent + + + + + Property to return the type of matching set. + + + + + Property to return the delimiter when matching by delimiter + + + + + Property to return the number of characters to match when in that mode. + + + + + Delegate to be used to spawn the event handler with the timeout status set. + + + + + Methods to change the system's Date, Time, and Timezone. + + + Provides information about the current environment. + + + + + Function to change the current time of the system. + + The hour portion of the time to set the system time to. Valid range is from 0 to 23. + The minutes portion of the time to set the system time to. Valid range is from 0 to 59. + The seconds portion of the time to set the system time to. Valid range is from 0 to 59. + One of the parameters is outside the valid range. + Setting the time is not supported in this environment. + + + + Function to get the current local time of the system. + + DateTime indicating local time + Internal Error getting local time. + + + + Function to change the current date of the system. + + The month to which the date is set. Valid range is 1 through 12, corresponding to January through December. + The dat of the month to which to date is set. The range varies from month to month, but always starts at 1 and does not go above 31. + The year to which the date is set. The year is four digits, i.e. 2006. + One of the parameters is outside the valid range. + Setting the date is not supported in this environment. + + + + Set the system time and date + + The hour portion of the time to set the system time to. Valid range is from 0 to 23. + The minutes portion of the time to set the system time to. Valid range is from 0 to 59. + The seconds portion of the time to set the system time to. Valid range is from 0 to 59. + The month to which the date is set. Valid range is 1 through 12, corresponding to January through December. + The dat of the month to which to date is set. The range varies from month to month, but always starts at 1 and does not go above 31. + The year to which the date is set. The year is four digits, i.e. 2006. + One of the parameters is outside the valid range./// + Setting the time and date are not supported in this environment. + + + + Function to actually set the time or date. + + + + + Return Type: BOOL->bool + + + + The flag indicates if it is needed to update TimeZone list due to system time changes + "0" means no system time changes and no TimeZoneList update is required, + "1" means system time changed and TimeZoneList update is required. + + + + + Function to allow a subscription to the program status event AFTER the public facing event was triggered. + + Function to subscribe to the internal event. + + + + This is a function that users will be allowed to call in order to be polite to the system and allow other applications to run. + + true if event was signaled, false if timeout or events are not created + + + + System Event method to set the event. + + + + + Ethernet Event method to set the event. + + + + + Program Event method to set the event. + + + + + Variable that is returned to the user to inform them of what environment their application is running in. + Set to SimplSharpPro here as that is the default environment. + + + + + Function to sleep for the specified time + + Timeout in milli seconds + The time-out value is negative and is not equal to Timeout.Infinite + + + + Scales a given input value that lies between a given set of input limits to an output value given a set of output limits. + This version works on unsigned integer arguments. + + The uint input value to be converted. + The uint upper boundary of the domain from which the input value is to be converted. + The uint lower boundary of the domain from which the input value is to be converted. + The uint upper boundary of the range into which the input value is to be converted. + The uint lower boundary of the range into which the input value is to be converted. + + A scaled int value from the equation : + OutputValue = OutputLowerBound + (( (InputValue - InputLowerBound) * (OutputUpperBound - OutputLowerBound) ) / (InputUpperBound - InputLowerBound)) + + + Cause: InputLowerBound >= InputUpperBound + Cause: OutputLowerBound > OutputUpperBound + Cause: InputUpperBound == InputLowerBound. + Output overflow. (See message for overflow value.) + + + + Scales a given input value that lies between a given set of input limits to an output value given a set of output limits. + This version works on signed integer arguments. + + The int input value to be converted. + The int upper boundary of the domain from which the input value is to be converted. + The int lower boundary of the domain from which the input value is to be converted. + The int upper boundary of the range into which the input value is to be converted. + The int lower boundary of the range into which the input value is to be converted. + + A scaled int value from the equation : + OutputValue = OutputLowerBound + (( (InputValue - InputLowerBound) * (OutputUpperBound - OutputLowerBound) ) / (InputUpperBound - InputLowerBound)) + + + Cause: InputLowerBound >= InputUpperBound + Cause: OutputLowerBound > OutputUpperBound + Cause: InputUpperBound == InputLowerBound. + Output under- or over- flow. (See message for output value.) + + + + + TimeZone list + + + + + Populate timezone list + + + + + Populate timezone list for FW v1.013.0000 and higher + + + + + Populate timezone list for FW v1.502.0000 and higher + + + + + Function to get the current timezone list + + Returns list of timezones + The time zone list is not supported in this environment. + + + + Get current timezone information + + Returns current timezone settings + + + + Get timezone information for the specified timezoneId + + Id of the requested timezone from the timezone list + returns timezone settings based on the specified timezoneId + Time zone IDs are not supported in this environment. + + + + Get current timezone detail settings + + Returns current timezone details + + + + Method to print the Audit log to the console through SimplSharpAPIs. + + + + + Set local time to the timezone with given timezoneId + + Id for the required timezone within the timezone list + returns true if successful + Setting the time zone is not supported in this environment. + + + + Method to set the timezone for the linux system. + + + 'true' = the timezone was changes as expected. 'false' = the timezone was not valid or unable to set it. + + + + Crestron Environment class constructor + + + + + Method to convert the given TSID to the serial number. + This method will only work on firmware versions greater then 1.503.0000. + + TSID of the device to convert to the serial number. + String containing the serial number or 00000000 if the conversion failed. + Indicates that the current firmware version does not meet the minimum required version + + + + Indicates the compatibility of programs for this control system. + + + + + System Event Handler. + Programmer needs to subscribe to this handler for receiving system events. + + + + + Ethernet Event Handler. + Programmer needs to subscribe to this handler for receiving ethernet events. + + + + + Program Event Handler. + Programmer needs to subscribe to this handler for receiving program status events. + + + + + Member to return the last received program state change. + + + + + Gets the runtime environment of the SIMPL# module. + + + + + Gets the platform SIMPL#/SIMPL# Pro is running on. + + + + + Gets the newline string defined for this environment. + + + + + Gets the number of milliseconds elapsed since the system started. + + + + + Property to set the latitude which is used by the native scheduling engine for the astronomical events. + The Set feature is not supported on . It will throw a . + This property requires a reboot for it to take into effect. This property is read on startup and could be + out of sync if it was changed and the unit was not rebooted. + This defaults to 41.000000 North + + Valid values are -90.0 to 90.0 + Unable to set Latitude. + Operation is not supported + + + + Property to set the longitude which is used by the native scheduling engine for the astronomical events. + The Set feature is not supported on . It will throw a . + This property requires a reboot for it to take into effect. This property is read on startup and could be + out of sync if it was changed and the unit was not rebooted. + This defaults to -73.933333 West + + Valid values are -180.0 to 180.0 + Unable to set Longitude. + Operation is not supported + + + + TimeZone list property + + + + + Internal support class for the AllowOtherAppsToRun system events. + + + + + This is a system event that is used to signal the idle task that we want to give up time and be polite. + We need to use an event through NativeInterop to gain access to the named event in the Watchdog. + + + + + This is a system event that is used to allow the current thread to continue once it is signaled by the watchdog. + We need to use an event through NativeInterop to gain access to the named event in the Watchdog. + + + + + Constructor to initialize allow other apps to run events. + + + + + Destructor to clean up events. + + + + + Provides version information for the current operating system and firmware. + + + + + Gets a System.Version object that identifies the operating system. + + + + + Returns the firmware version of the controller + + + + + Controls the system garbage collector, a service that automatically reclaims unused memory. + + + + + Requests that the system not call the finalizer for the specified object. + + The object that a finalizer must not be called for + objectToSuppress is NULL + + + + Requests that the system call the finalizer for the specified object for + which GC.SuppressFinalize(System.Object) has previously been called. + + The object that a finalizer must be called for + objectToSuppress is NULL + + + + Method to retrieve the number of bytes currently thought to be allocated. + + A number that is the best available approximation of the number of bytes currently allocated in managed memory. + + + + timezone settings + + + + + String representation of this timezone. + + The string for this timezone. + + + + Returns a value indicating whether the specified date and time is within + a daylight saving time period. + + A date and time in current time zone. + true if time is in a daylight saving time period; otherwise, false. + + + + Crestron timezone ID + + + + + timezone name + + + + + timezone offset + + + + + Timezone standard numeric offset from GMT in minute. It can be negative/positive. + This property requires firmwares with version 1.013.0000 and higher. + + + + + Timezone daylight numeric offset from GMT in minute. It can be negative/positive. + This property requires firmwares with version 1.013.0000 and higher. + + + + + Indicates if the current time zone is in DST. + This property is only valid for the current timezone, the system is in. + This property requires firmwares with version 1.013.0000 and higher. + + + + + Timezone Bias + + + + + Timezone Standard Bias + + + + + Timezone Daylight Bias + + + + + Formatted timezone string + + + + + Formatted timezone string + + + + + Day light saving time starting day and time for a time zone in string format + This property requires firmwares with version 1.502.0000 and higher. + + + + + Day light saving time ending day and time for a time zone in string format + This property requires firmwares with version 1.502.0000 and higher. + + + + + Class containing Crestron control system information + + + + + Property to store the serial number + + + + + Method to load the TSID + + + + + + Method to use the TSID as the serial number... + + + + + Method to get the unrestricted serial number or TSID on linux + + + + + Method to get the unrestricted serial number on CE. This just makes the new call. + + + + + Method to get the TSID or the unrestricted serial number + + + + + Method to get the TSID or serial number - this does the platform dependent check and calls the appropriate method. + + + + + Method to get the serial number of the device + + A serial string representing the serial number + + + + This method will return the serial number. + + Current TSID to convert to serial number + string to get the serial number + length of the buffer passed in ( Max size is 512) + 0 for failure else success + + + + Method to convert the TSID to serial... + Calls into the utilities dll + + + + + + + Get the amount of available RAM in bytes. + This property is operationally expensive to use + (as it takes a significant time hit). + + + + + Get the total amount of RAM available in the controller + + + + + Property to return the serial number of the device. + On firmware versions less then 1.503.0000, this returns the TSID of the device. + + + + + Delegate callback for printing to the console + + String to print to the console. + + + + Delegate callback for printing to the console + + Command to Send + Timeout to wait for a response + Response to the console command sent + + + + Delegate to hold a ConsoleCommand callback function + + Command line parameters received + + + + Console access levels + + + + + users with OPERATOR right can execute + + + + + users with PROGRAMMER right can execute + + + + + users with ADMINISTRATOR right can execute + + + + + Interface to the Crestron Console. + + + + + Function to print a message to the text console + + Message to print to the console + + + + Function to print a formatted message to the text console. + + Message to print to the console + Array containing objects to format + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + + + + Function to print a formatted message to the text console including the end line characters. + + Message to print to the console + + + + Function to print a formatted message to the text console including the end line characters. + + Message to print to the console + Array containing objects to format + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + + + + Function for the user to add console commands to the system. + + Callback function the command will call. + Name of the console command. Spaces are not permitted. + Information on the console command. + Authentication level of the command. + Verify the Command name does not contain spaces. + This feature is only available in SIMPL# Pro + true if the operation succeeds; otherwise, false. + + + + Function for the user to add console commands to the system. + + Callback function the command will call. + Name of the console command. Spaces are not permitted. + Information on the console command. + Authentication level of the command. + if true the command will be hidden and will not show up in help user + Verify the Command name does not contain spaces. + Specified parameter is out of range. + This feature is only available in SIMPL# Pro. + true if the operation succeeds; otherwise, false. + + + + Function for the user to remove console commands from the system. + Only commands which have been registered by the user can be removed + + Name of the console command to remove + true if the operation succeeds; otherwise false + command name passed in was not registered by the user + + + + Function to print a message to the console, from the context of a console command function. + + Message to print + This feature is only available in SIMPL# Pro + + + + Function to print a formatted message to the console, from the context of a console command function. + + Message to print. + Array containing objects to format. + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + + + + Function to allow the user to send a console command and receive a response from the control system. + + The console command to send; end line not needed. + Reference to a string where the controller's response will be stored. + True/False if the command was sent correctly. + Can only execute commands that specify up to (and including) programmer access level. + Feature is unavailable. + + + + Function to allow the user to send a console command and receive a response from the control system. + + The console command to send; end line not needed. + Reference to a string where the controller's response will be stored. + Timeout in millisec. + True/False if the command was sent correctly. + Can only execute commands that specify up to (and including) programmer access level. + Feature is unavailable. + + + + Flag to determine if the console has been registered. Once registered adding new console commands is not allowed. + + + + + Class to allow access to the Crestron Console. + + + + + Interface for the CrestronConsole. + + + + + Function to initialize the internal ICrestronConsole. + + Object of the console boxed in the Console Interface + + + + Function to print a message to the text console. + + Message to print to the console. + + + + Function to print a formatted message to the text console. + + Message to print to the console. + Array containing objects to format. + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + + + + Function to print a message to the text console including the end line characters. + + Message to print to the console. + + + + Function to print a formatted message to the text console including the end line characters. + + Message to print to the console. + Array containing objects to format. + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + + + + Function for the user to remove console commands from the system. + Only commands which have been registered by the user can be removed + + Name of the console command to remove + true if the operation succeeds; otherwise false + command name passed in was not registered by the user or command name contains spaces + Specified parameter is out of range. + + + + Function for the user to add console commands to the system. + + Callback function the command will call. + Name of the console command. Spaces are not permitted. + Information on the console command. + Authentication level of the command. + if true the command will be hidden and will not show up in help user + Verify the Command name does not contain spaces. + Specified parameter is out of range. + true if the operation succeeds; otherwise, false. + + + + Function for the user to add console commands to the system. + + Callback function the command will call. + Name of the console command. Spaces are not permitted. + Information on the console command. + Authentication level of the command. + Verify the Command name does not contain spaces. + This feature is only available in SIMPL# Pro + true if the operation succeeds; otherwise, false. + + + + Function to print a message to the console, from the context of a console command function. + + Message to print. + This feature is only available in SIMPL# Pro. + + + + Function to print a message to the console, from the context of a console command function. + + Message to print. + Array containing objects to format. + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + This feature is only available in SIMPL# Pro. + + + + Function to allow the user to send a console command and receive a response from the control system. + + The console command to send; end line not needed. + Reference to a string where the controller's response will be stored. + True/False if the command was sent correctly. + This feature is only available in SIMPL# Pro. + + + + Function to allow the user to send a console command and receive a response from the control system with timeout override (Only available on Mercury). + + The console command to send; end line not needed. + Reference to a string where the controller's response will be stored. + The time out in msec. + True/False if the command was sent correctly. + This feature is only available in Mercury. + + + + Flag to determine if the console has been registered. Once registered adding new console commands is not allowed. + + + + + Class to allow access to the Crestron Console from a SIMPL# library + + + + + Function to print a message to the text console. + + Message to console. + + + + Function to print a formatted message to the text console. + + Message to print to the console. + Array containing objects to format. + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + + + + Function to print a message to the text console including the end line characters. + + Message to print to the console. + + + + Function to print a formatted message to the text console including the end line characters. + + Message to print to the console. + Array containing objects to format. + Arguments message or args are null. + Format is invalid or the number of arguments does not match the argument number specified in the message. + + + + RemoveConsoleCommand is not supported in SIMPL# + + irrelevant + irrelevant + This feature is only available in SIMPL# Pro. + + + + AddNewConsoleCommands is not supported in SIMPL# + + irrelevant + irrelevant + irrelevant + irrelevant + irrelevant + This feature is only available in SIMPL# Pro. + + + + Function for the user to add console commands to the system. + + Callback function the command will call. + Name of the console command. Spaces are not permitted. + Information on the console command. + Authentication level of the command. + if true the command will be hidden and will not show up in help user + Verify the Command name does not contain spaces. + Specified parameter is out of range. + true if the operation succeeds; otherwise, false. + This feature is only available in SIMPL# Pro. + + + + ConsoleCommandResponse is not supported in SIMPL# + + irrelevant + This feature is only available in SIMPL# Pro. + + + + ConsoleCommandResponse is not supported in SIMPL# + + irrelevant + irrelevant + This feature is only available in SIMPL# Pro. + + + + Function to allow the user to send a console command and receive a response from the control system. + + The console command to send; end line not needed. + Reference to a string where the controller's response will be stored. + True/False if the command was sent correctly. + Feature is unavailable. + Can only execute commands that specify up to (and including) programmer access level. + + + + Function to allow the user to send a console command and receive a response from the control system with timeout override (Only available on Mercury). + + The console command to send; end line not needed. + Reference to a string where the controller's response will be stored. + Timeout in Millisec. + True/False if the command was sent correctly. + Feature is unavailable. + Can only execute commands that specify up to (and including) programmer access level. Only supported for Mercury + + + + The Command Processor does not register in SIMPL# always return false + + + + + Gets the size, in bits, of the computed hash code. + + The size, in bits, of the computed hash code. + + + + When overridden in a derived class, gets the input block size. + + The input block size. + + + + When overridden in a derived class, gets the output block size. + + The output block size. + + + + SHA256 algorithm implementation. + + + + + Initializes a new instance of the class. + + + + + Routes data written to the object into the hash algorithm for computing the hash. + + The input to compute the hash code for. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Initializes an implementation of the class. + + + + + The SHA-256 Constants (represent the first 32 bits of the fractional parts of the cube roots of the first sixty-four prime numbers) + + + + + Gets the size, in bits, of the computed hash code. + + The size, in bits, of the computed hash code. + + + + Gets the input block size. + + The input block size. + + + + Gets the output block size. + + The output block size. + + + + Gets a value indicating whether the current transform can be reused. + + Always true. + + + + Gets a value indicating whether multiple blocks can be transformed. + + true if multiple blocks can be transformed; otherwise, false. + + + + Represents SSH_MSG_UNIMPLEMENTED message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEXECDH_INIT message. + + + + + Initializes a new instance of the class. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the client's ephemeral contribution to the ECDH exchange, encoded as an octet string + + + + + Represents "shell" type channel request information + + + + + Channel request name + + + + + Initializes a new instance of the class. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Represents "zlib" compression implementation + + + + + Initializes the algorithm + + The session. + + + + Gets algorithm name. + + + + + The exception that is thrown when operation permission is denied. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Provides data for event. + + + + + Initializes a new instance of the class. + + The host. + The port. + + + + Gets request originator host. + + + + + Gets request originator port. + + + + + The Listener class is used internally by the Server component. + For each port binding, one or more Listener instances are created. + Each runs in a separate thread and listens for incoming connections. + As soon as a connection is accepted, a Worker thread is created to handle this data connection, + and then, the Listener thread goes back to listening for new connections. + + + + + Creates an instance of the Listener class using a Server and Type of Worker Class. + + A object. + A object. + + + + Listen to the current connection instance. + + + + + Get or set the Listening Socket for this Listener instance. + + + + + Returns the Worker Class. + + + + + Get or set the Owner of this Listener instance. + + + + + HttpHeader holds Name and Value pairs for Request and Response Header fields. + + + + + HTTP Header constructor with Name and Value Parameters. + + String with the name of the HTTP header line. + String with the value of the HTTP header line. + + + + Creates an instance of the HTTP Header Class with the HTTP Header line parameter. + + String with the entire HTTP header line. + + + + HTTP Header ToString + + string + + + + Get a value from the HTTP Header fields at the specified index. + + Index into HTTP header fields. + string + + + + Add a value to the HTTP Header field. + + New HTTP header field value. + + + + Get or set the HTTP Header Name property. + + + + + Get the HTTP Header Count property. + + + + + Get or set the HTTP Header Value property. + Setting this Value property will clear all old values of this HttpHeader. + + + + + HttpHeaders contains an array of HttpHeader objects. + + + + + Creates an instance of the HTTPHeaders class. + + + + + Creates an HTTP Header from the Connection. + + A object. + An HttpHeader object, or null if cannot read headers + + + + Initializes the HTTP Header to a default of 100 HeaderLines. + + + + + Parse the first line of the HTTP header. + + + + + Reads the HTTP Header for the incoming HTTP request connection. + + A object. + true if the operation succeeds; otherwise, false + + + + Write the HTTP Header Content out from the Connection. + + A object. + + + + Sets the HTTP Response Header with the specified parameter values. + + String for HTTP version number. + Int32 for HTTP response code. + String for HTTP response text. + + + + Sets the specified RequestVersion, RequestType, RequestPath. + + String for HTTP version number. + String for HTTP method. + String for HTTP request path. + + + + Determines whether the HttpHeaders object contains a specified value. + + String with the name of the HTTP header line. + true if the HttpHeaders object contains a specified value + + + + Adds the specified name and value to the array. + + String with the name of the HTTP header line. + String with the value of the HTTP header line. + + + + Adds the HTTPHeader object to the array of HTTPHeaders. + + HTTPHeader object + + + + Gets the value associated with the specified name. + + String with the name of the HTTP header line. + A string value associated with the specified name + + + + ToString method for the HTTP Header + + String describing this HttpHeader. + + + + Returns the Enumerator for the HTTP Header Enumerator. + + An Enumerator for the HTTP Headers + + + + Gets or sets the method of the HTTP request, usually "GET" or "POST". + + + + + Gets or sets the Request URL, not including the server URL. + + + + + Gets or sets the protocol version of the HTTP. + + + + + Returns the Status-Code of the Response message. + + + + + Determines the maximum HTTP header count allowed. + + + + + Determines whether the MaxHeaderLines is enabled. + + + + + The mime type of this content. Used for Response headers. + It is composed of at least two parts: a type, a subtype and one or more optional parameters. For example: text/html; charset=utf-8. + + + + + Gets or sets the Status-Line of the Response message. + It consists of the protocol version followed by a numeric status code and its associated textual phrase. + + + + + Returns the number of elements contained in the array. + + + + + Returns the HTTP Header for the index provided. + + HTTP Header name to look up. + + + + + An Exception object that contains errors returned from one of the HttpHeader or HttpHeaders methods call. + + + + + HTTPHeaderException default constructor + + + + + HTTPHttpHeaderException with message string parameter + + General message about the Exception. + + + + HTTPHttpHeaderException with message string and Exception parameters + + General message about the Exception. + A object. + + + + Sending Email through devices. + + + + + Port number for the system + + + + + Programmatically sends an email message to the specified IP address on the specified port + using the SMTP protocol. + + + Required. Specifies address of the mail server. It can either be an + IP address in dot-decimal notation (ex: 192.168.16.3) or a name to be resolved with a DNS + server (ex: mail.myisp.com). If a name is given, the control system must be configured + with a DNS server (ADDDNS console command). Maximum field length: 40. + + Required. Specifies the port number used to send the email. + + Optional. If the mail server requires authentication, UserLogonName + indicates the user name of the sender for the mail server. An empty string indicates that + authentication is not required. Only "clear text" authentication is implemented. "Clear text" + refers to the authentication method used by the mail server. If the mail server requires a + higher level authentication, mail can not be sent to the mail server. Maximum field length: 254. + + Optional. If the mail server requires authentication, UserLogonPassword + indicates the password of the sender for the mail server. An empty string indicates that authentication + is not required. Only "clear text" authentication is implemented, used by the server. If the mail server requires + a higher level authentication, mail can not be sent to the mail server. Maximum field length: 254. + + Required. Specifies the e-mail address of the sender in the a@b.com + format. Only one email address is allowed. Aliases or nicknames are not supported. This + argument is mandatory. Maximum field length: 242. + + Required. Specifies the e-mail address of the recipient(s) in the a@b.com + format. Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. An empty string indicates that there are no recipients. + Specifies the e-mail address of the carbon copy recipient(s) in the a@b.com format. + Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. Specifies the subject of the email message. + An empty string indicates that there is no subject. Maximum field length: 989. + + Optional. Specifies the body of the email message. + An empty string indicates an empty message. Maximum field length: 65535. + + Optional. Specifies the number of attachments to be sent. + Zero (0) specifies that there are no attachments. + + Optional. An empty string indicates that no attachments are + to be sent. Specifies the files to be attached. Multiple filenames may be specified, + delimited by ';'. Max field length is 65534. + + SMTP_OK if successful. Otherwise, Email Return Error Code is returned. Negative return + error codes indicate that no part of the email was sent. Positive return error codes + indicate a failure, but the email was still sent. In the event of more than one failure, + the return error code of the first failure is returned. + + + + Programmatically sends an email message to the specified IP address on the specified port + using the SMTP protocol over a secure connection using SSL. Requires firmware version + 1.11.xxxx or higher on the control system. + + + Required. Specifies address of the mail server. It can either be an + IP address in dot-decimal notation (ex: 192.168.16.3) or a name to be resolved with a DNS + server (ex: mail.myisp.com). If a name is given, the control system must be configured + with a DNS server (ADDDNS console command). Maximum field length: 40. + + Required. Specifies the port number used to send the email. Normal + values are 25 for unsecure and 465 for secure connections + + Required. Indicates whether an SSL connection should be used to + send the email. + + Required. If the mail server requires authentication, UserLogonName + indicates the user name of the sender for the mail server. An empty string indicates that + authentication is not required. Only "clear text" authentication is implemented. "Clear text" + refers to the authentication method used by the mail server. If the mail server requires a + higher level authentication, mail can not be sent to the mail server. Maximum field length: 254. + + Required. If the mail server requires authentication, UserLogonPassword + indicates the password of the sender for the mail server. An empty string indicates that authentication + is not required. Only "clear text" authentication is implemented, used by the server. If the mail server requires + a higher level authentication, mail can not be sent to the mail server. Maximum field length: 254. + + Required. Specifies the e-mail address of the sender in the a@b.com + format. Only one email address is allowed. Aliases or nicknames are not supported. This + argument is mandatory. Maximum field length: 242. + + Required. Specifies the e-mail address of the recipient(s) in the a@b.com + format. Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. An empty string indicates that there are no recipients. + Specifies the e-mail address of the carbon copy recipient(s) in the a@b.com format. + Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. Specifies the subject of the email message. + An empty string indicates that there is no subject. Maximum field length: 989. + + Optional. Specifies the body of the email message. + An empty string indicates an empty message. Maximum field length: 65535. + + Optional. Specifies the number of attachments to be sent. + Zero (0) specifies that there are no attachments. + + Optional. An empty string indicates that no attachments are + to be sent. Specifies the files to be attached. Multiple filenames may be specified, + delimited by ';'. Max field length is 65534. + + SMTP_OK if successful. Otherwise, Email Return Error Code is returned. Negative return + error codes indicate that no part of the email was sent. Positive return error codes + indicate a failure, but the email was still sent. In the event of more than one failure, + the return error code of the first failure is returned. + + + + Programmatically sends an email message to the specified IP address on the specified port + using the SMTP protocol over a secure connection using SSL. Requires firmware version + 1.013.0000 or higher on the control system. + + + Required. Specifies address of the mail server. It can either be an + IP address in dot-decimal notation (ex: 192.168.16.3) or a name to be resolved with a DNS + server (ex: mail.myisp.com). If a name is given, the control system must be configured + with a DNS server (ADDDNS console command). Maximum field length: 40. + + Required. Specifies the port number used to send the email. Normal + values are 25 for unsecure and 465 for secure connections + + Required. Indicates whether an SSL connection should be used to + send the email. + + Required. If the mail server requires authentication, UserLogonName + indicates the user name of the sender for the mail server. An empty string indicates that + authentication is not required. Only "clear text" authentication is implemented. "Clear text" + refers to the authentication method used by the mail server. If the mail server requires a + higher level authentication, mail can not be sent to the mail server. Maximum field length: 254. + + Required. If the mail server requires authentication, UserLogonPassword + indicates the password of the sender for the mail server. An empty string indicates that authentication + is not required. Only "clear text" authentication is implemented, used by the server. If the mail server requires + a higher level authentication, mail can not be sent to the mail server. Maximum field length: 254. + + Required. Specifies the e-mail address of the sender in the a@b.com + format. Only one email address is allowed. Aliases or nicknames are not supported. This + argument is mandatory. Maximum field length: 242. + + Required. Specifies the e-mail address of the recipient(s) in the a@b.com + format. Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. Specifies the e-mail address other than the "From" address to use to reply to this message in the a@b.com + format. Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. An empty string indicates that there are no recipients. + Specifies the e-mail address of the carbon copy recipient(s) in the a@b.com format. + Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. An empty string indicates that there are no recipients. + Specifies the e-mail address of the blind carbon copy recipient(s) in the a@b.com format. + Multiple recipients may be specified delimited with a ";". Maximum field length: 65535. + + Optional. Specifies the subject of the email message. + An empty string indicates that there is no subject. Maximum field length: 989. + + Optional. Specifies the body of the email message. + An empty string indicates an empty message. Maximum field length: 65535. + + Optional. Specifies the priority of the email message. + Default priority value is . Refer the for all valid priority values. + + Optional. Specifies the number of attachments to be sent. + Zero (0) specifies that there are no attachments. + + Optional. An empty string indicates that no attachments are + to be sent. Specifies the files to be attached. Multiple filenames may be specified, + delimited by ';'. Max field length is 65534. + + SMTP_OK if successful. Otherwise, Email Return Error Code is returned. Negative return + error codes indicate that no part of the email was sent. Positive return error codes + indicate a failure, but the email was still sent. In the event of more than one failure, + the return error code of the first failure is returned. + + + + Send an email message (without attachments) using SMTP protocol. + + Required: Specifies address of the mail server. + Optional: User logon name. + Optional: User password. + Required: Sender (Only one address). + Required: Recipients + Optional: Other Recipients. + Optional: Subject of Message. + Optional: Body of message. + 0 if successful. Otherwise, Email Return Error Code is returned. + Negative return error codes indicate that no part of the email was sent. + Positive return error codes indicate a failure, but the email was still sent. + In the event of more than one failure, the return error code of the first + failure is returned. + + + + Send an email message with attachments using SMTP protocol. + + Required. Specifies address of the mail server. + Optional: User logon name. + Optional: User password. + Required: Sender (Only one address). + Required: Recipients + Optional: Other Recipients. + Optional: Subject of Message. + Optional: Body of message. + Number of attachments User adds. + Attachment filenames. + SMTP_OK if successful. Otherwise, Email Return Error Code is returned. + Negative return error codes indicate that no part of the email was sent. Positive + return error codes indicate a failure, but the email was still sent. In the event + of more than one failure, the return error code of the first failure is returned. + + + + Send an email message with attachments using SMTP protocol. The minimum firmware version is 1.013.0000 for this method to work. + + Required. Specifies address of the mail server. + Required. Specifies that email transfer should use SSL connection or not. + Optional: User logon name. + Optional: User password. + Required: Sender (Only one address). + Required: Recipients + Optional. Mail address(es) to use to reply to this message. + Optional: Other Recipients. + Optional: Other undisclosed Recipients. + Optional: Subject of Message. + Optional: Body of message. + Optional: Priority of message. Refer for valid message priorities. + Number of attachments User adds. + Attachment filenames. + SMTP_OK if successful. Otherwise, Email Return Error Code is returned. + Negative return error codes indicate that no part of the email was sent. Positive + return error codes indicate a failure, but the email was still sent. In the event + of more than one failure, the return error code of the first failure is returned. + + + + Enum to specify the priority of a . + + + + + The email has normal priority. + + + + + The email has low priority. + + + + + The email has high priority. + + + + + Email Error codes for email + + + + + No errors occurred. + + + + + Any non-recoverable error when sending mail. + + + + + General internal error. + + + + + Failure to connect to mail server. + + + + + Internal error when actually sending email. + + + + + Internal error when actually receiving email. + + + + + Internal error while processing the send. + + + + + Internal error. Lack of memory buffers while processing send or receive mail. + + + + + Authentication failure. + + + + + CLEAR TEXT login scheme is not supported. + + + + + A parameter is not valid, must supply Server, From and To. + + + + + Ethernet not enabled. Cannot send mail. + + + + + No DNS configured. Cannot resolve name. + + + + + SendMail failed. + + + + + An error code was received from the lower level libcurl library. + + + + + Incompatible firmware version detected. + + + + + Email settings for SSL/TLS level of security. + + + + + do not attempt to use SSL + + + + + try using SSL, proceed anyway otherwise + + + + + SSL for the control connection or fail + + + + + SSL for all communication or fail + + + + + SSL/TLS level of security state reached + + + + + Force SSL, will send StartTls if server supports it, with secure prefix(smtps://) + + + + + If secure prefix fails, try to Force SSL, will send StartTls if server supports it with Non secure prefix (smtp://) + + + + + try using SSL, proceed anyway otherwise + + + + + No hope state, we've tried all we can + + + + + provides methods to send email via smtp direct to mail server + + + + + Get / Set the name of the SMTP mail server + + + + + Callback function to process the send data + + Pointer to a data structure provided in SetProgressCallBack + object size in bytes + Current number of bytes transferred. -1 means heartbeat + stream buffer + + + + Enumeration to define the various runtime environments a SIMPL# module can run in. + + + + + This SIMPL# module is running from inside the context of a SIMPL+ module. + + + + + This SIMPL# module is running as a part of a SIMPL# Pro application. + + + + + Enumeration to define the various platforms a program can be running on. + + + + + Running on a dedicated control systems like a CP3 or RMC3. + + + + + Running on a Crestron Server platform. + + + + + Enumeration to define the compatibility of a program. + + + + + No specified system. + + + + + Programs targeting 3-Series platforms are compatible. A recompile may be needed in some cases. + + + + + Programs targeting 4-Series platforms are compatible. + + + + + Class for providing atomic operations for variables that are shared by multiple threads. + + + + + Compares two 32-bit signed integers for equality and, if they are equal,replaces one of the values. + + The destination, whose value is compared with comparand and possibly replaced + The value that replaces the destination value if the comparison results in equality + The value that is compared to the value at location1 + The original value in location1 + The address of location1 is a null pointer + + + + Compares two objects for reference equality and, if they are equal, replaces one of the objects + + The destination object that is compared with comparand and possibly replaced. + The object that replaces the destination object if the comparison results in equality. + The object that is compared to the object at location1. + The original value in location1. + location 1 is null + + + + Compares two instances of the specified reference type T for equality and,if they are equal, replaces one of them. + + The type to be used for location1, value, and comparand. This type must be a reference type. + The destination, whose value is compared with comparand and possibly replaced. + The value that replaces the destination value if the comparison results in + equality. + The value that is compared to the value at location1. + The original value in location1. + address of location1 is a null pointer + + + + Decrements a specified variable and stores the result, as an atomic operation. + + The variable whose value is to be decremented. + The decremented value. + The address of location is a null pointer. + + + + Sets a 32-bit signed integer to a specified value and returns the original + value, as an atomic operation. + + The variable to set to the specified value. + The value to which the location1 parameter is set. + The original value of location1. + The address of location1 is a null pointer. + + + + Sets an object to a specified value and returns a reference to the original + object, as an atomic operation. + + The variable to set to the specified value. + The value to which the location1 parameter is set. + The original value of location1. + The address of location1 is a null pointer. + + + + Sets a variable of the specified type T to a specified value and and returns the original value, as an atomic operation. + + The variable to set to the specified value. + The value to which the location1 parameter is set. + Type to be used for location1 and value. + The original value of location1. + The address of location1 is a null pointer. + + + + Increments a specified variable and stores the result, as an atomic operation. + + The variable whose value is to be incremented. + The incremented value. + The address of location is a null pointer. + + + + Class to provide SNTP functionality. + This feature is not supported on . + + + + + method to enable or disable SNTP on the CE platform + + + + + + + Method to set the SNTP server on Mono. Right now this is only for mercury - so execute the console command. + + + + + + Method to set the SNTP server on a CE based control system + + + + + + Method to enable/disable and or read in the state/server/period + + Whether enabling or disabling + Are we only reading + List of servers + period Inminutes + Returns current state when reading + + + + Method to enable or disable SNTP on the Mono platform.. This is only on mercury + + + + + + Method to get the SNTP state on mono - only used on mercury. + + + + + + Method to get the SNTP server on mono - only used on mercury. + + + + + + Method to enable the SNTP Service + + Operation is not supported + Invalid operation exception. Please refer to the message for the actual exception. + SNTP is not supported on this platform. Use to determine the running platform type. + + + + Method to disable the SNTP Service. + This will only disable the periodic sync with the specified SNTP server. The method or the corresponding console command can still be used to + force a one time sync. + + Operation is not supported + Invalid operation exception. Please refer to the message for the actual exception. + SNTP is not supported on this platform. Use to determine the running platform type. + + + + Method to do an SNTP sync on CE + + + + + Method to perform a sync on Mono - this is only on mercury for the timebeing. + + + + + Method to force a time sync from the specified SNTP server. + + Operation is not supported + Invalid operation exception. Please refer to the message for the actual exception. + SNTP is not supported on this platform. Use to determine the running platform type. + + + + Property to check the state of the SNTP service. + + Operation is not supported + Invalid operation exception. Please refer to the message for the actual exception. + SNTP is not supported on this platform. Use to determine the running platform type. + + + + Property to get/set the SNTP server. + + Operation is not supported + Specified Argument is NULL or Empty. + Invalid operation exception. Please refer to the message for the actual exception. + SNTP is not supported on this platform. Use to determine the running platform type. + + + + User data class + + + This example program adds a console command to create a token with GetAuthenticationToken(), then adds another command to call GetUsers() with the token + + using System; + using System.Collections.Generic; + using Crestron.SimplSharp; // For Basic SIMPL# Classes + using Crestron.SimplSharpPro; // For Basic SIMPL#Pro classes + using Crestron.SimplSharp.CrestronAuthentication; + + public class ControlSystem : CrestronControlSystem + { + Authentication.UserToken adminToken; + bool hasToken; + + public ControlSystem() + { + try + { + CrestronConsole.AddNewConsoleCommand(CreateToken, "createtoken", "usage: createtoken username password", ConsoleAccessLevelEnum.AccessAdministrator); + } + catch (Exception e) + { + ErrorLog.Error("Error in the constructor: {0}", e.Message); + } + } + + // Create a token for an admin user, or print an error message if the credentials of an existing admin are not provided + public void CreateToken(string args) + { + try + { + string userName = args.Split(' ')[0]; + string password = args.Split(' ')[1]; + if (hasToken) + { + Authentication.ReleaseAuthenticationToken(adminToken); + hasToken = false; + } + adminToken = Authentication.GetAuthenticationToken(userName, password); + if (adminToken.Valid) + { + if ((adminToken.Access & Authentication.UserAuthenticationLevelEnum.Administrator) + == Authentication.UserAuthenticationLevelEnum.Administrator) + { + CrestronConsole.ConsoleCommandResponse("Admin Token created\r\n"); + CrestronConsole.AddNewConsoleCommand(SeeAllUsers, "SeeAllU", "See all the users on the control system", ConsoleAccessLevelEnum.AccessAdministrator); + hasToken = true; + } + else + { + CrestronConsole.ConsoleCommandResponse("Inputted credentials are not for an admin account"); + Authentication.ReleaseAuthenticationToken(adminToken); + } + } + else + { + CrestronConsole.ConsoleCommandResponse("The specified username/password pair is incorrect"); + } + + } + catch (Exception e) + { + CrestronConsole.ConsoleCommandResponse("Error in CreateToken: {0}", e); + } + } + + public void SeeAllUsers(string args) + { + try + { + if (adminToken.Valid && + (adminToken.Access & Authentication.UserAuthenticationLevelEnum.Administrator) + == Authentication.UserAuthenticationLevelEnum.Administrator) + { + List<string> users = Authentication.GetUsers(adminToken); + CrestronConsole.ConsoleCommandResponse("User List:\r\n\r\n"); + if (users == null) + { + CrestronConsole.ConsoleCommandResponse("Error encountered in GetUsers()"); + } + else if (users.Count == 0) + { + CrestronConsole.PrintLine("No Users"); + } + else + { + CrestronConsole.ConsoleCommandResponse("User\t\t\t\tAccess Level\r\n"); + foreach (var user in users) + { + CrestronConsole.ConsoleCommandResponse("{0}", user); + CrestronConsole.ConsoleCommandResponse("\t\t\t{0}\r\n", Authentication.GetAccessLevelForSpecifiedUser(adminToken, user)); + } + } + } + else + { + CrestronConsole.ConsoleCommandResponse("Invalid adminToken provided"); + } + } + catch (Exception e) + { + CrestronConsole.ConsoleCommandResponse("Error in SeeAllUsers(): {0}", e); + } + } + } + + + + + + DisableAuthenticationOnCSOnLinux - disables authentication on the box + + disable ssl also - return value will indicate reboot required + clear out all the users also + + + + + EnableAuthenticationOnCSOnLinux - Enables authentication with the given username and password + + Username + Password + + Returns eAuthenticationEnabledDisabledResponse which indicates error/success or reboot required. + + + + + Method to enable authentication on the control system. + + If SSL is not enabled, it will be after calling this method. A reboot maybe required to complete this operation. + User name of either an existing administrator or, if none exist, the user name of the default account. + Password of the existing account specified by the 'adminUserName' parameter, or the password of the default account. + Result enumeration to determine if the operation was successful or not. + This method is currently not supported. + + + + Method to disable authentication on the control system. + SSL state and user information will remain in their current state. + + for a valid administrator account. + Result enumeration to determine if the operation was successful or not. + This method is currently not supported. + + + + Method to disable authentication on the control system. + + 'true' will disable SSL, 'false' will not change the state of SSL. + for a valid administrator account. + Result enumeration to determine if the operation was successful or not. + This method is currently not supported. + + + + Method to disable authentication on the control system. + + for a valid administrator account. + 'true' will disable SSL, 'false' will not change the state of SSL. + 'true' will remove all users from the system, 'false' current user accounts will remain untouched on the system. + Result enumeration to determine if the operation was successful or not. + This method is currently not supported. + If the API is not supported on this platform. Use to determine the running platform type. + + + + Add a new token to the list + + User credential information token + None + Unable to add user token. + + + + Remove a user info token + + user credentials information + None + Unable to remove user token. + + + Check whether user token is valid + user token + Flag indicating whether the user token was valid + Unable to validate user token. + + + Check whether this token has admin access + user token + Flag indicating whether the user has admin access + + + Add group to system + User token obtained using GetAuthentication method + groupName to add to the system + accesslevel for the specified group + Flag indicating whether the group was successfully added + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + The minimum firmware version required for this method is 1.009.0051. + + + Add group to system + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + groupName to add to the system + accesslevel for the specified group + Flag indicating whether the group was successfully added + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + The minimum firmware version required for this method is 1.009.0051. + + + Add user to group + User token obtained using GetAuthentication method + User to be added to the group + NOT USED + Name of the group to add the user to + Flag indicating whether the user was added successfully to the group + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Program does not have access to the domain raise privilege. + Arguments provided to a method is not valid. + The minimum firmware version required for this method is 1.009.0051. + + + Add user to group + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + User to be added to the group + NOT USED + Name of the group to add the user to + Flag indicating whether the user was added successfully to the group + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Program does not have access to the domain raise privilege. + Arguments provided to a method is not valid. + The minimum firmware version required for this method is 1.009.0051. + + + Add user to group + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + User to be added to the group + Name of the group to add the user to + Flag indicating whether the user was added successfully to the group + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Program does not have access to the domain raise privilege. + Arguments provided to a method is not valid. + The minimum firmware version required for this method is 1.009.0051. + + + add user to system + user token obtained using GetAuthentication method + user to be added to the system + password for user to be added + returns true if user was added successfully + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + add user to system + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + user to be added to the system + password for user to be added + returns true if user was added successfully + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + Remove an access group from the system + user token obtained using GetAuthentication method + group to delete + Flag indicating whether the group was deleted + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + Remove an access group from the system + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + group to delete + Flag indicating whether the group was deleted + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + Remove a user account from an access group + User token obtained using GetAuthentication method + the user name + the group name + Flag indicating whether the user was removed from the group (true=success) + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + Remove a user account from an access group + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + the user name + the group name + Flag indicating whether the user was removed from the group (true=success) + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + Remove a user account from the control system list of users + User token obtained using GetAuthentication method + User name to remove from the system + Flag indicating whether the user was removed from the system (true=success) + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + Remove a user account from the control system list of users + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + User name to remove from the system + Flag indicating whether the user was removed from the system (true=success) + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + + Method to return the current list of users that have access to this system. +

    Requires minimum firmware version 1.502.0009

    +
    + UserToken of an Administrator level user. + Collection of the users that have been added to this system, 'null' on error. + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + This method requires minimum firmware version 1.502.0009 or higher +
    + + + Method to return the current list of groups and each of its access level in this system. +

    Requires minimum firmware version 1.601.0017

    +
    + UserToken of an Administrator level user. + List of the that have been added to this system, 'null' on error. + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + This method requires minimum firmware version 1.601.0017 or higher +
    + + + Active directory login to system. +

    Requires minimum firmware version 1.601.0017

    +
    + Local user token obtained using "GetAuthenticationToken" method passed as reference. + ADConnect member of utoken will be updated if user could login to AD server. + Domain to be logged in to the system + User to be logged in the system + Password for logged in to be added + Returns true if domain user was able to login successfully. + Returns false if user token is invalid or unable to connect or login successfully to the Active Directory server. + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + Unable to update token or login to Active Directory. + Active Directory Login is not supported on this platform. Use to determine the running platform type. +
    + + Active directory logout from system +

    Requires minimum firmware version 1.601.0017

    + User token obtained using "GetAuthenticationToken" method passed as refernce that is needed to logout from active directory server. + Returns true if user was able to logout successfully from active directory server. + Returns false if user token is invalid or unable to connect to AD or unable to logout from AD. + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + Unable to update token or logout from Active Directory. + Active Directory Logout is not supported on this platform. Use to determine the running platform type. +
    + + + Method to login to AD for a specified user on linux. + + Domain name + User name + Password + Returns the access level + Returns active directory connection ID + Returns true if user is able to login to AD. Else false. + + + + Method to logout from AD for a specified user on linux. + + Domain user name in form domain\username. + Returns true if the logout has been successful. + Returns false if the logout is failed. + Arguments provided to a method is not valid. + + + + Method to get the access lever for a specified user on linux + + user Name + Access level + + + + Internal method to get the access level. Not currerntly supported for VC-4 + + User name + Access level + + + + Method to return the access level of the specified user. This returns indicating the access level. + + Token of an Administrator level user. + Specified user to return access level + Enum indicating user access level. A user could belong to multiple groups so the return value could specify multiple access levels. + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + This method requires minimum firmware version 1.502.0009 or higher + Arguments provided to the method are not valid + The method is not currently supported + + + + Method to return the groups that the specified user belongs to. This returns containing the groups. + + Token of an Administrator level user. + Specified user to return access level + A list of groups. + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + This method requires minimum firmware version 1.502.0009 or higher + Arguments provided to the method are not valid + The method is not currently supported + + + + Get all the groups a user belongs to (3-Series) + + + + + Get authentication token for this user. For use for administering local groups and users or once a domain has been added. + the user name to get the token for + the password of the user + Flag indicating whether the permissions of the program permission were raised + Authentication is not currently enabled on the controller. + Arguments provided to a method is not valid. + + + Get authentication token for the local user and validate the given domain user. + the user name to get the token for + the password of the user + Domain user name to validate. + Domain user password. + Flag indicating whether the permissions of the program permission were raised + Authentication is not currently enabled on the controller. + Arguments provided to a method is not valid. + The minimum firmware version required for this method is 1.009.0051. + + + + This function releases the authentication token, obtained by calling the GetAuthentication method. + + user credential token + returns true if successful + Authentication is not currently enabled on the controller. + + + + method to get the user information on linux.. This does the validation under the hood + + user name to validate + password to validate + User Information + true or false + + + + Method to get the user information + + username + password + connection id + user information + + + + + Method to update the password for a specified user. + + User token obtained using GetAuthentication method passed in as reference so that the access level gets updated dynamically + Name of the user to update the password. + New password for the user + true if succeeded or false otherwise + Authentication is not currently enabled on the controller. + Higher privileges are required to use this method. + Arguments provided to a method is not valid. + + + + Internal method which calls the CE or Linux function. This allows for us to bypass the version check + + + + bool + + + + Method to update the password for the specified user on linux + + username + password + bool + + + + Method to update the password for the specified user on CE + + username + password + bool + + + Return information about the specified user information + user name of the account to validate, append domain name if needed (domain\user) + the user password + User information block structure populated with user data + Authentication is not currently enabled on the controller. + Arguments provided to a method is not valid. + The minimum firmware version required for this method is 1.009.0051. + + + + Method IsCloudInControl() is not defined for v1.012.0017. Provided a wrapper for this. + + + + + Internal method to enable or disabe user page authentication on linux. + 'false' for disabling and 'true' for enabling user page authentication. + + Returns 'true' if user authentication state is changed. Else 'false'. + + + Internal method to enable or disabe user page authentication. + 'false' for disabling and 'true' for enabling user page authentication. + Returns 'true' if user authentication state is changed. + The method is not currently supported + + + + Internal method to get the enabled or disabled status of user authentication. + + 'true' if user authentication is enabled else 'false'. + + + Internal method to get the enabled or disabled status of user authentication. + Returns 'false' if user authentication is disabled, 'true' if user authentication is enabled. + The method is not currently supported. + If minimum firmware version requirement is not satisfied. + + + + Internal method to check whether forced authentication is enabled or not. + + 'true' if Forced authentication is enabled else 'false'. + + + Internal method to check whether forced authentication is enabled or not. + Returns 'false' if forced authentication is disabled, 'true' if forced authentication is enabled. + The method is not currently supported + + + Get the minimum supported firmware version for a feature. + Feature or method defined in . + Passed as reference to get back the minimum firmware version that is supported by the feature. + 'true' if the feature is supported in current version. Else 'false'. + The method is not currently supported. + + + Method to enable or disable user page authentication. + User token obtained using "GetAuthenticationToken" method passed + 'false' for disabling and 'true' for enabling user page authentication. + Returns 'true' if user authentication state is changed successfully to the state mentioned in "paramState". + Authentication or Forced Authentication is not currently enabled on the controller. + Invalid token passed to this method. + Higher privileges are required to use this method. + If the API is not supported on this platform. Use to determine the running platform type. + If minimum firmware version requirement is not satisfied. + The minimum firmware version required for this method is 1.602.0002 for 3-Series devices and 2.4361.02171 for 4-Series devices. + + + + Flag indicating the current state of authentication + + + + + Flag indicating the current state of user page authentication. + Returns 'false' if user page authentication is disabled, 'true' if user page authentication is enabled. + The method is not currently supported. + If minimum firmware version requirement is not satisfied. + The minimum firmware version required for this method is 1.602.0002 for 3-Series devices and 2.4361.02171 for 4-Series devices. + + + + + Flag indicating whether atleast one user with Administrator privilege exist in this system. + Returns 'true' if atleast one user with Administrator privilege exist in this system, else 'false'. + + + + + Flag to indicate that the Cloud is in control of user account or group changes to the system. + + This function is only available in firmware versions 1.500.0013 and higher + + + + Get the current password requirements of the system. + + Unable to read system settings. + + + + Enumeration to define the possible return values for , , , and . + + + + + Authentication has been enabled successfully. + + + + + Authentication has been disabled successfully. + + + + + A reboot of the system is required to complete this operation. + + + + + Based on system settings, the state of authentication can not be changed. + + + + + Specified credentials do not match an existing administrator. + + + + + Specified user name is not that of an administrator. + + + + + The specified password does not match the rules of the system. + + + + + Error creating Administrator account or changing the state of authentication. + + + + + Error indicating that an invalid user name was specified. + + + + + Enum that lines up with the 4-Series native authentication return codes. + + + + + Error creating Administrator account or changing the state of authentication. + + + + + Authentication has been enabled successfully. + + + + + A reboot of the system is required to complete this operation. + + + + + Based on system settings, the state of authentication can not be changed. + + + + + Specified credentials do not match an existing administrator. + + + + + Specified user name is not that of an administrator. + + + + + The specified password does not match the rules of the system. + + + + + The specified user does not match the rules of the system. + + + + + Authentication has been disabled successfully. + + + + + Structure returned from the to contain the current rules of the system. + + + + + Minimum length the password can be. + + + + + Flag to indicate that the password must contain a lower and upper case character. + + + + + Flag to indicate that the password must contain a number. + + + + + Flag to indicate that the password must contain atleast one special character. + + + + + Enumeration that goes as input to the method to check the minimum version supported by feature/method. + + + + + User page authentication. + + + + + User credential information token + + + + + User name + + + + + password + + + + + access rights for this user + + + + + user domain access connection status + + + + + user token is valid + + + + + Local user's domain access connection status + This field used by and . + + + + + Local user's domain user name. + This field used by and . + + + + + user name + + + + + user password + + + + + user access level + + + + + active directory connection flag + + + + + flag indicating whether the user information is valid + + + + + structure to contain information about a user returned on user validation request + + + + + user name + + + + + user is member of these groups + + + + + access level string + + + + + flag indicating whether user is authenticated + + + + + user name + + + + + user groups + + + + + user access string + + + + + user authentication indicator + + + + + Structure defined to keep group name and its access level that are present on the system. + + + + + Method to create an instance of . + + Group name. + Access level of group. + + + + Group name + + + + + Access level + + + + + enumeration defining the different access levels a user account can have + + + + + No Access + + + + + Access connect + + + + + Access user + + + + + Access operator + + + + + Access programmer + + + + + Access administrator + + + + + Exception used when a privilegeException error occurs. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Exception used when a Domain access fails. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + This class provides debugging features. + + + + + Signals a breakpoint to an attached debugger. + + + + + Writes the ToString of an object to the debugger's window. + + An object whose name is sent to the debugger's window. + + + + Writes a string to the debugger's window. + + A message to write. + + + + Writes a category name and the value of the object's ToString method to the debugger's window + + An object whose name is sent to the debugger's window. + A category name used to organize the output. + + + + Writes a category name and message to the debugger's window + + A message to write. + A category name used to organize the output. + + + + Writes the value of the object's ToString method to the debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + An object whose name is sent to the debugger's window. + + + + Writes a message to the debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + A message to write. + + + + Writes a category name and the value of the object's ToString method to debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + An object whose name is sent to the debugger's window. + A category name used to organize the output. + + + + Writes a category name and message to the debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + A message to write. + A category name used to organize the output. + + + + Writes the value of the object's ToString method to the debugger's window. + + An object whose name is sent to the debugger's window. + + + + Writes a message followed by a line terminator to the debugger's window. + + A message to write. + + + + Writes a category name and the value of the object's ToString method to the debugger's window. + + An object whose name is sent to the debugger's window. + A category name used to organize the output. + + + + Writes a category name and message to the debugger's window. + + A message to write. + A category name used to organize the output. + + + + Writes the value of the object's ToString method to the debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + An object whose name is sent to the debugger's window. + + + + Writes a message followed by a line terminator to the debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + A message to write. + + + + Writes a category name and the value of the object's ToString method to the debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + An object whose name is sent to the debugger's window. + A category name used to organize the output. + + + + Writes a category name and message to the debugger's window if a condition is true. + + true to cause a message to be written; otherwise, false. + A message to write. + A category name used to organize the output. + + + + Gets a value that indicates whether a debugger is attached to the process. + + true if a debugger is attached; otherwise, false. + + + + Specifies the addressing scheme. + + + + + Unknown address family. + + + + + Unspecified address family. + + + + + Unix local to host address. + + + + + Address for IP version 4. + + + + + ARPANET IMP address. + + + + + Address for PUP protocols. + + + + + Address for MIT CHAOS protocols. + + + + + IPX or SPX address. + + + + + Address for Xerox NS protocols. + + + + + Address for OSI protocols. + + + + + Address for ISO protocols. + + + + + European Computer Manufacturers Association (ECMA) address. + + + + + Address for Datakit protocols. + + + + + Addresses for CCITT protocols, such as X.25. + + + + + IBM SNA address. + + + + + DECnet address. + + + + + Direct data-link interface address. + + + + + LAT address. + + + + + NSC Hyperchannel address. + + + + + AppleTalk address. + + + + + NetBios address. + + + + + VoiceView address. + + + + + FireFox address. + + + + + Banyan address. + + + + + Native ATM services address. + + + + + Address for IP version 6. + + + + + Address for Microsoft cluster products. + + + + + IEEE 1284.4 workgroup address. + + + + + IrDA address. + + + + + Address for Network Designers OSI gateway-enabled protocols. + + + + + MAX address. + + + + + Exception used to throw a socket exception. + + + + + Exception with the message blank and innerException null. + + + + + Exception with the message populated with the Exception information and the innerException is null. + + General message about the Exception. + + + + Exception with the message and innerException populated. + + General message about the Exception. + Information on what caused the exception. + + + + Provides an Internet Protocol (IP) address. + + + + + Initializes a new instance of the IPAddress class with the address specified as a Byte array + + The byte array value of the IP address. + address is null. + + + + Internal constructor to set the System.Net.IPAddress as our IPAddress + + + + + + Returns the actual IP address + + + + + + Initializes a new instance of the IPAddress class with the address specified as an System.Int64 + + The long value of the IP address. + + + + Initializes a new instance of the IPAddress class with the address + specified as a Byte array and the specified scope identifier. + + The byte array value of the IP address. + The long value of the scope identifier. + Address in null + scopeid is less then 0 or scopeid greater then 0x00000000FFFFFFFF + + + + Compares two IP addresses. + + An SimplSharp.IPAddress instance to compare to the current instance. + true if the two addresses are equal; otherwise, false. + + + + Provides a copy of the SimplSharp.IPAddress as an array of bytes. + + A Byte array + + + + Returns a hash value for an IP address. + + An integer hash value + + + + Converts an integer value from host byte order to network byte order. + + The number to convert, expressed in host byte order. + An integer value, expressed in network byte order. + + + + Converts a long value from host byte order to network byte order. + + The number to convert, expressed in host byte order. + A long value, expressed in network byte order. + + + + Converts a short value from host byte order to network byte order. + + The number to convert, expressed in host byte order. + A short value, expressed in network byte order. + + + + Indicates whether the specified IP address is the loopback address. + + An IP address. + true if address is the loopback address; otherwise, false. + + + + Converts an integer value from network byte order to host byte order. + + The number to convert, expressed in network byte order. + An integer value, expressed in host byte order. + + + + Converts a long value from network byte order to host byte order. + + The number to convert, expressed in network byte order. + A long value, expressed in host byte order + + + + Converts a short value from network byte order to host byte order. + + The number to convert, expressed in network byte order. + A short value, expressed in host byte order. + + + + Converts an IP address string to an IPAddress instance. + + A string that contains an IP address in dotted-quad notation for IPv4 and + in colon-hexadecimal notation for IPv6. + An SimplSharp.IPAddress instance. + IPString is NULL + IPString is not a valid IP Address + + + + Converts an Internet address to its standard notation. + + A string that contains the IP address in either IPv4 dotted-quad or in IPv6 colon-hexadecimal notation. + + + + Provides an IP address that indicates that the server must listen for client + activity on all network interfaces. This field is read-only. + + + + + Provides the IP broadcast address. This field is read-only. + + + + + Provides an IP address that indicates that the server must listen for client + activity on all network interfaces. This field is read-only. + + + + + Provides the IP loopback address. This property is read-only. + + + + + Provides an IP address that indicates that no network interface should be used. This property is read-only. + + + + + Provides the IP loopback address. This field is read-only. + + + + + Provides an IP address that indicates that no network interface should be used. This field is read-only. + + + + + Gets the address family of the IP address. + Returns SimplSharp.AddressFamily.InterNetwork for IPv4 or SimplSharp.AddressFamily.InterNetworkV6 for IPv6. + + + + + Gets or sets the IPv6 address scope identifier. + Returns A long integer that specifies the scope of the address. + + AddressFamily = InterNetwork + scopeid is less then 0 or scopeid greater then 0x00000000FFFFFFFF + + + + Represents a network endpoint as an IP address and a port number. + + + + + Specifies the maximum value that can be assigned to the IPEndPoint.Port + property. The MaxPort value is set to 0x0000FFFF. This field is read-only. + + + + + Specifies the minimum value that can be assigned to the IPEndPoint.Port + property. This field is read-only. + + + + + Initializes a new instance of the IPEndPoint class with the specified address and port number. + + An IPAddress + The port number associated with the address, or 0 to specify any available + port. port is in host order. + port is less than IPEndPoint.MinPort. -or- port is greater than + MaxPort. -or- address is less than 0 or greater than 0x00000000FFFFFFFF. + + + + Initializes a new instance of the IPEndPoint class with the specified address and port number. + + IP Address of the Internet host + The port number associated with the address, or 0 to specify any available + port. port is in host order. + port is less than IPEndPoint.MinPort. -or- port is greater than + MaxPort. -or- address is less than 0 or greater than 0x00000000FFFFFFFF. + + + + Compares two IPEndPoints + + IPEndpoint to compare + true if the specified Object is equal to the current Object; + otherwise, false. + + + + Returns an hash value for the endpoint + + A hash code for the current object. + + + + Returns the IP address and port number of the specified endpoint. + + A string containing the IP address and the port number of the specified endpoint + + + + Gets or sets the IP address of the endpoint. + Returns a IPAddress instance containing the IP address of the endpoint. + + + + + Gets the Internet Protocol (IP) address family. + Returns SimplSharp.AddressFamily.InterNetwork. + + + + + Gets or sets the port number of the endpoint. + Returns An integer value in the range IPEndPoint.MinPort to IPEndPoint.MaxPort indicating the port number of the endpoint. + + The value that was specified for a set operation is less than IPEndPoint.MinPort + or greater than IPEndPoint.MaxPort. + + + + Provides a container class for Internet host address information. + + + + + Constructor to initialize the IPHostEntry class + + + + + Contructor to intialize the host entry based on an actual host entry + + System.Net.IPHostEntry to initialize the class to + + + + Gets a list of IP addresses that are associated with a host. + An array of type IPAddress that contains IP addresses that resolve + to the host names that are contained in the IPHostEntry.Aliases + property. + + + + + Gets a list of aliases that are associated with a host. + Returns An array of strings that contain DNS names that resolve to the IP addresses in the IPHostEntry.AddressList property + + + + + Gets DNS name of the host. + + + + diff --git a/SIMPL_Example/SPlsWork/Utilities.dll b/SIMPL_Example/SPlsWork/Utilities.dll new file mode 100644 index 0000000000000000000000000000000000000000..036a4fa48ca1709f97182255de0ffa3ae3d3b4d9 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/SimplWindowDemo/SPlsWork/Version.ini b/SIMPL_Example/SPlsWork/Version.ini similarity index 97% rename from SimplWindowDemo/SPlsWork/Version.ini rename to SIMPL_Example/SPlsWork/Version.ini index 6aaf100..881b637 100644 --- a/SimplWindowDemo/SPlsWork/Version.ini +++ b/SIMPL_Example/SPlsWork/Version.ini @@ -1,7 +1,7 @@ [Version] -Include.dat=2.14.099 +Include.dat=2.19.069 Include.dat (PRO2)=1.77 -Include.dat (PRO3)=2.14.099 +Include.dat (PRO3)=2.19.069 Min3SeriesFirmware=1.007.0017 Min3SeriesInclude=2.00.010 Min3SeriesSMW=4.02.16 diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.lpz b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.lpz deleted file mode 100644 index dab25071ea6344b44355367af446d0c9f891fc75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3227 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 diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.lpz.hash b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.lpz.hash deleted file mode 100644 index 1978879..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.lpz.hash +++ /dev/null @@ -1 +0,0 @@ -2020-12-17T22:14:16Z \ No newline at end of file diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sig b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sig deleted file mode 100644 index fec7d08..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sig +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:90230cb20fa1afdee9fc2b7619982d71a83ef6cace652882a8d8c7dfc28b522e -size 7867 diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sm2 b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sm2 deleted file mode 100644 index 797ba31..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.sm2 +++ /dev/null @@ -1,4587 +0,0 @@ -[ -Version=1 -] -[ -ObjTp=FSgntr -Sgntr=SimplWindow -RelVrs=4.14.21 -IntStrVrs=2 -MinSMWVrs=3.00.00 -MinTIOVrs=700 -SavedBy=SMW4.11.06 -] -[ -ObjTp=Hd -CnC=3816 -CnH=2 -S0Nd=1 -S1Nd=2 -SLNd=3 -PrNm=DynFusion_SimplWindowsDemo_v00.01.smw -DbVr=202.00.001.00 -DvcDbVr=200.20.002.00 -PgmNm=JTA -DlrNm=PepperDash -CltNm=DynFusionTest -SmVr=1120 -DvVr=1120 -TpN1=1 -TpN2=2 -TpN3=3 -TpN4=4 -TpN5=5 -APg=1 -FltTmp=1 -FpCS=0 -EnType=0 -ZeroOnIoOk=0 -PIT=DynFusionTest -TargetFusionProcessor=1 -SGMethod=1 -] -[ -ObjTp=Dv -Nm=RMC3 -H=2 -PrH=1 -DvC=3816 -ObjVer=4 -DvVr=1120 -Ad=00 -RelStat=Release -ProdLine=3-Series -DbH=1 -mC=11 -C1=3 -C2=259 -C3=515 -C4=516 -C5=520 -C6=526 -C7=532 -C8=536 -C9=545 -C10=546 -C11=547 -] -[ -ObjTp=Dv -Nm=Fixed -H=3 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=4 -] -[ -ObjTp=Dv -Nm=C2I-RMC3CNET-1 -H=4 -PrH=3 -DvC=3805 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=01 -SmH=6 -RelStat=Release -mC=254 -C1=5 -C2=6 -C3=7 -C4=8 -C5=9 -C6=10 -C7=11 -C8=12 -C9=13 -C10=14 -C11=15 -C12=16 -C13=17 -C14=18 -C15=19 -C16=20 -C17=21 -C18=22 -C19=23 -C20=24 -C21=25 -C22=26 -C23=27 -C24=28 -C25=29 -C26=30 -C27=31 -C28=32 -C29=33 -C30=34 -C31=35 -C32=36 -C33=37 -C34=38 -C35=39 -C36=40 -C37=41 -C38=42 -C39=43 -C40=44 -C41=45 -C42=46 -C43=47 -C44=48 -C45=49 -C46=50 -C47=51 -C48=52 -C49=53 -C50=54 -C51=55 -C52=56 -C53=57 -C54=58 -C55=59 -C56=60 -C57=61 -C58=62 -C59=63 -C60=64 -C61=65 -C62=66 -C63=67 -C64=68 -C65=69 -C66=70 -C67=71 -C68=72 -C69=73 -C70=74 -C71=75 -C72=76 -C73=77 -C74=78 -C75=79 -C76=80 -C77=81 -C78=82 -C79=83 -C80=84 -C81=85 -C82=86 -C83=87 -C84=88 -C85=89 -C86=90 -C87=91 -C88=92 -C89=93 -C90=94 -C91=95 -C92=96 -C93=97 -C94=98 -C95=99 -C96=100 -C97=101 -C98=102 -C99=103 -C100=104 -C101=105 -C102=106 -C103=107 -C104=108 -C105=109 -C106=110 -C107=111 -C108=112 -C109=113 -C110=114 -C111=115 -C112=116 -C113=117 -C114=118 -C115=119 -C116=120 -C117=121 -C118=122 -C119=123 -C120=124 -C121=125 -C122=126 -C123=127 -C124=128 -C125=129 -C126=130 -C127=131 -C128=132 -C129=133 -C130=134 -C131=135 -C132=136 -C133=137 -C134=138 -C135=139 -C136=140 -C137=141 -C138=142 -C139=143 -C140=144 -C141=145 -C142=146 -C143=147 -C144=148 -C145=149 -C146=150 -C147=151 -C148=152 -C149=153 -C150=154 -C151=155 -C152=156 -C153=157 -C154=158 -C155=159 -C156=160 -C157=161 -C158=162 -C159=163 -C160=164 -C161=165 -C162=166 -C163=167 -C164=168 -C165=169 -C166=170 -C167=171 -C168=172 -C169=173 -C170=174 -C171=175 -C172=176 -C173=177 -C174=178 -C175=179 -C176=180 -C177=181 -C178=182 -C179=183 -C180=184 -C181=185 -C182=186 -C183=187 -C184=188 -C185=189 -C186=190 -C187=191 -C188=192 -C189=193 -C190=194 -C191=195 -C192=196 -C193=197 -C194=198 -C195=199 -C196=200 -C197=201 -C198=202 -C199=203 -C200=204 -C201=205 -C202=206 -C203=207 -C204=208 -C205=209 -C206=210 -C207=211 -C208=212 -C209=213 -C210=214 -C211=215 -C212=216 -C213=217 -C214=218 -C215=219 -C216=220 -C217=221 -C218=222 -C219=223 -C220=224 -C221=225 -C222=226 -C223=227 -C224=228 -C225=229 -C226=230 -C227=231 -C228=232 -C229=233 -C230=234 -C231=235 -C232=236 -C233=237 -C234=238 -C235=239 -C236=240 -C237=241 -C238=242 -C239=243 -C240=244 -C241=245 -C242=246 -C243=247 -C244=248 -C245=249 -C246=250 -C247=251 -C248=252 -C249=253 -C250=254 -C251=255 -C252=256 -C253=257 -C254=258 -] -[ -ObjTp=Dv -Nm=PowerSlot -H=5 -PrH=4 -ObjVer=1 -SlC=30 -DvF=Sl -SlF=Ex -DvVr=1120 -Ad=None -] -[ -ObjTp=Dv -Nm=Not_Used -H=6 -PrH=4 -ObjVer=1 -SlC=17 -DvF=Sl -DvVr=1120 -Ad=02 -] -[ -ObjTp=Dv -Nm=P3Cresnet -H=7.258 -PrH=4 -ObjVer=1 -SlC=228 -DvF=Sl -DvVr=1120 -Ad=03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE -] -[ -ObjTp=Dv -Nm=Fixed -H=259 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=260 -] -[ -ObjTp=Dv -Nm=C2I-RMC3ENET-1 -H=260 -PrH=259 -DvC=3806 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=02 -SmH=7 -RelStat=Release -mC=254 -C1=261 -C2=262 -C3=263 -C4=264 -C5=265 -C6=266 -C7=267 -C8=268 -C9=269 -C10=270 -C11=271 -C12=272 -C13=273 -C14=274 -C15=275 -C16=276 -C17=277 -C18=278 -C19=279 -C20=280 -C21=281 -C22=282 -C23=283 -C24=284 -C25=285 -C26=286 -C27=287 -C28=288 -C29=289 -C30=290 -C31=291 -C32=292 -C33=293 -C34=294 -C35=295 -C36=296 -C37=297 -C38=298 -C39=299 -C40=300 -C41=301 -C42=302 -C43=303 -C44=304 -C45=305 -C46=306 -C47=307 -C48=308 -C49=309 -C50=310 -C51=311 -C52=312 -C53=313 -C54=314 -C55=315 -C56=316 -C57=317 -C58=318 -C59=319 -C60=320 -C61=321 -C62=322 -C63=323 -C64=324 -C65=325 -C66=326 -C67=327 -C68=328 -C69=329 -C70=330 -C71=331 -C72=332 -C73=333 -C74=334 -C75=335 -C76=336 -C77=337 -C78=338 -C79=339 -C80=340 -C81=341 -C82=342 -C83=343 -C84=344 -C85=345 -C86=346 -C87=347 -C88=348 -C89=349 -C90=350 -C91=351 -C92=352 -C93=353 -C94=354 -C95=355 -C96=356 -C97=357 -C98=358 -C99=359 -C100=360 -C101=361 -C102=362 -C103=363 -C104=364 -C105=365 -C106=366 -C107=367 -C108=368 -C109=369 -C110=370 -C111=371 -C112=372 -C113=373 -C114=374 -C115=375 -C116=376 -C117=377 -C118=378 -C119=379 -C120=380 -C121=381 -C122=382 -C123=383 -C124=384 -C125=385 -C126=386 -C127=387 -C128=388 -C129=389 -C130=390 -C131=391 -C132=392 -C133=393 -C134=394 -C135=395 -C136=396 -C137=397 -C138=398 -C139=399 -C140=400 -C141=401 -C142=402 -C143=403 -C144=404 -C145=405 -C146=406 -C147=407 -C148=408 -C149=409 -C150=410 -C151=411 -C152=412 -C153=413 -C154=414 -C155=415 -C156=416 -C157=417 -C158=418 -C159=419 -C160=420 -C161=421 -C162=422 -C163=423 -C164=424 -C165=425 -C166=426 -C167=427 -C168=428 -C169=429 -C170=430 -C171=431 -C172=432 -C173=433 -C174=434 -C175=435 -C176=436 -C177=437 -C178=438 -C179=439 -C180=440 -C181=441 -C182=442 -C183=443 -C184=444 -C185=445 -C186=446 -C187=447 -C188=448 -C189=449 -C190=450 -C191=451 -C192=452 -C193=453 -C194=454 -C195=455 -C196=456 -C197=457 -C198=458 -C199=459 -C200=460 -C201=461 -C202=462 -C203=463 -C204=464 -C205=465 -C206=466 -C207=467 -C208=468 -C209=469 -C210=470 -C211=471 -C212=472 -C213=473 -C214=474 -C215=475 -C216=476 -C217=477 -C218=478 -C219=479 -C220=480 -C221=481 -C222=482 -C223=483 -C224=484 -C225=485 -C226=486 -C227=487 -C228=488 -C229=489 -C230=490 -C231=491 -C232=492 -C233=493 -C234=494 -C235=495 -C236=496 -C237=497 -C238=498 -C239=499 -C240=500 -C241=501 -C242=502 -C243=503 -C244=504 -C245=505 -C246=506 -C247=507 -C248=508 -C249=509 -C250=510 -C251=511 -C252=512 -C253=513 -C254=514 -] -[ -ObjTp=Dv -Nm=Not_Used -H=261.262 -PrH=260 -ObjVer=1 -SlC=17 -DvF=Sl -DvVr=1120 -Ad=01,02 -] -[ -ObjTp=Dv -Nm=P3Ethernet -H=263 -PrH=260 -ObjVer=1 -SlC=234 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=551 -] -[ -ObjTp=Dv -Nm=P3Ethernet -H=264.430,432.514 -PrH=260 -ObjVer=1 -SlC=234 -DvF=Sl -DvVr=1120 -Ad=04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE -] -[ -ObjTp=Dv -Nm=P3Ethernet -H=431 -PrH=260 -ObjVer=1 -SlC=234 -DvF=Sl -DvVr=1120 -Ad=AB -mC=1 -C1=552 -] -[ -ObjTp=Dv -Nm=NotUsed -H=515 -PrH=2 -ObjVer=1 -SlC=15 -DvF=Sl -DvVr=1120 -Ad=03 -] -[ -ObjTp=Dv -Nm=Fixed -H=516 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=04 -mC=1 -C1=517 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-COM1 -H=517 -PrH=516 -DvC=3807 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=04 -SmH=8 -RelStat=Release -mC=1 -C1=518 -] -[ -ObjTp=Dv -Nm=RMC3COM232_Port -H=518 -PrH=517 -ObjVer=1 -SlC=435 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=519 -] -[ -ObjTp=Dv -Nm=RMC3 Two-way serial driver -H=519 -PrH=518 -DvC=3808 -ObjVer=1 -SlC=435 -DvVr=1120 -Ad=01 -SmH=9 -RelStat=Release -ProdLine=3-Series -CmH=1 -] -[ -ObjTp=Dv -Nm=Fixed -H=520 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=05 -mC=1 -C1=521 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-DI2 -H=521 -PrH=520 -DvC=3809 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=05 -SmH=10 -RelStat=Release -mC=2 -C1=522 -C2=524 -] -[ -ObjTp=Dv -Nm=DigInSlot -H=522 -PrH=521 -ObjVer=1 -SlC=57 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=523 -] -[ -ObjTp=Dv -Nm=DI-Port -H=523 -PrH=522 -DvC=1227 -ObjVer=1 -SlC=57 -DvVr=1120 -Ad=01 -RelStat=Release -] -[ -ObjTp=Dv -Nm=DigInSlot -H=524 -PrH=521 -ObjVer=1 -SlC=57 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=525 -] -[ -ObjTp=Dv -Nm=DI-Port -H=525 -PrH=524 -DvC=1227 -ObjVer=1 -SlC=57 -DvVr=1120 -Ad=02 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fixed -H=526 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=06 -mC=1 -C1=527 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-RY2 -H=527 -PrH=526 -DvC=3810 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=06 -SmH=11 -RelStat=Release -mC=2 -C1=528 -C2=530 -] -[ -ObjTp=Dv -Nm=LoPwrRlySlot -H=528 -PrH=527 -ObjVer=1 -SlC=9 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=529 -] -[ -ObjTp=Dv -Nm=Relay -H=529 -PrH=528 -DvC=7 -ObjVer=1 -SlC=9 -DvVr=1120 -Ad=01 -RelStat=Release -ProdLine=General Purpose IO -] -[ -ObjTp=Dv -Nm=LoPwrRlySlot -H=530 -PrH=527 -ObjVer=1 -SlC=9 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=531 -] -[ -ObjTp=Dv -Nm=Relay -H=531 -PrH=530 -DvC=7 -ObjVer=1 -SlC=9 -DvVr=1120 -Ad=02 -RelStat=Release -ProdLine=General Purpose IO -] -[ -ObjTp=Dv -Nm=Fixed -H=532 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=07 -mC=1 -C1=533 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-IR2 -H=533 -PrH=532 -DvC=3811 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=07 -SmH=12 -RelStat=Release -mC=2 -C1=534 -C2=535 -] -[ -ObjTp=Dv -Nm=RMC3IR_Port -H=534.535 -PrH=533 -ObjVer=1 -SlC=436 -DvF=Sl -SlF=Ex -DvVr=1120 -Ad=01,02 -] -[ -ObjTp=Dv -Nm=Fixed -H=536 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=08 -mC=1 -C1=537 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-SYSTEMMONITOR -H=537 -PrH=536 -DvC=3813 -ObjVer=3 -SlC=2 -DvVr=1120 -Ad=08 -SmH=13 -RelStat=Release -mC=4 -C1=538 -C2=540 -C3=542 -C4=543 -] -[ -ObjTp=Dv -Nm=Fixed -H=538 -PrH=537 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=539 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-SYSTEMCONTROL -H=539 -PrH=538 -DvC=3814 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=01 -SmH=14 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fixed -H=540 -PrH=537 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=541 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-SYSTEMINFORMATION -H=541 -PrH=540 -DvC=3815 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=02 -SmH=15 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Not_Used -H=542 -PrH=537 -ObjVer=1 -SlC=17 -DvF=Sl -DvVr=1120 -Ad=03 -] -[ -ObjTp=Dv -Nm=Fixed -H=543 -PrH=537 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=04 -mC=1 -C1=544 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-USERPROGINIT -H=544 -PrH=543 -DvC=3936 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=04 -SmH=16 -RelStat=Release -] -[ -ObjTp=Dv -Nm=C2I-3SRS-SNMP_Slot -H=545 -PrH=2 -ObjVer=1 -SlC=393 -DvF=Sl -DvVr=1120 -Ad=09 -] -[ -ObjTp=Dv -Nm=C2I-3SRS-BACnet_Slot -H=546 -PrH=2 -ObjVer=1 -SlC=396 -DvF=Sl -DvVr=1120 -Ad=10 -] -[ -ObjTp=Dv -Nm=Fixed -H=547 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=11 -mC=1 -C1=548 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-USB-HID1 -H=548 -PrH=547 -DvC=5203 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=11 -SmH=17 -RelStat=Release -mC=1 -C1=549 -] -[ -ObjTp=Dv -Nm=Fixed -H=549 -PrH=548 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=550 -] -[ -ObjTp=Dv -Nm=C2I-USB-HID -H=550 -PrH=549 -DvC=5204 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=01 -SmH=18 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fusion Room -H=551 -PrH=263 -DvC=2190 -ObjVer=1 -DvVr=1120 -Ad=03 -SmH=19 -RelStat=Release -ProdLine=Fusion -DbH=2 -EtH=2 -mC=252 -C1=553 -C2=555 -C3=557 -C4=559 -C5=560 -C6=561 -C7=562 -C8=563 -C9=564 -C10=565 -C11=566 -C12=567 -C13=568 -C14=569 -C15=570 -C16=571 -C17=572 -C18=573 -C19=574 -C20=575 -C21=576 -C22=577 -C23=578 -C24=579 -C25=580 -C26=581 -C27=582 -C28=583 -C29=584 -C30=585 -C31=586 -C32=587 -C33=588 -C34=589 -C35=590 -C36=591 -C37=592 -C38=593 -C39=594 -C40=595 -C41=596 -C42=597 -C43=598 -C44=599 -C45=600 -C46=601 -C47=602 -C48=603 -C49=604 -C50=605 -C51=606 -C52=607 -C53=608 -C54=609 -C55=610 -C56=611 -C57=612 -C58=613 -C59=614 -C60=615 -C61=616 -C62=617 -C63=618 -C64=619 -C65=620 -C66=621 -C67=622 -C68=623 -C69=624 -C70=625 -C71=626 -C72=627 -C73=628 -C74=629 -C75=630 -C76=631 -C77=632 -C78=633 -C79=634 -C80=635 -C81=636 -C82=637 -C83=638 -C84=639 -C85=640 -C86=641 -C87=642 -C88=643 -C89=644 -C90=645 -C91=646 -C92=647 -C93=648 -C94=649 -C95=650 -C96=651 -C97=652 -C98=653 -C99=654 -C100=655 -C101=656 -C102=657 -C103=658 -C104=659 -C105=660 -C106=661 -C107=662 -C108=663 -C109=664 -C110=665 -C111=666 -C112=667 -C113=668 -C114=669 -C115=670 -C116=671 -C117=672 -C118=673 -C119=674 -C120=675 -C121=676 -C122=677 -C123=678 -C124=679 -C125=680 -C126=681 -C127=682 -C128=683 -C129=684 -C130=685 -C131=686 -C132=687 -C133=688 -C134=689 -C135=690 -C136=691 -C137=692 -C138=693 -C139=694 -C140=695 -C141=696 -C142=697 -C143=698 -C144=699 -C145=700 -C146=701 -C147=702 -C148=703 -C149=704 -C150=705 -C151=706 -C152=707 -C153=708 -C154=709 -C155=710 -C156=711 -C157=712 -C158=713 -C159=714 -C160=715 -C161=716 -C162=717 -C163=718 -C164=719 -C165=720 -C166=721 -C167=722 -C168=723 -C169=724 -C170=725 -C171=726 -C172=727 -C173=728 -C174=729 -C175=730 -C176=731 -C177=732 -C178=733 -C179=734 -C180=735 -C181=736 -C182=737 -C183=738 -C184=739 -C185=740 -C186=741 -C187=742 -C188=743 -C189=744 -C190=745 -C191=746 -C192=747 -C193=748 -C194=749 -C195=750 -C196=751 -C197=752 -C198=753 -C199=754 -C200=755 -C201=756 -C202=757 -C203=758 -C204=759 -C205=760 -C206=761 -C207=762 -C208=763 -C209=764 -C210=765 -C211=766 -C212=767 -C213=768 -C214=769 -C215=770 -C216=771 -C217=772 -C218=773 -C219=774 -C220=775 -C221=776 -C222=777 -C223=778 -C224=779 -C225=780 -C226=781 -C227=782 -C228=783 -C229=784 -C230=785 -C231=786 -C232=787 -C233=788 -C234=789 -C235=790 -C236=791 -C237=792 -C238=793 -C239=794 -C240=795 -C241=796 -C242=797 -C243=798 -C244=799 -C245=800 -C246=801 -C247=802 -C248=803 -C249=804 -C250=805 -C251=806 -C252=807 -] -[ -ObjTp=Dv -Nm=3 Series TCP/IP Ethernet Intersystem Communications -H=552 -PrH=431 -DvC=3823 -ObjVer=2 -DvVr=1120 -Ad=AB -SmH=20 -RelStat=Release -ProdLine=3-Series -DbH=3 -CsH=1 -EtH=1 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=553 -PrH=551 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=554 -] -[ -ObjTp=Dv -Nm=Fusion Digitals -H=554 -PrH=553 -DvC=2191 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=01 -SmH=21 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=555 -PrH=551 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=556 -] -[ -ObjTp=Dv -Nm=Fusion Analogs -H=556 -PrH=555 -DvC=2192 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=02 -SmH=22 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=557 -PrH=551 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=558 -] -[ -ObjTp=Dv -Nm=Fusion Serials -H=558 -PrH=557 -DvC=2193 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=03 -SmH=23 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FusionRoomLoads_Slot -H=559 -PrH=551 -ObjVer=1 -SlC=292 -DvF=Sl -DvVr=1120 -Ad=04 -mC=1 -C1=808 -] -[ -ObjTp=Dv -Nm=FusionRoomLoads_Slot -H=560 -PrH=551 -ObjVer=1 -SlC=292 -DvF=Sl -DvVr=1120 -Ad=05 -mC=1 -C1=815 -] -[ -ObjTp=Dv -Nm=FusionRoomLoads_Slot -H=561.807 -PrH=551 -ObjVer=1 -SlC=292 -DvF=Sl -DvVr=1120 -Ad=06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252 -] -[ -ObjTp=Dv -Nm=Fusion Dynamic Asset -H=808 -PrH=559 -DvC=2008 -ObjVer=1 -DvVr=1120 -Ad=04 -SmH=26 -RelStat=Release -ProdLine=Fusion -DbH=4 -mC=3 -C1=809 -C2=811 -C3=813 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=809 -PrH=808 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=810 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Digitals -H=810 -PrH=809 -DvC=2385 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=01 -SmH=27 -RelStat=Release -DbH=5 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=811 -PrH=808 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=812 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Analogs -H=812 -PrH=811 -DvC=2386 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=02 -SmH=28 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=813 -PrH=808 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=814 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Serials -H=814 -PrH=813 -DvC=2387 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=03 -SmH=29 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fusion Static Asset -H=815 -PrH=560 -DvC=2384 -ObjVer=1 -DvVr=1120 -Ad=05 -SmH=30 -RelStat=Release -ProdLine=Fusion -DbH=6 -mC=3 -C1=816 -C2=818 -C3=820 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=816 -PrH=815 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=817 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Digitals -H=817 -PrH=816 -DvC=2385 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=01 -SmH=31 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=818 -PrH=815 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=819 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Analogs -H=819 -PrH=818 -DvC=2386 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=02 -SmH=32 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=820 -PrH=815 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=821 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Serials -H=821 -PrH=820 -DvC=2387 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=03 -SmH=33 -RelStat=Release -] -[ -ObjTp=Cm -H=1 -DvH=519 -Ptl=(RS232) -Tis=1 -BRt=9600 -Pty=N -SBt=1 -DBt=8 -hHs=(None) -sHs=(None) -] -[ -ObjTp=Db -H=1 -DvH=2 -Whc=3 -Mnf=Crestron -Mdl=RMC3 -] -[ -ObjTp=Db -H=2 -DvH=551 -Whc=3 -Mnf=Crestron -Mdl=Fusion Room -] -[ -ObjTp=Db -H=3 -DvH=552 -Whc=3 -Mnf=Crestron -Mdl=3 Series TCP/IP Ethernet Intersystem Communications -] -[ -ObjTp=Db -H=4 -DvH=808 -Whc=3 -Mnf=Crestron -Mdl=Fusion Dynamic Asset -] -[ -ObjTp=Db -H=5 -DvH=810 -Whc=3 -Mnf=Crestron -Mdl=Fusion Generic Asset Digitals -Tpe=Fusion Generic Asset Digitals -] -[ -ObjTp=Db -H=6 -DvH=815 -Whc=3 -Mnf=Crestron -Mdl=Fusion Static Asset -] -[ -ObjTp=Cs -H=1 -DvH=552 -] -[ -ObjTp=FP -] -[ -ObjTp=Bk -Nm1=\ -Sx1=0 -Sy1=0 -Mx1=1 -] -[ -ObjTp=Bw -H=1 -Lx=160 -Ly=160 -Rx=420 -Ry=360 -Xm=-1 -Ym=-1 -SH=20 -Z=75 -P=176 -Ht=4 -Hi=355 -] -[ -ObjTp=Bw -H=1 -Lx=481 -Ly=730 -Rx=962 -Ry=1460 -Xm=-1 -Ym=-1 -SH=30 -Z=75 -Ht=1 -Hi=5 -] -[ -ObjTp=Bw -H=1 -Lx=0 -Ly=0 -Rx=481 -Ry=730 -Xm=-1 -Ym=-1 -SH=33 -Z=75 -Ht=1 -Hi=50 -] -[ -ObjTp=Bw -H=1 -Lx=0 -Ly=730 -Rx=481 -Ry=1460 -Xm=-1 -Ym=-1 -SH=32 -Z=75 -Ht=1 -Hi=50 -] -[ -ObjTp=Bw -H=1 -Lx=481 -Ly=0 -Rx=962 -Ry=730 -Xm=-1 -Ym=-1 -SH=31 -Z=75 -Ht=1 -Hi=50 -] -[ -ObjTp=Et -H=1 -DvH=552 -IPM=255.255.255.0 -IPA=127.0.0.2 -] -[ -ObjTp=Et -H=2 -DvH=551 -IPM=255.255.255.0 -IPA=127.0.0.1 -] -[ -ObjTp=Sm -H=1 -SmC=157 -Nm=Central Control Modules -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mC=8 -C1=6 -C2=7 -C3=8 -C4=10 -C5=11 -C6=12 -C7=13 -C8=17 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=2 -SmC=157 -Nm=Network Modules -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=3 -SmC=157 -Nm=Ethernet -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=4 -SmC=156 -Nm=Logic -ObjVer=1 -SmVr=1120 -CF=2 -] -[ -ObjTp=Sm -H=5 -SmC=157 -Nm=DefineArguments -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=6 -SmC=4339 -Nm=C2I-RMC3CNET-1 -ObjVer=1 -SmVr=1120 -DvH=4 -PrH=1 -CF=2 -Cmn1=C2I-RMC3CNET-1 -] -[ -ObjTp=Sm -H=7 -SmC=4340 -Nm=C2I-RMC3ENET-1 -ObjVer=1 -SmVr=1120 -DvH=260 -PrH=1 -CF=2 -Cmn1=C2I-RMC3ENET-1 -mC=2 -C1=19 -C2=20 -] -[ -ObjTp=Sm -H=8 -SmC=4341 -Nm=C2I-RMC3-COM1 -ObjVer=1 -SmVr=1120 -DvH=517 -PrH=1 -CF=2 -Cmn1=C2I-RMC3-COM1 -mC=1 -C1=9 -] -[ -ObjTp=Sm -H=9 -SmC=4342 -Nm=RMC3 Two-way serial driver -ObjVer=1 -SmVr=1120 -DvH=519 -PrH=8 -CF=2 -n1I=5 -n1O=3 -Cmn1=RMC3 Two-way serial driver -mI=5 -mO=3 -tO=3 -mP=3 -P1= -P2= -P3= -] -[ -ObjTp=Sm -H=10 -SmC=4343 -Nm=C2I-RMC3-DI2 -ObjVer=1 -SmVr=1120 -DvH=521 -PrH=1 -CF=2 -n1O=2 -Cmn1=C2I-RMC3-DI2 -mO=2 -tO=2 -] -[ -ObjTp=Sm -H=11 -SmC=4344 -Nm=C2I-RMC3-RY2 -ObjVer=1 -SmVr=1120 -DvH=527 -PrH=1 -CF=2 -n1I=2 -n1O=2 -Cmn1=C2I-RMC3-RY2 -mI=2 -mO=2 -tO=2 -] -[ -ObjTp=Sm -H=12 -SmC=4345 -Nm=C2I-RMC3-IR2 -ObjVer=1 -SmVr=1120 -DvH=533 -PrH=1 -CF=2 -Cmn1=C2I-RMC3-IR2 -] -[ -ObjTp=Sm -H=13 -SmC=4347 -Nm=C2I-RMC3-SYSTEMMONITOR -ObjVer=3 -SmVr=1120 -DvH=537 -PrH=1 -CF=2 -n1I=28 -n2I=42 -n1O=25 -Cmn1=C2I-RMC3-SYSTEMMONITOR -mC=3 -C1=14 -C2=15 -C3=16 -mI=73 -mO=69 -tO=72 -] -[ -ObjTp=Sm -H=14 -SmC=4348 -Nm=C2I-RMC3-SYSTEMCONTROL -ObjVer=2 -SmVr=1120 -DvH=539 -PrH=13 -CF=2 -n1I=50 -n2I=2 -n1O=50 -Cmn1=C2I-RMC3-SYSTEMCONTROL -mI=55 -mO=52 -tO=55 -] -[ -ObjTp=Sm -H=15 -SmC=4349 -Nm=C2I-RMC3-SYSTEMINFORMATION -ObjVer=2 -SmVr=1120 -DvH=541 -PrH=13 -CF=2 -n1I=2 -n1O=2 -Cmn1=C2I-RMC3-SYSTEMINFORMATION -mI=9 -mO=2 -tO=9 -] -[ -ObjTp=Sm -H=16 -SmC=4463 -Nm=C2I-RMC3-USERPROGINIT -ObjVer=1 -SmVr=1120 -DvH=544 -PrH=13 -CF=2 -n1I=1 -n1O=1 -Cmn1=C2I-RMC3-USERPROGINIT -mI=1 -mO=1 -tO=1 -] -[ -ObjTp=Sm -H=17 -SmC=5563 -Nm=C2I-RMC3-USB-HID1 -ObjVer=1 -SmVr=1120 -DvH=548 -PrH=1 -CF=2 -Cmn1=C2I-RMC3-USB-HID1 -mC=1 -C1=18 -] -[ -ObjTp=Sm -H=18 -SmC=5564 -Nm=C2I-USB-HID -ObjVer=1 -SmVr=1120 -DvH=550 -PrH=17 -CF=2 -n1I=8 -n2I=2 -n1O=8 -Cmn1=C2I-USB-HID -mI=17 -mO=10 -tO=17 -] -[ -ObjTp=Sm -H=19 -SmC=2611 -Nm=Fusion Room -ObjVer=1 -SmVr=1120 -DvH=551 -PrH=7 -CF=1 -OpF=0 -HandF=1 -Cmn1=Fusion Room -mC=7 -C1=21 -C2=22 -C3=23 -C4=24 -C5=25 -C6=26 -C7=30 -mP=2 -P1= -P2=6d232a91-04e6-4862-8ee4-2dd78ed7398c -] -[ -ObjTp=Sm -H=20 -SmC=4356 -Nm=3 Series TCP/IP Ethernet Intersystem Communications -ObjVer=2 -SmVr=1120 -DvH=552 -PrH=7 -CF=2 -n1I=282 -n2I=82 -n1O=282 -Cmn1=3 Series TCP/IP Ethernet Intersystem Communications -mI=546 -I3=10 -I5=14 -I51=4 -I71=89 -I100=24 -I101=25 -I102=26 -I103=27 -I104=28 -I110=29 -I111=30 -I112=31 -I113=32 -I114=33 -I120=34 -I121=35 -I122=36 -I123=37 -I124=38 -I333=6 -I415=8 -mO=364 -tO=546 -O1=13 -O3=11 -O4=12 -O5=15 -O6=16 -O21=17 -O30=18 -O31=19 -O51=5 -O55=20 -O100=39 -O110=40 -O111=41 -O112=42 -O113=43 -O114=44 -O120=45 -O121=46 -O122=47 -O123=48 -O124=49 -O333=7 -O337=22 -O338=23 -O353=93 -O354=94 -O355=95 -O415=9 -O419=21 -O435=90 -O436=91 -O437=92 -O464=51 -O465=50 -O466=52 -O484=53 -O485=54 -O486=55 -O487=56 -O488=57 -O489=58 -O490=59 -O491=60 -O492=61 -O494=62 -O495=63 -O496=64 -O497=65 -O498=66 -O499=67 -O500=68 -O501=69 -O502=70 -O504=71 -O505=72 -O506=73 -O507=74 -O508=75 -O509=76 -O510=77 -O511=78 -O512=79 -O514=80 -O515=81 -O516=82 -O517=83 -O518=84 -O519=85 -O520=86 -O521=87 -O522=88 -] -[ -ObjTp=Sm -H=21 -SmC=2612 -Nm=Fusion Digitals -ObjVer=1 -SmVr=1120 -DvH=554 -PrH=19 -CF=2 -n1I=1053 -n1O=1053 -OpF=0 -PropF=1 -Cmn1=Fusion Digitals -mI=1053 -mO=1053 -tO=1053 -mP=1050 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -P51= -P52= -P53= -P54= -P55= -P56= -P57= -P58= -P59= -P60= -P61= -P62= -P63= -P64= -P65= -P66= -P67= -P68= -P69= -P70= -P71= -P72= -P73= -P74= -P75= -P76= -P77= -P78= -P79= -P80= -P81= -P82= -P83= -P84= -P85= -P86= -P87= -P88= -P89= -P90= -P91= -P92= -P93= -P94= -P95= -P96= -P97= -P98= -P99= -P100= -P101= -P102= -P103= -P104= -P105= -P106= -P107= -P108= -P109= -P110= -P111= -P112= -P113= -P114= -P115= -P116= -P117= -P118= -P119= -P120= -P121= -P122= -P123= -P124= -P125= -P126= -P127= -P128= -P129= -P130= -P131= -P132= -P133= -P134= -P135= -P136= -P137= -P138= -P139= -P140= -P141= -P142= -P143= -P144= -P145= -P146= -P147= -P148= -P149= -P150= -P151= -P152= -P153= -P154= -P155= -P156= -P157= -P158= -P159= -P160= -P161= -P162= -P163= -P164= -P165= -P166= -P167= -P168= -P169= -P170= -P171= -P172= -P173= -P174= -P175= -P176= -P177= -P178= -P179= -P180= -P181= -P182= -P183= -P184= -P185= -P186= -P187= -P188= -P189= -P190= -P191= -P192= -P193= -P194= -P195= -P196= -P197= -P198= -P199= -P200= -P201= -P202= -P203= -P204= -P205= -P206= -P207= -P208= -P209= -P210= -P211= -P212= -P213= -P214= -P215= -P216= -P217= -P218= -P219= -P220= -P221= -P222= -P223= -P224= -P225= -P226= -P227= -P228= -P229= -P230= -P231= -P232= -P233= -P234= -P235= -P236= -P237= -P238= -P239= -P240= -P241= -P242= -P243= -P244= -P245= -P246= -P247= -P248= -P249= -P250= -P251= -P252= -P253= -P254= -P255= -P256= -P257= -P258= -P259= -P260= -P261= -P262= -P263= -P264= -P265= -P266= -P267= -P268= -P269= -P270= -P271= -P272= -P273= -P274= -P275= -P276= -P277= -P278= -P279= -P280= -P281= -P282= -P283= -P284= -P285= -P286= -P287= -P288= -P289= -P290= -P291= -P292= -P293= -P294= -P295= -P296= -P297= -P298= -P299= -P300= -P301= -P302= -P303= -P304= -P305= -P306= -P307= -P308= -P309= -P310= -P311= -P312= -P313= -P314= -P315= -P316= -P317= -P318= -P319= -P320= -P321= -P322= -P323= -P324= -P325= -P326= -P327= -P328= -P329= -P330= -P331= -P332= -P333= -P334= -P335= -P336= -P337= -P338= -P339= -P340= -P341= -P342= -P343= -P344= -P345= -P346= -P347= -P348= -P349= -P350= -P351= -P352= -P353= -P354= -P355= -P356= -P357= -P358= -P359= -P360= -P361= -P362= -P363= -P364= -P365= -P366= -P367= -P368= -P369= -P370= -P371= -P372= -P373= -P374= -P375= -P376= -P377= -P378= -P379= -P380= -P381= -P382= -P383= -P384= -P385= -P386= -P387= -P388= -P389= -P390= -P391= -P392= -P393= -P394= -P395= -P396= -P397= -P398= -P399= -P400= -P401= -P402= -P403= -P404= -P405= -P406= -P407= -P408= -P409= -P410= -P411= -P412= -P413= -P414= -P415= -P416= -P417= -P418= -P419= -P420= -P421= -P422= -P423= -P424= -P425= -P426= -P427= -P428= -P429= -P430= -P431= -P432= -P433= -P434= -P435= -P436= -P437= -P438= -P439= -P440= -P441= -P442= -P443= -P444= -P445= -P446= -P447= -P448= -P449= -P450= -P451= -P452= -P453= -P454= -P455= -P456= -P457= -P458= -P459= -P460= -P461= -P462= -P463= -P464= -P465= -P466= -P467= -P468= -P469= -P470= -P471= -P472= -P473= -P474= -P475= -P476= -P477= -P478= -P479= -P480= -P481= -P482= -P483= -P484= -P485= -P486= -P487= -P488= -P489= -P490= -P491= -P492= -P493= -P494= -P495= -P496= -P497= -P498= -P499= -P500= -P501= -P502= -P503= -P504= -P505= -P506= -P507= -P508= -P509= -P510= -P511= -P512= -P513= -P514= -P515= -P516= -P517= -P518= -P519= -P520= -P521= -P522= -P523= -P524= -P525= -P526= -P527= -P528= -P529= -P530= -P531= -P532= -P533= -P534= -P535= -P536= -P537= -P538= -P539= -P540= -P541= -P542= -P543= -P544= -P545= -P546= -P547= -P548= -P549= -P550= -P551= -P552= -P553= -P554= -P555= -P556= -P557= -P558= -P559= -P560= -P561= -P562= -P563= -P564= -P565= -P566= -P567= -P568= -P569= -P570= -P571= -P572= -P573= -P574= -P575= -P576= -P577= -P578= -P579= -P580= -P581= -P582= -P583= -P584= -P585= -P586= -P587= -P588= -P589= -P590= -P591= -P592= -P593= -P594= -P595= -P596= -P597= -P598= -P599= -P600= -P601= -P602= -P603= -P604= -P605= -P606= -P607= -P608= -P609= -P610= -P611= -P612= -P613= -P614= -P615= -P616= -P617= -P618= -P619= -P620= -P621= -P622= -P623= -P624= -P625= -P626= -P627= -P628= -P629= -P630= -P631= -P632= -P633= -P634= -P635= -P636= -P637= -P638= -P639= -P640= -P641= -P642= -P643= -P644= -P645= -P646= -P647= -P648= -P649= -P650= -P651= -P652= -P653= -P654= -P655= -P656= -P657= -P658= -P659= -P660= -P661= -P662= -P663= -P664= -P665= -P666= -P667= -P668= -P669= -P670= -P671= -P672= -P673= -P674= -P675= -P676= -P677= -P678= -P679= -P680= -P681= -P682= -P683= -P684= -P685= -P686= -P687= -P688= -P689= -P690= -P691= -P692= -P693= -P694= -P695= -P696= -P697= -P698= -P699= -P700= -P701= -P702= -P703= -P704= -P705= -P706= -P707= -P708= -P709= -P710= -P711= -P712= -P713= -P714= -P715= -P716= -P717= -P718= -P719= -P720= -P721= -P722= -P723= -P724= -P725= -P726= -P727= -P728= -P729= -P730= -P731= -P732= -P733= -P734= -P735= -P736= -P737= -P738= -P739= -P740= -P741= -P742= -P743= -P744= -P745= -P746= -P747= -P748= -P749= -P750= -P751= -P752= -P753= -P754= -P755= -P756= -P757= -P758= -P759= -P760= -P761= -P762= -P763= -P764= -P765= -P766= -P767= -P768= -P769= -P770= -P771= -P772= -P773= -P774= -P775= -P776= -P777= -P778= -P779= -P780= -P781= -P782= -P783= -P784= -P785= -P786= -P787= -P788= -P789= -P790= -P791= -P792= -P793= -P794= -P795= -P796= -P797= -P798= -P799= -P800= -P801= -P802= -P803= -P804= -P805= -P806= -P807= -P808= -P809= -P810= -P811= -P812= -P813= -P814= -P815= -P816= -P817= -P818= -P819= -P820= -P821= -P822= -P823= -P824= -P825= -P826= -P827= -P828= -P829= -P830= -P831= -P832= -P833= -P834= -P835= -P836= -P837= -P838= -P839= -P840= -P841= -P842= -P843= -P844= -P845= -P846= -P847= -P848= -P849= -P850= -P851= -P852= -P853= -P854= -P855= -P856= -P857= -P858= -P859= -P860= -P861= -P862= -P863= -P864= -P865= -P866= -P867= -P868= -P869= -P870= -P871= -P872= -P873= -P874= -P875= -P876= -P877= -P878= -P879= -P880= -P881= -P882= -P883= -P884= -P885= -P886= -P887= -P888= -P889= -P890= -P891= -P892= -P893= -P894= -P895= -P896= -P897= -P898= -P899= -P900= -P901= -P902= -P903= -P904= -P905= -P906= -P907= -P908= -P909= -P910= -P911= -P912= -P913= -P914= -P915= -P916= -P917= -P918= -P919= -P920= -P921= -P922= -P923= -P924= -P925= -P926= -P927= -P928= -P929= -P930= -P931= -P932= -P933= -P934= -P935= -P936= -P937= -P938= -P939= -P940= -P941= -P942= -P943= -P944= -P945= -P946= -P947= -P948= -P949= -P950= -P951= -P952= -P953= -P954= -P955= -P956= -P957= -P958= -P959= -P960= -P961= -P962= -P963= -P964= -P965= -P966= -P967= -P968= -P969= -P970= -P971= -P972= -P973= -P974= -P975= -P976= -P977= -P978= -P979= -P980= -P981= -P982= -P983= -P984= -P985= -P986= -P987= -P988= -P989= -P990= -P991= -P992= -P993= -P994= -P995= -P996= -P997= -P998= -P999= -P1000= -P1001= -P1002= -P1003= -P1004= -P1005= -P1006= -P1007= -P1008= -P1009= -P1010= -P1011= -P1012= -P1013= -P1014= -P1015= -P1016= -P1017= -P1018= -P1019= -P1020= -P1021= -P1022= -P1023= -P1024= -P1025= -P1026= -P1027= -P1028= -P1029= -P1030= -P1031= -P1032= -P1033= -P1034= -P1035= -P1036= -P1037= -P1038= -P1039= -P1040= -P1041= -P1042= -P1043= -P1044= -P1045= -P1046= -P1047= -P1048= -P1049= -P1050= -] -[ -ObjTp=Sm -H=22 -SmC=2613 -Nm=Fusion Analogs -ObjVer=1 -SmVr=1120 -DvH=556 -PrH=19 -CF=2 -n2I=52 -OpF=0 -PropF=1 -Cmn1=Fusion Analogs -mI=52 -mO=52 -tO=52 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=23 -SmC=2614 -Nm=Fusion Serials -ObjVer=1 -SmVr=1120 -DvH=558 -PrH=19 -CF=2 -OpF=0 -PropF=1 -Cmn1=Fusion Serials -mI=53 -mO=0 -tO=53 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=24 -SmC=1313 -Nm=RoomView Scheduling Data -ObjVer=1 -SmVr=1120 -PrH=19 -CF=1 -OpF=0 -PropF=1 -mI=3 -mO=0 -tO=3 -] -[ -ObjTp=Sm -H=25 -SmC=524 -Nm=Fusion Room Data -ObjVer=2 -SmVr=1120 -PrH=19 -CF=1 -OpF=0 -PropF=1 -mI=21 -mO=0 -tO=21 -] -[ -ObjTp=Sm -H=26 -SmC=2429 -Nm=Fusion Dynamic Asset -ObjVer=1 -SmVr=1120 -DvH=808 -PrH=19 -CF=1 -n1I=4 -n1O=4 -OpF=0 -PropF=1 -Cmn1=Fusion Dynamic Asset -mC=3 -C1=27 -C2=28 -C3=29 -mI=47 -mO=4 -tO=47 -mP=3 -P1= -P2= -P3=e0928287-9eae-4ec0-b739-9e149ead94ed -] -[ -ObjTp=Sm -H=27 -SmC=2715 -Nm=Fusion Generic Asset Digitals -ObjVer=1 -SmVr=1120 -DvH=810 -PrH=26 -CF=2 -n1I=50 -n1O=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Digitals -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=28 -SmC=2716 -Nm=Fusion Generic Asset Analogs -ObjVer=1 -SmVr=1120 -DvH=812 -PrH=26 -CF=2 -n2I=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Analogs -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=29 -SmC=2717 -Nm=Fusion Generic Asset Serials -ObjVer=1 -SmVr=1120 -DvH=814 -PrH=26 -CF=2 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Serials -mI=50 -mO=0 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=30 -SmC=2714 -Nm=Fusion Static Asset -ObjVer=1 -SmVr=1120 -DvH=815 -PrH=19 -CF=1 -n1I=4 -n1O=4 -OpF=0 -PropF=1 -Cmn1=Fusion Static Asset -mC=3 -C1=31 -C2=32 -C3=33 -mI=8 -mO=4 -tO=8 -mP=5 -P1= -P2= -P3=83293821-b904-4d3b-877c-6e15f3eed768 -P4= -P5= -] -[ -ObjTp=Sm -H=31 -SmC=2715 -Nm=Fusion Generic Asset Digitals -ObjVer=1 -SmVr=1120 -DvH=817 -PrH=30 -CF=2 -n1I=50 -n1O=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Digitals -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=32 -SmC=2716 -Nm=Fusion Generic Asset Analogs -ObjVer=1 -SmVr=1120 -DvH=819 -PrH=30 -CF=2 -n2I=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Analogs -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=33 -SmC=2717 -Nm=Fusion Generic Asset Serials -ObjVer=1 -SmVr=1120 -DvH=821 -PrH=30 -CF=2 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Serials -mI=50 -mO=0 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=FusionGUID -Code=1 -System=Default -SH1=19 -GUID1=6d232a91-04e6-4862-8ee4-2dd78ed7398c -SH2=26 -GUID2=e0928287-9eae-4ec0-b739-9e149ead94ed -SH3=30 -GUID3=83293821-b904-4d3b-877c-6e15f3eed768 -] -[ -ObjTp=Sg -H=4 -Nm=DynFusion.Digital.51.In.set -] -[ -ObjTp=Sg -H=5 -Nm=DynFusion.Digital.51.Out.FB -] -[ -ObjTp=Sg -H=6 -Nm=DynFusion.Analog.51.In.set -SgTp=2 -] -[ -ObjTp=Sg -H=7 -Nm=DynFusion.Analog.51.Out.FB -SgTp=2 -] -[ -ObjTp=Sg -H=8 -Nm=DynFusion.String.51.In.set -SgTp=4 -] -[ -ObjTp=Sg -H=9 -Nm=DynFusion.String.51.Out.FB -SgTp=4 -] -[ -ObjTp=Sg -H=10 -Nm=PowerOn.set -] -[ -ObjTp=Sg -H=11 -Nm=PowerOn.FB -] -[ -ObjTp=Sg -H=12 -Nm=PowerOff.FB -] -[ -ObjTp=Sg -H=13 -Nm=Online.FB -] -[ -ObjTp=Sg -H=14 -Nm=DISPLAYPowerOn.set -] -[ -ObjTp=Sg -H=15 -Nm=DISPLAYPowerOn.FB -] -[ -ObjTp=Sg -H=16 -Nm=DisplayPowerOff.FB -] -[ -ObjTp=Sg -H=17 -Nm=MsgBRoadcastEnabled.FB -] -[ -ObjTp=Sg -H=18 -Nm=AuthSuccess.FB -] -[ -ObjTp=Sg -H=19 -Nm=AuthFail.FB -] -[ -ObjTp=Sg -H=20 -Nm=CustomProp.Digital.FB -] -[ -ObjTp=Sg -H=21 -Nm=CustomProp.Serial.FB -SgTp=4 -] -[ -ObjTp=Sg -H=22 -Nm=CustomProp.Analog.FB -SgTp=2 -] -[ -ObjTp=Sg -H=23 -Nm=ssh -SgTp=2 -] -[ -ObjTp=Sg -H=24 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.End.cmd -] -[ -ObjTp=Sg -H=25 -Nm=SYS.Fusion.Scheduling.CheckMeetings.cmd -] -[ -ObjTp=Sg -H=26 -Nm=SYS.Fusion.Scheduling.GetSchedule.cmd -] -[ -ObjTp=Sg -H=27 -Nm=SYS.Fusion.Scheduling.GetRoomInfo.cmd -] -[ -ObjTp=Sg -H=28 -Nm=SYS.Fusion.Scheduling.GetRoomList.cmd -] -[ -ObjTp=Sg -H=29 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.15Min.cmd -] -[ -ObjTp=Sg -H=30 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.30Min.cmd -] -[ -ObjTp=Sg -H=31 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.45Min.cmd -] -[ -ObjTp=Sg -H=32 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.60Min.cmd -] -[ -ObjTp=Sg -H=33 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.90Min.cmd -] -[ -ObjTp=Sg -H=34 -Nm=SYS.Fusion.Scheduling.ReserveRoom.15Min.cmd -] -[ -ObjTp=Sg -H=35 -Nm=SYS.Fusion.Scheduling.ReserveRoom.30Min.cmd -] -[ -ObjTp=Sg -H=36 -Nm=SYS.Fusion.Scheduling.ReserveRoom.45Min.cmd -] -[ -ObjTp=Sg -H=37 -Nm=SYS.Fusion.Scheduling.ReserveRoom.60Min.cmd -] -[ -ObjTp=Sg -H=38 -Nm=SYS.Fusion.Scheduling.ReserveRoom.90Min.cmd -] -[ -ObjTp=Sg -H=39 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.InProgress.FB -] -[ -ObjTp=Sg -H=40 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.15Min.Enabled.FB -] -[ -ObjTp=Sg -H=41 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.30Min.Enabled.FB -] -[ -ObjTp=Sg -H=42 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.45Min.Enabled.FB -] -[ -ObjTp=Sg -H=43 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.60Min.Enabled.FB -] -[ -ObjTp=Sg -H=44 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.90Min.Enabled.FB -] -[ -ObjTp=Sg -H=45 -Nm=SYS.Fusion.Scheduling.ReserveRoom.15Min.Enabled.FB -] -[ -ObjTp=Sg -H=46 -Nm=SYS.Fusion.Scheduling.ReserveRoom.30Min.Enabled.FB -] -[ -ObjTp=Sg -H=47 -Nm=SYS.Fusion.Scheduling.ReserveRoom.45Min.Enabled.FB -] -[ -ObjTp=Sg -H=48 -Nm=SYS.Fusion.Scheduling.ReserveRoom.60Min.Enabled.FB -] -[ -ObjTp=Sg -H=49 -Nm=SYS.Fusion.Scheduling.ReserveRoom.90Min.Enabled.FB -] -[ -ObjTp=Sg -H=50 -Nm=SYS.Fusion.Room.ID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=51 -Nm=SYS.Fusion.Room.Name.FB -SgTp=4 -] -[ -ObjTp=Sg -H=52 -Nm=SYS.Fusion.Room.Location.FB -SgTp=4 -] -[ -ObjTp=Sg -H=53 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=54 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=55 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=56 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=57 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=58 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=59 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=60 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=61 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=62 -Nm=SYS.Fusion.Scheduling.NextMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=63 -Nm=SYS.Fusion.Scheduling.NextMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=64 -Nm=SYS.Fusion.Scheduling.NextMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=65 -Nm=SYS.Fusion.Scheduling.NextMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=66 -Nm=SYS.Fusion.Scheduling.NextMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=67 -Nm=SYS.Fusion.Scheduling.NextMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=68 -Nm=SYS.Fusion.Scheduling.NextMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=69 -Nm=SYS.Fusion.Scheduling.NextMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=70 -Nm=SYS.Fusion.Scheduling.NextMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=71 -Nm=SYS.Fusion.Scheduling.LaterMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=72 -Nm=SYS.Fusion.Scheduling.LaterMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=73 -Nm=SYS.Fusion.Scheduling.LaterMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=74 -Nm=SYS.Fusion.Scheduling.LaterMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=75 -Nm=SYS.Fusion.Scheduling.LaterMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=76 -Nm=SYS.Fusion.Scheduling.LaterMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=77 -Nm=SYS.Fusion.Scheduling.LaterMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=78 -Nm=SYS.Fusion.Scheduling.LaterMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=79 -Nm=SYS.Fusion.Scheduling.LaterMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=80 -Nm=SYS.Fusion.Scheduling.LatestMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=81 -Nm=SYS.Fusion.Scheduling.LatestMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=82 -Nm=SYS.Fusion.Scheduling.LatestMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=83 -Nm=SYS.Fusion.Scheduling.LatestMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=84 -Nm=SYS.Fusion.Scheduling.LatestMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=85 -Nm=SYS.Fusion.Scheduling.LatestMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=86 -Nm=SYS.Fusion.Scheduling.LatestMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=87 -Nm=SYS.Fusion.Scheduling.LatestMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=88 -Nm=SYS.Fusion.Scheduling.LatestMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=89 -Nm=IP-ID-AB_dig-o71 -] -[ -ObjTp=Sg -H=90 -Nm=IP-ID-AB_serial-i71 -SgTp=4 -] -[ -ObjTp=Sg -H=91 -Nm=IP-ID-AB_serial-i72 -SgTp=4 -] -[ -ObjTp=Sg -H=92 -Nm=IP-ID-AB_serial-i73 -SgTp=4 -] -[ -ObjTp=Sg -H=93 -Nm=IP-ID-AB_an_i71 -SgTp=2 -] -[ -ObjTp=Sg -H=94 -Nm=IP-ID-AB_an_i72 -SgTp=2 -] -[ -ObjTp=Sg -H=95 -Nm=IP-ID-AB_an_i73 -SgTp=2 -] diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smft b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smft deleted file mode 100644 index 8bc6b1d..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smft +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw deleted file mode 100644 index ca3591d..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0af6882664b945967ebeb50712c0d12b751ce8fff923eed5cb1ab4ecbd1f168c -size 42206 diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw.ASV b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw.ASV deleted file mode 100644 index 9c7b3e5..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01.smw.ASV +++ /dev/null @@ -1,4595 +0,0 @@ -[ -Version=1 -] -[ -ObjTp=FSgntr -Sgntr=SimplWindow -RelVrs=4.14.21 -IntStrVrs=2 -MinSMWVrs=3.00.00 -MinTIOVrs=700 -SavedBy=SMW4.11.06 -] -[ -ObjTp=Hd -CnC=3816 -CnH=2 -S0Nd=1 -S1Nd=2 -SLNd=3 -PrNm=DynFusion_SimplWindowsDemo_v00.01.smw -DbVr=202.00.001.00 -DvcDbVr=200.20.002.00 -PgmNm=JTA -DlrNm=PepperDash -CltNm=DynFusionTest -SmVr=1120 -DvVr=1120 -TpN1=1 -TpN2=2 -TpN3=3 -TpN4=4 -TpN5=5 -APg=1 -FltTmp=1 -FpCS=0 -EnType=0 -ZeroOnIoOk=0 -PIT=DynFusionTest -TargetFusionProcessor=1 -SGMethod=1 -] -[ -ObjTp=Dv -Nm=RMC3 -H=2 -PrH=1 -DvC=3816 -ObjVer=4 -DvVr=1120 -Ad=00 -RelStat=Release -ProdLine=3-Series -DbH=1 -mC=11 -C1=3 -C2=259 -C3=515 -C4=516 -C5=520 -C6=526 -C7=532 -C8=536 -C9=545 -C10=546 -C11=547 -] -[ -ObjTp=Dv -Nm=Fixed -H=3 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=4 -] -[ -ObjTp=Dv -Nm=C2I-RMC3CNET-1 -H=4 -PrH=3 -DvC=3805 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=01 -SmH=6 -RelStat=Release -mC=254 -C1=5 -C2=6 -C3=7 -C4=8 -C5=9 -C6=10 -C7=11 -C8=12 -C9=13 -C10=14 -C11=15 -C12=16 -C13=17 -C14=18 -C15=19 -C16=20 -C17=21 -C18=22 -C19=23 -C20=24 -C21=25 -C22=26 -C23=27 -C24=28 -C25=29 -C26=30 -C27=31 -C28=32 -C29=33 -C30=34 -C31=35 -C32=36 -C33=37 -C34=38 -C35=39 -C36=40 -C37=41 -C38=42 -C39=43 -C40=44 -C41=45 -C42=46 -C43=47 -C44=48 -C45=49 -C46=50 -C47=51 -C48=52 -C49=53 -C50=54 -C51=55 -C52=56 -C53=57 -C54=58 -C55=59 -C56=60 -C57=61 -C58=62 -C59=63 -C60=64 -C61=65 -C62=66 -C63=67 -C64=68 -C65=69 -C66=70 -C67=71 -C68=72 -C69=73 -C70=74 -C71=75 -C72=76 -C73=77 -C74=78 -C75=79 -C76=80 -C77=81 -C78=82 -C79=83 -C80=84 -C81=85 -C82=86 -C83=87 -C84=88 -C85=89 -C86=90 -C87=91 -C88=92 -C89=93 -C90=94 -C91=95 -C92=96 -C93=97 -C94=98 -C95=99 -C96=100 -C97=101 -C98=102 -C99=103 -C100=104 -C101=105 -C102=106 -C103=107 -C104=108 -C105=109 -C106=110 -C107=111 -C108=112 -C109=113 -C110=114 -C111=115 -C112=116 -C113=117 -C114=118 -C115=119 -C116=120 -C117=121 -C118=122 -C119=123 -C120=124 -C121=125 -C122=126 -C123=127 -C124=128 -C125=129 -C126=130 -C127=131 -C128=132 -C129=133 -C130=134 -C131=135 -C132=136 -C133=137 -C134=138 -C135=139 -C136=140 -C137=141 -C138=142 -C139=143 -C140=144 -C141=145 -C142=146 -C143=147 -C144=148 -C145=149 -C146=150 -C147=151 -C148=152 -C149=153 -C150=154 -C151=155 -C152=156 -C153=157 -C154=158 -C155=159 -C156=160 -C157=161 -C158=162 -C159=163 -C160=164 -C161=165 -C162=166 -C163=167 -C164=168 -C165=169 -C166=170 -C167=171 -C168=172 -C169=173 -C170=174 -C171=175 -C172=176 -C173=177 -C174=178 -C175=179 -C176=180 -C177=181 -C178=182 -C179=183 -C180=184 -C181=185 -C182=186 -C183=187 -C184=188 -C185=189 -C186=190 -C187=191 -C188=192 -C189=193 -C190=194 -C191=195 -C192=196 -C193=197 -C194=198 -C195=199 -C196=200 -C197=201 -C198=202 -C199=203 -C200=204 -C201=205 -C202=206 -C203=207 -C204=208 -C205=209 -C206=210 -C207=211 -C208=212 -C209=213 -C210=214 -C211=215 -C212=216 -C213=217 -C214=218 -C215=219 -C216=220 -C217=221 -C218=222 -C219=223 -C220=224 -C221=225 -C222=226 -C223=227 -C224=228 -C225=229 -C226=230 -C227=231 -C228=232 -C229=233 -C230=234 -C231=235 -C232=236 -C233=237 -C234=238 -C235=239 -C236=240 -C237=241 -C238=242 -C239=243 -C240=244 -C241=245 -C242=246 -C243=247 -C244=248 -C245=249 -C246=250 -C247=251 -C248=252 -C249=253 -C250=254 -C251=255 -C252=256 -C253=257 -C254=258 -] -[ -ObjTp=Dv -Nm=PowerSlot -H=5 -PrH=4 -ObjVer=1 -SlC=30 -DvF=Sl -SlF=Ex -DvVr=1120 -Ad=None -] -[ -ObjTp=Dv -Nm=Not_Used -H=6 -PrH=4 -ObjVer=1 -SlC=17 -DvF=Sl -DvVr=1120 -Ad=02 -] -[ -ObjTp=Dv -Nm=P3Cresnet -H=7.258 -PrH=4 -ObjVer=1 -SlC=228 -DvF=Sl -DvVr=1120 -Ad=03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE -] -[ -ObjTp=Dv -Nm=Fixed -H=259 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=260 -] -[ -ObjTp=Dv -Nm=C2I-RMC3ENET-1 -H=260 -PrH=259 -DvC=3806 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=02 -SmH=7 -RelStat=Release -mC=254 -C1=261 -C2=262 -C3=263 -C4=264 -C5=265 -C6=266 -C7=267 -C8=268 -C9=269 -C10=270 -C11=271 -C12=272 -C13=273 -C14=274 -C15=275 -C16=276 -C17=277 -C18=278 -C19=279 -C20=280 -C21=281 -C22=282 -C23=283 -C24=284 -C25=285 -C26=286 -C27=287 -C28=288 -C29=289 -C30=290 -C31=291 -C32=292 -C33=293 -C34=294 -C35=295 -C36=296 -C37=297 -C38=298 -C39=299 -C40=300 -C41=301 -C42=302 -C43=303 -C44=304 -C45=305 -C46=306 -C47=307 -C48=308 -C49=309 -C50=310 -C51=311 -C52=312 -C53=313 -C54=314 -C55=315 -C56=316 -C57=317 -C58=318 -C59=319 -C60=320 -C61=321 -C62=322 -C63=323 -C64=324 -C65=325 -C66=326 -C67=327 -C68=328 -C69=329 -C70=330 -C71=331 -C72=332 -C73=333 -C74=334 -C75=335 -C76=336 -C77=337 -C78=338 -C79=339 -C80=340 -C81=341 -C82=342 -C83=343 -C84=344 -C85=345 -C86=346 -C87=347 -C88=348 -C89=349 -C90=350 -C91=351 -C92=352 -C93=353 -C94=354 -C95=355 -C96=356 -C97=357 -C98=358 -C99=359 -C100=360 -C101=361 -C102=362 -C103=363 -C104=364 -C105=365 -C106=366 -C107=367 -C108=368 -C109=369 -C110=370 -C111=371 -C112=372 -C113=373 -C114=374 -C115=375 -C116=376 -C117=377 -C118=378 -C119=379 -C120=380 -C121=381 -C122=382 -C123=383 -C124=384 -C125=385 -C126=386 -C127=387 -C128=388 -C129=389 -C130=390 -C131=391 -C132=392 -C133=393 -C134=394 -C135=395 -C136=396 -C137=397 -C138=398 -C139=399 -C140=400 -C141=401 -C142=402 -C143=403 -C144=404 -C145=405 -C146=406 -C147=407 -C148=408 -C149=409 -C150=410 -C151=411 -C152=412 -C153=413 -C154=414 -C155=415 -C156=416 -C157=417 -C158=418 -C159=419 -C160=420 -C161=421 -C162=422 -C163=423 -C164=424 -C165=425 -C166=426 -C167=427 -C168=428 -C169=429 -C170=430 -C171=431 -C172=432 -C173=433 -C174=434 -C175=435 -C176=436 -C177=437 -C178=438 -C179=439 -C180=440 -C181=441 -C182=442 -C183=443 -C184=444 -C185=445 -C186=446 -C187=447 -C188=448 -C189=449 -C190=450 -C191=451 -C192=452 -C193=453 -C194=454 -C195=455 -C196=456 -C197=457 -C198=458 -C199=459 -C200=460 -C201=461 -C202=462 -C203=463 -C204=464 -C205=465 -C206=466 -C207=467 -C208=468 -C209=469 -C210=470 -C211=471 -C212=472 -C213=473 -C214=474 -C215=475 -C216=476 -C217=477 -C218=478 -C219=479 -C220=480 -C221=481 -C222=482 -C223=483 -C224=484 -C225=485 -C226=486 -C227=487 -C228=488 -C229=489 -C230=490 -C231=491 -C232=492 -C233=493 -C234=494 -C235=495 -C236=496 -C237=497 -C238=498 -C239=499 -C240=500 -C241=501 -C242=502 -C243=503 -C244=504 -C245=505 -C246=506 -C247=507 -C248=508 -C249=509 -C250=510 -C251=511 -C252=512 -C253=513 -C254=514 -] -[ -ObjTp=Dv -Nm=Not_Used -H=261.262 -PrH=260 -ObjVer=1 -SlC=17 -DvF=Sl -DvVr=1120 -Ad=01,02 -] -[ -ObjTp=Dv -Nm=P3Ethernet -H=263 -PrH=260 -ObjVer=1 -SlC=234 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=551 -] -[ -ObjTp=Dv -Nm=P3Ethernet -H=264.430,432.514 -PrH=260 -ObjVer=1 -SlC=234 -DvF=Sl -DvVr=1120 -Ad=04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F0,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE -] -[ -ObjTp=Dv -Nm=P3Ethernet -H=431 -PrH=260 -ObjVer=1 -SlC=234 -DvF=Sl -DvVr=1120 -Ad=AB -mC=1 -C1=552 -] -[ -ObjTp=Dv -Nm=NotUsed -H=515 -PrH=2 -ObjVer=1 -SlC=15 -DvF=Sl -DvVr=1120 -Ad=03 -] -[ -ObjTp=Dv -Nm=Fixed -H=516 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=04 -mC=1 -C1=517 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-COM1 -H=517 -PrH=516 -DvC=3807 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=04 -SmH=8 -RelStat=Release -mC=1 -C1=518 -] -[ -ObjTp=Dv -Nm=RMC3COM232_Port -H=518 -PrH=517 -ObjVer=1 -SlC=435 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=519 -] -[ -ObjTp=Dv -Nm=RMC3 Two-way serial driver -H=519 -PrH=518 -DvC=3808 -ObjVer=1 -SlC=435 -DvVr=1120 -Ad=01 -SmH=9 -RelStat=Release -ProdLine=3-Series -CmH=1 -] -[ -ObjTp=Dv -Nm=Fixed -H=520 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=05 -mC=1 -C1=521 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-DI2 -H=521 -PrH=520 -DvC=3809 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=05 -SmH=10 -RelStat=Release -mC=2 -C1=522 -C2=524 -] -[ -ObjTp=Dv -Nm=DigInSlot -H=522 -PrH=521 -ObjVer=1 -SlC=57 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=523 -] -[ -ObjTp=Dv -Nm=DI-Port -H=523 -PrH=522 -DvC=1227 -ObjVer=1 -SlC=57 -DvVr=1120 -Ad=01 -RelStat=Release -] -[ -ObjTp=Dv -Nm=DigInSlot -H=524 -PrH=521 -ObjVer=1 -SlC=57 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=525 -] -[ -ObjTp=Dv -Nm=DI-Port -H=525 -PrH=524 -DvC=1227 -ObjVer=1 -SlC=57 -DvVr=1120 -Ad=02 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fixed -H=526 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=06 -mC=1 -C1=527 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-RY2 -H=527 -PrH=526 -DvC=3810 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=06 -SmH=11 -RelStat=Release -mC=2 -C1=528 -C2=530 -] -[ -ObjTp=Dv -Nm=LoPwrRlySlot -H=528 -PrH=527 -ObjVer=1 -SlC=9 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=529 -] -[ -ObjTp=Dv -Nm=Relay -H=529 -PrH=528 -DvC=7 -ObjVer=1 -SlC=9 -DvVr=1120 -Ad=01 -RelStat=Release -ProdLine=General Purpose IO -] -[ -ObjTp=Dv -Nm=LoPwrRlySlot -H=530 -PrH=527 -ObjVer=1 -SlC=9 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=531 -] -[ -ObjTp=Dv -Nm=Relay -H=531 -PrH=530 -DvC=7 -ObjVer=1 -SlC=9 -DvVr=1120 -Ad=02 -RelStat=Release -ProdLine=General Purpose IO -] -[ -ObjTp=Dv -Nm=Fixed -H=532 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=07 -mC=1 -C1=533 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-IR2 -H=533 -PrH=532 -DvC=3811 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=07 -SmH=12 -RelStat=Release -mC=2 -C1=534 -C2=535 -] -[ -ObjTp=Dv -Nm=RMC3IR_Port -H=534.535 -PrH=533 -ObjVer=1 -SlC=436 -DvF=Sl -SlF=Ex -DvVr=1120 -Ad=01,02 -] -[ -ObjTp=Dv -Nm=Fixed -H=536 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=08 -mC=1 -C1=537 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-SYSTEMMONITOR -H=537 -PrH=536 -DvC=3813 -ObjVer=3 -SlC=2 -DvVr=1120 -Ad=08 -SmH=13 -RelStat=Release -mC=4 -C1=538 -C2=540 -C3=542 -C4=543 -] -[ -ObjTp=Dv -Nm=Fixed -H=538 -PrH=537 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=539 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-SYSTEMCONTROL -H=539 -PrH=538 -DvC=3814 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=01 -SmH=14 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fixed -H=540 -PrH=537 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=541 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-SYSTEMINFORMATION -H=541 -PrH=540 -DvC=3815 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=02 -SmH=15 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Not_Used -H=542 -PrH=537 -ObjVer=1 -SlC=17 -DvF=Sl -DvVr=1120 -Ad=03 -] -[ -ObjTp=Dv -Nm=Fixed -H=543 -PrH=537 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=04 -mC=1 -C1=544 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-USERPROGINIT -H=544 -PrH=543 -DvC=3936 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=04 -SmH=16 -RelStat=Release -] -[ -ObjTp=Dv -Nm=C2I-3SRS-SNMP_Slot -H=545 -PrH=2 -ObjVer=1 -SlC=393 -DvF=Sl -DvVr=1120 -Ad=09 -] -[ -ObjTp=Dv -Nm=C2I-3SRS-BACnet_Slot -H=546 -PrH=2 -ObjVer=1 -SlC=396 -DvF=Sl -DvVr=1120 -Ad=10 -] -[ -ObjTp=Dv -Nm=Fixed -H=547 -PrH=2 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=11 -mC=1 -C1=548 -] -[ -ObjTp=Dv -Nm=C2I-RMC3-USB-HID1 -H=548 -PrH=547 -DvC=5203 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=11 -SmH=17 -RelStat=Release -mC=1 -C1=549 -] -[ -ObjTp=Dv -Nm=Fixed -H=549 -PrH=548 -ObjVer=1 -SlC=2 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=550 -] -[ -ObjTp=Dv -Nm=C2I-USB-HID -H=550 -PrH=549 -DvC=5204 -ObjVer=1 -SlC=2 -DvVr=1120 -Ad=01 -SmH=18 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fusion Room -H=551 -PrH=263 -DvC=2190 -ObjVer=1 -DvVr=1120 -Ad=03 -SmH=19 -RelStat=Release -ProdLine=Fusion -DbH=2 -EtH=2 -mC=252 -C1=553 -C2=555 -C3=557 -C4=559 -C5=560 -C6=561 -C7=562 -C8=563 -C9=564 -C10=565 -C11=566 -C12=567 -C13=568 -C14=569 -C15=570 -C16=571 -C17=572 -C18=573 -C19=574 -C20=575 -C21=576 -C22=577 -C23=578 -C24=579 -C25=580 -C26=581 -C27=582 -C28=583 -C29=584 -C30=585 -C31=586 -C32=587 -C33=588 -C34=589 -C35=590 -C36=591 -C37=592 -C38=593 -C39=594 -C40=595 -C41=596 -C42=597 -C43=598 -C44=599 -C45=600 -C46=601 -C47=602 -C48=603 -C49=604 -C50=605 -C51=606 -C52=607 -C53=608 -C54=609 -C55=610 -C56=611 -C57=612 -C58=613 -C59=614 -C60=615 -C61=616 -C62=617 -C63=618 -C64=619 -C65=620 -C66=621 -C67=622 -C68=623 -C69=624 -C70=625 -C71=626 -C72=627 -C73=628 -C74=629 -C75=630 -C76=631 -C77=632 -C78=633 -C79=634 -C80=635 -C81=636 -C82=637 -C83=638 -C84=639 -C85=640 -C86=641 -C87=642 -C88=643 -C89=644 -C90=645 -C91=646 -C92=647 -C93=648 -C94=649 -C95=650 -C96=651 -C97=652 -C98=653 -C99=654 -C100=655 -C101=656 -C102=657 -C103=658 -C104=659 -C105=660 -C106=661 -C107=662 -C108=663 -C109=664 -C110=665 -C111=666 -C112=667 -C113=668 -C114=669 -C115=670 -C116=671 -C117=672 -C118=673 -C119=674 -C120=675 -C121=676 -C122=677 -C123=678 -C124=679 -C125=680 -C126=681 -C127=682 -C128=683 -C129=684 -C130=685 -C131=686 -C132=687 -C133=688 -C134=689 -C135=690 -C136=691 -C137=692 -C138=693 -C139=694 -C140=695 -C141=696 -C142=697 -C143=698 -C144=699 -C145=700 -C146=701 -C147=702 -C148=703 -C149=704 -C150=705 -C151=706 -C152=707 -C153=708 -C154=709 -C155=710 -C156=711 -C157=712 -C158=713 -C159=714 -C160=715 -C161=716 -C162=717 -C163=718 -C164=719 -C165=720 -C166=721 -C167=722 -C168=723 -C169=724 -C170=725 -C171=726 -C172=727 -C173=728 -C174=729 -C175=730 -C176=731 -C177=732 -C178=733 -C179=734 -C180=735 -C181=736 -C182=737 -C183=738 -C184=739 -C185=740 -C186=741 -C187=742 -C188=743 -C189=744 -C190=745 -C191=746 -C192=747 -C193=748 -C194=749 -C195=750 -C196=751 -C197=752 -C198=753 -C199=754 -C200=755 -C201=756 -C202=757 -C203=758 -C204=759 -C205=760 -C206=761 -C207=762 -C208=763 -C209=764 -C210=765 -C211=766 -C212=767 -C213=768 -C214=769 -C215=770 -C216=771 -C217=772 -C218=773 -C219=774 -C220=775 -C221=776 -C222=777 -C223=778 -C224=779 -C225=780 -C226=781 -C227=782 -C228=783 -C229=784 -C230=785 -C231=786 -C232=787 -C233=788 -C234=789 -C235=790 -C236=791 -C237=792 -C238=793 -C239=794 -C240=795 -C241=796 -C242=797 -C243=798 -C244=799 -C245=800 -C246=801 -C247=802 -C248=803 -C249=804 -C250=805 -C251=806 -C252=807 -] -[ -ObjTp=Dv -Nm=3 Series TCP/IP Ethernet Intersystem Communications -H=552 -PrH=431 -DvC=3823 -ObjVer=2 -DvVr=1120 -Ad=AB -SmH=20 -RelStat=Release -ProdLine=3-Series -DbH=3 -CsH=1 -EtH=1 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=553 -PrH=551 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=554 -] -[ -ObjTp=Dv -Nm=Fusion Digitals -H=554 -PrH=553 -DvC=2191 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=01 -SmH=21 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=555 -PrH=551 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=556 -] -[ -ObjTp=Dv -Nm=Fusion Analogs -H=556 -PrH=555 -DvC=2192 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=02 -SmH=22 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=557 -PrH=551 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=558 -] -[ -ObjTp=Dv -Nm=Fusion Serials -H=558 -PrH=557 -DvC=2193 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=03 -SmH=23 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FusionRoomLoads_Slot -H=559 -PrH=551 -ObjVer=1 -SlC=292 -DvF=Sl -DvVr=1120 -Ad=04 -mC=1 -C1=808 -] -[ -ObjTp=Dv -Nm=FusionRoomLoads_Slot -H=560 -PrH=551 -ObjVer=1 -SlC=292 -DvF=Sl -DvVr=1120 -Ad=05 -mC=1 -C1=815 -] -[ -ObjTp=Dv -Nm=FusionRoomLoads_Slot -H=561.807 -PrH=551 -ObjVer=1 -SlC=292 -DvF=Sl -DvVr=1120 -Ad=06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252 -] -[ -ObjTp=Dv -Nm=Fusion Dynamic Asset -H=808 -PrH=559 -DvC=2008 -ObjVer=1 -DvVr=1120 -Ad=04 -SmH=26 -RelStat=Release -ProdLine=Fusion -DbH=4 -mC=3 -C1=809 -C2=811 -C3=813 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=809 -PrH=808 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=810 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Digitals -H=810 -PrH=809 -DvC=2385 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=01 -SmH=27 -RelStat=Release -DbH=5 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=811 -PrH=808 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=812 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Analogs -H=812 -PrH=811 -DvC=2386 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=02 -SmH=28 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=813 -PrH=808 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=814 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Serials -H=814 -PrH=813 -DvC=2387 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=03 -SmH=29 -RelStat=Release -] -[ -ObjTp=Dv -Nm=Fusion Static Asset -H=815 -PrH=560 -DvC=2384 -ObjVer=1 -DvVr=1120 -Ad=05 -SmH=30 -RelStat=Release -ProdLine=Fusion -DbH=6 -mC=3 -C1=816 -C2=818 -C3=820 -] -[ -ObjTp=Dv -Nm=FixedSlot -H=816 -PrH=815 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=01 -mC=1 -C1=817 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Digitals -H=817 -PrH=816 -DvC=2385 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=01 -SmH=31 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=818 -PrH=815 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=02 -mC=1 -C1=819 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Analogs -H=819 -PrH=818 -DvC=2386 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=02 -SmH=32 -RelStat=Release -] -[ -ObjTp=Dv -Nm=FixedSlot -H=820 -PrH=815 -ObjVer=1 -SlC=144 -DvF=Sl -DvVr=1120 -Ad=03 -mC=1 -C1=821 -] -[ -ObjTp=Dv -Nm=Fusion Generic Asset Serials -H=821 -PrH=820 -DvC=2387 -ObjVer=1 -SlC=144 -DvVr=1120 -Ad=03 -SmH=33 -RelStat=Release -] -[ -ObjTp=Cm -H=1 -DvH=519 -Ptl=(RS232) -Tis=1 -BRt=9600 -Pty=N -SBt=1 -DBt=8 -hHs=(None) -sHs=(None) -] -[ -ObjTp=Db -H=1 -DvH=2 -Whc=3 -Mnf=Crestron -Mdl=RMC3 -] -[ -ObjTp=Db -H=2 -DvH=551 -Whc=3 -Mnf=Crestron -Mdl=Fusion Room -] -[ -ObjTp=Db -H=3 -DvH=552 -Whc=3 -Mnf=Crestron -Mdl=3 Series TCP/IP Ethernet Intersystem Communications -] -[ -ObjTp=Db -H=4 -DvH=808 -Whc=3 -Mnf=Crestron -Mdl=Fusion Dynamic Asset -] -[ -ObjTp=Db -H=5 -DvH=810 -Whc=3 -Mnf=Crestron -Mdl=Fusion Generic Asset Digitals -Tpe=Fusion Generic Asset Digitals -] -[ -ObjTp=Db -H=6 -DvH=815 -Whc=3 -Mnf=Crestron -Mdl=Fusion Static Asset -] -[ -ObjTp=Cs -H=1 -DvH=552 -] -[ -ObjTp=FP -] -[ -ObjTp=Bk -Nm1=\ -Sx1=0 -Sy1=0 -Mx1=1 -] -[ -ObjTp=Bw -H=1 -Lx=160 -Ly=160 -Rx=420 -Ry=360 -Xm=-1 -Ym=-1 -SH=20 -Z=75 -P=176 -Ht=4 -Hi=355 -] -[ -ObjTp=Bw -H=1 -Lx=481 -Ly=730 -Rx=962 -Ry=1460 -Xm=-1 -Ym=-1 -SH=30 -Z=75 -Ht=1 -Hi=5 -] -[ -ObjTp=Bw -H=1 -Lx=0 -Ly=0 -Rx=481 -Ry=730 -Xm=-1 -Ym=-1 -SH=33 -Z=75 -Ht=1 -Hi=50 -] -[ -ObjTp=Bw -H=1 -Lx=0 -Ly=730 -Rx=481 -Ry=1460 -Xm=-1 -Ym=-1 -SH=32 -Z=75 -Ht=1 -Hi=50 -] -[ -ObjTp=Bw -H=1 -Lx=481 -Ly=0 -Rx=962 -Ry=730 -Xm=-1 -Ym=-1 -SH=31 -Z=75 -Ht=1 -Hi=50 -] -[ -ObjTp=Et -H=1 -DvH=552 -IPM=255.255.255.0 -IPA=127.0.0.2 -] -[ -ObjTp=Et -H=2 -DvH=551 -IPM=255.255.255.0 -IPA=127.0.0.1 -] -[ -ObjTp=Sm -H=1 -SmC=157 -Nm=Central Control Modules -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mC=8 -C1=6 -C2=7 -C3=8 -C4=10 -C5=11 -C6=12 -C7=13 -C8=17 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=2 -SmC=157 -Nm=Network Modules -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=3 -SmC=157 -Nm=Ethernet -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=4 -SmC=156 -Nm=Logic -ObjVer=1 -SmVr=1120 -CF=2 -] -[ -ObjTp=Sm -H=5 -SmC=157 -Nm=DefineArguments -ObjVer=1 -SmVr=1120 -CF=2 -n1I=1 -n1O=1 -mI=1 -mO=1 -tO=1 -mP=1 -P1= -] -[ -ObjTp=Sm -H=6 -SmC=4339 -Nm=C2I-RMC3CNET-1 -ObjVer=1 -SmVr=1120 -DvH=4 -PrH=1 -CF=2 -Cmn1=C2I-RMC3CNET-1 -] -[ -ObjTp=Sm -H=7 -SmC=4340 -Nm=C2I-RMC3ENET-1 -ObjVer=1 -SmVr=1120 -DvH=260 -PrH=1 -CF=2 -Cmn1=C2I-RMC3ENET-1 -mC=2 -C1=19 -C2=20 -] -[ -ObjTp=Sm -H=8 -SmC=4341 -Nm=C2I-RMC3-COM1 -ObjVer=1 -SmVr=1120 -DvH=517 -PrH=1 -CF=2 -Cmn1=C2I-RMC3-COM1 -mC=1 -C1=9 -] -[ -ObjTp=Sm -H=9 -SmC=4342 -Nm=RMC3 Two-way serial driver -ObjVer=1 -SmVr=1120 -DvH=519 -PrH=8 -CF=2 -n1I=5 -n1O=3 -Cmn1=RMC3 Two-way serial driver -mI=5 -mO=3 -tO=3 -mP=3 -P1= -P2= -P3= -] -[ -ObjTp=Sm -H=10 -SmC=4343 -Nm=C2I-RMC3-DI2 -ObjVer=1 -SmVr=1120 -DvH=521 -PrH=1 -CF=2 -n1O=2 -Cmn1=C2I-RMC3-DI2 -mO=2 -tO=2 -] -[ -ObjTp=Sm -H=11 -SmC=4344 -Nm=C2I-RMC3-RY2 -ObjVer=1 -SmVr=1120 -DvH=527 -PrH=1 -CF=2 -n1I=2 -n1O=2 -Cmn1=C2I-RMC3-RY2 -mI=2 -mO=2 -tO=2 -] -[ -ObjTp=Sm -H=12 -SmC=4345 -Nm=C2I-RMC3-IR2 -ObjVer=1 -SmVr=1120 -DvH=533 -PrH=1 -CF=2 -Cmn1=C2I-RMC3-IR2 -] -[ -ObjTp=Sm -H=13 -SmC=4347 -Nm=C2I-RMC3-SYSTEMMONITOR -ObjVer=3 -SmVr=1120 -DvH=537 -PrH=1 -CF=2 -n1I=28 -n2I=42 -n1O=25 -Cmn1=C2I-RMC3-SYSTEMMONITOR -mC=3 -C1=14 -C2=15 -C3=16 -mI=73 -mO=69 -tO=72 -] -[ -ObjTp=Sm -H=14 -SmC=4348 -Nm=C2I-RMC3-SYSTEMCONTROL -ObjVer=2 -SmVr=1120 -DvH=539 -PrH=13 -CF=2 -n1I=50 -n2I=2 -n1O=50 -Cmn1=C2I-RMC3-SYSTEMCONTROL -mI=55 -mO=52 -tO=55 -] -[ -ObjTp=Sm -H=15 -SmC=4349 -Nm=C2I-RMC3-SYSTEMINFORMATION -ObjVer=2 -SmVr=1120 -DvH=541 -PrH=13 -CF=2 -n1I=2 -n1O=2 -Cmn1=C2I-RMC3-SYSTEMINFORMATION -mI=9 -mO=2 -tO=9 -] -[ -ObjTp=Sm -H=16 -SmC=4463 -Nm=C2I-RMC3-USERPROGINIT -ObjVer=1 -SmVr=1120 -DvH=544 -PrH=13 -CF=2 -n1I=1 -n1O=1 -Cmn1=C2I-RMC3-USERPROGINIT -mI=1 -mO=1 -tO=1 -] -[ -ObjTp=Sm -H=17 -SmC=5563 -Nm=C2I-RMC3-USB-HID1 -ObjVer=1 -SmVr=1120 -DvH=548 -PrH=1 -CF=2 -Cmn1=C2I-RMC3-USB-HID1 -mC=1 -C1=18 -] -[ -ObjTp=Sm -H=18 -SmC=5564 -Nm=C2I-USB-HID -ObjVer=1 -SmVr=1120 -DvH=550 -PrH=17 -CF=2 -n1I=8 -n2I=2 -n1O=8 -Cmn1=C2I-USB-HID -mI=17 -mO=10 -tO=17 -] -[ -ObjTp=Sm -H=19 -SmC=2611 -Nm=Fusion Room -ObjVer=1 -SmVr=1120 -DvH=551 -PrH=7 -CF=1 -OpF=0 -HandF=1 -Cmn1=Fusion Room -mC=7 -C1=21 -C2=22 -C3=23 -C4=24 -C5=25 -C6=26 -C7=30 -mP=2 -P1= -P2=6d232a91-04e6-4862-8ee4-2dd78ed7398c -] -[ -ObjTp=Sm -H=20 -SmC=4356 -Nm=3 Series TCP/IP Ethernet Intersystem Communications -ObjVer=2 -SmVr=1120 -DvH=552 -PrH=7 -CF=2 -n1I=282 -n2I=82 -n1O=282 -Cmn1=3 Series TCP/IP Ethernet Intersystem Communications -mI=546 -I3=10 -I5=14 -I51=4 -I71=89 -I100=24 -I101=25 -I102=26 -I103=27 -I104=28 -I110=29 -I111=30 -I112=31 -I113=32 -I114=33 -I120=34 -I121=35 -I122=36 -I123=37 -I124=38 -I333=6 -I415=8 -I436=96 -mO=364 -tO=546 -O1=13 -O3=11 -O4=12 -O5=15 -O6=16 -O21=17 -O30=18 -O31=19 -O51=5 -O55=20 -O100=39 -O110=40 -O111=41 -O112=42 -O113=43 -O114=44 -O120=45 -O121=46 -O122=47 -O123=48 -O124=49 -O333=7 -O337=22 -O338=23 -O353=93 -O354=94 -O355=95 -O415=9 -O419=21 -O435=90 -O436=91 -O437=92 -O464=51 -O465=50 -O466=52 -O484=53 -O485=54 -O486=55 -O487=56 -O488=57 -O489=58 -O490=59 -O491=60 -O492=61 -O494=62 -O495=63 -O496=64 -O497=65 -O498=66 -O499=67 -O500=68 -O501=69 -O502=70 -O504=71 -O505=72 -O506=73 -O507=74 -O508=75 -O509=76 -O510=77 -O511=78 -O512=79 -O514=80 -O515=81 -O516=82 -O517=83 -O518=84 -O519=85 -O520=86 -O521=87 -O522=88 -] -[ -ObjTp=Sm -H=21 -SmC=2612 -Nm=Fusion Digitals -ObjVer=1 -SmVr=1120 -DvH=554 -PrH=19 -CF=2 -n1I=1053 -n1O=1053 -OpF=0 -PropF=1 -Cmn1=Fusion Digitals -mI=1053 -mO=1053 -tO=1053 -mP=1050 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -P51= -P52= -P53= -P54= -P55= -P56= -P57= -P58= -P59= -P60= -P61= -P62= -P63= -P64= -P65= -P66= -P67= -P68= -P69= -P70= -P71= -P72= -P73= -P74= -P75= -P76= -P77= -P78= -P79= -P80= -P81= -P82= -P83= -P84= -P85= -P86= -P87= -P88= -P89= -P90= -P91= -P92= -P93= -P94= -P95= -P96= -P97= -P98= -P99= -P100= -P101= -P102= -P103= -P104= -P105= -P106= -P107= -P108= -P109= -P110= -P111= -P112= -P113= -P114= -P115= -P116= -P117= -P118= -P119= -P120= -P121= -P122= -P123= -P124= -P125= -P126= -P127= -P128= -P129= -P130= -P131= -P132= -P133= -P134= -P135= -P136= -P137= -P138= -P139= -P140= -P141= -P142= -P143= -P144= -P145= -P146= -P147= -P148= -P149= -P150= -P151= -P152= -P153= -P154= -P155= -P156= -P157= -P158= -P159= -P160= -P161= -P162= -P163= -P164= -P165= -P166= -P167= -P168= -P169= -P170= -P171= -P172= -P173= -P174= -P175= -P176= -P177= -P178= -P179= -P180= -P181= -P182= -P183= -P184= -P185= -P186= -P187= -P188= -P189= -P190= -P191= -P192= -P193= -P194= -P195= -P196= -P197= -P198= -P199= -P200= -P201= -P202= -P203= -P204= -P205= -P206= -P207= -P208= -P209= -P210= -P211= -P212= -P213= -P214= -P215= -P216= -P217= -P218= -P219= -P220= -P221= -P222= -P223= -P224= -P225= -P226= -P227= -P228= -P229= -P230= -P231= -P232= -P233= -P234= -P235= -P236= -P237= -P238= -P239= -P240= -P241= -P242= -P243= -P244= -P245= -P246= -P247= -P248= -P249= -P250= -P251= -P252= -P253= -P254= -P255= -P256= -P257= -P258= -P259= -P260= -P261= -P262= -P263= -P264= -P265= -P266= -P267= -P268= -P269= -P270= -P271= -P272= -P273= -P274= -P275= -P276= -P277= -P278= -P279= -P280= -P281= -P282= -P283= -P284= -P285= -P286= -P287= -P288= -P289= -P290= -P291= -P292= -P293= -P294= -P295= -P296= -P297= -P298= -P299= -P300= -P301= -P302= -P303= -P304= -P305= -P306= -P307= -P308= -P309= -P310= -P311= -P312= -P313= -P314= -P315= -P316= -P317= -P318= -P319= -P320= -P321= -P322= -P323= -P324= -P325= -P326= -P327= -P328= -P329= -P330= -P331= -P332= -P333= -P334= -P335= -P336= -P337= -P338= -P339= -P340= -P341= -P342= -P343= -P344= -P345= -P346= -P347= -P348= -P349= -P350= -P351= -P352= -P353= -P354= -P355= -P356= -P357= -P358= -P359= -P360= -P361= -P362= -P363= -P364= -P365= -P366= -P367= -P368= -P369= -P370= -P371= -P372= -P373= -P374= -P375= -P376= -P377= -P378= -P379= -P380= -P381= -P382= -P383= -P384= -P385= -P386= -P387= -P388= -P389= -P390= -P391= -P392= -P393= -P394= -P395= -P396= -P397= -P398= -P399= -P400= -P401= -P402= -P403= -P404= -P405= -P406= -P407= -P408= -P409= -P410= -P411= -P412= -P413= -P414= -P415= -P416= -P417= -P418= -P419= -P420= -P421= -P422= -P423= -P424= -P425= -P426= -P427= -P428= -P429= -P430= -P431= -P432= -P433= -P434= -P435= -P436= -P437= -P438= -P439= -P440= -P441= -P442= -P443= -P444= -P445= -P446= -P447= -P448= -P449= -P450= -P451= -P452= -P453= -P454= -P455= -P456= -P457= -P458= -P459= -P460= -P461= -P462= -P463= -P464= -P465= -P466= -P467= -P468= -P469= -P470= -P471= -P472= -P473= -P474= -P475= -P476= -P477= -P478= -P479= -P480= -P481= -P482= -P483= -P484= -P485= -P486= -P487= -P488= -P489= -P490= -P491= -P492= -P493= -P494= -P495= -P496= -P497= -P498= -P499= -P500= -P501= -P502= -P503= -P504= -P505= -P506= -P507= -P508= -P509= -P510= -P511= -P512= -P513= -P514= -P515= -P516= -P517= -P518= -P519= -P520= -P521= -P522= -P523= -P524= -P525= -P526= -P527= -P528= -P529= -P530= -P531= -P532= -P533= -P534= -P535= -P536= -P537= -P538= -P539= -P540= -P541= -P542= -P543= -P544= -P545= -P546= -P547= -P548= -P549= -P550= -P551= -P552= -P553= -P554= -P555= -P556= -P557= -P558= -P559= -P560= -P561= -P562= -P563= -P564= -P565= -P566= -P567= -P568= -P569= -P570= -P571= -P572= -P573= -P574= -P575= -P576= -P577= -P578= -P579= -P580= -P581= -P582= -P583= -P584= -P585= -P586= -P587= -P588= -P589= -P590= -P591= -P592= -P593= -P594= -P595= -P596= -P597= -P598= -P599= -P600= -P601= -P602= -P603= -P604= -P605= -P606= -P607= -P608= -P609= -P610= -P611= -P612= -P613= -P614= -P615= -P616= -P617= -P618= -P619= -P620= -P621= -P622= -P623= -P624= -P625= -P626= -P627= -P628= -P629= -P630= -P631= -P632= -P633= -P634= -P635= -P636= -P637= -P638= -P639= -P640= -P641= -P642= -P643= -P644= -P645= -P646= -P647= -P648= -P649= -P650= -P651= -P652= -P653= -P654= -P655= -P656= -P657= -P658= -P659= -P660= -P661= -P662= -P663= -P664= -P665= -P666= -P667= -P668= -P669= -P670= -P671= -P672= -P673= -P674= -P675= -P676= -P677= -P678= -P679= -P680= -P681= -P682= -P683= -P684= -P685= -P686= -P687= -P688= -P689= -P690= -P691= -P692= -P693= -P694= -P695= -P696= -P697= -P698= -P699= -P700= -P701= -P702= -P703= -P704= -P705= -P706= -P707= -P708= -P709= -P710= -P711= -P712= -P713= -P714= -P715= -P716= -P717= -P718= -P719= -P720= -P721= -P722= -P723= -P724= -P725= -P726= -P727= -P728= -P729= -P730= -P731= -P732= -P733= -P734= -P735= -P736= -P737= -P738= -P739= -P740= -P741= -P742= -P743= -P744= -P745= -P746= -P747= -P748= -P749= -P750= -P751= -P752= -P753= -P754= -P755= -P756= -P757= -P758= -P759= -P760= -P761= -P762= -P763= -P764= -P765= -P766= -P767= -P768= -P769= -P770= -P771= -P772= -P773= -P774= -P775= -P776= -P777= -P778= -P779= -P780= -P781= -P782= -P783= -P784= -P785= -P786= -P787= -P788= -P789= -P790= -P791= -P792= -P793= -P794= -P795= -P796= -P797= -P798= -P799= -P800= -P801= -P802= -P803= -P804= -P805= -P806= -P807= -P808= -P809= -P810= -P811= -P812= -P813= -P814= -P815= -P816= -P817= -P818= -P819= -P820= -P821= -P822= -P823= -P824= -P825= -P826= -P827= -P828= -P829= -P830= -P831= -P832= -P833= -P834= -P835= -P836= -P837= -P838= -P839= -P840= -P841= -P842= -P843= -P844= -P845= -P846= -P847= -P848= -P849= -P850= -P851= -P852= -P853= -P854= -P855= -P856= -P857= -P858= -P859= -P860= -P861= -P862= -P863= -P864= -P865= -P866= -P867= -P868= -P869= -P870= -P871= -P872= -P873= -P874= -P875= -P876= -P877= -P878= -P879= -P880= -P881= -P882= -P883= -P884= -P885= -P886= -P887= -P888= -P889= -P890= -P891= -P892= -P893= -P894= -P895= -P896= -P897= -P898= -P899= -P900= -P901= -P902= -P903= -P904= -P905= -P906= -P907= -P908= -P909= -P910= -P911= -P912= -P913= -P914= -P915= -P916= -P917= -P918= -P919= -P920= -P921= -P922= -P923= -P924= -P925= -P926= -P927= -P928= -P929= -P930= -P931= -P932= -P933= -P934= -P935= -P936= -P937= -P938= -P939= -P940= -P941= -P942= -P943= -P944= -P945= -P946= -P947= -P948= -P949= -P950= -P951= -P952= -P953= -P954= -P955= -P956= -P957= -P958= -P959= -P960= -P961= -P962= -P963= -P964= -P965= -P966= -P967= -P968= -P969= -P970= -P971= -P972= -P973= -P974= -P975= -P976= -P977= -P978= -P979= -P980= -P981= -P982= -P983= -P984= -P985= -P986= -P987= -P988= -P989= -P990= -P991= -P992= -P993= -P994= -P995= -P996= -P997= -P998= -P999= -P1000= -P1001= -P1002= -P1003= -P1004= -P1005= -P1006= -P1007= -P1008= -P1009= -P1010= -P1011= -P1012= -P1013= -P1014= -P1015= -P1016= -P1017= -P1018= -P1019= -P1020= -P1021= -P1022= -P1023= -P1024= -P1025= -P1026= -P1027= -P1028= -P1029= -P1030= -P1031= -P1032= -P1033= -P1034= -P1035= -P1036= -P1037= -P1038= -P1039= -P1040= -P1041= -P1042= -P1043= -P1044= -P1045= -P1046= -P1047= -P1048= -P1049= -P1050= -] -[ -ObjTp=Sm -H=22 -SmC=2613 -Nm=Fusion Analogs -ObjVer=1 -SmVr=1120 -DvH=556 -PrH=19 -CF=2 -n2I=52 -OpF=0 -PropF=1 -Cmn1=Fusion Analogs -mI=52 -mO=52 -tO=52 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=23 -SmC=2614 -Nm=Fusion Serials -ObjVer=1 -SmVr=1120 -DvH=558 -PrH=19 -CF=2 -OpF=0 -PropF=1 -Cmn1=Fusion Serials -mI=53 -I1=2 -mO=0 -tO=53 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=24 -SmC=1313 -Nm=RoomView Scheduling Data -ObjVer=1 -SmVr=1120 -PrH=19 -CF=1 -OpF=0 -PropF=1 -mI=3 -mO=0 -tO=3 -] -[ -ObjTp=Sm -H=25 -SmC=524 -Nm=Fusion Room Data -ObjVer=2 -SmVr=1120 -PrH=19 -CF=1 -OpF=0 -PropF=1 -mI=21 -mO=0 -tO=21 -] -[ -ObjTp=Sm -H=26 -SmC=2429 -Nm=Fusion Dynamic Asset -ObjVer=1 -SmVr=1120 -DvH=808 -PrH=19 -CF=1 -n1I=4 -n1O=4 -OpF=0 -PropF=1 -Cmn1=Fusion Dynamic Asset -mC=3 -C1=27 -C2=28 -C3=29 -mI=47 -mO=4 -tO=47 -mP=3 -P1= -P2= -P3=e0928287-9eae-4ec0-b739-9e149ead94ed -] -[ -ObjTp=Sm -H=27 -SmC=2715 -Nm=Fusion Generic Asset Digitals -ObjVer=1 -SmVr=1120 -DvH=810 -PrH=26 -CF=2 -n1I=50 -n1O=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Digitals -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=28 -SmC=2716 -Nm=Fusion Generic Asset Analogs -ObjVer=1 -SmVr=1120 -DvH=812 -PrH=26 -CF=2 -n2I=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Analogs -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=29 -SmC=2717 -Nm=Fusion Generic Asset Serials -ObjVer=1 -SmVr=1120 -DvH=814 -PrH=26 -CF=2 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Serials -mI=50 -mO=0 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=30 -SmC=2714 -Nm=Fusion Static Asset -ObjVer=1 -SmVr=1120 -DvH=815 -PrH=19 -CF=1 -n1I=4 -n1O=4 -OpF=0 -PropF=1 -Cmn1=Fusion Static Asset -mC=3 -C1=31 -C2=32 -C3=33 -mI=8 -mO=4 -tO=8 -mP=5 -P1= -P2= -P3=83293821-b904-4d3b-877c-6e15f3eed768 -P4= -P5= -] -[ -ObjTp=Sm -H=31 -SmC=2715 -Nm=Fusion Generic Asset Digitals -ObjVer=1 -SmVr=1120 -DvH=817 -PrH=30 -CF=2 -n1I=50 -n1O=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Digitals -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=32 -SmC=2716 -Nm=Fusion Generic Asset Analogs -ObjVer=1 -SmVr=1120 -DvH=819 -PrH=30 -CF=2 -n2I=50 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Analogs -mI=50 -mO=50 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=Sm -H=33 -SmC=2717 -Nm=Fusion Generic Asset Serials -ObjVer=1 -SmVr=1120 -DvH=821 -PrH=30 -CF=2 -OpF=0 -PropF=1 -Cmn1=Fusion Generic Asset Serials -mI=50 -mO=0 -tO=50 -mP=50 -P1= -P2= -P3= -P4= -P5= -P6= -P7= -P8= -P9= -P10= -P11= -P12= -P13= -P14= -P15= -P16= -P17= -P18= -P19= -P20= -P21= -P22= -P23= -P24= -P25= -P26= -P27= -P28= -P29= -P30= -P31= -P32= -P33= -P34= -P35= -P36= -P37= -P38= -P39= -P40= -P41= -P42= -P43= -P44= -P45= -P46= -P47= -P48= -P49= -P50= -] -[ -ObjTp=FusionGUID -Code=1 -System=Default -SH1=19 -GUID1=6d232a91-04e6-4862-8ee4-2dd78ed7398c -SH2=26 -GUID2=e0928287-9eae-4ec0-b739-9e149ead94ed -SH3=30 -GUID3=83293821-b904-4d3b-877c-6e15f3eed768 -] -[ -ObjTp=Sg -H=4 -Nm=DynFusion.Digital.51.In.set -] -[ -ObjTp=Sg -H=5 -Nm=DynFusion.Digital.51.Out.FB -] -[ -ObjTp=Sg -H=6 -Nm=DynFusion.Analog.51.In.set -SgTp=2 -] -[ -ObjTp=Sg -H=7 -Nm=DynFusion.Analog.51.Out.FB -SgTp=2 -] -[ -ObjTp=Sg -H=8 -Nm=DynFusion.String.51.In.set -SgTp=4 -] -[ -ObjTp=Sg -H=9 -Nm=DynFusion.String.51.Out.FB -SgTp=4 -] -[ -ObjTp=Sg -H=10 -Nm=PowerOn.set -] -[ -ObjTp=Sg -H=11 -Nm=PowerOn.FB -] -[ -ObjTp=Sg -H=12 -Nm=PowerOff.FB -] -[ -ObjTp=Sg -H=13 -Nm=Online.FB -] -[ -ObjTp=Sg -H=14 -Nm=DISPLAYPowerOn.set -] -[ -ObjTp=Sg -H=15 -Nm=DISPLAYPowerOn.FB -] -[ -ObjTp=Sg -H=16 -Nm=DisplayPowerOff.FB -] -[ -ObjTp=Sg -H=17 -Nm=MsgBRoadcastEnabled.FB -] -[ -ObjTp=Sg -H=18 -Nm=AuthSuccess.FB -] -[ -ObjTp=Sg -H=19 -Nm=AuthFail.FB -] -[ -ObjTp=Sg -H=20 -Nm=CustomProp.Digital.FB -] -[ -ObjTp=Sg -H=21 -Nm=CustomProp.Serial.FB -SgTp=4 -] -[ -ObjTp=Sg -H=22 -Nm=CustomProp.Analog.FB -SgTp=2 -] -[ -ObjTp=Sg -H=23 -Nm=ssh -SgTp=2 -] -[ -ObjTp=Sg -H=24 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.End.cmd -] -[ -ObjTp=Sg -H=25 -Nm=SYS.Fusion.Scheduling.CheckMeetings.cmd -] -[ -ObjTp=Sg -H=26 -Nm=SYS.Fusion.Scheduling.GetSchedule.cmd -] -[ -ObjTp=Sg -H=27 -Nm=SYS.Fusion.Scheduling.GetRoomInfo.cmd -] -[ -ObjTp=Sg -H=28 -Nm=SYS.Fusion.Scheduling.GetRoomList.cmd -] -[ -ObjTp=Sg -H=29 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.15Min.cmd -] -[ -ObjTp=Sg -H=30 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.30Min.cmd -] -[ -ObjTp=Sg -H=31 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.45Min.cmd -] -[ -ObjTp=Sg -H=32 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.60Min.cmd -] -[ -ObjTp=Sg -H=33 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.90Min.cmd -] -[ -ObjTp=Sg -H=34 -Nm=SYS.Fusion.Scheduling.ReserveRoom.15Min.cmd -] -[ -ObjTp=Sg -H=35 -Nm=SYS.Fusion.Scheduling.ReserveRoom.30Min.cmd -] -[ -ObjTp=Sg -H=36 -Nm=SYS.Fusion.Scheduling.ReserveRoom.45Min.cmd -] -[ -ObjTp=Sg -H=37 -Nm=SYS.Fusion.Scheduling.ReserveRoom.60Min.cmd -] -[ -ObjTp=Sg -H=38 -Nm=SYS.Fusion.Scheduling.ReserveRoom.90Min.cmd -] -[ -ObjTp=Sg -H=39 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.InProgress.FB -] -[ -ObjTp=Sg -H=40 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.15Min.Enabled.FB -] -[ -ObjTp=Sg -H=41 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.30Min.Enabled.FB -] -[ -ObjTp=Sg -H=42 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.45Min.Enabled.FB -] -[ -ObjTp=Sg -H=43 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.60Min.Enabled.FB -] -[ -ObjTp=Sg -H=44 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Extend.90Min.Enabled.FB -] -[ -ObjTp=Sg -H=45 -Nm=SYS.Fusion.Scheduling.ReserveRoom.15Min.Enabled.FB -] -[ -ObjTp=Sg -H=46 -Nm=SYS.Fusion.Scheduling.ReserveRoom.30Min.Enabled.FB -] -[ -ObjTp=Sg -H=47 -Nm=SYS.Fusion.Scheduling.ReserveRoom.45Min.Enabled.FB -] -[ -ObjTp=Sg -H=48 -Nm=SYS.Fusion.Scheduling.ReserveRoom.60Min.Enabled.FB -] -[ -ObjTp=Sg -H=49 -Nm=SYS.Fusion.Scheduling.ReserveRoom.90Min.Enabled.FB -] -[ -ObjTp=Sg -H=50 -Nm=SYS.Fusion.Room.ID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=51 -Nm=SYS.Fusion.Room.Name.FB -SgTp=4 -] -[ -ObjTp=Sg -H=52 -Nm=SYS.Fusion.Room.Location.FB -SgTp=4 -] -[ -ObjTp=Sg -H=53 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=54 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=55 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=56 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=57 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=58 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=59 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=60 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=61 -Nm=SYS.Fusion.Scheduling.CurrentMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=62 -Nm=SYS.Fusion.Scheduling.NextMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=63 -Nm=SYS.Fusion.Scheduling.NextMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=64 -Nm=SYS.Fusion.Scheduling.NextMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=65 -Nm=SYS.Fusion.Scheduling.NextMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=66 -Nm=SYS.Fusion.Scheduling.NextMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=67 -Nm=SYS.Fusion.Scheduling.NextMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=68 -Nm=SYS.Fusion.Scheduling.NextMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=69 -Nm=SYS.Fusion.Scheduling.NextMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=70 -Nm=SYS.Fusion.Scheduling.NextMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=71 -Nm=SYS.Fusion.Scheduling.LaterMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=72 -Nm=SYS.Fusion.Scheduling.LaterMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=73 -Nm=SYS.Fusion.Scheduling.LaterMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=74 -Nm=SYS.Fusion.Scheduling.LaterMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=75 -Nm=SYS.Fusion.Scheduling.LaterMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=76 -Nm=SYS.Fusion.Scheduling.LaterMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=77 -Nm=SYS.Fusion.Scheduling.LaterMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=78 -Nm=SYS.Fusion.Scheduling.LaterMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=79 -Nm=SYS.Fusion.Scheduling.LaterMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=80 -Nm=SYS.Fusion.Scheduling.LatestMeeting.Organizer.FB -SgTp=4 -] -[ -ObjTp=Sg -H=81 -Nm=SYS.Fusion.Scheduling.LatestMeeting.Subject.FB -SgTp=4 -] -[ -ObjTp=Sg -H=82 -Nm=SYS.Fusion.Scheduling.LatestMeeting.MeetingID.FB -SgTp=4 -] -[ -ObjTp=Sg -H=83 -Nm=SYS.Fusion.Scheduling.LatestMeeting.StartTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=84 -Nm=SYS.Fusion.Scheduling.LatestMeeting.StartDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=85 -Nm=SYS.Fusion.Scheduling.LatestMeeting.EndTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=86 -Nm=SYS.Fusion.Scheduling.LatestMeeting.EndDate.FB -SgTp=4 -] -[ -ObjTp=Sg -H=87 -Nm=SYS.Fusion.Scheduling.LatestMeeting.Duration.FB -SgTp=4 -] -[ -ObjTp=Sg -H=88 -Nm=SYS.Fusion.Scheduling.LatestMeeting.RemainingTime.FB -SgTp=4 -] -[ -ObjTp=Sg -H=89 -Nm=IP-ID-AB_dig-o71 -] -[ -ObjTp=Sg -H=90 -Nm=IP-ID-AB_serial-i71 -SgTp=4 -] -[ -ObjTp=Sg -H=91 -Nm=IP-ID-AB_serial-i72 -SgTp=4 -] -[ -ObjTp=Sg -H=92 -Nm=IP-ID-AB_serial-i73 -SgTp=4 -] -[ -ObjTp=Sg -H=93 -Nm=IP-ID-AB_an_i71 -SgTp=2 -] -[ -ObjTp=Sg -H=94 -Nm=IP-ID-AB_an_i72 -SgTp=2 -] -[ -ObjTp=Sg -H=95 -Nm=IP-ID-AB_an_i73 -SgTp=2 -] -[ -ObjTp=Sg -H=96 -Nm=IP-ID-AB_serial-o72 -SgTp=4 -] diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_archive.zip b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_archive.zip deleted file mode 100644 index cf43847..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_archive.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0fdbe388661dbf27c156af057d4dc830bf43cec7201140faf3446f9bdab793e1 -size 13765 diff --git a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_compiled.zip b/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_compiled.zip deleted file mode 100644 index 40a6206..0000000 --- a/SimplWindowDemo/DynFusion_SimplWindowsDemo_v00.01_compiled.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a384ce269e59c6fe43b93882c1eba744aebae6c544eefc9745d0b9a1fae43a11 -size 16493 diff --git a/packages.config b/packages.config index 292f83a..d7c2de9 100644 --- a/packages.config +++ b/packages.config @@ -1,3 +1,4 @@ - + + \ No newline at end of file From 7e9d8ad8cbbe6312f61901d116b088bd386f8943 Mon Sep 17 00:00:00 2001 From: jdevito Date: Tue, 29 Aug 2023 08:32:52 -0500 Subject: [PATCH 03/10] fix: updates static asset implementation 1. Added staticAsset dictionary to DynFusionDevice 2. Populated staticAsset dictionary in DynFusionDevice.Initialize() 3. Added staticAsset.LinkToApi to DynFusionDevice.LinkToApi() 4. Removed unnecessary package reference from packages.config --- DynFusionEPI/DynFusionDevice.cs | 17 ++++++++++++++++- DynFusionEPI/DynFusionStaticAsset.cs | 12 ++++++------ packages.config | 2 +- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/DynFusionEPI/DynFusionDevice.cs b/DynFusionEPI/DynFusionDevice.cs index 2171389..69c4341 100644 --- a/DynFusionEPI/DynFusionDevice.cs +++ b/DynFusionEPI/DynFusionDevice.cs @@ -36,6 +36,9 @@ public class DynFusionDevice : EssentialsBridgeableDevice, ILogStringsWithLevel, private readonly IDictionary _callStatisticsDevices = new Dictionary(); + private readonly IDictionary _staticAssets + = new Dictionary(); + private static DynFusionJoinMap JoinMapStatic; public BoolFeedback FusionOnlineFeedback; @@ -242,9 +245,15 @@ public override void Initialize() // staticAsset.AssetType, // Guid.NewGuid().ToString())); + + staticAssets .ToList() - .ForEach(staticAsset => staticAsset.Initialize()); + .ForEach(staticAsset => + { + _staticAssets.Add(staticAsset.AssetNumber, staticAsset); + staticAsset.Initialize(); + }); } } @@ -921,6 +930,12 @@ public override void LinkToApi(BasicTriList trilist, uint joinStart, string join trilist.SetSigTrueAction(joinMap.RoomConfig.JoinNumber, () => GetRoomConfig()); + foreach (var staticAsset in _staticAssets) + { + var device = staticAsset; + device.Value.LinkToApi(trilist, joinStart, joinMapKey, bridge); + } + foreach (var callStatisticsDevice in _callStatisticsDevices) { var join = callStatisticsDevice.Key; diff --git a/DynFusionEPI/DynFusionStaticAsset.cs b/DynFusionEPI/DynFusionStaticAsset.cs index f99c112..62cb878 100644 --- a/DynFusionEPI/DynFusionStaticAsset.cs +++ b/DynFusionEPI/DynFusionStaticAsset.cs @@ -22,8 +22,8 @@ public class DynFusionStaticAsset : EssentialsBridgeableDevice public string Model; private readonly FusionStaticAsset _asset; - private readonly uint _attributeOffset; - private readonly uint _customAttributeOffset; + public readonly uint AttributeOffset; + public readonly uint CustomAttributeOffset; private const uint FusionJoinOffset = 49; private readonly DynFusionStaticAssetJoinMap _joinMap; @@ -51,8 +51,8 @@ public DynFusionStaticAsset(FusionRoom symbol, uint assetNumber, FusionStaticAss Make = string.IsNullOrEmpty(Config.Make) ? string.Empty : Config.Make; Model = string.IsNullOrEmpty(Config.Model) ? string.Empty : Config.Model; - _attributeOffset = config.AttributeJoinOffset; - _customAttributeOffset = config.CustomAttributeJoinOffset; + AttributeOffset = config.AttributeJoinOffset; + CustomAttributeOffset = config.CustomAttributeJoinOffset; _digitalAttributesToFusion = new Dictionary(); _analogAttributesToFusion = new Dictionary(); @@ -124,7 +124,7 @@ public override void LinkToApi(BasicTriList trilist, uint joinStart, string join { Debug.Console(DebugExtensions.Warn, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); Debug.Console(DebugExtensions.Warn, "Linking to Bridge AssetType {0}", GetType().Name); - var joinMap = new DynFusionStaticAssetJoinMap(joinStart + _attributeOffset); + var joinMap = new DynFusionStaticAssetJoinMap(joinStart + AttributeOffset); LinkDigitalAttributesToApi(trilist, joinMap); LinkAnalogAttributesToApi(trilist, joinMap); @@ -206,7 +206,7 @@ private void LinkSerialAttributesToApi(BasicTriList trilist, DynFusionStaticAsse foreach (var attribute in _serialAttributesFromFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber + _attributeOffset; + var bridgeJoin = attLocal.JoinNumber + AttributeOffset; var trilistLocal = sender as BasicTriList; if (trilistLocal == null) diff --git a/packages.config b/packages.config index d7c2de9..c154cb6 100644 --- a/packages.config +++ b/packages.config @@ -1,4 +1,4 @@ - + \ No newline at end of file From 5e828e186b5ee731386a21cdd899ba8879049b02 Mon Sep 17 00:00:00 2001 From: jdevito Date: Tue, 29 Aug 2023 10:31:55 -0500 Subject: [PATCH 04/10] fix: updates config and static asset implementation 1. Updates config to add the `customAttributeJoinOffset' property for static assets. 2. Updates DynFusionDevice to instantiate static assets and link the static asset bridge. 3. Updates StaticAsset class to refactor `Initialzie()` to `SetupAsset()`. --- ...4_essentials_configurationFile-v00.02.json | 1 + DynFusionEPI/DynFusionDevice.cs | 435 +++++++++--------- DynFusionEPI/DynFusionStaticAsset.cs | 101 ++-- 3 files changed, 275 insertions(+), 262 deletions(-) diff --git a/Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json b/Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json index 840ba66..0e5733b 100644 --- a/Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json +++ b/Config/TEMPLATE-RMC4_essentials_configurationFile-v00.02.json @@ -101,6 +101,7 @@ "make": "Test Make", "model": "Test Model", "attributeJoinOffset": 500, + "customAttributeJoinOffset": 503, "attributes": { "digitalAttributes": [ { "rwType": "RW" , "name": "PowerOn" , "joinNumber": 1 }, diff --git a/DynFusionEPI/DynFusionDevice.cs b/DynFusionEPI/DynFusionDevice.cs index 69c4341..e7c59ba 100644 --- a/DynFusionEPI/DynFusionDevice.cs +++ b/DynFusionEPI/DynFusionDevice.cs @@ -71,226 +71,221 @@ public DynFusionDevice(string key, string name, DynFusionConfigObjectTemplate co FusionSymbol.ExtenderFusionRoomDataReservedSigs.Use(); } - //public override bool CustomActivate() - //{ - // Initialize(); - // return true; - //} - - public override void Initialize() - { - try - { - // Online Status - FusionOnlineFeedback = new BoolFeedback(() => { return FusionSymbol.IsOnline; }); - FusionSymbol.OnlineStatusChange += new OnlineStatusChangeEventHandler(FusionSymbol_OnlineStatusChange); - - // Attribute State Changes - FusionSymbol.FusionStateChange += new FusionStateEventHandler(FusionSymbol_FusionStateChange); - FusionSymbol.ExtenderFusionRoomDataReservedSigs.DeviceExtenderSigChange += - new DeviceExtenderJoinChangeEventHandler(FusionSymbol_RoomDataDeviceExtenderSigChange); - - // Create Custom Atributes - foreach (var att in _Config.CustomAttributes.DigitalAttributes) - { - FusionSymbol.AddSig(eSigType.Bool, att.JoinNumber - FusionJoinOffset, att.Name, - GetIOMask(att.RwType)); - - if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Read) - { - DigitalAttributesToFusion.Add(att.JoinNumber, - new DynFusionDigitalAttribute(att.Name, att.JoinNumber, att.LinkDeviceKey, - att.LinkDeviceMethod, att.LinkDeviceFeedback)); - - DigitalAttributesToFusion[att.JoinNumber].BoolValueFeedback.LinkInputSig( - FusionSymbol.UserDefinedBooleanSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); - } - if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Write) - { - DigitalAttributesFromFusion.Add(att.JoinNumber, - new DynFusionDigitalAttribute(att.Name, att.JoinNumber)); - } - } - - foreach (var att in _Config.CustomAttributes.AnalogAttributes) - { - FusionSymbol.AddSig(eSigType.UShort, att.JoinNumber - FusionJoinOffset, att.Name, - GetIOMask(att.RwType)); - - if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Read) - { - AnalogAttributesToFusion.Add(att.JoinNumber, - new DynFusionAnalogAttribute(att.Name, att.JoinNumber)); - - AnalogAttributesToFusion[att.JoinNumber].UShortValueFeedback.LinkInputSig( - FusionSymbol.UserDefinedUShortSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); - } - if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Write) - { - AnalogAttributesFromFusion.Add(att.JoinNumber, - new DynFusionAnalogAttribute(att.Name, att.JoinNumber)); - } - } - foreach (var att in _Config.CustomAttributes.SerialAttributes) - { - FusionSymbol.AddSig(eSigType.String, att.JoinNumber - FusionJoinOffset, att.Name, - GetIOMask(att.RwType)); - if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Read) - { - SerialAttributesToFusion.Add(att.JoinNumber, - new DynFusionSerialAttribute(att.Name, att.JoinNumber)); - - SerialAttributesToFusion[att.JoinNumber].StringValueFeedback.LinkInputSig( - FusionSymbol.UserDefinedStringSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); - } - if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Write) - { - SerialAttributesFromFusion.Add(att.JoinNumber, - new DynFusionSerialAttribute(att.Name, att.JoinNumber)); - } - } - - // Create Links for Standard joins - CreateStandardJoin(JoinMapStatic.SystemPowerOn, FusionSymbol.SystemPowerOn); - CreateStandardJoin(JoinMapStatic.SystemPowerOff, FusionSymbol.SystemPowerOff); - CreateStandardJoin(JoinMapStatic.DisplayPowerOn, FusionSymbol.DisplayPowerOn); - CreateStandardJoin(JoinMapStatic.DisplayPowerOff, FusionSymbol.DisplayPowerOff); - CreateStandardJoin(JoinMapStatic.MsgBroadcastEnabled, FusionSymbol.MessageBroadcastEnabled); - CreateStandardJoin(JoinMapStatic.AuthenticationSucceeded, FusionSymbol.AuthenticateSucceeded); - CreateStandardJoin(JoinMapStatic.AuthenticationFailed, FusionSymbol.AuthenticateFailed); - - CreateStandardJoin(JoinMapStatic.DeviceUsage, FusionSymbol.DisplayUsage); - CreateStandardJoin(JoinMapStatic.BoradcasetMsgType, FusionSymbol.BroadcastMessageType); - - CreateStandardJoin(JoinMapStatic.HelpMsg, FusionSymbol.Help); - CreateStandardJoin(JoinMapStatic.ErrorMsg, FusionSymbol.ErrorMessage); - CreateStandardJoin(JoinMapStatic.LogText, FusionSymbol.LogText); - - // Room Data Extender - CreateStandardJoin(JoinMapStatic.ActionQuery, - FusionSymbol.ExtenderFusionRoomDataReservedSigs.ActionQuery); - CreateStandardJoin(JoinMapStatic.RoomConfig, - FusionSymbol.ExtenderFusionRoomDataReservedSigs.RoomConfigQuery); - - if (_Config.CustomProperties != null) - { - if (_Config.CustomProperties.DigitalProperties != null) - { - foreach (var att in _Config.CustomProperties.DigitalProperties) - { - DigitalAttributesFromFusion.Add(att.JoinNumber, - new DynFusionDigitalAttribute(att.Id, att.JoinNumber)); - } - } - if (_Config.CustomProperties.AnalogProperties != null) - { - foreach (var att in _Config.CustomProperties.AnalogProperties) - { - AnalogAttributesFromFusion.Add(att.JoinNumber, - new DynFusionAnalogAttribute(att.Id, att.JoinNumber)); - } - } - if (_Config.CustomProperties.SerialProperties != null) - { - foreach (var att in _Config.CustomProperties.SerialProperties) - { - SerialAttributesFromFusion.Add(att.JoinNumber, - new DynFusionSerialAttribute(att.Id, att.JoinNumber)); - } - } - } - - if (_Config.Assets != null) - { - if (_Config.Assets.OccupancySensors != null) - { - var sensors = from occSensorConfig in _Config.Assets.OccupancySensors - select - new DynFusionAssetOccupancySensor( - occSensorConfig.Key, - occSensorConfig.LinkToDeviceKey, - FusionSymbol, - GetNextAvailableAssetNumber(FusionSymbol)); - - sensors - .ToList() - .ForEach(sensor => - FusionSymbol.AddAsset( - eAssetType.OccupancySensor, - sensor.AssetNumber, - sensor.Key, - "Occupancy Sensor", - Guid.NewGuid().ToString())); - } - - Debug.Console(DebugExtensions.Trace, this, "DynFusionDevice Initialize: StaticAssets config {0} null", + public override bool CustomActivate() + { + try + { + // Online Status + FusionOnlineFeedback = new BoolFeedback(() => { return FusionSymbol.IsOnline; }); + FusionSymbol.OnlineStatusChange += new OnlineStatusChangeEventHandler(FusionSymbol_OnlineStatusChange); + + // Attribute State Changes + FusionSymbol.FusionStateChange += new FusionStateEventHandler(FusionSymbol_FusionStateChange); + FusionSymbol.ExtenderFusionRoomDataReservedSigs.DeviceExtenderSigChange += + new DeviceExtenderJoinChangeEventHandler(FusionSymbol_RoomDataDeviceExtenderSigChange); + + // Create Custom Atributes + foreach (var att in _Config.CustomAttributes.DigitalAttributes) + { + FusionSymbol.AddSig(eSigType.Bool, att.JoinNumber - FusionJoinOffset, att.Name, + GetIOMask(att.RwType)); + + if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Read) + { + DigitalAttributesToFusion.Add(att.JoinNumber, + new DynFusionDigitalAttribute(att.Name, att.JoinNumber, att.LinkDeviceKey, + att.LinkDeviceMethod, att.LinkDeviceFeedback)); + + DigitalAttributesToFusion[att.JoinNumber].BoolValueFeedback.LinkInputSig( + FusionSymbol.UserDefinedBooleanSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); + } + if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Write) + { + DigitalAttributesFromFusion.Add(att.JoinNumber, + new DynFusionDigitalAttribute(att.Name, att.JoinNumber)); + } + } + + foreach (var att in _Config.CustomAttributes.AnalogAttributes) + { + FusionSymbol.AddSig(eSigType.UShort, att.JoinNumber - FusionJoinOffset, att.Name, + GetIOMask(att.RwType)); + + if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Read) + { + AnalogAttributesToFusion.Add(att.JoinNumber, + new DynFusionAnalogAttribute(att.Name, att.JoinNumber)); + + AnalogAttributesToFusion[att.JoinNumber].UShortValueFeedback.LinkInputSig( + FusionSymbol.UserDefinedUShortSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); + } + if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Write) + { + AnalogAttributesFromFusion.Add(att.JoinNumber, + new DynFusionAnalogAttribute(att.Name, att.JoinNumber)); + } + } + foreach (var att in _Config.CustomAttributes.SerialAttributes) + { + FusionSymbol.AddSig(eSigType.String, att.JoinNumber - FusionJoinOffset, att.Name, + GetIOMask(att.RwType)); + if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Read) + { + SerialAttributesToFusion.Add(att.JoinNumber, + new DynFusionSerialAttribute(att.Name, att.JoinNumber)); + + SerialAttributesToFusion[att.JoinNumber].StringValueFeedback.LinkInputSig( + FusionSymbol.UserDefinedStringSigDetails[att.JoinNumber - FusionJoinOffset].InputSig); + } + if (att.RwType == eReadWrite.ReadWrite || att.RwType == eReadWrite.Write) + { + SerialAttributesFromFusion.Add(att.JoinNumber, + new DynFusionSerialAttribute(att.Name, att.JoinNumber)); + } + } + + // Create Links for Standard joins + CreateStandardJoin(JoinMapStatic.SystemPowerOn, FusionSymbol.SystemPowerOn); + CreateStandardJoin(JoinMapStatic.SystemPowerOff, FusionSymbol.SystemPowerOff); + CreateStandardJoin(JoinMapStatic.DisplayPowerOn, FusionSymbol.DisplayPowerOn); + CreateStandardJoin(JoinMapStatic.DisplayPowerOff, FusionSymbol.DisplayPowerOff); + CreateStandardJoin(JoinMapStatic.MsgBroadcastEnabled, FusionSymbol.MessageBroadcastEnabled); + CreateStandardJoin(JoinMapStatic.AuthenticationSucceeded, FusionSymbol.AuthenticateSucceeded); + CreateStandardJoin(JoinMapStatic.AuthenticationFailed, FusionSymbol.AuthenticateFailed); + + CreateStandardJoin(JoinMapStatic.DeviceUsage, FusionSymbol.DisplayUsage); + CreateStandardJoin(JoinMapStatic.BoradcasetMsgType, FusionSymbol.BroadcastMessageType); + + CreateStandardJoin(JoinMapStatic.HelpMsg, FusionSymbol.Help); + CreateStandardJoin(JoinMapStatic.ErrorMsg, FusionSymbol.ErrorMessage); + CreateStandardJoin(JoinMapStatic.LogText, FusionSymbol.LogText); + + // Room Data Extender + CreateStandardJoin(JoinMapStatic.ActionQuery, + FusionSymbol.ExtenderFusionRoomDataReservedSigs.ActionQuery); + CreateStandardJoin(JoinMapStatic.RoomConfig, + FusionSymbol.ExtenderFusionRoomDataReservedSigs.RoomConfigQuery); + + if (_Config.CustomProperties != null) + { + if (_Config.CustomProperties.DigitalProperties != null) + { + foreach (var att in _Config.CustomProperties.DigitalProperties) + { + DigitalAttributesFromFusion.Add(att.JoinNumber, + new DynFusionDigitalAttribute(att.Id, att.JoinNumber)); + } + } + if (_Config.CustomProperties.AnalogProperties != null) + { + foreach (var att in _Config.CustomProperties.AnalogProperties) + { + AnalogAttributesFromFusion.Add(att.JoinNumber, + new DynFusionAnalogAttribute(att.Id, att.JoinNumber)); + } + } + if (_Config.CustomProperties.SerialProperties != null) + { + foreach (var att in _Config.CustomProperties.SerialProperties) + { + SerialAttributesFromFusion.Add(att.JoinNumber, + new DynFusionSerialAttribute(att.Id, att.JoinNumber)); + } + } + } + + if (_Config.Assets != null) + { + if (_Config.Assets.OccupancySensors != null) + { + var sensors = from occSensorConfig in _Config.Assets.OccupancySensors + select + new DynFusionAssetOccupancySensor( + occSensorConfig.Key, + occSensorConfig.LinkToDeviceKey, + FusionSymbol, + GetNextAvailableAssetNumber(FusionSymbol)); + + sensors + .ToList() + .ForEach(sensor => + FusionSymbol.AddAsset( + eAssetType.OccupancySensor, + sensor.AssetNumber, + sensor.Key, + "Occupancy Sensor", + Guid.NewGuid().ToString())); + } + + Debug.Console(DebugExtensions.Trace, this, "DynFusionDevice SetupAsset: StaticAssets config {0} null", _Config.Assets.StaticAssets == null ? "==" : "!="); - if (_Config.Assets.StaticAssets != null) - { - var staticAssets = from staticAssetsConfig in _Config.Assets.StaticAssets - select - new DynFusionStaticAsset( - FusionSymbol, - GetNextAvailableAssetNumber(FusionSymbol), - staticAssetsConfig); - - //staticAssets - // .ToList() - // .ForEach(staticAsset => - // FusionSymbol.AddAsset( - // eAssetType.StaticAsset, - // staticAsset.AssetNumber, - // staticAsset.Key, - // staticAsset.AssetType, - // Guid.NewGuid().ToString())); - - - - staticAssets - .ToList() - .ForEach(staticAsset => - { - _staticAssets.Add(staticAsset.AssetNumber, staticAsset); - staticAsset.Initialize(); - }); - } - } - - if (_Config.CallStatistics != null) - { - var callStats = from callStatsConfig in _Config.CallStatistics.Devices - select - new DynFusionCallStatisticsDevice( - Key + "-" + callStatsConfig.Name, - callStatsConfig.Name, - FusionSymbol, - callStatsConfig.Type, - callStatsConfig.UseCallTimer, - callStatsConfig.PostMeetingId, - callStatsConfig.JoinNumber); - - callStats - .ToList() - .ForEach(callStat => _callStatisticsDevices.Add(callStat.JoinNumber, callStat)); - } - - DeviceUsageFactory(); - // Scheduling Bits for Future - //FusionSymbol.ExtenderRoomViewSchedulingDataReservedSigs.Use(); - //FusionSymbol.ExtenderRoomViewSchedulingDataReservedSigs.DeviceExtenderSigChange += new DeviceExtenderJoinChangeEventHandler(ExtenderRoomViewSchedulingDataReservedSigs_DeviceExtenderSigChange); - - // Future for time sync - // FusionSymbol.ExtenderFusionRoomDataReservedSigs.DeviceExtenderSigChange += new DeviceExtenderJoinChangeEventHandler(ExtenderFusionRoomDataReservedSigs_DeviceExtenderSigChange); - - - FusionRVI.GenerateFileForAllFusionDevices(); - } - catch (Exception ex) - { - Debug.Console(2, this, "Exception DynFusion Initialize {0}", ex); - } - } + if (_Config.Assets.StaticAssets != null) + { + var staticAssets = from staticAssetsConfig in _Config.Assets.StaticAssets + select + new DynFusionStaticAsset( + this, + FusionSymbol, + GetNextAvailableAssetNumber(FusionSymbol), + staticAssetsConfig); + + //staticAssets + // .ToList() + // .ForEach(staticAsset => + // FusionSymbol.AddAsset( + // eAssetType.StaticAsset, + // staticAsset.AssetNumber, + // staticAsset.Key, + // staticAsset.AssetType, + // Guid.NewGuid().ToString())); + + staticAssets + .ToList() + .ForEach(staticAsset => + { + _staticAssets.Add(staticAsset.AssetNumber, staticAsset); + }); + } + } + + if (_Config.CallStatistics != null) + { + var callStats = from callStatsConfig in _Config.CallStatistics.Devices + select + new DynFusionCallStatisticsDevice( + Key + "-" + callStatsConfig.Name, + callStatsConfig.Name, + FusionSymbol, + callStatsConfig.Type, + callStatsConfig.UseCallTimer, + callStatsConfig.PostMeetingId, + callStatsConfig.JoinNumber); + + callStats + .ToList() + .ForEach(callStat => _callStatisticsDevices.Add(callStat.JoinNumber, callStat)); + } + + DeviceUsageFactory(); + // Scheduling Bits for Future + //FusionSymbol.ExtenderRoomViewSchedulingDataReservedSigs.Use(); + //FusionSymbol.ExtenderRoomViewSchedulingDataReservedSigs.DeviceExtenderSigChange += new DeviceExtenderJoinChangeEventHandler(ExtenderRoomViewSchedulingDataReservedSigs_DeviceExtenderSigChange); + + // Future for time sync + // FusionSymbol.ExtenderFusionRoomDataReservedSigs.DeviceExtenderSigChange += new DeviceExtenderJoinChangeEventHandler(ExtenderFusionRoomDataReservedSigs_DeviceExtenderSigChange); + + + FusionRVI.GenerateFileForAllFusionDevices(); + } + catch (Exception ex) + { + Debug.Console(2, this, "Exception DynFusion SetupAsset {0}", ex); + } + return true; + } + + private void DeviceUsageFactory() { @@ -932,8 +927,8 @@ public override void LinkToApi(BasicTriList trilist, uint joinStart, string join foreach (var staticAsset in _staticAssets) { - var device = staticAsset; - device.Value.LinkToApi(trilist, joinStart, joinMapKey, bridge); + var device = staticAsset.Value; + device.LinkToApi(trilist, joinStart, joinMapKey, bridge); } foreach (var callStatisticsDevice in _callStatisticsDevices) diff --git a/DynFusionEPI/DynFusionStaticAsset.cs b/DynFusionEPI/DynFusionStaticAsset.cs index 62cb878..9296a24 100644 --- a/DynFusionEPI/DynFusionStaticAsset.cs +++ b/DynFusionEPI/DynFusionStaticAsset.cs @@ -14,7 +14,7 @@ namespace DynFusion public class DynFusionStaticAsset : EssentialsBridgeableDevice { private readonly FusionRoom _fusionSymbol; - private FusionStaticAssetConfig Config { get; set; } + private readonly IKeyName _parentDevice; public readonly uint AssetNumber; public readonly string AssetName; public readonly string AssetType; @@ -39,17 +39,17 @@ public class DynFusionStaticAsset : EssentialsBridgeableDevice private uint _powerOffJoin; private uint _powerOnJoin; - public DynFusionStaticAsset(FusionRoom symbol, uint assetNumber, FusionStaticAssetConfig config) - : base(string.Format("{0}-staticAsset-#{1}-{2}", symbol.ParameterRoomName, assetNumber, config.Name.Replace(" ", ""))) + public DynFusionStaticAsset(IKeyName parentDevice, FusionRoom symbol, uint assetNumber, FusionStaticAssetConfig config) + : base(string.Format("{0}-staticAsset-#{1}-{2}", parentDevice.Key, assetNumber, config.Name.Replace(" ", ""))) { - Config = config; - + _parentDevice = parentDevice; + AssetNumber = assetNumber; - AssetName = Config.Name; - AssetType = Config.Type; + AssetName = config.Name; + AssetType = config.Type; - Make = string.IsNullOrEmpty(Config.Make) ? string.Empty : Config.Make; - Model = string.IsNullOrEmpty(Config.Model) ? string.Empty : Config.Model; + Make = string.IsNullOrEmpty(config.Make) ? string.Empty : config.Make; + Model = string.IsNullOrEmpty(config.Model) ? string.Empty : config.Model; AttributeOffset = config.AttributeJoinOffset; CustomAttributeOffset = config.CustomAttributeJoinOffset; @@ -65,18 +65,23 @@ public DynFusionStaticAsset(FusionRoom symbol, uint assetNumber, FusionStaticAss Debug.Console(DebugExtensions.Warn, this, "Adding StaticAsset"); + SetupAsset(config); + _fusionSymbol = symbol; _fusionSymbol.AddAsset(eAssetType.StaticAsset, AssetNumber, AssetName, AssetType, Guid.NewGuid().ToString()); _fusionSymbol.FusionAssetStateChange += _fusionSymbol_FusionAssetStateChange; - _asset = _fusionSymbol.UserConfigurableAssetDetails[AssetNumber].Asset as FusionStaticAsset; + _asset = _fusionSymbol.UserConfigurableAssetDetails[AssetNumber].Asset as FusionStaticAsset; } - public override void Initialize() + public void SetupAsset(FusionStaticAssetConfig config) { - Debug.Console(DebugExtensions.Warn, this, "StaticAsset is {0}", _asset == null ? "is null" : "running setup"); + Debug.Console(DebugExtensions.Warn, this, "StaticAsset is {0}", _asset == null ? "null, setup failed" : "checking config for setup"); if (_asset == null) return; + Debug.Console(DebugExtensions.Warn, this, "StaticAsset config is {0}", config == null ? "null, setup failed" : "running setup"); + if (config == null) return; + try { _asset.ParamMake.Value = Make; @@ -97,19 +102,17 @@ public override void Initialize() CreateStandardAttributeJoin(_joinMap.AssetUsage, _asset.AssetUsage); CreateStandardAttributeJoin(_joinMap.AssetError, _asset.AssetError); - Debug.Console(DebugExtensions.Warn, this, "Preparing to create custom joins... digitalAttributes.Count:{0}", - Config.CustomAttributes.DigitalAttributes.Count()); - CreateCustomAttributeJoin(Config.CustomAttributes.DigitalAttributes, FusionJoinOffset, eSigType.Bool); + Debug.Console(DebugExtensions.Warn, this, "Preparing CreateCustomAttributeJoin... digitalAttributes.Count:{0}", + config.CustomAttributes.DigitalAttributes.Count()); + CreateCustomAttributeJoin(config.CustomAttributes.DigitalAttributes, FusionJoinOffset, eSigType.Bool); - Debug.Console(DebugExtensions.Warn, this, "Preparing to create custom joins... analogAttributes.Count:{0}", - Config.CustomAttributes.AnalogAttributes.Count()); - CreateCustomAttributeJoin(Config.CustomAttributes.AnalogAttributes, FusionJoinOffset, eSigType.UShort); + Debug.Console(DebugExtensions.Warn, this, "Preparing CreateCustomAttributeJoin... analogAttributes.Count:{0}", + config.CustomAttributes.AnalogAttributes.Count()); + CreateCustomAttributeJoin(config.CustomAttributes.AnalogAttributes, FusionJoinOffset, eSigType.UShort); - Debug.Console(DebugExtensions.Warn, this, "Preparing to create custom joins... serialAttributes.Count:{0}", - Config.CustomAttributes.SerialAttributes.Count()); - CreateCustomAttributeJoin(Config.CustomAttributes.SerialAttributes, FusionJoinOffset, eSigType.String); - - + Debug.Console(DebugExtensions.Warn, this, "Preparing CreateCustomAttributeJoin... serialAttributes.Count:{0}", + config.CustomAttributes.SerialAttributes.Count()); + CreateCustomAttributeJoin(config.CustomAttributes.SerialAttributes, FusionJoinOffset, eSigType.String); } catch (Exception ex) { @@ -122,8 +125,8 @@ public override void Initialize() public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) { - Debug.Console(DebugExtensions.Warn, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); - Debug.Console(DebugExtensions.Warn, "Linking to Bridge AssetType {0}", GetType().Name); + Debug.Console(DebugExtensions.Warn, this, "Linking to Trilist '{0}'", trilist.ID.ToString("X")); + Debug.Console(DebugExtensions.Warn, this, "Linking to Bridge AssetType {0}", GetType().Name); var joinMap = new DynFusionStaticAssetJoinMap(joinStart + AttributeOffset); LinkDigitalAttributesToApi(trilist, joinMap); @@ -133,69 +136,81 @@ public override void LinkToApi(BasicTriList trilist, uint joinStart, string join private void LinkDigitalAttributesToApi(BasicTriList trilist, DynFusionStaticAssetJoinMap joinMap) { - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} DigitalAttributes to Trilist '{1}'", AssetName, trilist.ID.ToString("X")); + Debug.Console(DebugExtensions.Warn, this, "Linking DigitalAttributes to Trilist '{0}'", trilist.ID.ToString("X")); foreach (var attribute in _digitalAttributesToFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber; + var bridgeJoin = (attLocal.JoinNumber < FusionJoinOffset) + ? attLocal.JoinNumber + AttributeOffset + : (attLocal.JoinNumber + CustomAttributeOffset) - FusionJoinOffset; - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SetBoolSigAction-{1}", AssetName, bridgeJoin); + Debug.Console(DebugExtensions.Warn, this, "Linking SetBoolSigAction-{0}:{1}", attLocal.Name, bridgeJoin); trilist.SetBoolSigAction(bridgeJoin, (b) => { attLocal.BoolValue = b; }); } foreach (var attribute in _digitalAttributesFromFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber; + var bridgeJoin = (attLocal.JoinNumber < FusionJoinOffset) + ? attLocal.JoinNumber + AttributeOffset + : (attLocal.JoinNumber + CustomAttributeOffset) - FusionJoinOffset; - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} BoolValueFeedback-{1}", AssetName, bridgeJoin); + Debug.Console(DebugExtensions.Warn, this, "Linking BoolValueFeedback-{0}:{1}", attLocal.Name, bridgeJoin); attLocal.BoolValueFeedback.LinkInputSig(trilist.BooleanInput[bridgeJoin]); } } private void LinkAnalogAttributesToApi(BasicTriList trilist, DynFusionStaticAssetJoinMap joinMap) { - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} AnalogAttributes to Trilist '{1}'", AssetName, trilist.ID.ToString("X")); + Debug.Console(DebugExtensions.Warn, this, "Linking AnalogAttributes to Trilist '{0}'", trilist.ID.ToString("X")); foreach (var attribute in _analogAttributesToFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber; + var bridgeJoin = (attLocal.JoinNumber < FusionJoinOffset) + ? attLocal.JoinNumber + AttributeOffset + : (attLocal.JoinNumber + CustomAttributeOffset) - FusionJoinOffset; - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SetUshortSigAction-{1}", AssetName, bridgeJoin); + Debug.Console(DebugExtensions.Warn, this, "Linking SetUshortSigAction-{0}:{1}", attLocal.Name, bridgeJoin); trilist.SetUShortSigAction(bridgeJoin, (a) => { attLocal.UShortValue = a; }); } foreach (var attribute in _analogAttributesFromFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber; + var bridgeJoin = (attLocal.JoinNumber < FusionJoinOffset) + ? attLocal.JoinNumber + AttributeOffset + : (attLocal.JoinNumber + CustomAttributeOffset) - FusionJoinOffset; - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} UShortValueFeedback-{1}", AssetName, bridgeJoin); + Debug.Console(DebugExtensions.Warn, this, "Linking UShortValueFeedback-{0}:{1}", attLocal.Name, bridgeJoin); attLocal.UShortValueFeedback.LinkInputSig(trilist.UShortInput[bridgeJoin]); } } private void LinkSerialAttributesToApi(BasicTriList trilist, DynFusionStaticAssetJoinMap joinMap) { - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SerialAttributes to Trilist '{1}'", AssetName, trilist.ID.ToString("X")); + Debug.Console(DebugExtensions.Warn, this, "Linking SerialAttributes to Trilist '{0}'", trilist.ID.ToString("X")); foreach (var attribute in _serialAttributesToFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber; + var bridgeJoin = (attLocal.JoinNumber < FusionJoinOffset) + ? attLocal.JoinNumber + AttributeOffset + : (attLocal.JoinNumber + CustomAttributeOffset) - FusionJoinOffset; - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} SetStringSigAction-{1}", AssetName, bridgeJoin); + Debug.Console(DebugExtensions.Warn, this, "Linking SetStringSigAction-{0}:{1}", attLocal.Name, bridgeJoin); trilist.SetStringSigAction(bridgeJoin, (s) => { attLocal.StringValue = s; }); } foreach (var attribute in _serialAttributesFromFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber; + var bridgeJoin = (attLocal.JoinNumber < FusionJoinOffset) + ? attLocal.JoinNumber + AttributeOffset + : (attLocal.JoinNumber + CustomAttributeOffset) - FusionJoinOffset; - Debug.Console(DebugExtensions.Warn, this, "Linking DynFusionStaticAsset {0} StringValueFeedback-{1}", AssetName, bridgeJoin); + Debug.Console(DebugExtensions.Warn, this, "Linking StringValueFeedback-{0}:{1}", attLocal.Name, bridgeJoin); attLocal.StringValueFeedback.LinkInputSig(trilist.StringInput[bridgeJoin]); } @@ -206,7 +221,9 @@ private void LinkSerialAttributesToApi(BasicTriList trilist, DynFusionStaticAsse foreach (var attribute in _serialAttributesFromFusion) { var attLocal = attribute.Value; - var bridgeJoin = attLocal.JoinNumber + AttributeOffset; + var bridgeJoin = (attLocal.JoinNumber < FusionJoinOffset) + ? attLocal.JoinNumber + AttributeOffset + : (attLocal.JoinNumber + CustomAttributeOffset) - FusionJoinOffset; var trilistLocal = sender as BasicTriList; if (trilistLocal == null) @@ -257,7 +274,7 @@ private void _fusionSymbol_FusionAssetStateChange(FusionBase device, FusionAsset var sigDetails = args.UserConfiguredSigDetail as BooleanSigData; var joinNumber = (sigDetails.Number + FusionJoinOffset); DynFusionDigitalAttribute output; - Debug.Console(DebugExtensions.Verbose, this, "DynFusion StaticAsset Digital Join:{0} Name:{1} Value:{2}", + Debug.Console(DebugExtensions.Verbose, this, "StaticAsset Digital Join:{0} Name:{1} Value:{2}", joinNumber, sigDetails.Name, sigDetails.OutputSig.BoolValue); if (_digitalAttributesFromFusion.TryGetValue(joinNumber, out output)) From fae1f0f7fb941ae02da46d6f8153b3461f3693d6 Mon Sep 17 00:00:00 2001 From: jdevito Date: Tue, 29 Aug 2023 10:51:18 -0500 Subject: [PATCH 05/10] fix: resolves static asset constructor call to `SetupAsset()` --- Config/PepperDashEssentials.rvi | 78 +++++++++++++++------------- DynFusionEPI/DynFusionStaticAsset.cs | 12 ++--- 2 files changed, 48 insertions(+), 42 deletions(-) diff --git a/Config/PepperDashEssentials.rvi b/Config/PepperDashEssentials.rvi index c45cadd..7511825 100644 --- a/Config/PepperDashEssentials.rvi +++ b/Config/PepperDashEssentials.rvi @@ -1,10 +1,10 @@  - 08/28/2023 16:49:45 + 08/29/2023 10:41:15 8.1 - faf63d8b-cbbb-4080-8260-04f005c49867 + ac2df883-a5da-4a1b-9fbf-5269cd53efe5 FA 01 @@ -190,7 +190,7 @@ InstanceID Serial - 71c928c7-dc4d-454d-8ee2-de1a8eb4c998 + 7d963343-76ad-432d-879d-a27d154670ba 1 @@ -239,59 +239,65 @@ InstanceID Serial - f47628bf-9199-4730-8e6d-21abdaf1f55f + 1a3deb3a-0a90-4ac0-8260-4b4e1894ba12 Make Serial - + Test Make Model Serial - + Test Model - - 1 - Digital - - 3 - - - 2 - Digital - - 1 - - - 3 - Digital - - 2 - - - 1 - Serial - - 2 - - - 2 - Serial - - 2 - 01 Fusion Generic Asset Digitals + + 99 + Digital + + 2 + + + 100 + Digital + + 2 + 02 Fusion Generic Asset Analogs + + 99 + Analog + + 2 + + + 100 + Analog + + 2 + 03 Fusion Generic Asset Serials + + 99 + Serial + + 2 + + + 100 + Serial + + 2 + diff --git a/DynFusionEPI/DynFusionStaticAsset.cs b/DynFusionEPI/DynFusionStaticAsset.cs index 9296a24..91a7dcd 100644 --- a/DynFusionEPI/DynFusionStaticAsset.cs +++ b/DynFusionEPI/DynFusionStaticAsset.cs @@ -63,27 +63,27 @@ public DynFusionStaticAsset(IKeyName parentDevice, FusionRoom symbol, uint asset _joinMap = new DynFusionStaticAssetJoinMap(config.AttributeJoinOffset + 1); - Debug.Console(DebugExtensions.Warn, this, "Adding StaticAsset"); - - SetupAsset(config); + Debug.Console(DebugExtensions.Warn, this, "Adding StaticAsset"); _fusionSymbol = symbol; _fusionSymbol.AddAsset(eAssetType.StaticAsset, AssetNumber, AssetName, AssetType, Guid.NewGuid().ToString()); _fusionSymbol.FusionAssetStateChange += _fusionSymbol_FusionAssetStateChange; _asset = _fusionSymbol.UserConfigurableAssetDetails[AssetNumber].Asset as FusionStaticAsset; + + SetupAsset(config); } public void SetupAsset(FusionStaticAssetConfig config) { - Debug.Console(DebugExtensions.Warn, this, "StaticAsset is {0}", _asset == null ? "null, setup failed" : "checking config for setup"); + Debug.Console(DebugExtensions.Warn, this, "SetupAsset: _asset is {0}", _asset == null ? "null, setup failed" : "checking config for setup"); if (_asset == null) return; - Debug.Console(DebugExtensions.Warn, this, "StaticAsset config is {0}", config == null ? "null, setup failed" : "running setup"); + Debug.Console(DebugExtensions.Warn, this, "SetupAsset: config is {0}", config == null ? "null, setup failed" : "running setup"); if (config == null) return; try - { + { _asset.ParamMake.Value = Make; _asset.ParamModel.Value = Model; From c6a632c2d350fe4d75851ba3eadccad9668a2e0c Mon Sep 17 00:00:00 2001 From: jdevito Date: Tue, 29 Aug 2023 11:09:29 -0500 Subject: [PATCH 06/10] refactor: DynFusionStaticAsset `CreateCustomAttributeJoin` Refactors DynFusionStaticAsset `CreateCustomAttributeJoin` `foreach` loop. --- DynFusionEPI/DynFusionStaticAsset.cs | 89 +++++++++++++++++++++------- 1 file changed, 67 insertions(+), 22 deletions(-) diff --git a/DynFusionEPI/DynFusionStaticAsset.cs b/DynFusionEPI/DynFusionStaticAsset.cs index 91a7dcd..1467e34 100644 --- a/DynFusionEPI/DynFusionStaticAsset.cs +++ b/DynFusionEPI/DynFusionStaticAsset.cs @@ -343,6 +343,25 @@ private void CreateStandardAttributeJoin(JoinDataComplete join, BooleanSigDataFi new DynFusionDigitalAttribute(join.Metadata.Description, join.JoinNumber)); _digitalAttributesToFusion[join.JoinNumber].BoolValueFeedback.LinkInputSig(sig.InputSig); } + + switch (sig.Name) + { + case "PowerOn": + { + _asset.PowerOn.AddSigToRVIFile = true; + break; + } + case "PowerOff": + { + _asset.PowerOff.AddSigToRVIFile = true; + break; + } + case "Connected": + { + _asset.Connected.AddSigToRVIFile = true; + break; + } + } } private void CreateStandardAttributeJoin(JoinDataComplete join, UShortSigDataFixedName sig) @@ -364,6 +383,14 @@ private void CreateStandardAttributeJoin(JoinDataComplete join, UShortSigDataFix new DynFusionAnalogAttribute(join.Metadata.Description, join.JoinNumber)); _analogAttributesToFusion[join.JoinNumber].UShortValueFeedback.LinkInputSig(sig.InputSig); } + + switch (sig.Name) + { + default: + { + break; + } + } } private void CreateStandardAttributeJoin(JoinDataComplete join, StringSigDataFixedName sig) @@ -385,73 +412,91 @@ private void CreateStandardAttributeJoin(JoinDataComplete join, StringSigDataFix new DynFusionSerialAttribute(join.Metadata.Description, join.JoinNumber)); _serialAttributesToFusion[join.JoinNumber].StringValueFeedback.LinkInputSig(sig.InputSig); } + + switch (sig.Name) + { + case "AssetUsage": + { + _asset.AssetUsage.AddSigToRVIFile = true; + break; + } + case "AssetError": + { + _asset.AssetError.AddSigToRVIFile = true; + break; + } + } } private void CreateCustomAttributeJoin(IEnumerable attributes, uint offset, eSigType sigType) { foreach (var attribute in attributes) { - var attributeJoinNumber = attribute.JoinNumber + offset; + var name = attribute.Name; + var joinNumber = attribute.JoinNumber + offset; + var linkDeviceKey = attribute.LinkDeviceKey; + var linkDeviceMethod = attribute.LinkDeviceMethod; + var linkDeviceFeedback = attribute.LinkDeviceFeedback; var rwType = attribute.RwType; var ioMask = DynFusionDevice.GetIOMask(rwType); Debug.Console(DebugExtensions.Verbose, this, "CreateCustomAttributeJoin: {0} ({1}, {2}, {3})", - attribute.Name, attributeJoinNumber, ioMask.ToString(), rwType.ToString()); + name, joinNumber, ioMask.ToString(), rwType.ToString()); - _fusionSymbol.AddSig(AssetNumber, sigType, attributeJoinNumber, AssetName, ioMask); + _fusionSymbol.AddSig(AssetNumber, sigType, joinNumber, name, ioMask); switch (sigType) { case (eSigType.Bool): { - if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Read) + if (rwType == eReadWrite.ReadWrite || rwType == eReadWrite.Read) { - _digitalAttributesToFusion.Add(attributeJoinNumber, new DynFusionDigitalAttribute( - attribute.Name, attributeJoinNumber, attribute.LinkDeviceKey, attribute.LinkDeviceMethod, attribute.LinkDeviceFeedback)); + _digitalAttributesToFusion.Add(joinNumber, new DynFusionDigitalAttribute( + name, joinNumber, linkDeviceKey, linkDeviceMethod, linkDeviceFeedback)); - _digitalAttributesToFusion[attributeJoinNumber].BoolValueFeedback.LinkInputSig( - _asset.FusionGenericAssetDigitalsAsset1.UserDefinedBooleanSigDetails[attributeJoinNumber].InputSig); + _digitalAttributesToFusion[joinNumber].BoolValueFeedback.LinkInputSig( + _asset.FusionGenericAssetDigitalsAsset1.UserDefinedBooleanSigDetails[joinNumber].InputSig); } - if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Write) + if (rwType == eReadWrite.ReadWrite || rwType == eReadWrite.Write) { - _digitalAttributesFromFusion.Add(attributeJoinNumber, new DynFusionDigitalAttribute(attribute.Name, attributeJoinNumber)); + _digitalAttributesFromFusion.Add(joinNumber, new DynFusionDigitalAttribute(name, joinNumber)); } break; } case (eSigType.UShort): { - if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Read) + if (rwType == eReadWrite.ReadWrite || rwType == eReadWrite.Read) { - _analogAttributesToFusion.Add(attributeJoinNumber, new DynFusionAnalogAttribute(attribute.Name, attributeJoinNumber)); + _analogAttributesToFusion.Add(joinNumber, new DynFusionAnalogAttribute(name, joinNumber)); - _analogAttributesToFusion[attributeJoinNumber].UShortValueFeedback.LinkInputSig( - _asset.FusionGenericAssetAnalogsAsset2.UserDefinedUShortSigDetails[attributeJoinNumber].InputSig); + _analogAttributesToFusion[joinNumber].UShortValueFeedback.LinkInputSig( + _asset.FusionGenericAssetAnalogsAsset2.UserDefinedUShortSigDetails[joinNumber].InputSig); } - if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Write) + if (rwType == eReadWrite.ReadWrite || rwType == eReadWrite.Write) { - _analogAttributesFromFusion.Add(attributeJoinNumber, new DynFusionAnalogAttribute(attribute.Name, attributeJoinNumber)); + _analogAttributesFromFusion.Add(joinNumber, new DynFusionAnalogAttribute(name, joinNumber)); } break; } case (eSigType.String): { - if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Read) + if (rwType == eReadWrite.ReadWrite || rwType == eReadWrite.Read) { - _serialAttributesToFusion.Add(attributeJoinNumber, new DynFusionSerialAttribute(attribute.Name, attributeJoinNumber)); + _serialAttributesToFusion.Add(joinNumber, new DynFusionSerialAttribute(name, joinNumber)); - _serialAttributesToFusion[attributeJoinNumber].StringValueFeedback.LinkInputSig( - _asset.FusionGenericAssetSerialsAsset3.UserDefinedStringSigDetails[attributeJoinNumber].InputSig); + _serialAttributesToFusion[joinNumber].StringValueFeedback.LinkInputSig( + _asset.FusionGenericAssetSerialsAsset3.UserDefinedStringSigDetails[joinNumber].InputSig); } - if (attribute.RwType == eReadWrite.ReadWrite || attribute.RwType == eReadWrite.Write) + if (rwType == eReadWrite.ReadWrite || rwType == eReadWrite.Write) { - _serialAttributesFromFusion.Add(attributeJoinNumber, new DynFusionSerialAttribute(attribute.Name, attributeJoinNumber)); + _serialAttributesFromFusion.Add(joinNumber, new DynFusionSerialAttribute(name, joinNumber)); } break; From e0d0b05253112e593f8c2e9cf7fd873be9cab170 Mon Sep 17 00:00:00 2001 From: jdevito Date: Tue, 29 Aug 2023 16:11:30 -0500 Subject: [PATCH 07/10] fix: resets debug levels accordingly --- DynFusionEPI/DebugExtension.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/DynFusionEPI/DebugExtension.cs b/DynFusionEPI/DebugExtension.cs index a0437bd..24a5c37 100644 --- a/DynFusionEPI/DebugExtension.cs +++ b/DynFusionEPI/DebugExtension.cs @@ -21,9 +21,9 @@ public static void SetLevels(uint level) public static void ResetLevels() { - Trace = 0; // 0 - Warn = 0; // 1 - Verbose = 0; // 2 + Trace = 0; + Warn = 1; + Verbose = 2; } } } \ No newline at end of file From f4a2190e9b789cc59ac5a92e72ca96656633ad4e Mon Sep 17 00:00:00 2001 From: Jason T Alborough Date: Tue, 29 Aug 2023 17:11:38 -0400 Subject: [PATCH 08/10] Update essentialsplugins-betabuilds-caller.yml --- .github/workflows/essentialsplugins-betabuilds-caller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/essentialsplugins-betabuilds-caller.yml b/.github/workflows/essentialsplugins-betabuilds-caller.yml index 8ca618c..6878228 100644 --- a/.github/workflows/essentialsplugins-betabuilds-caller.yml +++ b/.github/workflows/essentialsplugins-betabuilds-caller.yml @@ -14,7 +14,7 @@ on: jobs: call-workflow: - uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@main + uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@create-nuspec secrets: inherit with: branch: ${{ github.ref_name }} From 06f69adf4392c1c0c0d4beccbae0cf181cd6e191 Mon Sep 17 00:00:00 2001 From: Jason T Alborough Date: Tue, 29 Aug 2023 17:12:14 -0400 Subject: [PATCH 09/10] Update essentialsplugins-releasebuilds-caller.yml --- .github/workflows/essentialsplugins-releasebuilds-caller.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/essentialsplugins-releasebuilds-caller.yml b/.github/workflows/essentialsplugins-releasebuilds-caller.yml index 3b34e10..364f4a0 100644 --- a/.github/workflows/essentialsplugins-releasebuilds-caller.yml +++ b/.github/workflows/essentialsplugins-releasebuilds-caller.yml @@ -17,7 +17,7 @@ on: jobs: call-workflow: - uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@main + uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@create-nuspec secrets: inherit with: branch: ${{ github.ref_name }} From 0298c3c6dae7dc2a406706bfca0355f9829e94bd Mon Sep 17 00:00:00 2001 From: jtalborough Date: Tue, 2 Jan 2024 14:20:06 -0500 Subject: [PATCH 10/10] chore: update workflow-templates to use main branch --- .github/workflows/essentialsplugins-betabuilds-caller.yml | 2 +- .github/workflows/essentialsplugins-releasebuilds-caller.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/essentialsplugins-betabuilds-caller.yml b/.github/workflows/essentialsplugins-betabuilds-caller.yml index 6878228..8ca618c 100644 --- a/.github/workflows/essentialsplugins-betabuilds-caller.yml +++ b/.github/workflows/essentialsplugins-betabuilds-caller.yml @@ -14,7 +14,7 @@ on: jobs: call-workflow: - uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@create-nuspec + uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@main secrets: inherit with: branch: ${{ github.ref_name }} diff --git a/.github/workflows/essentialsplugins-releasebuilds-caller.yml b/.github/workflows/essentialsplugins-releasebuilds-caller.yml index 364f4a0..3b34e10 100644 --- a/.github/workflows/essentialsplugins-releasebuilds-caller.yml +++ b/.github/workflows/essentialsplugins-releasebuilds-caller.yml @@ -17,7 +17,7 @@ on: jobs: call-workflow: - uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@create-nuspec + uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@main secrets: inherit with: branch: ${{ github.ref_name }}

    yf*sP zt4qH8Zv0>T#~pt&UfY;B5&h1;U;VrBe_ONaiI0cAx9|4{-+gf0dUpC_Ez^4!{K0SE zafGKYnb+_@D!1e0PM?z^#fgF!`u6I?;akj*i?&uD&E|@sI?h?t!?~S zF1F_8rOk^35cegEmMm^z9mcHYjN+=<=fhJG`DSAvVF<&ZHtyQw=LVTWNBZ^(j~n+`dSw+YFXB@ba7wv z@+GakI~KPt*+$Tk<%_p1THM^%*3+_Vd(X1g*0yau+bH<$t&4WFEa_RixOr*owxvD2 ztrSGdjz!xR^|b9+)Y9A1yJ%7G($?jDi?(lT-nM*4^Rkv@y?xskFIl#1NAIHMWqrLp zOPB6gw5+wccM+v@+me>Ho*mnlwJz@IThzR5S@ZVRmLvTv+^ z=dSViAAUO?U)0<}awbmRwzl;UV|tc7u)S@^k_TFQTYDbpY3W_^z_uMdl*c8#OP4I( zu4%PC&0MswW%>eK;Ts1QCXwMMI@wX($51Pv? zqOaOBKD>!{6umZci_sr2qn{#1Ke1}lLnN2?eR+87i?pj#rFWfXV z*2jxey|>u@0keIC*#3nww>Li4dBf;?i{roC$^PoGeIw(T?~m--cZ=!2ET)eV)4y0| z`i8z81AW`a`-g{avHX|C^1a0JvG?iF+xx!MzrAnco{^E^vGH4+|A0BaojCvG#*u+N zyOr2Y0{AT^f51%MN=*J7GkN{CFHm1{Yk~HI=I|hKc<1|dAh*_Qf60>I>d$VxB?p%+=S>6S*giBjEfoYv zX$LXab?Y~D z=yUnBuH&)9$^Q(^Hh=ht_U*bXE7-_3J*bX&>@wv76GV zTx_{{Iy*LZcdTpgXy-cn)ZB7)X;ycx-`LSJm$MIdu77YmS-Ww-Rik(p+CJ!yOdR3O<#5_xnY(v1|RhjUAtwn@Nx8L1bsclK07q;?UyvaaJ{?Rnw|{TF^b4 zi~}hf`?l{H>mSEuZJ$=PW}G@DO|yJj03dU;{=uHz{oCU`d&YP54UPA2@4;xyI*o6m zF1>Zx;!n1GviXy(3l}e5*t~G*(za$f3hy_3LBsGn`IRPrlU-&oXaww-84MV@!rfs8 zLq@=vm~|$15k5$tIs>Zqm*BtIK*auFL#)d1laCssidE6Rh*ugN!*G&^_y{#_!wj12 zJ$Wc(1Wo9-eO>IYTSk?#QXnx-f)%rZ)fCobO@rNFo5A@;wUc}kn%9$e#3G5=h8W_7 z?>B>n|86ZtX}DXfHLARHnZY}aIy{R|)!_YeMjK-6akudiCvo7P?AJj5k=Vomyit%i zAStsWPaNh4C%w1BvO`StN z$)sjwOUt&oRybRc)~%e@^JdT_2Pbt!^3lur=w-LF+yzh~#c3Bi?P8}>s5({9w~nX~ zI>%{qchZh}Oho4*$$oCesSEr<2^a5$S|cFWD!AXF$f2%XI-Ar5ljxxe9j%^wAv^d{ z!^9iv-h~=2ZO;ZyChu?t%%Br|j|(MtfRe;du!CxZb1)JyLQwI@PuMtnopHwQ01xQnC+&|A(!lfq*kP9i})4mu-l4hK;q6I2$a z^r(|pokUUEIkfC2iqx$-le4ze16y2XIbiNlgJHvTQZ3YR;3>FHA;@;#Vbl?ppA#V) z=ZQ7T32PIV{U|94{y6op&ZxAp#Br2Lx*1&}Bht+w1G>XgOMF$7IDbfi)keS+5W!XP zGc&_ppFu9VA8)xCFe<2udJoJOH0uA4#18s01L!lD#W`MNfW&{h%JMzBf+ zS!Gr>vvID2s6q^(QJoKlD1jknRYO(C zJ(i9h08JPgCt&J2WT~K7h<8wRkj4ples7}q!LXjjc zH;A@>49`&EFNsN>;3SCnq?;m1Bu}gMojhG<=;dq6P7*4VlTA^o`pK=%E+6o{1W?Z#l@|$z?he4lXs^)&4=Lx~6QQJ^0 zwrY&gAa1DU!GOHLV*`&ym_%?F>!VB{TItsttOhGU3AZqfpg(GnmPMTy4fts0_>T^N z+O-ij-9O8s2rLt{NV*lWWEx^|i>`%H6V!t>)WtVg9BtUBMoeV0OelyY)>N?-nF@d^ zSZ~w`hSF4BU2Wp2JR0CagklW&3`Quk9H5wli5g*n1!tLVuSDt6C657%6HxB8EFkI( zq$5;YONdZNia_z0{f9AHRd#b|KBELtl=Ds9GSw3miW|BNUw-7w08Z={Gsr~atwmOl zE%>28LR@HwtO51XNj-04$WxWjkIwRWP81<;H|k8p;RltCGNDPt3o?m#0ntcJvP8bJ zQ1;*k;zP$^xF8jX2N_(DTs4?+M92BDSZ1MKyBbBsMMBIEg{XE}GDM?0(<8|l3yh%DSj|6C7g3+lLskVpX4Ful_Jq?0YT{*! zzYNBBlH*#bQrR-srLLOlG8%PdKy~SdxlRKoo zN1asIN!5rb4&~6PFlK3~Yi0MSld2bYC>cpb5zfQ{<$khE7k5&U`3dxcsW`6^)HtaH zf`l&q)B^TguRI+tdv0=4jY0=)wy7qji@lew)k!rA9h5YtT9Md^6=nAoPO44ZSHOJ* zyLXn|+ntmQ9~1n}b34b=_+F-TI;k~62fe+iPNr*B?#Ie>-A<}Y=vqP7&GD@%yKiw) zo5dZYPihOhYi0LdCndw{1iyLE%kFJu_W>s*t1J^x1)Lh-bTq#=9pg@FMCkAYLTa4p z!tdqZekZk8=%9xxwf}a|HI>~bom4{A;R(nDsmXgtCYXr6H^!oqnsOmBgLh!Ya=lD($VolxE#0K9!#H#=i8T`|70t6{+G!_s*rT0T3EF9oePOAQE)HRkDf0S z!$b#jZ+_$KE%bBL-kCZGz2PRW-GoB1NbU;#utXN(4xyoJa2P=avP8%*k7+STsnVUH z!&6-y4P6a>4%(8plAVcOVOVd-aHVDBL;#3N>3Yhtx9UVc?hh~V64N;~>7O{~PWnm0 zQ1yQ+JWp(4cnb$^QEby}pEe;EI1?jm8)5lV3T`sSJi0ZO0i*y?w;gX)7I5e8C!|UU6X>aVa243(=yzo8+nDb%bR^&mCuWmAA=epB<|N` zfiK9bBfKt6QmoE`E=}UG{t%hCR~oF%Ff^N?8vx(P+8|L9B*I#?$TA^JEHTY~$4R^v zN$-^^F|mYxJOQCEuj!DJTazc2kac2-nxPPM7q!{<^LeKcyty0t1~^3~mVEzjVLy=yxO1BjUiB(cc6IE=Tup|*w6M_~TZ7wH*Vm8y(axBp( zb*EDNmZheN$!}AwyvwL2G7AZzS+u_a5y;OC$Kqho!5MDkkxUz<-l93AkmBV%UYwk7 zkR1?98o3?4!ypMceYA=sQJcdeO9Ri4?=Zs3g^0 z6VFI}dWJ{stIU|I3}0jT8clv8=~-vuL<9EOUPolJRGVyB*qt~LNBPc1G65%JR!}hs zVVNpp&ZYX%O{pe+wAi@IMkB;SkjZ|$sB}5zOuPuOXyRq$29y36|3f?N$6^XRz6j&x zI}IjqCSD-^nvsb;id0s=qB42ZZM9_nPSk3k{^5Q#O-kJ_Sc_2>wim03UDT*`GzQ)> zLf2&@W*JItiyKMQlErrkikLc2o2Rj`6bk9kg}X}^ChVd~>pTrpOI=4p038p5tX>jn z)1_m}?Bd=jGa!ptnE|SswkfOJrWM5|VHKKr$aFGOPUbj%qm*Cyp%1dC$HS8Wl~`(W zE*70E`yDka2(aTS0~l2<^CltGLXz-;z>-#GT7Jx6*<1i655=bED*ZsPGAuDgrXF%8E~8>`5SK0Xr%Ie4T}Bj;aOQ-VI2n{6LKNIP zUKAXaP=Gks4t{{ynL0+bWkdrxwrwW6gHtvp0;$1fipN63e^mFU^ zKm3n}_etM8BZL4D4)#DJnTxU!Xvz?gxkSaDxx^A5Te$dKG(w@ujZqGdn(GijT{#QO z&$^6V$rCJpDHtU7ny(&`ZNRPraT)8^)eTkEc#U?HEc{j7#9Iw97}Y8t znYSnzy!a>5vb)xVAZ%OtQgbZI<5i3c5z0U$a|N2uxh<3F68dF-hg@BSGS|!O%Ulof zWRL>jO*1DOb+V?D4XeH@irBJv>b`I>J?vQX_>=0Mt4+x;V@($aJj>*t%euahn;Lyf0F!A-6~=ia;nS_>~&j zQd&SCvJ*c`HK;>iOh zT)GvqtPt1J2n5_xoFpDHDOQfW6t4=hogEjj;{tYM{DRx5$x;qz@)gN8vTI}6wb9}e zHr1A_EF@2$Rff>@oUkn&t=E*cSzQfjl(&$$x5QkrbU2c2Q%emfw@N#PH?l>ea!^K1 zA$iSLpXZaknAe@uV<8?wALDr;>^zKRJ7pGiLTp`JRlBf6iFENU6u0*q@M!U(ocaM^i#`6PWFP#m9rNlgzN>LDo#Es_3}|(j(AaogUNSzR{ajcZ!-KQ z2lz7mWaDFUEi?R*6tt}(e3yQ*Mm_m9;+T;o3k-(Y8O-eowq#R_2x#6*ru>B1lBAZQ z3$p7j$ybScTk#+}Bay3J^~s-78wgZzu^KsgS$@@6t>=HHSp&(#T}-&snD63m_@f$K zQ)#{3aEMNC&~G5~2OD&Y`zhHpz+wwWSH-(NygkF)PQfOlPL?C)ET!CZfrx8Aw$zMj zZ-d5kCzckkx5%u|z+O><#oIZQi}GR$_8{El7aGGjgKWs=grvQecWzu8hhE;$Fx6Uw zyZC0wzD||weNf_LK~86pp&FezhSGCVv!~=B)YJjq9DZG-!Q}H!ZVR<0XKFtaV(S18 zu1)Q~)2PN|KYgz=bySC7?j&Av()Wq*O=u7u#a!V&8wWb3j^c5p#7lA(XzC)_BFUFH z73>I?IxIchTMh?xB-hO8U=e|GARQJT17SFQKhH<*ua%=ODO98r7=$oez>x1(2RKHh z^}QsUM1JlECtmPFxFLxiXJ2>&s)plY7(HRNh$piBWaH4=9R%ZOiCN{BeaT8Q7^889 z;i{WBhN*V48>6bg;5ujOlpwIvWy;#%)Tw$SY{JFwIrx=O`@C#KKTp-b=6yG{yT-{@ zf(;j@l-1NZw#XrrsS7x6M5RF7PrmFH03U*BCWLs*HLG2~AEN!#;t0UE5RsE>MdI<{ zO3=z1YdWtbMhw}MQb(C`XIPT;5FkHuyNJB>8?11WWtiLwWYgW5S~1VS3vJ1R6?C#e zY0E&CYd1yS&b5cw$}?I{yzKAL2bpS9-AwWz?}yr^>`AlQf8xDgUIoZ?x!($0xBHbk zxP@2hr}m>Q@buE1pJB5&k{hvE?v{blwV~#rQ*qrOHRnbEVNnoJgWttkI7Nme_o|Hb z*2^w=9E6NW6ul_KI{_z6;tOIwVo3>AIYq zlxdHxdWR5`+X7ZGGi=@mw?lFgfO?r1c&5+-KD2Sm~s0 zchq*LSnk9PH6kstBK7Z;v%9;D2!C6xN0_b)kSuFs z7VIv7r_!!Ko=VdMTi0EG?w5zl5SCLQ4ke$DQYp&pB7aS-;sLCfb>y#kvyS{Va3uCo z2n6}J;N8hz#ZgNO;3!J)jFUeH$UTlLWK{3+IJ24OgSqE;_|0$TJva;ev&kkaXuv|y zN51pdFu1A_my&0gU5Wwkb3T%Hg0;FkV;?Q&Co&EgVQ=Hd$&B_MM92Qw z)}+~TO`5%FO`7GcSz#0`E$9QxNx=zRtwpH`TBt&?NP&7a1uAvtm`We>zu>ASI(&B{^t zS+|zWS`|s*S~km{f`;G=nw;L|HEctAfEQJU?!@6eRk;e9lv#e#$;)B#{3MKGgAr2w z3K4kZgJqsn1i^V5ck=rs06aIJ-ydSmnyv_9%0jSk`~AY`b@BreMlXy3&QE~z6L1Wv zZF)H)_f!-<5pWZcZg?YcnwU^-ba>XiTr|w_PXqe5#P?n&pOD7!E%@FG zBjF`i5fj}mCohL+@_5NP&*uzq&>r7{NNoj^`gD|o6u}8yMQzF4WK{Lp*-no+B!%;; zyTy|m)$q7kawQ{~oGY1QNTrb+yW@mg&I(i6yA{~4DLK64A~|yM6PQt8uu{x3ILJFX??r{N zVDX}pTE%O&ERK*2oL-4_6WlS7l3z)30WVpT-$4c^I@0}Bq#)q z6=0IWVmv>@R*+p@U*?7LnC!FBl$K?*2HPpVB~rG@*I0h&aF`vbn=B`bK^P2$fI+SM;Uo!F7gN;VRdspg*Bm=8I46U zH12?>wiWe^n{KRRcpxfFa)Nl1x1PjYw%aHOg+w1(nAF`qR983d2OCVUNYpgJ$~*bP;dCBu^;m!A}kh1$rSafl!bcONJP zg$rs=lctHU;=d(R##b3th~vMY3UO{mGo0WV$^iCpvEwTTx_r6~OW3{p;JV7W2!$}! zVL^48zF3cdi}iIX1SkC*9#%quGyqONhmV@zrk_KdFGd^i%o4M$7-jF#YQ}qA1P6f{ zR&no3EtC|yaa7&rEp_xk#ZC#RlY{6i_dUfmTBJU174j*(~QBF}QMB_hRXX-^?QlsD-aWW5J&Jj}wWTOE>6g*hw1%<@9l z>p`r56uadSd#Cs;(klH}@mXHzyW}MAms9BX!=ABRd&a`LY~s5vDvYhih?ALLNfUuF zAA{cA+T9v2Lc}OcwH%SLVzL|oi2U%e9|I7mLGNH6UInTss*NB+aK`x*OXknq5GdC; zC}g|a1JbX17CyH!`L4-(6Yuhc?#XxYEWK(Hr4?8PD|J@us#hp=qT4KOrk^afo7e}F zi_MAG2#l1v)j6&u+;cAp8zCJ_^5kqg6K_jCarBEjkVt8ZCA|p(-x4wm3ypxqohscu z2^`eb`3Xm@8rfieMuA=IuB`XXvx82XM zh;bdtXQl&nxio-qF$$>t@zMauC=KfP0KiD8mwsGx#062@ZiMVe`ZT1^%v$=nLn>=x4p!P^g$55XrJhV)5C>;Yu@)nwo7fzp{}@L3&-j?j@4qij-fe@Au+vpLP5hHQ-?1yFVjzT zG_TOl3~C3@->+oeB%u5AlL1hyj&`)3%U!?yCrEh{75mKKE#Y9O6duJ4i7O{G(H`kn%a84RHB76m}=! zc5S8dLu5beVhKrwMCS^7WxOiA&u)5O}|Q`o5!IKB&}PxY`U1^ zz1kjf9k1ZR|GzS6)2#P|ePhWiqO`PV%ehpR(pUVUELRcLZlWHfS~NhMioeJ2jb-{z z@<)Ab4Si1klSO#z@1N7(dG26!tvMC=!=UxC%$m&K)%pzma4PWog!+!|^R-krTfwT2 z+kXAdDy?}}F!b@DFW^fp(|v)%pKIRSyto2W*L6&y_* zP3qJ5*L-h9n1TAgJhH<4qZ;$Tj>u2{UVFoz{hfDi|CPfj{eNyw>0hV++F`%$)AfLF z(f0@EmDYoeo0RLb|qJRRhmCpBF^UY zWKuhEdFhjH|JLt+ea|y%gX3R*%V%>QQN)Vsg>XaCdR@Bi`7f9y-0JG1Iv z&;Hi(krNM$zPj%D|8w7_4=r3Z{mAA0TR!*eyQc1V`O>~WdGNQ}ciuNx|Ly)C{9nIf zeDf;{zoJup^4(DAeo9yD$`|MThl8&<|7G=^#=n{W<^|{HR}-)O*2v4>?^*ThRd<($ z{%ZH=pIpA|!RJaRKl7h{_SrY<|HZ|({!0JZ z?|${`S8JXdx!d?b^1J`?W1s)X_r99^=6^kz58X4{`r4^i`u}un{^y$Stea~7+QHYq zw0F($k8gWmdiXn!?fLv~{JX`MU;fe8VxM{B_Ah+ovh$^;-D+9Q)ppwa6@%-bZ>1zbaZlQVs&(7b4hM= zWpZX=V`VO6Y;5gWdvsLQx&O{NGm}Y3LLfjR2AGhbk&yA6c@F{1lMo05n1p9&ICIXK zWG?e!=8R-OXcClySD;oAwLSu}T4+V7UXbFw)r!}8Yi;3Pm0Dq8Ta{(&wOosfu3jGZ z+k2jwMDd@ymh0Z`;r#ag9{bzhxA#8Z**h#;^&Q{j1|gUTWdSr4OINDJKfy zpK{+UJI=JeS=Qd;jTl1VV0T#b8zeCh2&x9RVhBeA25-R7*yb|$gR){QD9Ecw*jU^I z(8_S|+e?S#q}}&{EgQw?0mdSskMq7MAQ+O4)yCUw+;4z%O`SsiqZ3JEnQB`_XtmQF@xW>l)&N8vq z7>7voz1k_;-`t}+`0?bE z&8wzNnY!Vf|7c!$dgt4#3jbkX{Vm^J+wf=WGf&?U-tfDJ${WpRovPuHM|-Ee_R|xk z+c)>E@BjWMQ;SCz=c~PE-te_usq6WZd~4UN6^DXH#$GvlV(YArXBG1-#Ly20V2oke zx9^z**9rly6_5~nkWt_!G-b@|xyCec3BQ@tq%$z3GNVt`IE?)MQIP6Jcrb%3&i&mP zdQQ@r-Gp{D)3HVTC`_1SD^VqnGgd+NY~w8ae$mi{A=6N#&0Z^ZQyy_-#CY@4@%AQtJn-`1 zq#-^YczI)4YWOc)k`wkJ^FJ1SY0(T{k=GiAZ<|qH=-;Tcf2n=Vz{1TL?$9k-(K&pJ z&fj0#oS}!b>03A2S(r8#XBtX4nEz$_I{!=dQ$eC5mSm16sc9WPcVn)(8}r#xSEH-u zLhR!Q`j<5PU}fNiS-;xVfu99vnAzDH><&f*2hW>2eWWP|RZlb`iE1$1*_doAa;MAd z5BXd@VmQV49RXxfUf!VOd?#8EAKQJd83uLo9u+6 z1s`H5=GyWt0Nb&C3uma@g~kHi5u(wlkLUIB4j0J!__w6Ixuc~KYZd9IiGIB==uXZ9 zKFcTVXJ|hC8)JqE@yRCXp76*dlR48TYLezBB>It5pObi))FSQzOIRoR%u(5VmdJ7l#T0=TL$P9fS}NN@WqC*w>M=@*!an#<%Zp0eOX`r|oK19w~n2hbIun8@=;0)6M5^}aue2Qv5 zMcXG4tKkobHsBZu?tlZ_L5@YQHS|owVMJP-LmhfZ-X)RSMezZ|DEBbp2JW#8eiDfV zj_ztLq7M7A_~at$F%}kgZ2@9Fj0R0#I)##Y5MmtAe#tT(E~RoTEwdH|<)}}Y1Fl#^ zRs6=KipQr&sy7&bx=2LvyM3{Zodr}J%hsrI2?Td{3GNyoSa6r%&fqe*yIXMg5Q4jF za0w0pLSTZs%V2>wx%uxpx#vIc-Pf~fc6YC}zp1L}s{Q_%v2QF^J(+hI) z|LX%B`i(gLgMz> zEQc7DRA0Uwbtftu7neFl9&_L*irp$uj*aD3+DR&DqxymB_EI}R?0q}BM|Ah6*#&q~ zXrfkaH4|%hGY9sZyp85SHr{$TBm7q>#<^G_i9?nBAI@>{nA*~bx=cMN2vob&;D~TN z8awnz>H(X=IX=FrxIn=ld!_J`Mn7wk+LA?VUf+&HKly!$2L%rGvWLOFW9iEfoHx5d zf9)JgHVeVm#VWIdaqBmoWYYGH5>UbC@DaUI1TJV2|_;ygn8I zoWw-1c%Y?S8QkxlKM9N59Y`YXX29Rac?&wM^d++~zjq*I}YCbiVb>XsA=mR@%l7L z;H227@}A@AT%5T_yi9PorR61rFHLM&r))E_C=h+`?Y9#0#%N&AMyItk)q&TH6LW%{ zIlkS`&^ib!J8oDPMLBx#4HF<|!;9E4nr{PGF>2F{WEo_o){GHg7c8q*89jG&_71M& z2(z+iWy5_0EoQ<7DEI|U$N80IW{aL;Xa72{&;;4C*}AF~$2eZZ#H7!6-Ug{R#b~i> z2fR^qG3xJ0+*{0f+Y}wvc2sd9MnCIS@#Y{zX_HtcQ0X0$tx+@3sbWs>4w|HrM$Z*3 zDUu~9)(IW+rwv=5F8}=NvW}x9U<6>!0p}RS((RknVgTiR7==Fd)jwnn% z&P7WxZW9!ni}mPu4!kpA-by=0_L=`ipSlGxvv@naGi$T#9sWdqjm4Tn^!`LC@|4rL zIH&&C{K0}m8@B!gd4gll^U03|6HuOKPZDzQ#|!alm~EITF$G127-gOUMI6(~btrcx zDR2coaPr#kiuz0a@to#X8)1}dQ2phCe?(xAQio$k$uQ1)!+z6n(l^bHweIzdv|t=O zHx&|pCK8iQK1-38qtBbjOd*e(510Ij^734C#UECZQR=a*Uyv-Bxb4*fY`gnC>dN>T zaxsm)x)}NGJS@K{?E&_wMmcfstuLW!do5ekT0|9DJ60j_ePZ*@XELnjSWnxt86gj$ z6F~&s#6`uoR1L&^UbJ}a&Ty$ixf5Kyl)egkb%CO=YcNSTmcYFdjz-$6t|)>e7mQn@ z*s#h?({@458;Zjxi-*mM%6!;U(q-NT?U_&!B+mqDCM#G#QGVXq0oASgbT{$q*mY(L z@Py%WPx>=`Si&=@U6qr>1mq$l?1>zI97eRjODbK+Z>7^d9VLUr-AU|HxIWKz_bw4BmhZAsMf&4Cf%dJcnmw zBV@Us>xsD^cC&IFw2NSp-HTb4x(uuH#iRsAyQCwOxQW1{Klaf)S@w-Hk@3xvzG2v= z$2$MCvC+0x8xTUEg&HR(gIeKFTkyi-5r=9!T3-4<;RL^PofzJevjv6svrWCuttM@; zB8)(JwgU3d;?(vNJr^K#24=Ab8{m$(0z!W~wfyyQ_hc6=4Q||8p?2!{fDTM7yj&#C7pyL+!9AldB7DHfB>d+5YalH|{@^<5uS$ zH_^O|9yJvwpA?4_nNR5HY-a?nDz1LI4W0_$o-8F0(d|51Jw`ajbv?;~Iyxjog($z; z&nvAF-g4JJeU}e7XgzJSrJo9K&w2(P@QM1mOHXBZ@NMN1Wcb-VX$0t9PKmZQKD!}i$0(M)IF1|5x*)Iz6NXr&+9)J)qgJ8lf0Ljz<(z^vzC(eRbOdj%D3U} zqEUugVLH~Ohb*h7>FOHyx`Uog^vS$-^<2D$$#&7|{sB!?b-=wVjqkFrahuZTbhESj zs;`W^CC{8YV)Ceb=|X?95oNgAPjLTX;n`ily~p%>tK~H;X+EgsQ%~*jo5SPXqQ3Ji zJu|&~Hpd>{$C`*ouLMnhjhY%lVGXYPhGkLVGw%uVY*Atqmq}6Z1iFvhVrQXao99Xn zZA1q^m#wC~#B#K_eYvMs0`n35uc5Gq<-JBGcXW6d5)@P*Bw_u>P*~E$)r8gD#1%Ra zDF7_yqT{G?)Pvar)*F`R{ub7)@RjD~<_@~EX52okyKA{OWdSE>Alk6XS;&whTj0S* z^);y#T}R<6ZM=zc)KIH>MPA$j2w3)h^TRCPgi;4!kQNk~k@^~WLpc_Y8NwWut$ zovS!nI`?~7FtKa&=VLn7T7Jy3L=H)jku&+z&qZhEYF|)osN6r4^Pt`<899*BT`#|~ zPZcVe?^^ocqIWT^v3#X&%Y^n2dD_{%B|3E|D5G#U-0+i3+-_g6eKaQ|s6bD}#QY5p zf=b-+%>KE3DF;fKPmmb?$u_W$lIat(wVJ=_(n2GaiJMNK^{E?UB^Q&0N6F_LuHbg_ z*e%PcBp_s=mb#^R$^bIRMaYqM#A<1sX!lOUb~g+4jzFxfiB(dcjXY~Xh(D{do^ZcY znnqEZ$RRiT@Wax*vWan@6%kuLZnIj^rxye7~ND#9N#{sG}ce& z8^Izp7GX=|&BiyP3duDQZ)x-Pd!-LD+*O3*=Q5HDyl)NFUigQ2nc_GLd<~OZts<$D zguHsKQ3v1B%PUU)gSf7{tHOS0^ChMetvwwpa)FisZMk242~;pmg9fQ-rWymF;G6!? zF#Hc}<`@lnUj2BSYPi|Z$DFy!;K5h0b% z3gh51f@~KO@;gf9Qw<_SdCUaRCbF1WFJ>wXm2|rDtS;xXLv_scCT=rHv`FY~1}#uRre) z;1PPDWYpGPtdA@J-(C%*^hU>0!*C4-D($IHuGUJh<1d#=$j7t0a|_rw`)}PiKo?LMTc}B(`AF zdAUo6x;UG0=WgWhTOyuOAuQ$sSqAcBU z629AFd(E5{rO?CuVdd2udd#PTA`y(aE0>8?7T?g?pFe}>6ZaKxl9`nQZQfZFzbgD5 z*)q_jXX9!g7O?w1deE;r4puXhr&LKovD_X>3N4b}J~v^1+>I@?j4IHr;Sw-CglREq z&WB&;u*gVRWPbw7VpR?+)?3P_azz_V;m?lry;WjH{Eh3?cfS@XgRu*@)_K46jL9jb zEcWxP!1_|;9P!^(f>Z|{=E0JCV?YU@;bq>%k+42^Hd zo0o%V6))`HKOCBq8;6wJFZmNLjx3|$OPyWJe+#jD4fEmC@m>==5vW;uYCbO~KRLOu zGhVsqI^v^IQ=jc(Zk4_lE*_O|_1S0~hkEx+C{b{G8R7^eMV1`74vvG=O^E>nD)sby( zo@X}6$asmcn>ouUSYEPhFXgk)*U?7#es;Fv*>Py>KyYvV9co{mB$=hu7E+Gp#0^LoYx!?x4_v;8 zaKzUAKy0&^#Fpp>HND0}s;9a|TD6Joop|?H(Lw<4A%Q<4-?N68IMk$}f-n@5Im-|x zT~L7eqVq4K#na(lLq6o}03I4*tw0jqKN>Bp<`zI`DCp-WO*ib&P`QmyZ|V4ePd-CB zx3R#B)h-(KMr{Lwc&PO|q--FigyVN3rjNW|ueOFmok@>yW;J7AgTEl05$T5%7m=%7 zX})f;Yf$Ecym+|G^W7!y#R07e|02pqdBs!SwSLC=eex!l5{gI1NEltJ1JLuT`(asg z0}0D9t=UEBhaOB!B+#KY;=FKz<=`@d>stS&-3vQhyGnfX5(b^UN_~fhub>s3%)q|> z_vxk5$ghEm!DBW;*NrpeKrWlj=fPt~V%0`o4QmEA7mHGhGK3~@T|qko+^!L>p}*dh z;;N6HZ|&%#cC|LKQ!xRW*jqqmI$YkEn>axvtCP9uv96yTi8f}wQ2rD^NXhpz4V`_6-ceHf z`P~tJyqSWCFQ5gnE_Yxz>3#9UeP?q^TSwPP9(D)+2(BtLvL+_5M59$rB}4<4<~{qf zSa7gRh1zFP9EFjg3lDQtws9JN+CzKweX1iasUVaz4w_eb?>p*(YKWq z8&Th@l7sG=pYrjvJ>T5h!&#^mm3waXE*-mj&Jx1w+tUXo^A*9$KTQ=EdD7FQjC5Sx ztj(qk0?>RcTk8Rt_i(2c+6Eq2Uib~K!D|!w^chDa$x%`ZOC<{*#ujyjNw+>`abPXu z`+jR0U|2CQxZg`&c_z+2x)0#m0{6%trbEtRAa}w=Ji#FzqsvF6YLTvV;To!{*wo_E zSn7q0UQ}FZ{N*DFF{3$IR<=YqxUw49b+IYQq4TP5FlSBCaM2QwbUIm$FyzXiMkfbC z7wo^fR;aaL@g(uYB7M29haX@eT)&S>!LSaC<6B$3d>(=qM8@ z(s%*jCsLI_k0Q+3l3f}bO_0f?kBob00}RtoyXc~l;?Dt<#$vGV^drJ>GA4X`M-T8Z+oz^_=ZJnBF6OVO?{#<*sE?PuXO)+`!v?5Nd zN~}inS5$UvAg|}Wbg>V={A@JZqBBLqngb~L;K`pIH;&1;QW{T6oRT*Xg`pcAu%%eZ z<_YTP(gMAE8!-KquRU)3UC@Rvxp6n!%I%Q*h2yT@<|IcrlcR=OZMKEQi|9+8{R7@$z(8G?5H1HE1SJ_PZXZcsU|{WD=%J9ctR!un(W` z7N&SaY)NZhKE^e>y)yve+xsHc5;R{b(rxS1lStz3GYhiT_xP1)fwte-?fQ}9YYMn& z`M%R~`Pn*(f9O&_FF5oHV{R~^PV?rjdBSJoem&vrbeV~9-zAtzB)F77pF{hgA@wfy zp-KdEH(|S}in-K`n(1P0^znP`xq8?jbZs?uos~WTQ$35&SmhJ1nR6sKqQW@Z-pF;Y z`U{|?8*%COd+?xo=Tv0QD5H75`kDQlj^7WQ%j#=rvr2-{hZLj0&YxK){(EkcMA^Fg ztur7uR%1VHoLh*>m6;kyGCBuiUZ2F{u+h?gunzO_x}{gWs8Ich!MVoG$}31oZ$q;oXg zF3spd2!EiS6Pl_9S=^@U+_5u(Oz+Y6ZZh=Ew|6sEFDrf7m;#~<#+RESmiHn1hy{=fU!F~UtKy${bZBlr3#O}25RN5zEArAcj^=O~ek*3gWrPjJ zAiWyaAp0rsQMDPGUO{_vIlP+bLLQnFR)_0R~15Yx;!t+}Djg>YKu!j+6&`y=Sqgk>Zj zH{!46fz|RH3M~`!T}7{3lxg5*%b_jAtJbcNoji7yrd zKk}J=z0{PL%F>^9Gun2O!g^L&t>!dX6p<}BR417u=kc3L&$I<^7=zw139P2ow(%al z*lULmcArETJ?E(*7 zfK@~Mnk)N9utpdrzCgviw>61dP`@KAi$~zqq}yD$bqt$&d7yQga#T9AU;>pCj_M#~ zKJrVseLEW`eUy6v zwKp|0Z}8mTHwlfjlN?|ynR~LB|yZf~GIU*T>{-yj) zD5)_oZ{{hD16{6|>E^2)Ta;<1Jl8K;(-#Lcj#bA@XW|ES_V-LsXGkvn-`%S!*+<-$ikT>1!bPOBFZ)@cg zktNkaU|r5T6h8t=3J9*uc?lcI1PZOnfin6DaCY7UHya*?i_HxEGSp z2acAw$vwmWWw0>?lW6DOSU#6P47FDfOP3ZRRV0lhy&R<7tX&)(j8yF00M-shYKjuv zM(*tFtn3`DW_FHl<|T16FM`<#q)*{NCdw*yhNnf`W(DfAtW@HX0d~{=X4#33MwDuX z9^hP9^4*-H3ii=>Ra)~L(pg1DPOtOV0((eg<t3b?=i3`4ce$#CyZTNCIW z{5Veu143Ky;qcE6RjBfOaxH!i4@igRCR)QagqcauLi z9Ag69(GT6~v*BgWR=LTLvazGJKMg!tHfQtL8DftvJ4hS`*RHw?T)X?MG}{f!A#=rf z-uX5JGY4c1m9wfdZ+uh`NbTMv!&GC38*$>~jAN<6?Ov`{S>pbf@O&3z{|#=; zpGGn4r%IRU=i2*v%SJ*^BU5IiGz>3whxcOJ*my}!I~}Fp3>2zJm?&;Zn+GGM71qTm zzP%_pC55lU3dKeATNtJ~O(q&#j{V;ujHZLsd8N_C`WQ!vyu+!g*U`4?G?`}9Raf=jVq z+Z@(rvP!yECGfkGHgM&eHUu01b=lDr>gEYN3~skw^D`SE(%dNXLMO4OdV`FBBz06b z2kKc^t+Ar#wjc2697hqTph)2%#7b6!%rh2NvEZ=0QGrV6aqGG2cO6E8w{STUNXqf4**zI<&fAVERG8p!aMKM z2XfsW=W6NX%nHjCj^IA0Xb#zUi|Uo$@N9&Ojrxr z3QWvbI(Tdh{pour$bP!=gX3bKF-p$HMnqqsDdU**C#F)nO`fwlRg%QGtcBrS57t~< z<@g00w)<)j-!blv$t^f1@Wu?cf?{t3g;9!}zzVdFXFncBZ#X(>&_NU;o>G&trvi;h z70Lmcxps994jqN}Xl{Ut2!eNR{(R&4WhbdY;Y0%!Rt?C?2@+pqG))$~MST~+$d=`d zjIstyl)eSzpVZ49bnYRo8yW@*>UYH5D@Z?vt@FNx1=6lxLlQM4{W_qbC@B7Q@?U#3 zb8Dx+1CJ(_Zu}9Tpj-w10z&-@=m25uZYDz5x>U&f$MypO~1zf1i#1s|AT-q!XU)|h4{BO;BTZ~r30UgeKCWm z*Fe(0OZWQ^btV7r)n)Et_Gi}AAu*Y6W!taWw;?f^!Z1+Szw-t84um8E3P^;elbxH3 zqKShEzykQj$%)m%^FQkQ7vLI<(&GYv00^L=Fd%Bb4+@Czg7}L51yHay1)2c8{$4Xs znTJ~b5kWAI*AVS!n7?Tg+5eBWvZ;-QnXAj+wZ(G|wIV`p1T+KDpr*SSp-BJdmw!Jz zl4dY}gqO-#*g07M|0AgM&wBW$*wo*&K!}*%#P|dC|BO`q6Z%iHe7~W;njh%mPw2nr z{QlJcCx_c_{XmFFdH5&&U+%X*8UN&a`px*2hlxjw|NFBC@kISe`X{647wPx2=Z}E- sUz_T`Or*af|89T$g|tM({I@ltA`cJgaiE|uA)f^}C@4u3Ovu&$0d;O8iU0rr literal 0 HcmV?d00001 diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.lpz.hash b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.lpz.hash new file mode 100644 index 0000000..6aa21fd --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.lpz.hash @@ -0,0 +1 @@ +2023-08-28T21:17:23Z \ No newline at end of file diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sig b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sig new file mode 100644 index 0000000..b85bc8b --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sig @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a7db0c3a074b7229bed867d2d881ea718a007675e8098368558b979cc538218e +size 28805 diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sm2 b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sm2 new file mode 100644 index 0000000..67303e6 --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.sm2 @@ -0,0 +1,5298 @@ +[ +Version=1 +] +[ +ObjTp=FSgntr +Sgntr=SimplWindow +RelVrs=4.25.04 +IntStrVrs=2 +MinSMWVrs=4.18 +MinTIOVrs=1099 +SavedBy=SMW4.2500.04 +] +[ +ObjTp=Hd +CnC=8939 +CnH=2 +S0Nd=1 +S1Nd=2 +SLNd=3 +PrNm=PD_DynFuison_Plugin_RMC4_v00.01.smw +DbVr=219.05.001.00 +DvcDbVr=200.285.001.00 +PgmNm=JTA +DlrNm=PepperDash +CltNm=DynFusionTest +SmVr=1193 +DvVr=1193 +TpN1=1 +TpN2=2 +TpN3=3 +TpN4=4 +TpN5=5 +APg=1 +FltTmp=1 +FpCS=0 +EnType=0 +ZeroOnIoOk=0 +PIT=DynFusionTest +TargetFusionProcessor=1 +SGMethod=1 +] +[ +ObjTp=Dv +Nm=Ethernet-Only 4-series +H=2 +PrH=1 +DvC=8939 +ObjVer=2 +DvVr=1193 +Ad=00 +LSymH=24 +RelStat=Ignore +ProdLine=4-Series +mC=250 +C1=3 +C2=259 +C3=260 +C4=261 +C5=262 +C6=263 +C7=264 +C8=265 +C9=266 +C10=267 +C11=268 +C12=269 +C13=270 +C14=271 +C15=272 +C16=273 +C17=274 +C18=275 +C19=276 +C20=277 +C21=278 +C22=279 +C23=280 +C24=281 +C25=282 +C26=283 +C27=284 +C28=285 +C29=286 +C30=287 +C31=288 +C32=289 +C33=290 +C34=291 +C35=292 +C36=293 +C37=294 +C38=295 +C39=296 +C40=297 +C41=298 +C42=299 +C43=300 +C44=301 +C45=302 +C46=303 +C47=304 +C48=305 +C49=306 +C50=307 +C51=308 +C52=309 +C53=310 +C54=311 +C55=312 +C56=313 +C57=314 +C58=315 +C59=316 +C60=317 +C61=318 +C62=319 +C63=320 +C64=321 +C65=322 +C66=323 +C67=324 +C68=325 +C69=326 +C70=327 +C71=328 +C72=329 +C73=330 +C74=331 +C75=332 +C76=333 +C77=334 +C78=335 +C79=336 +C80=337 +C81=338 +C82=339 +C83=340 +C84=341 +C85=342 +C86=343 +C87=344 +C88=345 +C89=346 +C90=347 +C91=348 +C92=349 +C93=350 +C94=351 +C95=352 +C96=353 +C97=354 +C98=355 +C99=356 +C100=357 +C101=358 +C102=359 +C103=360 +C104=361 +C105=362 +C106=363 +C107=364 +C108=365 +C109=366 +C110=367 +C111=368 +C112=369 +C113=370 +C114=371 +C115=372 +C116=373 +C117=374 +C118=375 +C119=376 +C120=377 +C121=378 +C122=379 +C123=380 +C124=381 +C125=382 +C126=383 +C127=384 +C128=385 +C129=386 +C130=387 +C131=388 +C132=389 +C133=390 +C134=391 +C135=392 +C136=393 +C137=394 +C138=395 +C139=396 +C140=397 +C141=398 +C142=399 +C143=400 +C144=401 +C145=402 +C146=403 +C147=404 +C148=405 +C149=406 +C150=407 +C151=408 +C152=409 +C153=410 +C154=411 +C155=412 +C156=413 +C157=414 +C158=415 +C159=416 +C160=417 +C161=418 +C162=419 +C163=420 +C164=421 +C165=422 +C166=423 +C167=424 +C168=425 +C169=426 +C170=427 +C171=428 +C172=429 +C173=430 +C174=431 +C175=432 +C176=433 +C177=434 +C178=435 +C179=436 +C180=437 +C181=438 +C182=439 +C183=440 +C184=441 +C185=442 +C186=443 +C187=444 +C188=445 +C189=446 +C190=447 +C191=448 +C192=449 +C193=450 +C194=451 +C195=452 +C196=453 +C197=454 +C198=455 +C199=456 +C200=457 +C201=458 +C202=459 +C203=460 +C204=461 +C205=462 +C206=463 +C207=464 +C208=465 +C209=466 +C210=467 +C211=468 +C212=469 +C213=470 +C214=471 +C215=472 +C216=473 +C217=474 +C218=475 +C219=476 +C220=477 +C221=478 +C222=479 +C223=480 +C224=481 +C225=482 +C226=483 +C227=484 +C228=485 +C229=486 +C230=487 +C231=488 +C232=489 +C233=490 +C234=491 +C235=492 +C236=493 +C237=494 +C238=495 +C239=496 +C240=497 +C241=498 +C242=499 +C243=500 +C244=501 +C245=502 +C246=503 +C247=504 +C248=505 +C249=506 +C250=507 +] +[ +ObjTp=Dv +Nm=EthernetCard +H=3 +PrH=2 +ObjVer=1 +SlC=567 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=4 +] +[ +ObjTp=Dv +Nm=Ethernet Devices +H=4 +PrH=3 +DvC=8940 +ObjVer=1 +SlC=567 +DvVr=1193 +Ad=01 +SmH=6 +RelStat=Ignore +mC=254 +C1=5 +C2=6 +C3=7 +C4=8 +C5=9 +C6=10 +C7=11 +C8=12 +C9=13 +C10=14 +C11=15 +C12=16 +C13=17 +C14=18 +C15=19 +C16=20 +C17=21 +C18=22 +C19=23 +C20=24 +C21=25 +C22=26 +C23=27 +C24=28 +C25=29 +C26=30 +C27=31 +C28=32 +C29=33 +C30=34 +C31=35 +C32=36 +C33=37 +C34=38 +C35=39 +C36=40 +C37=41 +C38=42 +C39=43 +C40=44 +C41=45 +C42=46 +C43=47 +C44=48 +C45=49 +C46=50 +C47=51 +C48=52 +C49=53 +C50=54 +C51=55 +C52=56 +C53=57 +C54=58 +C55=59 +C56=60 +C57=61 +C58=62 +C59=63 +C60=64 +C61=65 +C62=66 +C63=67 +C64=68 +C65=69 +C66=70 +C67=71 +C68=72 +C69=73 +C70=74 +C71=75 +C72=76 +C73=77 +C74=78 +C75=79 +C76=80 +C77=81 +C78=82 +C79=83 +C80=84 +C81=85 +C82=86 +C83=87 +C84=88 +C85=89 +C86=90 +C87=91 +C88=92 +C89=93 +C90=94 +C91=95 +C92=96 +C93=97 +C94=98 +C95=99 +C96=100 +C97=101 +C98=102 +C99=103 +C100=104 +C101=105 +C102=106 +C103=107 +C104=108 +C105=109 +C106=110 +C107=111 +C108=112 +C109=113 +C110=114 +C111=115 +C112=116 +C113=117 +C114=118 +C115=119 +C116=120 +C117=121 +C118=122 +C119=123 +C120=124 +C121=125 +C122=126 +C123=127 +C124=128 +C125=129 +C126=130 +C127=131 +C128=132 +C129=133 +C130=134 +C131=135 +C132=136 +C133=137 +C134=138 +C135=139 +C136=140 +C137=141 +C138=142 +C139=143 +C140=144 +C141=145 +C142=146 +C143=147 +C144=148 +C145=149 +C146=150 +C147=151 +C148=152 +C149=153 +C150=154 +C151=155 +C152=156 +C153=157 +C154=158 +C155=159 +C156=160 +C157=161 +C158=162 +C159=163 +C160=164 +C161=165 +C162=166 +C163=167 +C164=168 +C165=169 +C166=170 +C167=171 +C168=172 +C169=173 +C170=174 +C171=175 +C172=176 +C173=177 +C174=178 +C175=179 +C176=180 +C177=181 +C178=182 +C179=183 +C180=184 +C181=185 +C182=186 +C183=187 +C184=188 +C185=189 +C186=190 +C187=191 +C188=192 +C189=193 +C190=194 +C191=195 +C192=196 +C193=197 +C194=198 +C195=199 +C196=200 +C197=201 +C198=202 +C199=203 +C200=204 +C201=205 +C202=206 +C203=207 +C204=208 +C205=209 +C206=210 +C207=211 +C208=212 +C209=213 +C210=214 +C211=215 +C212=216 +C213=217 +C214=218 +C215=219 +C216=220 +C217=221 +C218=222 +C219=223 +C220=224 +C221=225 +C222=226 +C223=227 +C224=228 +C225=229 +C226=230 +C227=231 +C228=232 +C229=233 +C230=234 +C231=235 +C232=236 +C233=237 +C234=238 +C235=239 +C236=240 +C237=241 +C238=242 +C239=243 +C240=244 +C241=245 +C242=246 +C243=247 +C244=248 +C245=249 +C246=250 +C247=251 +C248=252 +C249=253 +C250=254 +C251=255 +C252=256 +C253=257 +C254=258 +] +[ +ObjTp=Dv +Nm=Not_Used +H=5.6 +PrH=4 +ObjVer=1 +SlC=17 +DvF=Sl +DvVr=1193 +Ad=01,02 +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=7,9.189,191.243,245.258 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=03,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=8 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=04 +mC=1 +C1=779 +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=190 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=BA +mC=1 +C1=778 +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=244 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=F0 +mC=1 +C1=508 +] +[ +ObjTp=Dv +Nm=NotUsed +H=259.506 +PrH=2 +ObjVer=1 +SlC=15 +DvF=Sl +DvVr=1193 +Ad=02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249 +] +[ +ObjTp=Dv +Nm=C2I-3SRS-BACnet_Slot +H=507 +PrH=2 +ObjVer=1 +SlC=396 +DvF=Sl +DvVr=1193 +Ad=250 +] +[ +ObjTp=Dv +Nm=Fusion Room +H=508 +PrH=244 +DvC=2190 +ObjVer=1 +DvVr=1193 +Ad=F0 +SmH=7 +RelStat=Release +ProdLine=Fusion +DbH=1 +CsH=2 +EtH=1 +mC=252 +C1=509 +C2=511 +C3=513 +C4=515 +C5=516 +C6=517 +C7=518 +C8=519 +C9=520 +C10=521 +C11=522 +C12=523 +C13=524 +C14=525 +C15=526 +C16=527 +C17=528 +C18=529 +C19=530 +C20=531 +C21=532 +C22=533 +C23=534 +C24=535 +C25=536 +C26=537 +C27=538 +C28=539 +C29=540 +C30=541 +C31=542 +C32=543 +C33=544 +C34=545 +C35=546 +C36=547 +C37=548 +C38=549 +C39=550 +C40=551 +C41=552 +C42=553 +C43=554 +C44=555 +C45=556 +C46=557 +C47=558 +C48=559 +C49=560 +C50=561 +C51=562 +C52=563 +C53=564 +C54=565 +C55=566 +C56=567 +C57=568 +C58=569 +C59=570 +C60=571 +C61=572 +C62=573 +C63=574 +C64=575 +C65=576 +C66=577 +C67=578 +C68=579 +C69=580 +C70=581 +C71=582 +C72=583 +C73=584 +C74=585 +C75=586 +C76=587 +C77=588 +C78=589 +C79=590 +C80=591 +C81=592 +C82=593 +C83=594 +C84=595 +C85=596 +C86=597 +C87=598 +C88=599 +C89=600 +C90=601 +C91=602 +C92=603 +C93=604 +C94=605 +C95=606 +C96=607 +C97=608 +C98=609 +C99=610 +C100=611 +C101=612 +C102=613 +C103=614 +C104=615 +C105=616 +C106=617 +C107=618 +C108=619 +C109=620 +C110=621 +C111=622 +C112=623 +C113=624 +C114=625 +C115=626 +C116=627 +C117=628 +C118=629 +C119=630 +C120=631 +C121=632 +C122=633 +C123=634 +C124=635 +C125=636 +C126=637 +C127=638 +C128=639 +C129=640 +C130=641 +C131=642 +C132=643 +C133=644 +C134=645 +C135=646 +C136=647 +C137=648 +C138=649 +C139=650 +C140=651 +C141=652 +C142=653 +C143=654 +C144=655 +C145=656 +C146=657 +C147=658 +C148=659 +C149=660 +C150=661 +C151=662 +C152=663 +C153=664 +C154=665 +C155=666 +C156=667 +C157=668 +C158=669 +C159=670 +C160=671 +C161=672 +C162=673 +C163=674 +C164=675 +C165=676 +C166=677 +C167=678 +C168=679 +C169=680 +C170=681 +C171=682 +C172=683 +C173=684 +C174=685 +C175=686 +C176=687 +C177=688 +C178=689 +C179=690 +C180=691 +C181=692 +C182=693 +C183=694 +C184=695 +C185=696 +C186=697 +C187=698 +C188=699 +C189=700 +C190=701 +C191=702 +C192=703 +C193=704 +C194=705 +C195=706 +C196=707 +C197=708 +C198=709 +C199=710 +C200=711 +C201=712 +C202=713 +C203=714 +C204=715 +C205=716 +C206=717 +C207=718 +C208=719 +C209=720 +C210=721 +C211=722 +C212=723 +C213=724 +C214=725 +C215=726 +C216=727 +C217=728 +C218=729 +C219=730 +C220=731 +C221=732 +C222=733 +C223=734 +C224=735 +C225=736 +C226=737 +C227=738 +C228=739 +C229=740 +C230=741 +C231=742 +C232=743 +C233=744 +C234=745 +C235=746 +C236=747 +C237=748 +C238=749 +C239=750 +C240=751 +C241=752 +C242=753 +C243=754 +C244=755 +C245=756 +C246=757 +C247=758 +C248=759 +C249=760 +C250=761 +C251=762 +C252=763 +] +[ +ObjTp=Dv +Nm=FixedSlot +H=509 +PrH=508 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=510 +] +[ +ObjTp=Dv +Nm=Fusion Digitals +H=510 +PrH=509 +DvC=2191 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=01 +SmH=8 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=511 +PrH=508 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=02 +mC=1 +C1=512 +] +[ +ObjTp=Dv +Nm=Fusion Analogs +H=512 +PrH=511 +DvC=2192 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=02 +SmH=9 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=513 +PrH=508 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=03 +mC=1 +C1=514 +] +[ +ObjTp=Dv +Nm=Fusion Serials +H=514 +PrH=513 +DvC=2193 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=03 +SmH=10 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FusionRoomLoads_Slot +H=515 +PrH=508 +ObjVer=1 +SlC=292 +DvF=Sl +DvVr=1193 +Ad=04 +mC=1 +C1=764 +] +[ +ObjTp=Dv +Nm=FusionRoomLoads_Slot +H=516 +PrH=508 +ObjVer=1 +SlC=292 +DvF=Sl +DvVr=1193 +Ad=05 +mC=1 +C1=771 +] +[ +ObjTp=Dv +Nm=FusionRoomLoads_Slot +H=517.763 +PrH=508 +ObjVer=1 +SlC=292 +DvF=Sl +DvVr=1193 +Ad=06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252 +] +[ +ObjTp=Dv +Nm=Fusion Dynamic Asset +H=764 +PrH=515 +DvC=2008 +ObjVer=1 +DvVr=1193 +Ad=04 +SmH=13 +RelStat=Release +ProdLine=Fusion +DbH=2 +mC=3 +C1=765 +C2=767 +C3=769 +] +[ +ObjTp=Dv +Nm=FixedSlot +H=765 +PrH=764 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=766 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Digitals +H=766 +PrH=765 +DvC=2385 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=01 +SmH=14 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=767 +PrH=764 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=02 +mC=1 +C1=768 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Analogs +H=768 +PrH=767 +DvC=2386 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=02 +SmH=15 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=769 +PrH=764 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=03 +mC=1 +C1=770 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Serials +H=770 +PrH=769 +DvC=2387 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=03 +SmH=16 +RelStat=Release +] +[ +ObjTp=Dv +Nm=Fusion Static Asset +H=771 +PrH=516 +DvC=2384 +ObjVer=1 +DvVr=1193 +Ad=05 +SmH=17 +RelStat=Release +ProdLine=Fusion +DbH=3 +mC=3 +C1=772 +C2=774 +C3=776 +] +[ +ObjTp=Dv +Nm=FixedSlot +H=772 +PrH=771 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=773 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Digitals +H=773 +PrH=772 +DvC=2385 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=01 +SmH=18 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=774 +PrH=771 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=02 +mC=1 +C1=775 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Analogs +H=775 +PrH=774 +DvC=2386 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=02 +SmH=19 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=776 +PrH=771 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=03 +mC=1 +C1=777 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Serials +H=777 +PrH=776 +DvC=2387 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=03 +SmH=20 +RelStat=Release +] +[ +ObjTp=Dv +Nm=DynFusion Plugin Bridge +H=778 +PrH=190 +DvC=3823 +ObjVer=2 +DvVr=1193 +Ad=BA +SmH=21 +RelStat=Release +ProdLine=3-Series +DbH=4 +CsH=1 +EtH=2 +] +[ +ObjTp=Dv +Nm=SYS.DeviceMonitor +H=779 +PrH=8 +DvC=3823 +ObjVer=2 +DvVr=1193 +Ad=04 +SmH=27 +RelStat=Release +ProdLine=3-Series +DbH=5 +CsH=3 +EtH=3 +] +[ +ObjTp=Db +H=1 +DvH=508 +Whc=3 +Mnf=Crestron +Mdl=Fusion Room +Tpe=Interface to Fusion +] +[ +ObjTp=Db +H=2 +DvH=764 +Whc=3 +Mnf=Crestron +Mdl=Fusion Dynamic Asset +Tpe=Fusion Dynamic Asset +] +[ +ObjTp=Db +H=3 +DvH=771 +Whc=3 +Mnf=Crestron +Mdl=Fusion Static Asset +Tpe=Fusion Static Asset +] +[ +ObjTp=Db +H=4 +DvH=778 +Whc=3 +Mnf=Crestron +Mdl=3 Series TCP/IP Ethernet Intersystem Communications +Tpe=3 Series TCP/IP Ethernet Intersystem Communications +] +[ +ObjTp=Db +H=5 +DvH=779 +Whc=3 +Mnf=Crestron +Mdl=3 Series TCP/IP Ethernet Intersystem Communications +] +[ +ObjTp=Cs +H=1 +DvH=778 +] +[ +ObjTp=Cs +H=2 +DvH=508 +] +[ +ObjTp=Cs +H=3 +DvH=779 +] +[ +ObjTp=FP +] +[ +ObjTp=Bk +Nm1=\ +Sx1=0 +Sy1=0 +Mx1=0 +] +[ +ObjTp=Bw +H=1 +Lx=0 +Ly=989 +Rx=1317 +Ry=1978 +Xm=-1 +Ym=-1 +SH=21 +Z=100 +Ht=4 +Hi=1041 +] +[ +ObjTp=Bw +H=1 +Lx=0 +Ly=0 +Rx=1317 +Ry=989 +Xm=-1 +Ym=-1 +SH=31 +Z=100 +Ht=1 +Hi=202 +] +[ +ObjTp=Et +H=1 +DvH=508 +IPM=255.255.255.0 +IPA=127.0.0.1 +] +[ +ObjTp=Et +H=2 +DvH=778 +IPM=255.255.255.0 +IPA=127.0.0.2 +] +[ +ObjTp=Et +H=3 +DvH=779 +IPM=255.255.255.0 +IPA=127.0.0.2 +] +[ +ObjTp=Sm +H=1 +SmC=157 +Nm=Central Control Modules +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mC=1 +C1=6 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=2 +SmC=157 +Nm=Network Modules +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=3 +SmC=157 +Nm=Ethernet +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=4 +SmC=156 +Nm=Logic +ObjVer=1 +SmVr=1193 +CF=2 +mC=4 +C1=24 +C2=25 +C3=26 +C4=28 +] +[ +ObjTp=Sm +H=5 +SmC=157 +Nm=DefineArguments +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=6 +SmC=7221 +Nm=4-Series Ethernet Devices +ObjVer=1 +SmVr=1193 +DvH=4 +PrH=1 +CF=2 +Cmn1=Ethernet Devices +mC=3 +C1=27 +C2=21 +C3=7 +] +[ +ObjTp=Sm +H=7 +SmC=2611 +Nm=Fusion Room +ObjVer=1 +SmVr=1193 +DvH=508 +PrH=6 +CF=1 +OpF=0 +HandF=1 +Cmn1=Fusion Room +mC=7 +C1=8 +C2=9 +C3=10 +C4=11 +C5=12 +C6=13 +C7=17 +mP=2 +P1= +P2=6d232a91-04e6-4862-8ee4-2dd78ed7398c +] +[ +ObjTp=Sm +H=8 +SmC=2612 +Nm=Fusion Digitals +ObjVer=1 +SmVr=1193 +DvH=510 +PrH=7 +CF=2 +n1I=53 +n1O=53 +OpF=0 +PropF=1 +Cmn1=Fusion Digitals +mI=53 +mO=53 +tO=53 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=9 +SmC=2613 +Nm=Fusion Analogs +ObjVer=1 +SmVr=1193 +DvH=512 +PrH=7 +CF=2 +n2I=52 +OpF=0 +PropF=1 +Cmn1=Fusion Analogs +mI=52 +mO=52 +tO=52 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=10 +SmC=2614 +Nm=Fusion Serials +ObjVer=1 +SmVr=1193 +DvH=514 +PrH=7 +CF=2 +OpF=0 +PropF=1 +Cmn1=Fusion Serials +mI=53 +I1=2 +mO=0 +tO=53 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=11 +SmC=1313 +Nm=RoomView Scheduling Data +ObjVer=1 +SmVr=1193 +PrH=7 +CF=1 +OpF=0 +PropF=1 +mI=3 +mO=0 +tO=3 +] +[ +ObjTp=Sm +H=12 +SmC=524 +Nm=Fusion Room Data +ObjVer=2 +SmVr=1193 +PrH=7 +CF=1 +OpF=0 +PropF=1 +mI=21 +mO=0 +tO=21 +] +[ +ObjTp=Sm +H=13 +SmC=2429 +Nm=Fusion Dynamic Asset +ObjVer=1 +SmVr=1193 +DvH=764 +PrH=7 +CF=1 +n1I=4 +n1O=4 +OpF=0 +PropF=1 +Cmn1=Fusion Dynamic Asset +mC=3 +C1=14 +C2=15 +C3=16 +mI=47 +mO=4 +tO=47 +mP=3 +P1= +P2= +P3=e0928287-9eae-4ec0-b739-9e149ead94ed +] +[ +ObjTp=Sm +H=14 +SmC=2715 +Nm=Fusion Generic Asset Digitals +ObjVer=1 +SmVr=1193 +DvH=766 +PrH=13 +CF=2 +n1I=50 +n1O=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Digitals +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=15 +SmC=2716 +Nm=Fusion Generic Asset Analogs +ObjVer=1 +SmVr=1193 +DvH=768 +PrH=13 +CF=2 +n2I=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Analogs +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=16 +SmC=2717 +Nm=Fusion Generic Asset Serials +ObjVer=1 +SmVr=1193 +DvH=770 +PrH=13 +CF=2 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Serials +mI=50 +mO=0 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=17 +SmC=2714 +Nm=Fusion Static Asset +ObjVer=1 +SmVr=1193 +DvH=771 +PrH=7 +CF=1 +n1I=4 +n1O=4 +OpF=0 +PropF=1 +Cmn1=Fusion Static Asset +mC=3 +C1=18 +C2=19 +C3=20 +mI=8 +mO=4 +tO=8 +mP=5 +P1= +P2= +P3=83293821-b904-4d3b-877c-6e15f3eed768 +P4= +P5= +] +[ +ObjTp=Sm +H=18 +SmC=2715 +Nm=Fusion Generic Asset Digitals +ObjVer=1 +SmVr=1193 +DvH=773 +PrH=17 +CF=2 +n1I=50 +n1O=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Digitals +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=19 +SmC=2716 +Nm=Fusion Generic Asset Analogs +ObjVer=1 +SmVr=1193 +DvH=775 +PrH=17 +CF=2 +n2I=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Analogs +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=20 +SmC=2717 +Nm=Fusion Generic Asset Serials +ObjVer=1 +SmVr=1193 +DvH=777 +PrH=17 +CF=2 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Serials +mI=50 +mO=0 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=21 +SmC=4356 +Nm=3 Series TCP/IP Ethernet Intersystem Communications +ObjVer=2 +SmVr=1193 +DvH=778 +PrH=6 +CF=2 +n1I=505 +n2I=505 +n1O=505 +Cmn1=DynFusion Plugin Bridge +mI=1515 +I3=10 +I5=14 +I50=320 +I51=4 +I52=321 +I53=322 +I54=323 +I55=324 +I56=325 +I57=326 +I58=327 +I59=328 +I60=329 +I61=330 +I62=331 +I63=332 +I64=333 +I65=334 +I66=335 +I67=336 +I68=337 +I69=338 +I500=30 +I501=31 +I502=32 +I503=252 +I504=33 +I505=34 +I527=42 +I555=6 +I556=93 +I557=94 +I558=95 +I559=355 +I560=356 +I561=357 +I562=358 +I563=359 +I564=360 +I565=361 +I566=362 +I567=363 +I568=364 +I569=365 +I570=366 +I571=367 +I572=368 +I573=369 +I574=370 +I1009=35 +I1010=36 +I1011=44 +I1012=45 +I1013=46 +I1015=47 +I1016=48 +I1032=50 +I1033=53 +I1060=391 +I1061=392 +I1062=393 +I1063=394 +I1064=395 +I1065=396 +I1066=397 +I1067=398 +I1068=399 +I1069=400 +I1070=401 +I1071=402 +I1072=403 +I1073=404 +I1074=405 +I1075=406 +I1076=407 +I1077=408 +I1078=409 +I1079=410 +I1514=37 +I1515=38 +mO=1010 +tO=1515 +O1=13 +O3=11 +O4=12 +O5=15 +O6=16 +O21=17 +O30=18 +O31=19 +O50=302 +O51=5 +O52=303 +O53=304 +O54=305 +O55=20 +O56=306 +O57=307 +O58=308 +O59=309 +O60=310 +O61=311 +O62=312 +O63=313 +O64=314 +O65=315 +O66=316 +O67=317 +O68=318 +O69=319 +O507=41 +O555=89 +O556=339 +O557=7 +O558=340 +O559=341 +O560=342 +O561=22 +O562=23 +O563=343 +O564=344 +O565=345 +O566=346 +O567=347 +O568=348 +O569=349 +O570=350 +O571=351 +O572=352 +O573=353 +O574=354 +O1011=43 +O1016=49 +O1032=51 +O1041=52 +O1060=371 +O1061=372 +O1062=373 +O1063=374 +O1064=375 +O1065=376 +O1066=377 +O1067=378 +O1068=379 +O1069=380 +O1070=381 +O1071=382 +O1072=383 +O1073=384 +O1074=385 +O1075=386 +O1076=387 +O1077=388 +O1078=389 +O1079=390 +O1310=8 +O1311=9 +O1312=21 +O1313=24 +O1314=25 +O1315=26 +O1326=27 +O1327=28 +O1328=29 +] +[ +ObjTp=Sm +H=22 +SmC=446 +Nm=Equipment Crosspoint Routing. +ObjVer=1 +SmVr=1193 +PrH=23 +CF=2 +n1I=61 +n2I=60 +n1O=61 +Cmn1=SYS.DeviceMonitor ex[60001]\\ +mI=183 +I12=202 +I13=152 +I14=102 +I15=103 +I16=104 +I17=105 +I18=106 +I19=107 +I20=108 +I21=109 +I22=110 +I23=111 +I24=112 +I25=113 +I26=114 +I27=115 +I28=116 +I29=117 +I30=118 +I31=119 +I32=120 +I33=121 +I34=122 +I35=123 +I36=124 +I37=125 +I38=126 +I39=127 +I40=128 +I41=129 +I42=130 +I43=131 +I44=132 +I45=133 +I46=134 +I47=135 +I48=136 +I49=137 +I50=138 +I51=139 +I52=140 +I53=141 +I54=142 +I55=143 +I56=144 +I57=145 +I58=146 +I59=147 +I60=148 +I61=149 +I72=150 +I73=203 +I74=204 +I75=205 +I76=206 +I77=207 +I78=208 +I79=209 +I80=210 +I81=211 +I82=212 +I83=213 +I84=214 +I85=215 +I86=216 +I87=217 +I88=218 +I89=219 +I90=220 +I91=221 +I92=222 +I93=223 +I94=224 +I95=225 +I96=226 +I97=227 +I98=228 +I99=229 +I100=230 +I101=231 +I102=232 +I103=233 +I104=234 +I105=235 +I106=236 +I107=237 +I108=238 +I109=239 +I110=240 +I111=241 +I112=242 +I113=243 +I114=244 +I115=245 +I116=246 +I117=247 +I118=248 +I119=249 +I120=250 +I121=251 +I134=151 +I135=153 +I136=154 +I137=155 +I138=156 +I139=157 +I140=158 +I141=159 +I142=160 +I143=161 +I144=162 +I145=163 +I146=164 +I147=165 +I148=166 +I149=167 +I150=168 +I151=169 +I152=170 +I153=171 +I154=172 +I155=173 +I156=174 +I157=175 +I158=176 +I159=177 +I160=178 +I161=179 +I162=180 +I163=181 +I164=182 +I165=183 +I166=184 +I167=185 +I168=186 +I169=187 +I170=188 +I171=189 +I172=190 +I173=191 +I174=192 +I175=193 +I176=194 +I177=195 +I178=196 +I179=197 +I180=198 +I181=199 +I182=200 +I183=201 +mO=121 +tO=182 +O12=252 +O13=253 +O14=254 +O15=255 +O16=256 +O17=257 +O18=258 +O19=259 +O20=260 +O21=261 +O22=262 +O23=263 +O24=264 +O25=265 +O26=266 +O27=267 +O28=268 +O29=269 +O30=270 +O31=271 +O32=272 +O33=273 +O34=274 +O35=275 +O36=276 +O37=277 +O38=278 +O39=279 +O40=280 +O41=281 +O42=282 +O43=283 +O44=284 +O45=285 +O46=286 +O47=287 +O48=288 +O49=289 +O50=290 +O51=291 +O52=292 +O53=293 +O54=294 +O55=295 +O56=296 +O57=297 +O58=298 +O59=299 +O60=300 +O61=301 +mP=1 +P1=60001d +] +[ +ObjTp=Sm +H=23 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=28 +CF=2 +Cmn1=SYS.DeviceMonitor ex[60001]\\ +mC=3 +C1=29 +C2=22 +C3=32 +] +[ +ObjTp=Sm +H=24 +SmC=155 +Nm=EthernetOnlyParameters.cmc +ObjVer=1 +PrH=4 +CF=2 +n1I=1 +n1O=4 +mI=1 +mO=4 +tO=4 +O1=97 +O2=98 +O3=99 +O4=100 +] +[ +ObjTp=Sm +H=25 +SmC=858 +Nm=Make String Permanent +ObjVer=1 +SmVr=1193 +PrH=4 +CF=2 +n1I=2 +mI=2 +I1=97 +I2=98 +mP=1 +P1=50d +] +[ +ObjTp=Sm +H=26 +SmC=20 +Nm=Buffer +ObjVer=1 +SmVr=1193 +PrH=4 +CF=2 +n1I=3 +n1O=2 +mI=3 +I1=1 +I2=99 +I3=100 +mO=2 +tO=2 +O1=101 +O2=101 +] +[ +ObjTp=Sm +H=27 +SmC=4356 +Nm=3 Series TCP/IP Ethernet Intersystem Communications +ObjVer=2 +SmVr=1193 +DvH=779 +PrH=6 +CF=2 +n1I=50 +n2I=50 +n1O=50 +Cmn1=SYS.DeviceMonitor\\ +mI=150 +I1=252 +I2=253 +I3=254 +I4=255 +I5=256 +I6=257 +I7=258 +I8=259 +I9=260 +I10=261 +I11=262 +I12=263 +I13=264 +I14=265 +I15=266 +I16=267 +I17=268 +I18=269 +I19=270 +I20=271 +I21=272 +I22=273 +I23=274 +I24=275 +I25=276 +I26=277 +I27=278 +I28=279 +I29=280 +I30=281 +I31=282 +I32=283 +I33=284 +I34=285 +I35=286 +I36=287 +I37=288 +I38=289 +I39=290 +I40=291 +I41=292 +I42=293 +I43=294 +I44=295 +I45=296 +I46=297 +I47=298 +I48=299 +I49=300 +I50=301 +mO=100 +tO=150 +O1=202 +O2=152 +O3=102 +O4=103 +O5=104 +O6=105 +O7=106 +O8=107 +O9=108 +O10=109 +O11=110 +O12=111 +O13=112 +O14=113 +O15=114 +O16=115 +O17=116 +O18=117 +O19=118 +O20=119 +O21=120 +O22=121 +O23=122 +O24=123 +O25=124 +O26=125 +O27=126 +O28=127 +O29=128 +O30=129 +O31=130 +O32=131 +O33=132 +O34=133 +O35=134 +O36=135 +O37=136 +O38=137 +O39=138 +O40=139 +O41=140 +O42=141 +O43=142 +O44=143 +O45=144 +O46=145 +O47=146 +O48=147 +O49=148 +O50=149 +O51=150 +O52=203 +O53=204 +O54=205 +O55=206 +O56=207 +O57=208 +O58=209 +O59=210 +O60=211 +O61=212 +O62=213 +O63=214 +O64=215 +O65=216 +O66=217 +O67=218 +O68=219 +O69=220 +O70=221 +O71=222 +O72=223 +O73=224 +O74=225 +O75=226 +O76=227 +O77=228 +O78=229 +O79=230 +O80=231 +O81=232 +O82=233 +O83=234 +O84=235 +O85=236 +O86=237 +O87=238 +O88=239 +O89=240 +O90=241 +O91=242 +O92=243 +O93=244 +O94=245 +O95=246 +O96=247 +O97=248 +O98=249 +O99=250 +O100=251 +O101=151 +O102=153 +O103=154 +O104=155 +O105=156 +O106=157 +O107=158 +O108=159 +O109=160 +O110=161 +O111=162 +O112=163 +O113=164 +O114=165 +O115=166 +O116=167 +O117=168 +O118=169 +O119=170 +O120=171 +O121=172 +O122=173 +O123=174 +O124=175 +O125=176 +O126=177 +O127=178 +O128=179 +O129=180 +O130=181 +O131=182 +O132=183 +O133=184 +O134=185 +O135=186 +O136=187 +O137=188 +O138=189 +O139=190 +O140=191 +O141=192 +O142=193 +O143=194 +O144=195 +O145=196 +O146=197 +O147=198 +O148=199 +O149=200 +O150=201 +] +[ +ObjTp=Sm +H=28 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=4 +CF=2 +Cmn1=SYS +mC=2 +C1=23 +C2=30 +] +[ +ObjTp=Sm +H=29 +SmC=858 +Nm=Make String Permanent +ObjVer=1 +SmVr=1193 +PrH=23 +CF=2 +n1I=50 +Cmn1=50d +mI=50 +I1=151 +I2=153 +I3=154 +I4=155 +I5=156 +I6=157 +I7=158 +I8=159 +I9=160 +I10=161 +I11=162 +I12=163 +I13=164 +I14=165 +I15=166 +I16=167 +I17=168 +I18=169 +I19=170 +I20=171 +I21=172 +I22=173 +I23=174 +I24=175 +I25=176 +I26=177 +I27=178 +I28=179 +I29=180 +I30=181 +I31=182 +I32=183 +I33=184 +I34=185 +I35=186 +I36=187 +I37=188 +I38=189 +I39=190 +I40=191 +I41=192 +I42=193 +I43=194 +I44=195 +I45=196 +I46=197 +I47=198 +I48=199 +I49=200 +I50=201 +mP=1 +P1=50d +] +[ +ObjTp=Sm +H=30 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=28 +CF=2 +Cmn1=SYS.Room01 +mC=1 +C1=31 +] +[ +ObjTp=Sm +H=31 +SmC=446 +Nm=Equipment Crosspoint Routing. +ObjVer=1 +SmVr=1193 +PrH=30 +CF=2 +n1I=80 +n2I=79 +n1O=80 +Cmn1=SYS.Room01.Fusion ex[21001]\\ +mI=489 +I12=13 +I14=11 +I15=12 +I16=15 +I17=16 +I32=17 +I41=18 +I42=19 +I61=302 +I62=5 +I63=303 +I64=304 +I65=305 +I66=20 +I67=306 +I68=307 +I69=308 +I70=309 +I71=310 +I72=311 +I73=312 +I74=313 +I75=314 +I76=315 +I77=316 +I78=317 +I79=318 +I80=319 +I92=41 +I140=89 +I141=339 +I142=7 +I143=340 +I144=341 +I145=342 +I146=22 +I147=23 +I148=343 +I149=344 +I150=345 +I151=346 +I152=347 +I153=348 +I154=349 +I155=350 +I156=351 +I157=352 +I158=353 +I159=354 +I172=43 +I177=49 +I193=51 +I202=52 +I221=371 +I222=372 +I223=373 +I224=374 +I225=375 +I226=376 +I227=377 +I228=378 +I229=379 +I230=380 +I231=381 +I232=382 +I233=383 +I234=384 +I235=385 +I236=386 +I237=387 +I238=388 +I239=389 +I240=390 +I471=8 +I472=9 +I473=21 +I474=24 +I475=25 +I476=26 +I487=27 +I488=28 +I489=29 +mO=159 +tO=488 +O14=10 +O16=14 +O61=320 +O62=4 +O63=321 +O64=322 +O65=323 +O66=324 +O67=325 +O68=326 +O69=327 +O70=328 +O71=329 +O72=330 +O73=331 +O74=332 +O75=333 +O76=334 +O77=335 +O78=336 +O79=337 +O80=338 +O112=42 +O140=6 +O141=93 +O142=94 +O143=95 +O144=355 +O145=356 +O146=357 +O147=358 +O148=359 +O149=360 +O150=361 +O151=362 +O152=363 +O153=364 +O154=365 +O155=366 +O156=367 +O157=368 +O158=369 +O159=370 +O171=44 +O172=45 +O173=46 +O175=47 +O176=48 +O192=50 +O193=53 +O220=391 +O221=392 +O222=393 +O223=394 +O224=395 +O225=396 +O226=397 +O227=398 +O228=399 +O229=400 +O230=401 +O231=402 +O232=403 +O233=404 +O234=405 +O235=406 +O236=407 +O237=408 +O238=409 +O239=410 +mP=1 +P1=21001d +] +[ +ObjTp=Sm +H=32 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=23 +CF=2 +Cmn1=Device001 +mC=2 +C1=33 +C2=34 +] +[ +ObjTp=Sm +H=33 +SmC=20 +Nm=Buffer +ObjVer=1 +SmVr=1193 +PrH=32 +CF=2 +n1I=5 +n1O=4 +Cmn1=**sigterm** +mI=5 +I1=1 +I2=101 +I3=101 +I4=101 +I5=101 +mO=4 +tO=4 +O1=31 +O2=32 +O3=33 +O4=34 +] +[ +ObjTp=Sm +H=34 +SmC=46 +Nm=Analog Buffer +ObjVer=1 +SmVr=1193 +PrH=32 +CF=2 +n1I=5 +n1O=4 +Cmn1=**sigterm**\\ +mI=5 +I1=1 +I2=39 +I3=39 +I4=40 +I5=40 +mO=4 +tO=4 +O1=35 +O2=36 +O3=37 +O4=38 +] +[ +ObjTp=FusionGUID +Code=1 +System=Default +SH1=7 +GUID1=bae0dd4e-4113-497c-b51b-b1be87dfbadb +SH2=13 +GUID2=58ed5e9f-0dfa-48f2-ae50-672a5018ed5b +SH3=17 +GUID3=cfa5bbb2-1117-4b6e-905d-6d190064dc23 +] +[ +ObjTp=Sg +H=4 +Nm=SYS.Room01.Fusion.Attribute.Digital02.Fb +] +[ +ObjTp=Sg +H=5 +Nm=SYS.Room01.Fusion.Attribute.Digital02.Cmd +] +[ +ObjTp=Sg +H=6 +Nm=SYS.Room01.Fusion.Attribute.Analog01.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=7 +Nm=SYS.Room01.Fusion.Attribute.Analog03.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=8 +Nm=SYS.Room01.Fusion.CustomProperties.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=9 +Nm=SYS.Room01.Fusion.CustomProperties.PhoneNumber.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=10 +Nm=SYS.Room01.Fusion.System.PowerOn.Fb +] +[ +ObjTp=Sg +H=11 +Nm=SYS.Room01.Fusion.System.PowerOn.Cmd +] +[ +ObjTp=Sg +H=12 +Nm=SYS.Room01.Fusion.System.PowerOff.Cmd +] +[ +ObjTp=Sg +H=13 +Nm=SYS.Room01.Fusion.Online.Fb +] +[ +ObjTp=Sg +H=14 +Nm=SYS.Room01.Fusion.DisplayXX.PowerOn.Fb +] +[ +ObjTp=Sg +H=15 +Nm=SYS.Room01.Fusion.DisplayXX.PowerOn.Cmd +] +[ +ObjTp=Sg +H=16 +Nm=SYS.Room01.Fusion.DisplayXX.PowerOff.Cmd +] +[ +ObjTp=Sg +H=17 +Nm=SYS.Room01.Fusion.Broadcast.Message.Enabled.Fb +] +[ +ObjTp=Sg +H=18 +Nm=SYS.Room01.Fusion.Authentication.Success.Fb +] +[ +ObjTp=Sg +H=19 +Nm=SYS.Room01.Fusion.Authentication.Fail.Fb +] +[ +ObjTp=Sg +H=20 +Nm=SYS.Room01.Fusion.Attribute.Digital06.Cmd +] +[ +ObjTp=Sg +H=21 +Nm=SYS.room01.Fusion.CustomProperties.TechPassword.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=22 +Nm=SYS.Room01.Fusion.Attribute.Analog07.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=23 +Nm=SYS.Room01.Fusion.Attribute.Analog08.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=24 +Nm=SYS.room01.Fusion.CustomProperties.Help.Message.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=25 +Nm=SYS.room01.Fusion.CustomProperties.Help.Number.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=26 +Nm=SYS.room01.Fusion.CustomProperties.Keyboard.CustomKey01.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=27 +Nm=SYS.room01.Fusion.CustomProperties.Help.Request01.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=28 +Nm=SYS.room01.Fusion.CustomProperties.Help.Request02.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=29 +Nm=SYS.room01.Fusion.CustomProperties.Help.Request03.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=30 +Nm=//_SYS.Room01.Fusion.StaticAsset.Device001 +] +[ +ObjTp=Sg +H=31 +Nm=SYS.Device001.PowerOn.Fb +] +[ +ObjTp=Sg +H=32 +Nm=SYS.Device001.PowerOff.Fb +] +[ +ObjTp=Sg +H=33 +Nm=SYS.Device001.StaticAsset.Digital01.Fb +] +[ +ObjTp=Sg +H=34 +Nm=SYS.Device001.StaticAsset.Digital02.Fb +] +[ +ObjTp=Sg +H=35 +Nm=SYS.Device001.StaticAsset.Analog01.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=36 +Nm=SYS.Device001.StaticAsset.Analog02.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=37 +Nm=SYS.SYS.Device001.StaticAsset.Serial01.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=38 +Nm=SYS.SYS.Device001.StaticAsset.Serial02.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=39 +Nm=//__analog_reserved__ +SgTp=2 +] +[ +ObjTp=Sg +H=40 +Nm=//__serial_reserved__ +SgTp=4 +] +[ +ObjTp=Sg +H=41 +Nm=SYS.Room01.Fusion.Display.Usage.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=42 +Nm=SYS.Room01.Fusion.Broadcast.Message.Type.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=43 +Nm=SYS.Room01.Fusion.Help.Message.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=44 +Nm=SYS.Room01.Fusion.Help.Message.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=45 +Nm=SYS.Room01.Fusion.Error.Message.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=46 +Nm=SYS.Room01.Fusion.Log.Text.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=47 +Nm=SYS.Room01.Fusion.Device.Usage.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=48 +Nm=SYS.Room01.Fusion.Text.Message.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=49 +Nm=SYS.Room01.Fusion.Text.Message.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=50 +Nm=SYS.Room01.Fusion.Broadcast.Message.Text.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=51 +Nm=SYS.Room01.Fusion.Broadcast.Message.Text.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=52 +Nm=SYS.Room01.Fusion.GroupMembership.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=53 +Nm=SYS.Room01.Fusion.FreeBusyStatus.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=89 +Nm=SYS.Room01.Fusion.Attribute.Analog01.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=93 +Nm=SYS.Room01.Fusion.Attribute.Analog02.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=94 +Nm=SYS.Room01.Fusion.Attribute.Analog03.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=95 +Nm=SYS.Room01.Fusion.Attribute.Analog04.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=97 +Nm=SYS.System.Room.Id.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=98 +Nm=SYS.System.Room.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=99 +Nm=SYS.System.Device.Appliance.Fb +] +[ +ObjTp=Sg +H=100 +Nm=SYS.System.Device.Server.Fb +] +[ +ObjTp=Sg +H=101 +Nm=//__digital_reserved__ +] +[ +ObjTp=Sg +H=102 +Nm=SYS.DeviceMonitor.Device003.Ok.Fb +] +[ +ObjTp=Sg +H=103 +Nm=SYS.DeviceMonitor.Device004.Ok.Fb +] +[ +ObjTp=Sg +H=104 +Nm=SYS.DeviceMonitor.Device005.Ok.Fb +] +[ +ObjTp=Sg +H=105 +Nm=SYS.DeviceMonitor.Device006.Ok.Fb +] +[ +ObjTp=Sg +H=106 +Nm=SYS.DeviceMonitor.Device007.Ok.Fb +] +[ +ObjTp=Sg +H=107 +Nm=SYS.DeviceMonitor.Device008.Ok.Fb +] +[ +ObjTp=Sg +H=108 +Nm=SYS.DeviceMonitor.Device009.Ok.Fb +] +[ +ObjTp=Sg +H=109 +Nm=SYS.DeviceMonitor.Device010.Ok.Fb +] +[ +ObjTp=Sg +H=110 +Nm=SYS.DeviceMonitor.Device011.Ok.Fb +] +[ +ObjTp=Sg +H=111 +Nm=SYS.DeviceMonitor.Device012.Ok.Fb +] +[ +ObjTp=Sg +H=112 +Nm=SYS.DeviceMonitor.Device013.Ok.Fb +] +[ +ObjTp=Sg +H=113 +Nm=SYS.DeviceMonitor.Device014.Ok.Fb +] +[ +ObjTp=Sg +H=114 +Nm=SYS.DeviceMonitor.Device015.Ok.Fb +] +[ +ObjTp=Sg +H=115 +Nm=SYS.DeviceMonitor.Device016.Ok.Fb +] +[ +ObjTp=Sg +H=116 +Nm=SYS.DeviceMonitor.Device017.Ok.Fb +] +[ +ObjTp=Sg +H=117 +Nm=SYS.DeviceMonitor.Device018.Ok.Fb +] +[ +ObjTp=Sg +H=118 +Nm=SYS.DeviceMonitor.Device019.Ok.Fb +] +[ +ObjTp=Sg +H=119 +Nm=SYS.DeviceMonitor.Device020.Ok.Fb +] +[ +ObjTp=Sg +H=120 +Nm=SYS.DeviceMonitor.Device021.Ok.Fb +] +[ +ObjTp=Sg +H=121 +Nm=SYS.DeviceMonitor.Device022.Ok.Fb +] +[ +ObjTp=Sg +H=122 +Nm=SYS.DeviceMonitor.Device023.Ok.Fb +] +[ +ObjTp=Sg +H=123 +Nm=SYS.DeviceMonitor.Device024.Ok.Fb +] +[ +ObjTp=Sg +H=124 +Nm=SYS.DeviceMonitor.Device025.Ok.Fb +] +[ +ObjTp=Sg +H=125 +Nm=SYS.DeviceMonitor.Device026.Ok.Fb +] +[ +ObjTp=Sg +H=126 +Nm=SYS.DeviceMonitor.Device027.Ok.Fb +] +[ +ObjTp=Sg +H=127 +Nm=SYS.DeviceMonitor.Device028.Ok.Fb +] +[ +ObjTp=Sg +H=128 +Nm=SYS.DeviceMonitor.Device029.Ok.Fb +] +[ +ObjTp=Sg +H=129 +Nm=SYS.DeviceMonitor.Device030.Ok.Fb +] +[ +ObjTp=Sg +H=130 +Nm=SYS.DeviceMonitor.Device031.Ok.Fb +] +[ +ObjTp=Sg +H=131 +Nm=SYS.DeviceMonitor.Device032.Ok.Fb +] +[ +ObjTp=Sg +H=132 +Nm=SYS.DeviceMonitor.Device033.Ok.Fb +] +[ +ObjTp=Sg +H=133 +Nm=SYS.DeviceMonitor.Device034.Ok.Fb +] +[ +ObjTp=Sg +H=134 +Nm=SYS.DeviceMonitor.Device035.Ok.Fb +] +[ +ObjTp=Sg +H=135 +Nm=SYS.DeviceMonitor.Device036.Ok.Fb +] +[ +ObjTp=Sg +H=136 +Nm=SYS.DeviceMonitor.Device037.Ok.Fb +] +[ +ObjTp=Sg +H=137 +Nm=SYS.DeviceMonitor.Device038.Ok.Fb +] +[ +ObjTp=Sg +H=138 +Nm=SYS.DeviceMonitor.Device039.Ok.Fb +] +[ +ObjTp=Sg +H=139 +Nm=SYS.DeviceMonitor.Device040.Ok.Fb +] +[ +ObjTp=Sg +H=140 +Nm=SYS.DeviceMonitor.Device041.Ok.Fb +] +[ +ObjTp=Sg +H=141 +Nm=SYS.DeviceMonitor.Device042.Ok.Fb +] +[ +ObjTp=Sg +H=142 +Nm=SYS.DeviceMonitor.Device043.Ok.Fb +] +[ +ObjTp=Sg +H=143 +Nm=SYS.DeviceMonitor.Device044.Ok.Fb +] +[ +ObjTp=Sg +H=144 +Nm=SYS.DeviceMonitor.Device045.Ok.Fb +] +[ +ObjTp=Sg +H=145 +Nm=SYS.DeviceMonitor.Device046.Ok.Fb +] +[ +ObjTp=Sg +H=146 +Nm=SYS.DeviceMonitor.Device047.Ok.Fb +] +[ +ObjTp=Sg +H=147 +Nm=SYS.DeviceMonitor.Device048.Ok.Fb +] +[ +ObjTp=Sg +H=148 +Nm=SYS.DeviceMonitor.Device049.Ok.Fb +] +[ +ObjTp=Sg +H=149 +Nm=SYS.DeviceMonitor.Device050.Ok.Fb +] +[ +ObjTp=Sg +H=150 +Nm=SYS.DeviceMonitor.Device001.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=151 +Nm=SYS.DeviceMonitor.Device001.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=152 +Nm=SYS.DeviceMonitor.Device002.Ok.Fb +] +[ +ObjTp=Sg +H=153 +Nm=SYS.DeviceMonitor.Device002.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=154 +Nm=SYS.DeviceMonitor.Device003.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=155 +Nm=SYS.DeviceMonitor.Device004.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=156 +Nm=SYS.DeviceMonitor.Device005.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=157 +Nm=SYS.DeviceMonitor.Device006.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=158 +Nm=SYS.DeviceMonitor.Device007.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=159 +Nm=SYS.DeviceMonitor.Device008.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=160 +Nm=SYS.DeviceMonitor.Device009.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=161 +Nm=SYS.DeviceMonitor.Device010.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=162 +Nm=SYS.DeviceMonitor.Device011.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=163 +Nm=SYS.DeviceMonitor.Device012.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=164 +Nm=SYS.DeviceMonitor.Device013.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=165 +Nm=SYS.DeviceMonitor.Device014.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=166 +Nm=SYS.DeviceMonitor.Device015.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=167 +Nm=SYS.DeviceMonitor.Device016.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=168 +Nm=SYS.DeviceMonitor.Device017.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=169 +Nm=SYS.DeviceMonitor.Device018.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=170 +Nm=SYS.DeviceMonitor.Device019.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=171 +Nm=SYS.DeviceMonitor.Device020.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=172 +Nm=SYS.DeviceMonitor.Device021.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=173 +Nm=SYS.DeviceMonitor.Device022.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=174 +Nm=SYS.DeviceMonitor.Device023.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=175 +Nm=SYS.DeviceMonitor.Device024.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=176 +Nm=SYS.DeviceMonitor.Device025.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=177 +Nm=SYS.DeviceMonitor.Device026.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=178 +Nm=SYS.DeviceMonitor.Device027.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=179 +Nm=SYS.DeviceMonitor.Device028.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=180 +Nm=SYS.DeviceMonitor.Device029.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=181 +Nm=SYS.DeviceMonitor.Device030.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=182 +Nm=SYS.DeviceMonitor.Device031.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=183 +Nm=SYS.DeviceMonitor.Device032.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=184 +Nm=SYS.DeviceMonitor.Device033.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=185 +Nm=SYS.DeviceMonitor.Device034.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=186 +Nm=SYS.DeviceMonitor.Device035.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=187 +Nm=SYS.DeviceMonitor.Device036.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=188 +Nm=SYS.DeviceMonitor.Device037.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=189 +Nm=SYS.DeviceMonitor.Device038.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=190 +Nm=SYS.DeviceMonitor.Device039.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=191 +Nm=SYS.DeviceMonitor.Device040.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=192 +Nm=SYS.DeviceMonitor.Device041.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=193 +Nm=SYS.DeviceMonitor.Device042.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=194 +Nm=SYS.DeviceMonitor.Device043.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=195 +Nm=SYS.DeviceMonitor.Device044.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=196 +Nm=SYS.DeviceMonitor.Device045.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=197 +Nm=SYS.DeviceMonitor.Device046.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=198 +Nm=SYS.DeviceMonitor.Device047.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=199 +Nm=SYS.DeviceMonitor.Device048.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=200 +Nm=SYS.DeviceMonitor.Device049.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=201 +Nm=SYS.DeviceMonitor.Device050.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=202 +Nm=SYS.DeviceMonitor.Device001.Ok.Fb +] +[ +ObjTp=Sg +H=203 +Nm=SYS.DeviceMonitor.Device002.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=204 +Nm=SYS.DeviceMonitor.Device003.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=205 +Nm=SYS.DeviceMonitor.Device004.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=206 +Nm=SYS.DeviceMonitor.Device005.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=207 +Nm=SYS.DeviceMonitor.Device006.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=208 +Nm=SYS.DeviceMonitor.Device007.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=209 +Nm=SYS.DeviceMonitor.Device008.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=210 +Nm=SYS.DeviceMonitor.Device009.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=211 +Nm=SYS.DeviceMonitor.Device010.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=212 +Nm=SYS.DeviceMonitor.Device011.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=213 +Nm=SYS.DeviceMonitor.Device012.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=214 +Nm=SYS.DeviceMonitor.Device013.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=215 +Nm=SYS.DeviceMonitor.Device014.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=216 +Nm=SYS.DeviceMonitor.Device015.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=217 +Nm=SYS.DeviceMonitor.Device016.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=218 +Nm=SYS.DeviceMonitor.Device017.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=219 +Nm=SYS.DeviceMonitor.Device018.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=220 +Nm=SYS.DeviceMonitor.Device019.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=221 +Nm=SYS.DeviceMonitor.Device020.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=222 +Nm=SYS.DeviceMonitor.Device021.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=223 +Nm=SYS.DeviceMonitor.Device022.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=224 +Nm=SYS.DeviceMonitor.Device023.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=225 +Nm=SYS.DeviceMonitor.Device024.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=226 +Nm=SYS.DeviceMonitor.Device025.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=227 +Nm=SYS.DeviceMonitor.Device026.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=228 +Nm=SYS.DeviceMonitor.Device027.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=229 +Nm=SYS.DeviceMonitor.Device028.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=230 +Nm=SYS.DeviceMonitor.Device029.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=231 +Nm=SYS.DeviceMonitor.Device030.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=232 +Nm=SYS.DeviceMonitor.Device031.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=233 +Nm=SYS.DeviceMonitor.Device032.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=234 +Nm=SYS.DeviceMonitor.Device033.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=235 +Nm=SYS.DeviceMonitor.Device034.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=236 +Nm=SYS.DeviceMonitor.Device035.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=237 +Nm=SYS.DeviceMonitor.Device036.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=238 +Nm=SYS.DeviceMonitor.Device037.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=239 +Nm=SYS.DeviceMonitor.Device038.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=240 +Nm=SYS.DeviceMonitor.Device039.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=241 +Nm=SYS.DeviceMonitor.Device040.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=242 +Nm=SYS.DeviceMonitor.Device041.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=243 +Nm=SYS.DeviceMonitor.Device042.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=244 +Nm=SYS.DeviceMonitor.Device043.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=245 +Nm=SYS.DeviceMonitor.Device044.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=246 +Nm=SYS.DeviceMonitor.Device045.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=247 +Nm=SYS.DeviceMonitor.Device046.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=248 +Nm=SYS.DeviceMonitor.Device047.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=249 +Nm=SYS.DeviceMonitor.Device048.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=250 +Nm=SYS.DeviceMonitor.Device049.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=251 +Nm=SYS.DeviceMonitor.Device050.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=252 +Nm=SYS.Device001.Online.Fb +] +[ +ObjTp=Sg +H=253 +Nm=SYS.Device002.Online.Fb +] +[ +ObjTp=Sg +H=254 +Nm=SYS.Device003.Online.Fb +] +[ +ObjTp=Sg +H=255 +Nm=SYS.Device004.Online.Fb +] +[ +ObjTp=Sg +H=256 +Nm=SYS.Device005.Online.Fb +] +[ +ObjTp=Sg +H=257 +Nm=SYS.Device006.Online.Fb +] +[ +ObjTp=Sg +H=258 +Nm=SYS.Device007.Online.Fb +] +[ +ObjTp=Sg +H=259 +Nm=SYS.Device008.Online.Fb +] +[ +ObjTp=Sg +H=260 +Nm=SYS.Device009.Online.Fb +] +[ +ObjTp=Sg +H=261 +Nm=SYS.Device010.Online.Fb +] +[ +ObjTp=Sg +H=262 +Nm=SYS.Device011.Online.Fb +] +[ +ObjTp=Sg +H=263 +Nm=SYS.Device012.Online.Fb +] +[ +ObjTp=Sg +H=264 +Nm=SYS.Device013.Online.Fb +] +[ +ObjTp=Sg +H=265 +Nm=SYS.Device014.Online.Fb +] +[ +ObjTp=Sg +H=266 +Nm=SYS.Device015.Online.Fb +] +[ +ObjTp=Sg +H=267 +Nm=SYS.Device016.Online.Fb +] +[ +ObjTp=Sg +H=268 +Nm=SYS.Device017.Online.Fb +] +[ +ObjTp=Sg +H=269 +Nm=SYS.Device018.Online.Fb +] +[ +ObjTp=Sg +H=270 +Nm=SYS.Device019.Online.Fb +] +[ +ObjTp=Sg +H=271 +Nm=SYS.Device020.Online.Fb +] +[ +ObjTp=Sg +H=272 +Nm=SYS.Device021.Online.Fb +] +[ +ObjTp=Sg +H=273 +Nm=SYS.Device022.Online.Fb +] +[ +ObjTp=Sg +H=274 +Nm=SYS.Device023.Online.Fb +] +[ +ObjTp=Sg +H=275 +Nm=SYS.Device024.Online.Fb +] +[ +ObjTp=Sg +H=276 +Nm=SYS.Device025.Online.Fb +] +[ +ObjTp=Sg +H=277 +Nm=SYS.Device026.Online.Fb +] +[ +ObjTp=Sg +H=278 +Nm=SYS.Device027.Online.Fb +] +[ +ObjTp=Sg +H=279 +Nm=SYS.Device028.Online.Fb +] +[ +ObjTp=Sg +H=280 +Nm=SYS.Device029.Online.Fb +] +[ +ObjTp=Sg +H=281 +Nm=SYS.Device030.Online.Fb +] +[ +ObjTp=Sg +H=282 +Nm=SYS.Device031.Online.Fb +] +[ +ObjTp=Sg +H=283 +Nm=SYS.Device032.Online.Fb +] +[ +ObjTp=Sg +H=284 +Nm=SYS.Device033.Online.Fb +] +[ +ObjTp=Sg +H=285 +Nm=SYS.Device034.Online.Fb +] +[ +ObjTp=Sg +H=286 +Nm=SYS.Device035.Online.Fb +] +[ +ObjTp=Sg +H=287 +Nm=SYS.Device036.Online.Fb +] +[ +ObjTp=Sg +H=288 +Nm=SYS.Device037.Online.Fb +] +[ +ObjTp=Sg +H=289 +Nm=SYS.Device038.Online.Fb +] +[ +ObjTp=Sg +H=290 +Nm=SYS.Device039.Online.Fb +] +[ +ObjTp=Sg +H=291 +Nm=SYS.Device040.Online.Fb +] +[ +ObjTp=Sg +H=292 +Nm=SYS.Device041.Online.Fb +] +[ +ObjTp=Sg +H=293 +Nm=SYS.Device042.Online.Fb +] +[ +ObjTp=Sg +H=294 +Nm=SYS.Device043.Online.Fb +] +[ +ObjTp=Sg +H=295 +Nm=SYS.Device044.Online.Fb +] +[ +ObjTp=Sg +H=296 +Nm=SYS.Device045.Online.Fb +] +[ +ObjTp=Sg +H=297 +Nm=SYS.Device046.Online.Fb +] +[ +ObjTp=Sg +H=298 +Nm=SYS.Device047.Online.Fb +] +[ +ObjTp=Sg +H=299 +Nm=SYS.Device048.Online.Fb +] +[ +ObjTp=Sg +H=300 +Nm=SYS.Device049.Online.Fb +] +[ +ObjTp=Sg +H=301 +Nm=SYS.Device050.Online.Fb +] +[ +ObjTp=Sg +H=302 +Nm=SYS.Room01.Fusion.Attribute.Digital01.Cmd +] +[ +ObjTp=Sg +H=303 +Nm=SYS.Room01.Fusion.Attribute.Digital03.Cmd +] +[ +ObjTp=Sg +H=304 +Nm=SYS.Room01.Fusion.Attribute.Digital04.Cmd +] +[ +ObjTp=Sg +H=305 +Nm=SYS.Room01.Fusion.Attribute.Digital05.Cmd +] +[ +ObjTp=Sg +H=306 +Nm=SYS.Room01.Fusion.Attribute.Digital07.Cmd +] +[ +ObjTp=Sg +H=307 +Nm=SYS.Room01.Fusion.Attribute.Digital08.Cmd +] +[ +ObjTp=Sg +H=308 +Nm=SYS.Room01.Fusion.Attribute.Digital09.Cmd +] +[ +ObjTp=Sg +H=309 +Nm=SYS.Room01.Fusion.Attribute.Digital10.Cmd +] +[ +ObjTp=Sg +H=310 +Nm=SYS.Room01.Fusion.Attribute.Digital11.Cmd +] +[ +ObjTp=Sg +H=311 +Nm=SYS.Room01.Fusion.Attribute.Digital12.Cmd +] +[ +ObjTp=Sg +H=312 +Nm=SYS.Room01.Fusion.Attribute.Digital13.Cmd +] +[ +ObjTp=Sg +H=313 +Nm=SYS.Room01.Fusion.Attribute.Digital14.Cmd +] +[ +ObjTp=Sg +H=314 +Nm=SYS.Room01.Fusion.Attribute.Digital15.Cmd +] +[ +ObjTp=Sg +H=315 +Nm=SYS.Room01.Fusion.Attribute.Digital16.Cmd +] +[ +ObjTp=Sg +H=316 +Nm=SYS.Room01.Fusion.Attribute.Digital17.Cmd +] +[ +ObjTp=Sg +H=317 +Nm=SYS.Room01.Fusion.Attribute.Digital18.Cmd +] +[ +ObjTp=Sg +H=318 +Nm=SYS.Room01.Fusion.Attribute.Digital19.Cmd +] +[ +ObjTp=Sg +H=319 +Nm=SYS.Room01.Fusion.Attribute.Digital20.Cmd +] +[ +ObjTp=Sg +H=320 +Nm=SYS.Room01.Fusion.Attribute.Digital01.Fb +] +[ +ObjTp=Sg +H=321 +Nm=SYS.Room01.Fusion.Attribute.Digital03.Fb +] +[ +ObjTp=Sg +H=322 +Nm=SYS.Room01.Fusion.Attribute.Digital04.Fb +] +[ +ObjTp=Sg +H=323 +Nm=SYS.Room01.Fusion.Attribute.Digital05.Fb +] +[ +ObjTp=Sg +H=324 +Nm=SYS.Room01.Fusion.Attribute.Digital06.Fb +] +[ +ObjTp=Sg +H=325 +Nm=SYS.Room01.Fusion.Attribute.Digital07.Fb +] +[ +ObjTp=Sg +H=326 +Nm=SYS.Room01.Fusion.Attribute.Digital08.Fb +] +[ +ObjTp=Sg +H=327 +Nm=SYS.Room01.Fusion.Attribute.Digital09.Fb +] +[ +ObjTp=Sg +H=328 +Nm=SYS.Room01.Fusion.Attribute.Digital10.Fb +] +[ +ObjTp=Sg +H=329 +Nm=SYS.Room01.Fusion.Attribute.Digital11.Fb +] +[ +ObjTp=Sg +H=330 +Nm=SYS.Room01.Fusion.Attribute.Digital12.Fb +] +[ +ObjTp=Sg +H=331 +Nm=SYS.Room01.Fusion.Attribute.Digital13.Fb +] +[ +ObjTp=Sg +H=332 +Nm=SYS.Room01.Fusion.Attribute.Digital14.Fb +] +[ +ObjTp=Sg +H=333 +Nm=SYS.Room01.Fusion.Attribute.Digital15.Fb +] +[ +ObjTp=Sg +H=334 +Nm=SYS.Room01.Fusion.Attribute.Digital16.Fb +] +[ +ObjTp=Sg +H=335 +Nm=SYS.Room01.Fusion.Attribute.Digital17.Fb +] +[ +ObjTp=Sg +H=336 +Nm=SYS.Room01.Fusion.Attribute.Digital18.Fb +] +[ +ObjTp=Sg +H=337 +Nm=SYS.Room01.Fusion.Attribute.Digital19.Fb +] +[ +ObjTp=Sg +H=338 +Nm=SYS.Room01.Fusion.Attribute.Digital20.Fb +] +[ +ObjTp=Sg +H=339 +Nm=SYS.Room01.Fusion.Attribute.Analog02.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=340 +Nm=SYS.Room01.Fusion.Attribute.Analog04.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=341 +Nm=SYS.Room01.Fusion.Attribute.Analog05.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=342 +Nm=SYS.Room01.Fusion.Attribute.Analog06.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=343 +Nm=SYS.Room01.Fusion.Attribute.Analog09.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=344 +Nm=SYS.Room01.Fusion.Attribute.Analog10.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=345 +Nm=SYS.Room01.Fusion.Attribute.Analog11.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=346 +Nm=SYS.Room01.Fusion.Attribute.Analog12.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=347 +Nm=SYS.Room01.Fusion.Attribute.Analog13.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=348 +Nm=SYS.Room01.Fusion.Attribute.Analog14.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=349 +Nm=SYS.Room01.Fusion.Attribute.Analog15.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=350 +Nm=SYS.Room01.Fusion.Attribute.Analog16.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=351 +Nm=SYS.Room01.Fusion.Attribute.Analog17.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=352 +Nm=SYS.Room01.Fusion.Attribute.Analog18.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=353 +Nm=SYS.Room01.Fusion.Attribute.Analog19.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=354 +Nm=SYS.Room01.Fusion.Attribute.Analog20.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=355 +Nm=SYS.Room01.Fusion.Attribute.Analog05.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=356 +Nm=SYS.Room01.Fusion.Attribute.Analog06.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=357 +Nm=SYS.Room01.Fusion.Attribute.Analog07.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=358 +Nm=SYS.Room01.Fusion.Attribute.Analog08.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=359 +Nm=SYS.Room01.Fusion.Attribute.Analog09.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=360 +Nm=SYS.Room01.Fusion.Attribute.Analog10.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=361 +Nm=SYS.Room01.Fusion.Attribute.Analog11.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=362 +Nm=SYS.Room01.Fusion.Attribute.Analog12.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=363 +Nm=SYS.Room01.Fusion.Attribute.Analog13.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=364 +Nm=SYS.Room01.Fusion.Attribute.Analog14.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=365 +Nm=SYS.Room01.Fusion.Attribute.Analog15.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=366 +Nm=SYS.Room01.Fusion.Attribute.Analog16.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=367 +Nm=SYS.Room01.Fusion.Attribute.Analog17.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=368 +Nm=SYS.Room01.Fusion.Attribute.Analog18.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=369 +Nm=SYS.Room01.Fusion.Attribute.Analog19.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=370 +Nm=SYS.Room01.Fusion.Attribute.Analog20.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=371 +Nm=SYS.Room01.Fusion.Attribute.Serial01.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=372 +Nm=SYS.Room01.Fusion.Attribute.Serial02.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=373 +Nm=SYS.Room01.Fusion.Attribute.Serial03.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=374 +Nm=SYS.Room01.Fusion.Attribute.Serial04.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=375 +Nm=SYS.Room01.Fusion.Attribute.Serial05.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=376 +Nm=SYS.Room01.Fusion.Attribute.Serial06.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=377 +Nm=SYS.Room01.Fusion.Attribute.Serial07.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=378 +Nm=SYS.Room01.Fusion.Attribute.Serial08.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=379 +Nm=SYS.Room01.Fusion.Attribute.Serial09.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=380 +Nm=SYS.Room01.Fusion.Attribute.Serial10.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=381 +Nm=SYS.Room01.Fusion.Attribute.Serial11.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=382 +Nm=SYS.Room01.Fusion.Attribute.Serial12.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=383 +Nm=SYS.Room01.Fusion.Attribute.Serial13.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=384 +Nm=SYS.Room01.Fusion.Attribute.Serial14.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=385 +Nm=SYS.Room01.Fusion.Attribute.Serial15.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=386 +Nm=SYS.Room01.Fusion.Attribute.Serial16.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=387 +Nm=SYS.Room01.Fusion.Attribute.Serial17.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=388 +Nm=SYS.Room01.Fusion.Attribute.Serial18.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=389 +Nm=SYS.Room01.Fusion.Attribute.Serial19.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=390 +Nm=SYS.Room01.Fusion.Attribute.Serial20.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=391 +Nm=SYS.Room01.Fusion.Attribute.Serial01.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=392 +Nm=SYS.Room01.Fusion.Attribute.Serial02.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=393 +Nm=SYS.Room01.Fusion.Attribute.Serial03.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=394 +Nm=SYS.Room01.Fusion.Attribute.Serial04.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=395 +Nm=SYS.Room01.Fusion.Attribute.Serial05.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=396 +Nm=SYS.Room01.Fusion.Attribute.Serial06.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=397 +Nm=SYS.Room01.Fusion.Attribute.Serial07.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=398 +Nm=SYS.Room01.Fusion.Attribute.Serial08.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=399 +Nm=SYS.Room01.Fusion.Attribute.Serial09.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=400 +Nm=SYS.Room01.Fusion.Attribute.Serial10.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=401 +Nm=SYS.Room01.Fusion.Attribute.Serial11.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=402 +Nm=SYS.Room01.Fusion.Attribute.Serial12.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=403 +Nm=SYS.Room01.Fusion.Attribute.Serial13.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=404 +Nm=SYS.Room01.Fusion.Attribute.Serial14.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=405 +Nm=SYS.Room01.Fusion.Attribute.Serial15.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=406 +Nm=SYS.Room01.Fusion.Attribute.Serial16.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=407 +Nm=SYS.Room01.Fusion.Attribute.Serial17.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=408 +Nm=SYS.Room01.Fusion.Attribute.Serial18.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=409 +Nm=SYS.Room01.Fusion.Attribute.Serial19.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=410 +Nm=SYS.Room01.Fusion.Attribute.Serial20.Fb +SgTp=4 +] diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smft b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smft new file mode 100644 index 0000000..30ce6b3 --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smft @@ -0,0 +1,3 @@ + + + diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw new file mode 100644 index 0000000..ab983c8 --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d54b93f329fd1ffe799cef31883c97988ee9bac637fab0037681f26e473c797 +size 43735 diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw.err b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw.err new file mode 100644 index 0000000..1e99e5e --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01.smw.err @@ -0,0 +1,5298 @@ +[ +Version=1 +] +[ +ObjTp=FSgntr +Sgntr=SimplWindow +RelVrs=4.25.04 +IntStrVrs=2 +MinSMWVrs=4.18 +MinTIOVrs=1099 +SavedBy=SMW4.2500.04 +] +[ +ObjTp=Hd +CnC=8939 +CnH=2 +S0Nd=1 +S1Nd=2 +SLNd=3 +PrNm=PD_DynFuison_Plugin_RMC4_v00.01.smw +DbVr=219.05.001.00 +DvcDbVr=200.285.001.00 +PgmNm=JTA +DlrNm=PepperDash +CltNm=DynFusionTest +SmVr=1193 +DvVr=1193 +TpN1=1 +TpN2=2 +TpN3=3 +TpN4=4 +TpN5=5 +APg=1 +FltTmp=1 +FpCS=0 +EnType=0 +ZeroOnIoOk=0 +PIT=DynFusionTest +TargetFusionProcessor=1 +SGMethod=1 +] +[ +ObjTp=Dv +Nm=Ethernet-Only 4-series +H=2 +PrH=1 +DvC=8939 +ObjVer=2 +DvVr=1193 +Ad=00 +LSymH=24 +RelStat=Ignore +ProdLine=4-Series +mC=250 +C1=3 +C2=259 +C3=260 +C4=261 +C5=262 +C6=263 +C7=264 +C8=265 +C9=266 +C10=267 +C11=268 +C12=269 +C13=270 +C14=271 +C15=272 +C16=273 +C17=274 +C18=275 +C19=276 +C20=277 +C21=278 +C22=279 +C23=280 +C24=281 +C25=282 +C26=283 +C27=284 +C28=285 +C29=286 +C30=287 +C31=288 +C32=289 +C33=290 +C34=291 +C35=292 +C36=293 +C37=294 +C38=295 +C39=296 +C40=297 +C41=298 +C42=299 +C43=300 +C44=301 +C45=302 +C46=303 +C47=304 +C48=305 +C49=306 +C50=307 +C51=308 +C52=309 +C53=310 +C54=311 +C55=312 +C56=313 +C57=314 +C58=315 +C59=316 +C60=317 +C61=318 +C62=319 +C63=320 +C64=321 +C65=322 +C66=323 +C67=324 +C68=325 +C69=326 +C70=327 +C71=328 +C72=329 +C73=330 +C74=331 +C75=332 +C76=333 +C77=334 +C78=335 +C79=336 +C80=337 +C81=338 +C82=339 +C83=340 +C84=341 +C85=342 +C86=343 +C87=344 +C88=345 +C89=346 +C90=347 +C91=348 +C92=349 +C93=350 +C94=351 +C95=352 +C96=353 +C97=354 +C98=355 +C99=356 +C100=357 +C101=358 +C102=359 +C103=360 +C104=361 +C105=362 +C106=363 +C107=364 +C108=365 +C109=366 +C110=367 +C111=368 +C112=369 +C113=370 +C114=371 +C115=372 +C116=373 +C117=374 +C118=375 +C119=376 +C120=377 +C121=378 +C122=379 +C123=380 +C124=381 +C125=382 +C126=383 +C127=384 +C128=385 +C129=386 +C130=387 +C131=388 +C132=389 +C133=390 +C134=391 +C135=392 +C136=393 +C137=394 +C138=395 +C139=396 +C140=397 +C141=398 +C142=399 +C143=400 +C144=401 +C145=402 +C146=403 +C147=404 +C148=405 +C149=406 +C150=407 +C151=408 +C152=409 +C153=410 +C154=411 +C155=412 +C156=413 +C157=414 +C158=415 +C159=416 +C160=417 +C161=418 +C162=419 +C163=420 +C164=421 +C165=422 +C166=423 +C167=424 +C168=425 +C169=426 +C170=427 +C171=428 +C172=429 +C173=430 +C174=431 +C175=432 +C176=433 +C177=434 +C178=435 +C179=436 +C180=437 +C181=438 +C182=439 +C183=440 +C184=441 +C185=442 +C186=443 +C187=444 +C188=445 +C189=446 +C190=447 +C191=448 +C192=449 +C193=450 +C194=451 +C195=452 +C196=453 +C197=454 +C198=455 +C199=456 +C200=457 +C201=458 +C202=459 +C203=460 +C204=461 +C205=462 +C206=463 +C207=464 +C208=465 +C209=466 +C210=467 +C211=468 +C212=469 +C213=470 +C214=471 +C215=472 +C216=473 +C217=474 +C218=475 +C219=476 +C220=477 +C221=478 +C222=479 +C223=480 +C224=481 +C225=482 +C226=483 +C227=484 +C228=485 +C229=486 +C230=487 +C231=488 +C232=489 +C233=490 +C234=491 +C235=492 +C236=493 +C237=494 +C238=495 +C239=496 +C240=497 +C241=498 +C242=499 +C243=500 +C244=501 +C245=502 +C246=503 +C247=504 +C248=505 +C249=506 +C250=507 +] +[ +ObjTp=Dv +Nm=EthernetCard +H=3 +PrH=2 +ObjVer=1 +SlC=567 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=4 +] +[ +ObjTp=Dv +Nm=Ethernet Devices +H=4 +PrH=3 +DvC=8940 +ObjVer=1 +SlC=567 +DvVr=1193 +Ad=01 +SmH=6 +RelStat=Ignore +mC=254 +C1=5 +C2=6 +C3=7 +C4=8 +C5=9 +C6=10 +C7=11 +C8=12 +C9=13 +C10=14 +C11=15 +C12=16 +C13=17 +C14=18 +C15=19 +C16=20 +C17=21 +C18=22 +C19=23 +C20=24 +C21=25 +C22=26 +C23=27 +C24=28 +C25=29 +C26=30 +C27=31 +C28=32 +C29=33 +C30=34 +C31=35 +C32=36 +C33=37 +C34=38 +C35=39 +C36=40 +C37=41 +C38=42 +C39=43 +C40=44 +C41=45 +C42=46 +C43=47 +C44=48 +C45=49 +C46=50 +C47=51 +C48=52 +C49=53 +C50=54 +C51=55 +C52=56 +C53=57 +C54=58 +C55=59 +C56=60 +C57=61 +C58=62 +C59=63 +C60=64 +C61=65 +C62=66 +C63=67 +C64=68 +C65=69 +C66=70 +C67=71 +C68=72 +C69=73 +C70=74 +C71=75 +C72=76 +C73=77 +C74=78 +C75=79 +C76=80 +C77=81 +C78=82 +C79=83 +C80=84 +C81=85 +C82=86 +C83=87 +C84=88 +C85=89 +C86=90 +C87=91 +C88=92 +C89=93 +C90=94 +C91=95 +C92=96 +C93=97 +C94=98 +C95=99 +C96=100 +C97=101 +C98=102 +C99=103 +C100=104 +C101=105 +C102=106 +C103=107 +C104=108 +C105=109 +C106=110 +C107=111 +C108=112 +C109=113 +C110=114 +C111=115 +C112=116 +C113=117 +C114=118 +C115=119 +C116=120 +C117=121 +C118=122 +C119=123 +C120=124 +C121=125 +C122=126 +C123=127 +C124=128 +C125=129 +C126=130 +C127=131 +C128=132 +C129=133 +C130=134 +C131=135 +C132=136 +C133=137 +C134=138 +C135=139 +C136=140 +C137=141 +C138=142 +C139=143 +C140=144 +C141=145 +C142=146 +C143=147 +C144=148 +C145=149 +C146=150 +C147=151 +C148=152 +C149=153 +C150=154 +C151=155 +C152=156 +C153=157 +C154=158 +C155=159 +C156=160 +C157=161 +C158=162 +C159=163 +C160=164 +C161=165 +C162=166 +C163=167 +C164=168 +C165=169 +C166=170 +C167=171 +C168=172 +C169=173 +C170=174 +C171=175 +C172=176 +C173=177 +C174=178 +C175=179 +C176=180 +C177=181 +C178=182 +C179=183 +C180=184 +C181=185 +C182=186 +C183=187 +C184=188 +C185=189 +C186=190 +C187=191 +C188=192 +C189=193 +C190=194 +C191=195 +C192=196 +C193=197 +C194=198 +C195=199 +C196=200 +C197=201 +C198=202 +C199=203 +C200=204 +C201=205 +C202=206 +C203=207 +C204=208 +C205=209 +C206=210 +C207=211 +C208=212 +C209=213 +C210=214 +C211=215 +C212=216 +C213=217 +C214=218 +C215=219 +C216=220 +C217=221 +C218=222 +C219=223 +C220=224 +C221=225 +C222=226 +C223=227 +C224=228 +C225=229 +C226=230 +C227=231 +C228=232 +C229=233 +C230=234 +C231=235 +C232=236 +C233=237 +C234=238 +C235=239 +C236=240 +C237=241 +C238=242 +C239=243 +C240=244 +C241=245 +C242=246 +C243=247 +C244=248 +C245=249 +C246=250 +C247=251 +C248=252 +C249=253 +C250=254 +C251=255 +C252=256 +C253=257 +C254=258 +] +[ +ObjTp=Dv +Nm=Not_Used +H=5.6 +PrH=4 +ObjVer=1 +SlC=17 +DvF=Sl +DvVr=1193 +Ad=01,02 +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=7,9.189,191.243,245.258 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=03,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F,30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F,50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F,60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F,70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F,90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F,A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF,B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BB,BC,BD,BE,BF,C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF,D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF,E0,E1,E2,E3,E4,E5,E6,E7,E8,E9,EA,EB,EC,ED,EE,EF,F1,F2,F3,F4,F5,F6,F7,F8,F9,FA,FB,FC,FD,FE +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=8 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=04 +mC=1 +C1=779 +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=190 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=BA +mC=1 +C1=778 +] +[ +ObjTp=Dv +Nm=P4Ethernet +H=244 +PrH=4 +ObjVer=1 +SlC=565 +DvF=Sl +DvVr=1193 +Ad=F0 +mC=1 +C1=508 +] +[ +ObjTp=Dv +Nm=NotUsed +H=259.506 +PrH=2 +ObjVer=1 +SlC=15 +DvF=Sl +DvVr=1193 +Ad=02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249 +] +[ +ObjTp=Dv +Nm=C2I-3SRS-BACnet_Slot +H=507 +PrH=2 +ObjVer=1 +SlC=396 +DvF=Sl +DvVr=1193 +Ad=250 +] +[ +ObjTp=Dv +Nm=Fusion Room +H=508 +PrH=244 +DvC=2190 +ObjVer=1 +DvVr=1193 +Ad=F0 +SmH=7 +RelStat=Release +ProdLine=Fusion +DbH=1 +CsH=2 +EtH=1 +mC=252 +C1=509 +C2=511 +C3=513 +C4=515 +C5=516 +C6=517 +C7=518 +C8=519 +C9=520 +C10=521 +C11=522 +C12=523 +C13=524 +C14=525 +C15=526 +C16=527 +C17=528 +C18=529 +C19=530 +C20=531 +C21=532 +C22=533 +C23=534 +C24=535 +C25=536 +C26=537 +C27=538 +C28=539 +C29=540 +C30=541 +C31=542 +C32=543 +C33=544 +C34=545 +C35=546 +C36=547 +C37=548 +C38=549 +C39=550 +C40=551 +C41=552 +C42=553 +C43=554 +C44=555 +C45=556 +C46=557 +C47=558 +C48=559 +C49=560 +C50=561 +C51=562 +C52=563 +C53=564 +C54=565 +C55=566 +C56=567 +C57=568 +C58=569 +C59=570 +C60=571 +C61=572 +C62=573 +C63=574 +C64=575 +C65=576 +C66=577 +C67=578 +C68=579 +C69=580 +C70=581 +C71=582 +C72=583 +C73=584 +C74=585 +C75=586 +C76=587 +C77=588 +C78=589 +C79=590 +C80=591 +C81=592 +C82=593 +C83=594 +C84=595 +C85=596 +C86=597 +C87=598 +C88=599 +C89=600 +C90=601 +C91=602 +C92=603 +C93=604 +C94=605 +C95=606 +C96=607 +C97=608 +C98=609 +C99=610 +C100=611 +C101=612 +C102=613 +C103=614 +C104=615 +C105=616 +C106=617 +C107=618 +C108=619 +C109=620 +C110=621 +C111=622 +C112=623 +C113=624 +C114=625 +C115=626 +C116=627 +C117=628 +C118=629 +C119=630 +C120=631 +C121=632 +C122=633 +C123=634 +C124=635 +C125=636 +C126=637 +C127=638 +C128=639 +C129=640 +C130=641 +C131=642 +C132=643 +C133=644 +C134=645 +C135=646 +C136=647 +C137=648 +C138=649 +C139=650 +C140=651 +C141=652 +C142=653 +C143=654 +C144=655 +C145=656 +C146=657 +C147=658 +C148=659 +C149=660 +C150=661 +C151=662 +C152=663 +C153=664 +C154=665 +C155=666 +C156=667 +C157=668 +C158=669 +C159=670 +C160=671 +C161=672 +C162=673 +C163=674 +C164=675 +C165=676 +C166=677 +C167=678 +C168=679 +C169=680 +C170=681 +C171=682 +C172=683 +C173=684 +C174=685 +C175=686 +C176=687 +C177=688 +C178=689 +C179=690 +C180=691 +C181=692 +C182=693 +C183=694 +C184=695 +C185=696 +C186=697 +C187=698 +C188=699 +C189=700 +C190=701 +C191=702 +C192=703 +C193=704 +C194=705 +C195=706 +C196=707 +C197=708 +C198=709 +C199=710 +C200=711 +C201=712 +C202=713 +C203=714 +C204=715 +C205=716 +C206=717 +C207=718 +C208=719 +C209=720 +C210=721 +C211=722 +C212=723 +C213=724 +C214=725 +C215=726 +C216=727 +C217=728 +C218=729 +C219=730 +C220=731 +C221=732 +C222=733 +C223=734 +C224=735 +C225=736 +C226=737 +C227=738 +C228=739 +C229=740 +C230=741 +C231=742 +C232=743 +C233=744 +C234=745 +C235=746 +C236=747 +C237=748 +C238=749 +C239=750 +C240=751 +C241=752 +C242=753 +C243=754 +C244=755 +C245=756 +C246=757 +C247=758 +C248=759 +C249=760 +C250=761 +C251=762 +C252=763 +] +[ +ObjTp=Dv +Nm=FixedSlot +H=509 +PrH=508 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=510 +] +[ +ObjTp=Dv +Nm=Fusion Digitals +H=510 +PrH=509 +DvC=2191 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=01 +SmH=8 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=511 +PrH=508 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=02 +mC=1 +C1=512 +] +[ +ObjTp=Dv +Nm=Fusion Analogs +H=512 +PrH=511 +DvC=2192 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=02 +SmH=9 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=513 +PrH=508 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=03 +mC=1 +C1=514 +] +[ +ObjTp=Dv +Nm=Fusion Serials +H=514 +PrH=513 +DvC=2193 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=03 +SmH=10 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FusionRoomLoads_Slot +H=515 +PrH=508 +ObjVer=1 +SlC=292 +DvF=Sl +DvVr=1193 +Ad=04 +mC=1 +C1=764 +] +[ +ObjTp=Dv +Nm=FusionRoomLoads_Slot +H=516 +PrH=508 +ObjVer=1 +SlC=292 +DvF=Sl +DvVr=1193 +Ad=05 +mC=1 +C1=771 +] +[ +ObjTp=Dv +Nm=FusionRoomLoads_Slot +H=517.763 +PrH=508 +ObjVer=1 +SlC=292 +DvF=Sl +DvVr=1193 +Ad=06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252 +] +[ +ObjTp=Dv +Nm=Fusion Dynamic Asset +H=764 +PrH=515 +DvC=2008 +ObjVer=1 +DvVr=1193 +Ad=04 +SmH=13 +RelStat=Release +ProdLine=Fusion +DbH=2 +mC=3 +C1=765 +C2=767 +C3=769 +] +[ +ObjTp=Dv +Nm=FixedSlot +H=765 +PrH=764 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=766 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Digitals +H=766 +PrH=765 +DvC=2385 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=01 +SmH=14 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=767 +PrH=764 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=02 +mC=1 +C1=768 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Analogs +H=768 +PrH=767 +DvC=2386 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=02 +SmH=15 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=769 +PrH=764 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=03 +mC=1 +C1=770 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Serials +H=770 +PrH=769 +DvC=2387 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=03 +SmH=16 +RelStat=Release +] +[ +ObjTp=Dv +Nm=Fusion Static Asset +H=771 +PrH=516 +DvC=2384 +ObjVer=1 +DvVr=1193 +Ad=05 +SmH=17 +RelStat=Release +ProdLine=Fusion +DbH=3 +mC=3 +C1=772 +C2=774 +C3=776 +] +[ +ObjTp=Dv +Nm=FixedSlot +H=772 +PrH=771 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=01 +mC=1 +C1=773 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Digitals +H=773 +PrH=772 +DvC=2385 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=01 +SmH=18 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=774 +PrH=771 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=02 +mC=1 +C1=775 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Analogs +H=775 +PrH=774 +DvC=2386 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=02 +SmH=19 +RelStat=Release +] +[ +ObjTp=Dv +Nm=FixedSlot +H=776 +PrH=771 +ObjVer=1 +SlC=144 +DvF=Sl +DvVr=1193 +Ad=03 +mC=1 +C1=777 +] +[ +ObjTp=Dv +Nm=Fusion Generic Asset Serials +H=777 +PrH=776 +DvC=2387 +ObjVer=1 +SlC=144 +DvVr=1193 +Ad=03 +SmH=20 +RelStat=Release +] +[ +ObjTp=Dv +Nm=DynFusion Plugin Bridge +H=778 +PrH=190 +DvC=3823 +ObjVer=2 +DvVr=1193 +Ad=BA +SmH=21 +RelStat=Release +ProdLine=3-Series +DbH=4 +CsH=1 +EtH=2 +] +[ +ObjTp=Dv +Nm=SYS.DeviceMonitor +H=779 +PrH=8 +DvC=3823 +ObjVer=2 +DvVr=1193 +Ad=04 +SmH=27 +RelStat=Release +ProdLine=3-Series +DbH=5 +CsH=3 +EtH=3 +] +[ +ObjTp=Db +H=1 +DvH=508 +Whc=3 +Mnf=Crestron +Mdl=Fusion Room +Tpe=Interface to Fusion +] +[ +ObjTp=Db +H=2 +DvH=764 +Whc=3 +Mnf=Crestron +Mdl=Fusion Dynamic Asset +Tpe=Fusion Dynamic Asset +] +[ +ObjTp=Db +H=3 +DvH=771 +Whc=3 +Mnf=Crestron +Mdl=Fusion Static Asset +Tpe=Fusion Static Asset +] +[ +ObjTp=Db +H=4 +DvH=778 +Whc=3 +Mnf=Crestron +Mdl=3 Series TCP/IP Ethernet Intersystem Communications +Tpe=3 Series TCP/IP Ethernet Intersystem Communications +] +[ +ObjTp=Db +H=5 +DvH=779 +Whc=3 +Mnf=Crestron +Mdl=3 Series TCP/IP Ethernet Intersystem Communications +] +[ +ObjTp=Cs +H=1 +DvH=778 +] +[ +ObjTp=Cs +H=2 +DvH=508 +] +[ +ObjTp=Cs +H=3 +DvH=779 +] +[ +ObjTp=FP +] +[ +ObjTp=Bk +Nm1=\ +Sx1=0 +Sy1=0 +Mx1=0 +] +[ +ObjTp=Bw +H=1 +Lx=0 +Ly=989 +Rx=1317 +Ry=1978 +Xm=-1 +Ym=-1 +SH=21 +Z=100 +Ht=4 +Hi=1041 +] +[ +ObjTp=Bw +H=1 +Lx=0 +Ly=0 +Rx=1317 +Ry=989 +Xm=-1 +Ym=-1 +SH=31 +Z=100 +Ht=1 +Hi=202 +] +[ +ObjTp=Et +H=1 +DvH=508 +IPM=255.255.255.0 +IPA=127.0.0.1 +] +[ +ObjTp=Et +H=2 +DvH=778 +IPM=255.255.255.0 +IPA=127.0.0.2 +] +[ +ObjTp=Et +H=3 +DvH=779 +IPM=255.255.255.0 +IPA=127.0.0.2 +] +[ +ObjTp=Sm +H=1 +SmC=157 +Nm=Central Control Modules +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mC=1 +C1=6 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=2 +SmC=157 +Nm=Network Modules +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=3 +SmC=157 +Nm=Ethernet +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=4 +SmC=156 +Nm=Logic +ObjVer=1 +SmVr=1193 +CF=2 +mC=4 +C1=24 +C2=25 +C3=26 +C4=28 +] +[ +ObjTp=Sm +H=5 +SmC=157 +Nm=DefineArguments +ObjVer=1 +SmVr=1193 +CF=2 +n1I=1 +n1O=1 +mI=1 +mO=1 +tO=1 +mP=1 +P1= +] +[ +ObjTp=Sm +H=6 +SmC=7221 +Nm=4-Series Ethernet Devices +ObjVer=1 +SmVr=1193 +DvH=4 +PrH=1 +CF=2 +Cmn1=Ethernet Devices +mC=3 +C1=27 +C2=21 +C3=7 +] +[ +ObjTp=Sm +H=7 +SmC=2611 +Nm=Fusion Room +ObjVer=1 +SmVr=1193 +DvH=508 +PrH=6 +CF=1 +OpF=0 +HandF=1 +Cmn1=Fusion Room +mC=7 +C1=8 +C2=9 +C3=10 +C4=11 +C5=12 +C6=13 +C7=17 +mP=2 +P1= +P2=6d232a91-04e6-4862-8ee4-2dd78ed7398c +] +[ +ObjTp=Sm +H=8 +SmC=2612 +Nm=Fusion Digitals +ObjVer=1 +SmVr=1193 +DvH=510 +PrH=7 +CF=2 +n1I=53 +n1O=53 +OpF=0 +PropF=1 +Cmn1=Fusion Digitals +mI=53 +mO=53 +tO=53 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=9 +SmC=2613 +Nm=Fusion Analogs +ObjVer=1 +SmVr=1193 +DvH=512 +PrH=7 +CF=2 +n2I=52 +OpF=0 +PropF=1 +Cmn1=Fusion Analogs +mI=52 +mO=52 +tO=52 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=10 +SmC=2614 +Nm=Fusion Serials +ObjVer=1 +SmVr=1193 +DvH=514 +PrH=7 +CF=2 +OpF=0 +PropF=1 +Cmn1=Fusion Serials +mI=53 +I1=2 +mO=0 +tO=53 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=11 +SmC=1313 +Nm=RoomView Scheduling Data +ObjVer=1 +SmVr=1193 +PrH=7 +CF=1 +OpF=0 +PropF=1 +mI=3 +mO=0 +tO=3 +] +[ +ObjTp=Sm +H=12 +SmC=524 +Nm=Fusion Room Data +ObjVer=2 +SmVr=1193 +PrH=7 +CF=1 +OpF=0 +PropF=1 +mI=21 +mO=0 +tO=21 +] +[ +ObjTp=Sm +H=13 +SmC=2429 +Nm=Fusion Dynamic Asset +ObjVer=1 +SmVr=1193 +DvH=764 +PrH=7 +CF=1 +n1I=4 +n1O=4 +OpF=0 +PropF=1 +Cmn1=Fusion Dynamic Asset +mC=3 +C1=14 +C2=15 +C3=16 +mI=47 +mO=4 +tO=47 +mP=3 +P1= +P2= +P3=e0928287-9eae-4ec0-b739-9e149ead94ed +] +[ +ObjTp=Sm +H=14 +SmC=2715 +Nm=Fusion Generic Asset Digitals +ObjVer=1 +SmVr=1193 +DvH=766 +PrH=13 +CF=2 +n1I=50 +n1O=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Digitals +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=15 +SmC=2716 +Nm=Fusion Generic Asset Analogs +ObjVer=1 +SmVr=1193 +DvH=768 +PrH=13 +CF=2 +n2I=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Analogs +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=16 +SmC=2717 +Nm=Fusion Generic Asset Serials +ObjVer=1 +SmVr=1193 +DvH=770 +PrH=13 +CF=2 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Serials +mI=50 +mO=0 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=17 +SmC=2714 +Nm=Fusion Static Asset +ObjVer=1 +SmVr=1193 +DvH=771 +PrH=7 +CF=1 +n1I=4 +n1O=4 +OpF=0 +PropF=1 +Cmn1=Fusion Static Asset +mC=3 +C1=18 +C2=19 +C3=20 +mI=8 +mO=4 +tO=8 +mP=5 +P1= +P2= +P3=83293821-b904-4d3b-877c-6e15f3eed768 +P4= +P5= +] +[ +ObjTp=Sm +H=18 +SmC=2715 +Nm=Fusion Generic Asset Digitals +ObjVer=1 +SmVr=1193 +DvH=773 +PrH=17 +CF=2 +n1I=50 +n1O=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Digitals +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=19 +SmC=2716 +Nm=Fusion Generic Asset Analogs +ObjVer=1 +SmVr=1193 +DvH=775 +PrH=17 +CF=2 +n2I=50 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Analogs +mI=50 +mO=50 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=20 +SmC=2717 +Nm=Fusion Generic Asset Serials +ObjVer=1 +SmVr=1193 +DvH=777 +PrH=17 +CF=2 +OpF=0 +PropF=1 +Cmn1=Fusion Generic Asset Serials +mI=50 +mO=0 +tO=50 +mP=50 +P1= +P2= +P3= +P4= +P5= +P6= +P7= +P8= +P9= +P10= +P11= +P12= +P13= +P14= +P15= +P16= +P17= +P18= +P19= +P20= +P21= +P22= +P23= +P24= +P25= +P26= +P27= +P28= +P29= +P30= +P31= +P32= +P33= +P34= +P35= +P36= +P37= +P38= +P39= +P40= +P41= +P42= +P43= +P44= +P45= +P46= +P47= +P48= +P49= +P50= +] +[ +ObjTp=Sm +H=21 +SmC=4356 +Nm=3 Series TCP/IP Ethernet Intersystem Communications +ObjVer=2 +SmVr=1193 +DvH=778 +PrH=6 +CF=2 +n1I=505 +n2I=505 +n1O=505 +Cmn1=DynFusion Plugin Bridge +mI=1515 +I3=10 +I5=14 +I50=320 +I51=4 +I52=321 +I53=322 +I54=323 +I55=324 +I56=325 +I57=326 +I58=327 +I59=328 +I60=329 +I61=330 +I62=331 +I63=332 +I64=333 +I65=334 +I66=335 +I67=336 +I68=337 +I69=338 +I500=30 +I501=31 +I502=32 +I503=252 +I504=33 +I505=34 +I527=42 +I555=6 +I556=93 +I557=94 +I558=95 +I559=355 +I560=356 +I561=357 +I562=358 +I563=359 +I564=360 +I565=361 +I566=362 +I567=363 +I568=364 +I569=365 +I570=366 +I571=367 +I572=368 +I573=369 +I574=370 +I1009=35 +I1010=36 +I1011=44 +I1012=45 +I1013=46 +I1015=47 +I1016=48 +I1032=50 +I1033=53 +I1060=391 +I1061=392 +I1062=393 +I1063=394 +I1064=395 +I1065=396 +I1066=397 +I1067=398 +I1068=399 +I1069=400 +I1070=401 +I1071=402 +I1072=403 +I1073=404 +I1074=405 +I1075=406 +I1076=407 +I1077=408 +I1078=409 +I1079=410 +I1514=37 +I1515=38 +mO=1010 +tO=1515 +O1=13 +O3=11 +O4=12 +O5=15 +O6=16 +O21=17 +O30=18 +O31=19 +O50=302 +O51=5 +O52=303 +O53=304 +O54=305 +O55=20 +O56=306 +O57=307 +O58=308 +O59=309 +O60=310 +O61=311 +O62=312 +O63=313 +O64=314 +O65=315 +O66=316 +O67=317 +O68=318 +O69=319 +O507=41 +O555=89 +O556=339 +O557=7 +O558=340 +O559=341 +O560=342 +O561=22 +O562=23 +O563=343 +O564=344 +O565=345 +O566=346 +O567=347 +O568=348 +O569=349 +O570=350 +O571=351 +O572=352 +O573=353 +O574=354 +O1011=43 +O1016=49 +O1032=51 +O1041=52 +O1060=371 +O1061=372 +O1062=373 +O1063=374 +O1064=375 +O1065=376 +O1066=377 +O1067=378 +O1068=379 +O1069=380 +O1070=381 +O1071=382 +O1072=383 +O1073=384 +O1074=385 +O1075=386 +O1076=387 +O1077=388 +O1078=389 +O1079=390 +O1310=8 +O1311=9 +O1312=21 +O1313=24 +O1314=25 +O1315=26 +O1326=27 +O1327=28 +O1328=29 +] +[ +ObjTp=Sm +H=22 +SmC=446 +Nm=Equipment Crosspoint Routing. +ObjVer=1 +SmVr=1193 +PrH=23 +CF=2 +n1I=61 +n2I=60 +n1O=61 +Cmn1=SYS.DeviceMonitor ex[60001]\\ +mI=183 +I12=202 +I13=152 +I14=102 +I15=103 +I16=104 +I17=105 +I18=106 +I19=107 +I20=108 +I21=109 +I22=110 +I23=111 +I24=112 +I25=113 +I26=114 +I27=115 +I28=116 +I29=117 +I30=118 +I31=119 +I32=120 +I33=121 +I34=122 +I35=123 +I36=124 +I37=125 +I38=126 +I39=127 +I40=128 +I41=129 +I42=130 +I43=131 +I44=132 +I45=133 +I46=134 +I47=135 +I48=136 +I49=137 +I50=138 +I51=139 +I52=140 +I53=141 +I54=142 +I55=143 +I56=144 +I57=145 +I58=146 +I59=147 +I60=148 +I61=149 +I72=150 +I73=203 +I74=204 +I75=205 +I76=206 +I77=207 +I78=208 +I79=209 +I80=210 +I81=211 +I82=212 +I83=213 +I84=214 +I85=215 +I86=216 +I87=217 +I88=218 +I89=219 +I90=220 +I91=221 +I92=222 +I93=223 +I94=224 +I95=225 +I96=226 +I97=227 +I98=228 +I99=229 +I100=230 +I101=231 +I102=232 +I103=233 +I104=234 +I105=235 +I106=236 +I107=237 +I108=238 +I109=239 +I110=240 +I111=241 +I112=242 +I113=243 +I114=244 +I115=245 +I116=246 +I117=247 +I118=248 +I119=249 +I120=250 +I121=251 +I134=151 +I135=153 +I136=154 +I137=155 +I138=156 +I139=157 +I140=158 +I141=159 +I142=160 +I143=161 +I144=162 +I145=163 +I146=164 +I147=165 +I148=166 +I149=167 +I150=168 +I151=169 +I152=170 +I153=171 +I154=172 +I155=173 +I156=174 +I157=175 +I158=176 +I159=177 +I160=178 +I161=179 +I162=180 +I163=181 +I164=182 +I165=183 +I166=184 +I167=185 +I168=186 +I169=187 +I170=188 +I171=189 +I172=190 +I173=191 +I174=192 +I175=193 +I176=194 +I177=195 +I178=196 +I179=197 +I180=198 +I181=199 +I182=200 +I183=201 +mO=121 +tO=182 +O12=252 +O13=253 +O14=254 +O15=255 +O16=256 +O17=257 +O18=258 +O19=259 +O20=260 +O21=261 +O22=262 +O23=263 +O24=264 +O25=265 +O26=266 +O27=267 +O28=268 +O29=269 +O30=270 +O31=271 +O32=272 +O33=273 +O34=274 +O35=275 +O36=276 +O37=277 +O38=278 +O39=279 +O40=280 +O41=281 +O42=282 +O43=283 +O44=284 +O45=285 +O46=286 +O47=287 +O48=288 +O49=289 +O50=290 +O51=291 +O52=292 +O53=293 +O54=294 +O55=295 +O56=296 +O57=297 +O58=298 +O59=299 +O60=300 +O61=301 +mP=1 +P1=60001d +] +[ +ObjTp=Sm +H=23 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=28 +CF=2 +Cmn1=SYS.DeviceMonitor ex[60001]\\ +mC=3 +C1=29 +C2=22 +C3=32 +] +[ +ObjTp=Sm +H=24 +SmC=155 +Nm=EthernetOnlyParameters.cmc +ObjVer=1 +PrH=4 +CF=2 +n1I=1 +n1O=4 +mI=1 +mO=4 +tO=4 +O1=97 +O2=98 +O3=99 +O4=100 +] +[ +ObjTp=Sm +H=25 +SmC=858 +Nm=Make String Permanent +ObjVer=1 +SmVr=1193 +PrH=4 +CF=2 +n1I=2 +mI=2 +I1=97 +I2=98 +mP=1 +P1=50d +] +[ +ObjTp=Sm +H=26 +SmC=20 +Nm=Buffer +ObjVer=1 +SmVr=1193 +PrH=4 +CF=2 +n1I=3 +n1O=2 +mI=3 +I1=1 +I2=99 +I3=100 +mO=2 +tO=2 +O1=101 +O2=101 +] +[ +ObjTp=Sm +H=27 +SmC=4356 +Nm=3 Series TCP/IP Ethernet Intersystem Communications +ObjVer=2 +SmVr=1193 +DvH=779 +PrH=6 +CF=2 +n1I=50 +n2I=50 +n1O=50 +Cmn1=SYS.DeviceMonitor\\ +mI=150 +I1=252 +I2=253 +I3=254 +I4=255 +I5=256 +I6=257 +I7=258 +I8=259 +I9=260 +I10=261 +I11=262 +I12=263 +I13=264 +I14=265 +I15=266 +I16=267 +I17=268 +I18=269 +I19=270 +I20=271 +I21=272 +I22=273 +I23=274 +I24=275 +I25=276 +I26=277 +I27=278 +I28=279 +I29=280 +I30=281 +I31=282 +I32=283 +I33=284 +I34=285 +I35=286 +I36=287 +I37=288 +I38=289 +I39=290 +I40=291 +I41=292 +I42=293 +I43=294 +I44=295 +I45=296 +I46=297 +I47=298 +I48=299 +I49=300 +I50=301 +mO=100 +tO=150 +O1=202 +O2=152 +O3=102 +O4=103 +O5=104 +O6=105 +O7=106 +O8=107 +O9=108 +O10=109 +O11=110 +O12=111 +O13=112 +O14=113 +O15=114 +O16=115 +O17=116 +O18=117 +O19=118 +O20=119 +O21=120 +O22=121 +O23=122 +O24=123 +O25=124 +O26=125 +O27=126 +O28=127 +O29=128 +O30=129 +O31=130 +O32=131 +O33=132 +O34=133 +O35=134 +O36=135 +O37=136 +O38=137 +O39=138 +O40=139 +O41=140 +O42=141 +O43=142 +O44=143 +O45=144 +O46=145 +O47=146 +O48=147 +O49=148 +O50=149 +O51=150 +O52=203 +O53=204 +O54=205 +O55=206 +O56=207 +O57=208 +O58=209 +O59=210 +O60=211 +O61=212 +O62=213 +O63=214 +O64=215 +O65=216 +O66=217 +O67=218 +O68=219 +O69=220 +O70=221 +O71=222 +O72=223 +O73=224 +O74=225 +O75=226 +O76=227 +O77=228 +O78=229 +O79=230 +O80=231 +O81=232 +O82=233 +O83=234 +O84=235 +O85=236 +O86=237 +O87=238 +O88=239 +O89=240 +O90=241 +O91=242 +O92=243 +O93=244 +O94=245 +O95=246 +O96=247 +O97=248 +O98=249 +O99=250 +O100=251 +O101=151 +O102=153 +O103=154 +O104=155 +O105=156 +O106=157 +O107=158 +O108=159 +O109=160 +O110=161 +O111=162 +O112=163 +O113=164 +O114=165 +O115=166 +O116=167 +O117=168 +O118=169 +O119=170 +O120=171 +O121=172 +O122=173 +O123=174 +O124=175 +O125=176 +O126=177 +O127=178 +O128=179 +O129=180 +O130=181 +O131=182 +O132=183 +O133=184 +O134=185 +O135=186 +O136=187 +O137=188 +O138=189 +O139=190 +O140=191 +O141=192 +O142=193 +O143=194 +O144=195 +O145=196 +O146=197 +O147=198 +O148=199 +O149=200 +O150=201 +] +[ +ObjTp=Sm +H=28 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=4 +CF=2 +Cmn1=SYS +mC=2 +C1=23 +C2=30 +] +[ +ObjTp=Sm +H=29 +SmC=858 +Nm=Make String Permanent +ObjVer=1 +SmVr=1193 +PrH=23 +CF=2 +n1I=50 +Cmn1=50d +mI=50 +I1=151 +I2=153 +I3=154 +I4=155 +I5=156 +I6=157 +I7=158 +I8=159 +I9=160 +I10=161 +I11=162 +I12=163 +I13=164 +I14=165 +I15=166 +I16=167 +I17=168 +I18=169 +I19=170 +I20=171 +I21=172 +I22=173 +I23=174 +I24=175 +I25=176 +I26=177 +I27=178 +I28=179 +I29=180 +I30=181 +I31=182 +I32=183 +I33=184 +I34=185 +I35=186 +I36=187 +I37=188 +I38=189 +I39=190 +I40=191 +I41=192 +I42=193 +I43=194 +I44=195 +I45=196 +I46=197 +I47=198 +I48=199 +I49=200 +I50=201 +mP=1 +P1=50d +] +[ +ObjTp=Sm +H=30 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=28 +CF=2 +Cmn1=SYS.Room01 +mC=1 +C1=31 +] +[ +ObjTp=Sm +H=31 +SmC=446 +Nm=Equipment Crosspoint Routing. +ObjVer=1 +SmVr=1193 +PrH=30 +CF=2 +n1I=80 +n2I=79 +n1O=80 +Cmn1=SYS.Room01.Fusion ex[21001]\\ +mI=489 +I12=13 +I14=11 +I15=12 +I16=15 +I17=16 +I32=17 +I41=18 +I42=19 +I61=302 +I62=5 +I63=303 +I64=304 +I65=305 +I66=20 +I67=306 +I68=307 +I69=308 +I70=309 +I71=310 +I72=311 +I73=312 +I74=313 +I75=314 +I76=315 +I77=316 +I78=317 +I79=318 +I80=319 +I92=41 +I140=89 +I141=339 +I142=7 +I143=340 +I144=341 +I145=342 +I146=22 +I147=23 +I148=343 +I149=344 +I150=345 +I151=346 +I152=347 +I153=348 +I154=349 +I155=350 +I156=351 +I157=352 +I158=353 +I159=354 +I172=43 +I177=49 +I193=51 +I202=52 +I221=371 +I222=372 +I223=373 +I224=374 +I225=375 +I226=376 +I227=377 +I228=378 +I229=379 +I230=380 +I231=381 +I232=382 +I233=383 +I234=384 +I235=385 +I236=386 +I237=387 +I238=388 +I239=389 +I240=390 +I471=8 +I472=9 +I473=21 +I474=24 +I475=25 +I476=26 +I487=27 +I488=28 +I489=29 +mO=159 +tO=488 +O14=10 +O16=14 +O61=320 +O62=4 +O63=321 +O64=322 +O65=323 +O66=324 +O67=325 +O68=326 +O69=327 +O70=328 +O71=329 +O72=330 +O73=331 +O74=332 +O75=333 +O76=334 +O77=335 +O78=336 +O79=337 +O80=338 +O112=42 +O140=6 +O141=93 +O142=94 +O143=95 +O144=355 +O145=356 +O146=357 +O147=358 +O148=359 +O149=360 +O150=361 +O151=362 +O152=363 +O153=364 +O154=365 +O155=366 +O156=367 +O157=368 +O158=369 +O159=370 +O171=44 +O172=45 +O173=46 +O175=47 +O176=48 +O192=50 +O193=53 +O220=391 +O221=392 +O222=393 +O223=394 +O224=395 +O225=396 +O226=397 +O227=398 +O228=399 +O229=400 +O230=401 +O231=402 +O232=403 +O233=404 +O234=405 +O235=406 +O236=407 +O237=408 +O238=409 +O239=410 +mP=1 +P1=21001d +] +[ +ObjTp=Sm +H=32 +SmC=156 +Nm=SUBSYSTEM +ObjVer=1 +SmVr=1193 +PrH=23 +CF=2 +Cmn1=Device001 +mC=2 +C1=33 +C2=34 +] +[ +ObjTp=Sm +H=33 +SmC=20 +Nm=Buffer +ObjVer=1 +SmVr=1193 +PrH=32 +CF=2 +n1I=5 +n1O=4 +Cmn1=**sigterm** +mI=5 +I1=1 +I2=101 +I3=101 +I4=101 +I5=101 +mO=4 +tO=4 +O1=31 +O2=32 +O3=33 +O4=34 +] +[ +ObjTp=Sm +H=34 +SmC=46 +Nm=Analog Buffer +ObjVer=1 +SmVr=1193 +PrH=32 +CF=2 +n1I=5 +n1O=4 +Cmn1=**sigterm**\\ +mI=5 +I1=1 +I2=39 +I3=39 +I4=40 +I5=40 +mO=4 +tO=4 +O1=35 +O2=36 +O3=37 +O4=38 +] +[ +ObjTp=FusionGUID +Code=1 +System=Default +SH1=7 +GUID1=bae0dd4e-4113-497c-b51b-b1be87dfbadb +SH2=13 +GUID2=58ed5e9f-0dfa-48f2-ae50-672a5018ed5b +SH3=17 +GUID3=cfa5bbb2-1117-4b6e-905d-6d190064dc23 +] +[ +ObjTp=Sg +H=4 +Nm=SYS.Room01.Fusion.Attribute.Digital02.Fb +] +[ +ObjTp=Sg +H=5 +Nm=SYS.Room01.Fusion.Attribute.Digital02.Cmd +] +[ +ObjTp=Sg +H=6 +Nm=SYS.Room01.Fusion.Attribute.Analog01.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=7 +Nm=SYS.Room01.Fusion.Attribute.Analog03.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=8 +Nm=SYS.Room01.Fusion.CustomProperties.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=9 +Nm=SYS.Room01.Fusion.CustomProperties.PhoneNumber.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=10 +Nm=SYS.Room01.Fusion.System.PowerOn.Fb +] +[ +ObjTp=Sg +H=11 +Nm=SYS.Room01.Fusion.System.PowerOn.Cmd +] +[ +ObjTp=Sg +H=12 +Nm=SYS.Room01.Fusion.System.PowerOff.Cmd +] +[ +ObjTp=Sg +H=13 +Nm=SYS.Room01.Fusion.Online.Fb +] +[ +ObjTp=Sg +H=14 +Nm=SYS.Room01.Fusion.DisplayXX.PowerOn.Fb +] +[ +ObjTp=Sg +H=15 +Nm=SYS.Room01.Fusion.DisplayXX.PowerOn.Cmd +] +[ +ObjTp=Sg +H=16 +Nm=SYS.Room01.Fusion.DisplayXX.PowerOff.Cmd +] +[ +ObjTp=Sg +H=17 +Nm=SYS.Room01.Fusion.Broadcast.Message.Enabled.Fb +] +[ +ObjTp=Sg +H=18 +Nm=SYS.Room01.Fusion.Authentication.Success.Fb +] +[ +ObjTp=Sg +H=19 +Nm=SYS.Room01.Fusion.Authentication.Fail.Fb +] +[ +ObjTp=Sg +H=20 +Nm=SYS.Room01.Fusion.Attribute.Digital06.Cmd +] +[ +ObjTp=Sg +H=21 +Nm=SYS.room01.Fusion.CustomProperties.TechPassword.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=22 +Nm=SYS.Room01.Fusion.Attribute.Analog07.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=23 +Nm=SYS.Room01.Fusion.Attribute.Analog08.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=24 +Nm=SYS.room01.Fusion.CustomProperties.Help.Message.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=25 +Nm=SYS.room01.Fusion.CustomProperties.Help.Number.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=26 +Nm=SYS.room01.Fusion.CustomProperties.Keyboard.CustomKey01.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=27 +Nm=SYS.room01.Fusion.CustomProperties.Help.Request01.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=28 +Nm=SYS.room01.Fusion.CustomProperties.Help.Request02.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=29 +Nm=SYS.room01.Fusion.CustomProperties.Help.Request03.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=30 +Nm=//_SYS.Room01.Fusion.StaticAsset.Device001 +] +[ +ObjTp=Sg +H=31 +Nm=SYS.Device001.PowerOn.Fb +] +[ +ObjTp=Sg +H=32 +Nm=SYS.Device001.PowerOff.Fb +] +[ +ObjTp=Sg +H=33 +Nm=SYS.Device001.StaticAsset.Digital01.Fb +] +[ +ObjTp=Sg +H=34 +Nm=SYS.Device001.StaticAsset.Digital02.Fb +] +[ +ObjTp=Sg +H=35 +Nm=SYS.Device001.StaticAsset.Analog01.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=36 +Nm=SYS.Device001.StaticAsset.Analog02.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=37 +Nm=SYS.SYS.Device001.StaticAsset.Serial01.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=38 +Nm=SYS.SYS.Device001.StaticAsset.Serial02.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=39 +Nm=//__analog_reserved__ +SgTp=2 +] +[ +ObjTp=Sg +H=40 +Nm=//__serial_reserved__ +SgTp=4 +] +[ +ObjTp=Sg +H=41 +Nm=SYS.Room01.Fusion.Display.Usage.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=42 +Nm=SYS.Room01.Fusion.Broadcast.Message.Type.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=43 +Nm=SYS.Room01.Fusion.Help.Message.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=44 +Nm=SYS.Room01.Fusion.Help.Message.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=45 +Nm=SYS.Room01.Fusion.Error.Message.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=46 +Nm=SYS.Room01.Fusion.Log.Text.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=47 +Nm=SYS.Room01.Fusion.Device.Usage.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=48 +Nm=SYS.Room01.Fusion.Text.Message.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=49 +Nm=SYS.Room01.Fusion.Text.Message.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=50 +Nm=SYS.Room01.Fusion.Broadcast.Message.Text.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=51 +Nm=SYS.Room01.Fusion.Broadcast.Message.Text.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=52 +Nm=SYS.Room01.Fusion.GroupMembership.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=53 +Nm=SYS.Room01.Fusion.FreeBusyStatus.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=89 +Nm=SYS.Room01.Fusion.Attribute.Analog01.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=93 +Nm=SYS.Room01.Fusion.Attribute.Analog02.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=94 +Nm=SYS.Room01.Fusion.Attribute.Analog03.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=95 +Nm=SYS.Room01.Fusion.Attribute.Analog04.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=97 +Nm=SYS.System.Room.Id.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=98 +Nm=SYS.System.Room.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=99 +Nm=SYS.System.Device.Appliance.Fb +] +[ +ObjTp=Sg +H=100 +Nm=SYS.System.Device.Server.Fb +] +[ +ObjTp=Sg +H=101 +Nm=//__digital_reserved__ +] +[ +ObjTp=Sg +H=102 +Nm=SYS.DeviceMonitor.Device003.Ok.Fb +] +[ +ObjTp=Sg +H=103 +Nm=SYS.DeviceMonitor.Device004.Ok.Fb +] +[ +ObjTp=Sg +H=104 +Nm=SYS.DeviceMonitor.Device005.Ok.Fb +] +[ +ObjTp=Sg +H=105 +Nm=SYS.DeviceMonitor.Device006.Ok.Fb +] +[ +ObjTp=Sg +H=106 +Nm=SYS.DeviceMonitor.Device007.Ok.Fb +] +[ +ObjTp=Sg +H=107 +Nm=SYS.DeviceMonitor.Device008.Ok.Fb +] +[ +ObjTp=Sg +H=108 +Nm=SYS.DeviceMonitor.Device009.Ok.Fb +] +[ +ObjTp=Sg +H=109 +Nm=SYS.DeviceMonitor.Device010.Ok.Fb +] +[ +ObjTp=Sg +H=110 +Nm=SYS.DeviceMonitor.Device011.Ok.Fb +] +[ +ObjTp=Sg +H=111 +Nm=SYS.DeviceMonitor.Device012.Ok.Fb +] +[ +ObjTp=Sg +H=112 +Nm=SYS.DeviceMonitor.Device013.Ok.Fb +] +[ +ObjTp=Sg +H=113 +Nm=SYS.DeviceMonitor.Device014.Ok.Fb +] +[ +ObjTp=Sg +H=114 +Nm=SYS.DeviceMonitor.Device015.Ok.Fb +] +[ +ObjTp=Sg +H=115 +Nm=SYS.DeviceMonitor.Device016.Ok.Fb +] +[ +ObjTp=Sg +H=116 +Nm=SYS.DeviceMonitor.Device017.Ok.Fb +] +[ +ObjTp=Sg +H=117 +Nm=SYS.DeviceMonitor.Device018.Ok.Fb +] +[ +ObjTp=Sg +H=118 +Nm=SYS.DeviceMonitor.Device019.Ok.Fb +] +[ +ObjTp=Sg +H=119 +Nm=SYS.DeviceMonitor.Device020.Ok.Fb +] +[ +ObjTp=Sg +H=120 +Nm=SYS.DeviceMonitor.Device021.Ok.Fb +] +[ +ObjTp=Sg +H=121 +Nm=SYS.DeviceMonitor.Device022.Ok.Fb +] +[ +ObjTp=Sg +H=122 +Nm=SYS.DeviceMonitor.Device023.Ok.Fb +] +[ +ObjTp=Sg +H=123 +Nm=SYS.DeviceMonitor.Device024.Ok.Fb +] +[ +ObjTp=Sg +H=124 +Nm=SYS.DeviceMonitor.Device025.Ok.Fb +] +[ +ObjTp=Sg +H=125 +Nm=SYS.DeviceMonitor.Device026.Ok.Fb +] +[ +ObjTp=Sg +H=126 +Nm=SYS.DeviceMonitor.Device027.Ok.Fb +] +[ +ObjTp=Sg +H=127 +Nm=SYS.DeviceMonitor.Device028.Ok.Fb +] +[ +ObjTp=Sg +H=128 +Nm=SYS.DeviceMonitor.Device029.Ok.Fb +] +[ +ObjTp=Sg +H=129 +Nm=SYS.DeviceMonitor.Device030.Ok.Fb +] +[ +ObjTp=Sg +H=130 +Nm=SYS.DeviceMonitor.Device031.Ok.Fb +] +[ +ObjTp=Sg +H=131 +Nm=SYS.DeviceMonitor.Device032.Ok.Fb +] +[ +ObjTp=Sg +H=132 +Nm=SYS.DeviceMonitor.Device033.Ok.Fb +] +[ +ObjTp=Sg +H=133 +Nm=SYS.DeviceMonitor.Device034.Ok.Fb +] +[ +ObjTp=Sg +H=134 +Nm=SYS.DeviceMonitor.Device035.Ok.Fb +] +[ +ObjTp=Sg +H=135 +Nm=SYS.DeviceMonitor.Device036.Ok.Fb +] +[ +ObjTp=Sg +H=136 +Nm=SYS.DeviceMonitor.Device037.Ok.Fb +] +[ +ObjTp=Sg +H=137 +Nm=SYS.DeviceMonitor.Device038.Ok.Fb +] +[ +ObjTp=Sg +H=138 +Nm=SYS.DeviceMonitor.Device039.Ok.Fb +] +[ +ObjTp=Sg +H=139 +Nm=SYS.DeviceMonitor.Device040.Ok.Fb +] +[ +ObjTp=Sg +H=140 +Nm=SYS.DeviceMonitor.Device041.Ok.Fb +] +[ +ObjTp=Sg +H=141 +Nm=SYS.DeviceMonitor.Device042.Ok.Fb +] +[ +ObjTp=Sg +H=142 +Nm=SYS.DeviceMonitor.Device043.Ok.Fb +] +[ +ObjTp=Sg +H=143 +Nm=SYS.DeviceMonitor.Device044.Ok.Fb +] +[ +ObjTp=Sg +H=144 +Nm=SYS.DeviceMonitor.Device045.Ok.Fb +] +[ +ObjTp=Sg +H=145 +Nm=SYS.DeviceMonitor.Device046.Ok.Fb +] +[ +ObjTp=Sg +H=146 +Nm=SYS.DeviceMonitor.Device047.Ok.Fb +] +[ +ObjTp=Sg +H=147 +Nm=SYS.DeviceMonitor.Device048.Ok.Fb +] +[ +ObjTp=Sg +H=148 +Nm=SYS.DeviceMonitor.Device049.Ok.Fb +] +[ +ObjTp=Sg +H=149 +Nm=SYS.DeviceMonitor.Device050.Ok.Fb +] +[ +ObjTp=Sg +H=150 +Nm=SYS.DeviceMonitor.Device001.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=151 +Nm=SYS.DeviceMonitor.Device001.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=152 +Nm=SYS.DeviceMonitor.Device002.Ok.Fb +] +[ +ObjTp=Sg +H=153 +Nm=SYS.DeviceMonitor.Device002.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=154 +Nm=SYS.DeviceMonitor.Device003.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=155 +Nm=SYS.DeviceMonitor.Device004.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=156 +Nm=SYS.DeviceMonitor.Device005.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=157 +Nm=SYS.DeviceMonitor.Device006.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=158 +Nm=SYS.DeviceMonitor.Device007.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=159 +Nm=SYS.DeviceMonitor.Device008.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=160 +Nm=SYS.DeviceMonitor.Device009.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=161 +Nm=SYS.DeviceMonitor.Device010.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=162 +Nm=SYS.DeviceMonitor.Device011.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=163 +Nm=SYS.DeviceMonitor.Device012.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=164 +Nm=SYS.DeviceMonitor.Device013.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=165 +Nm=SYS.DeviceMonitor.Device014.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=166 +Nm=SYS.DeviceMonitor.Device015.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=167 +Nm=SYS.DeviceMonitor.Device016.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=168 +Nm=SYS.DeviceMonitor.Device017.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=169 +Nm=SYS.DeviceMonitor.Device018.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=170 +Nm=SYS.DeviceMonitor.Device019.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=171 +Nm=SYS.DeviceMonitor.Device020.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=172 +Nm=SYS.DeviceMonitor.Device021.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=173 +Nm=SYS.DeviceMonitor.Device022.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=174 +Nm=SYS.DeviceMonitor.Device023.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=175 +Nm=SYS.DeviceMonitor.Device024.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=176 +Nm=SYS.DeviceMonitor.Device025.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=177 +Nm=SYS.DeviceMonitor.Device026.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=178 +Nm=SYS.DeviceMonitor.Device027.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=179 +Nm=SYS.DeviceMonitor.Device028.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=180 +Nm=SYS.DeviceMonitor.Device029.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=181 +Nm=SYS.DeviceMonitor.Device030.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=182 +Nm=SYS.DeviceMonitor.Device031.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=183 +Nm=SYS.DeviceMonitor.Device032.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=184 +Nm=SYS.DeviceMonitor.Device033.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=185 +Nm=SYS.DeviceMonitor.Device034.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=186 +Nm=SYS.DeviceMonitor.Device035.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=187 +Nm=SYS.DeviceMonitor.Device036.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=188 +Nm=SYS.DeviceMonitor.Device037.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=189 +Nm=SYS.DeviceMonitor.Device038.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=190 +Nm=SYS.DeviceMonitor.Device039.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=191 +Nm=SYS.DeviceMonitor.Device040.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=192 +Nm=SYS.DeviceMonitor.Device041.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=193 +Nm=SYS.DeviceMonitor.Device042.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=194 +Nm=SYS.DeviceMonitor.Device043.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=195 +Nm=SYS.DeviceMonitor.Device044.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=196 +Nm=SYS.DeviceMonitor.Device045.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=197 +Nm=SYS.DeviceMonitor.Device046.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=198 +Nm=SYS.DeviceMonitor.Device047.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=199 +Nm=SYS.DeviceMonitor.Device048.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=200 +Nm=SYS.DeviceMonitor.Device049.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=201 +Nm=SYS.DeviceMonitor.Device050.Name.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=202 +Nm=SYS.DeviceMonitor.Device001.Ok.Fb +] +[ +ObjTp=Sg +H=203 +Nm=SYS.DeviceMonitor.Device002.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=204 +Nm=SYS.DeviceMonitor.Device003.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=205 +Nm=SYS.DeviceMonitor.Device004.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=206 +Nm=SYS.DeviceMonitor.Device005.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=207 +Nm=SYS.DeviceMonitor.Device006.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=208 +Nm=SYS.DeviceMonitor.Device007.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=209 +Nm=SYS.DeviceMonitor.Device008.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=210 +Nm=SYS.DeviceMonitor.Device009.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=211 +Nm=SYS.DeviceMonitor.Device010.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=212 +Nm=SYS.DeviceMonitor.Device011.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=213 +Nm=SYS.DeviceMonitor.Device012.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=214 +Nm=SYS.DeviceMonitor.Device013.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=215 +Nm=SYS.DeviceMonitor.Device014.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=216 +Nm=SYS.DeviceMonitor.Device015.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=217 +Nm=SYS.DeviceMonitor.Device016.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=218 +Nm=SYS.DeviceMonitor.Device017.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=219 +Nm=SYS.DeviceMonitor.Device018.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=220 +Nm=SYS.DeviceMonitor.Device019.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=221 +Nm=SYS.DeviceMonitor.Device020.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=222 +Nm=SYS.DeviceMonitor.Device021.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=223 +Nm=SYS.DeviceMonitor.Device022.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=224 +Nm=SYS.DeviceMonitor.Device023.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=225 +Nm=SYS.DeviceMonitor.Device024.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=226 +Nm=SYS.DeviceMonitor.Device025.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=227 +Nm=SYS.DeviceMonitor.Device026.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=228 +Nm=SYS.DeviceMonitor.Device027.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=229 +Nm=SYS.DeviceMonitor.Device028.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=230 +Nm=SYS.DeviceMonitor.Device029.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=231 +Nm=SYS.DeviceMonitor.Device030.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=232 +Nm=SYS.DeviceMonitor.Device031.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=233 +Nm=SYS.DeviceMonitor.Device032.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=234 +Nm=SYS.DeviceMonitor.Device033.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=235 +Nm=SYS.DeviceMonitor.Device034.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=236 +Nm=SYS.DeviceMonitor.Device035.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=237 +Nm=SYS.DeviceMonitor.Device036.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=238 +Nm=SYS.DeviceMonitor.Device037.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=239 +Nm=SYS.DeviceMonitor.Device038.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=240 +Nm=SYS.DeviceMonitor.Device039.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=241 +Nm=SYS.DeviceMonitor.Device040.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=242 +Nm=SYS.DeviceMonitor.Device041.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=243 +Nm=SYS.DeviceMonitor.Device042.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=244 +Nm=SYS.DeviceMonitor.Device043.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=245 +Nm=SYS.DeviceMonitor.Device044.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=246 +Nm=SYS.DeviceMonitor.Device045.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=247 +Nm=SYS.DeviceMonitor.Device046.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=248 +Nm=SYS.DeviceMonitor.Device047.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=249 +Nm=SYS.DeviceMonitor.Device048.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=250 +Nm=SYS.DeviceMonitor.Device049.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=251 +Nm=SYS.DeviceMonitor.Device050.Status.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=252 +Nm=SYS.Device001.Online.Fb +] +[ +ObjTp=Sg +H=253 +Nm=SYS.Device002.Online.Fb +] +[ +ObjTp=Sg +H=254 +Nm=SYS.Device003.Online.Fb +] +[ +ObjTp=Sg +H=255 +Nm=SYS.Device004.Online.Fb +] +[ +ObjTp=Sg +H=256 +Nm=SYS.Device005.Online.Fb +] +[ +ObjTp=Sg +H=257 +Nm=SYS.Device006.Online.Fb +] +[ +ObjTp=Sg +H=258 +Nm=SYS.Device007.Online.Fb +] +[ +ObjTp=Sg +H=259 +Nm=SYS.Device008.Online.Fb +] +[ +ObjTp=Sg +H=260 +Nm=SYS.Device009.Online.Fb +] +[ +ObjTp=Sg +H=261 +Nm=SYS.Device010.Online.Fb +] +[ +ObjTp=Sg +H=262 +Nm=SYS.Device011.Online.Fb +] +[ +ObjTp=Sg +H=263 +Nm=SYS.Device012.Online.Fb +] +[ +ObjTp=Sg +H=264 +Nm=SYS.Device013.Online.Fb +] +[ +ObjTp=Sg +H=265 +Nm=SYS.Device014.Online.Fb +] +[ +ObjTp=Sg +H=266 +Nm=SYS.Device015.Online.Fb +] +[ +ObjTp=Sg +H=267 +Nm=SYS.Device016.Online.Fb +] +[ +ObjTp=Sg +H=268 +Nm=SYS.Device017.Online.Fb +] +[ +ObjTp=Sg +H=269 +Nm=SYS.Device018.Online.Fb +] +[ +ObjTp=Sg +H=270 +Nm=SYS.Device019.Online.Fb +] +[ +ObjTp=Sg +H=271 +Nm=SYS.Device020.Online.Fb +] +[ +ObjTp=Sg +H=272 +Nm=SYS.Device021.Online.Fb +] +[ +ObjTp=Sg +H=273 +Nm=SYS.Device022.Online.Fb +] +[ +ObjTp=Sg +H=274 +Nm=SYS.Device023.Online.Fb +] +[ +ObjTp=Sg +H=275 +Nm=SYS.Device024.Online.Fb +] +[ +ObjTp=Sg +H=276 +Nm=SYS.Device025.Online.Fb +] +[ +ObjTp=Sg +H=277 +Nm=SYS.Device026.Online.Fb +] +[ +ObjTp=Sg +H=278 +Nm=SYS.Device027.Online.Fb +] +[ +ObjTp=Sg +H=279 +Nm=SYS.Device028.Online.Fb +] +[ +ObjTp=Sg +H=280 +Nm=SYS.Device029.Online.Fb +] +[ +ObjTp=Sg +H=281 +Nm=SYS.Device030.Online.Fb +] +[ +ObjTp=Sg +H=282 +Nm=SYS.Device031.Online.Fb +] +[ +ObjTp=Sg +H=283 +Nm=SYS.Device032.Online.Fb +] +[ +ObjTp=Sg +H=284 +Nm=SYS.Device033.Online.Fb +] +[ +ObjTp=Sg +H=285 +Nm=SYS.Device034.Online.Fb +] +[ +ObjTp=Sg +H=286 +Nm=SYS.Device035.Online.Fb +] +[ +ObjTp=Sg +H=287 +Nm=SYS.Device036.Online.Fb +] +[ +ObjTp=Sg +H=288 +Nm=SYS.Device037.Online.Fb +] +[ +ObjTp=Sg +H=289 +Nm=SYS.Device038.Online.Fb +] +[ +ObjTp=Sg +H=290 +Nm=SYS.Device039.Online.Fb +] +[ +ObjTp=Sg +H=291 +Nm=SYS.Device040.Online.Fb +] +[ +ObjTp=Sg +H=292 +Nm=SYS.Device041.Online.Fb +] +[ +ObjTp=Sg +H=293 +Nm=SYS.Device042.Online.Fb +] +[ +ObjTp=Sg +H=294 +Nm=SYS.Device043.Online.Fb +] +[ +ObjTp=Sg +H=295 +Nm=SYS.Device044.Online.Fb +] +[ +ObjTp=Sg +H=296 +Nm=SYS.Device045.Online.Fb +] +[ +ObjTp=Sg +H=297 +Nm=SYS.Device046.Online.Fb +] +[ +ObjTp=Sg +H=298 +Nm=SYS.Device047.Online.Fb +] +[ +ObjTp=Sg +H=299 +Nm=SYS.Device048.Online.Fb +] +[ +ObjTp=Sg +H=300 +Nm=SYS.Device049.Online.Fb +] +[ +ObjTp=Sg +H=301 +Nm=SYS.Device050.Online.Fb +] +[ +ObjTp=Sg +H=302 +Nm=SYS.Room01.Fusion.Attribute.Digital01.Cmd +] +[ +ObjTp=Sg +H=303 +Nm=SYS.Room01.Fusion.Attribute.Digital03.Cmd +] +[ +ObjTp=Sg +H=304 +Nm=SYS.Room01.Fusion.Attribute.Digital04.Cmd +] +[ +ObjTp=Sg +H=305 +Nm=SYS.Room01.Fusion.Attribute.Digital05.Cmd +] +[ +ObjTp=Sg +H=306 +Nm=SYS.Room01.Fusion.Attribute.Digital07.Cmd +] +[ +ObjTp=Sg +H=307 +Nm=SYS.Room01.Fusion.Attribute.Digital08.Cmd +] +[ +ObjTp=Sg +H=308 +Nm=SYS.Room01.Fusion.Attribute.Digital09.Cmd +] +[ +ObjTp=Sg +H=309 +Nm=SYS.Room01.Fusion.Attribute.Digital10.Cmd +] +[ +ObjTp=Sg +H=310 +Nm=SYS.Room01.Fusion.Attribute.Digital11.Cmd +] +[ +ObjTp=Sg +H=311 +Nm=SYS.Room01.Fusion.Attribute.Digital12.Cmd +] +[ +ObjTp=Sg +H=312 +Nm=SYS.Room01.Fusion.Attribute.Digital13.Cmd +] +[ +ObjTp=Sg +H=313 +Nm=SYS.Room01.Fusion.Attribute.Digital14.Cmd +] +[ +ObjTp=Sg +H=314 +Nm=SYS.Room01.Fusion.Attribute.Digital15.Cmd +] +[ +ObjTp=Sg +H=315 +Nm=SYS.Room01.Fusion.Attribute.Digital16.Cmd +] +[ +ObjTp=Sg +H=316 +Nm=SYS.Room01.Fusion.Attribute.Digital17.Cmd +] +[ +ObjTp=Sg +H=317 +Nm=SYS.Room01.Fusion.Attribute.Digital18.Cmd +] +[ +ObjTp=Sg +H=318 +Nm=SYS.Room01.Fusion.Attribute.Digital19.Cmd +] +[ +ObjTp=Sg +H=319 +Nm=SYS.Room01.Fusion.Attribute.Digital20.Cmd +] +[ +ObjTp=Sg +H=320 +Nm=SYS.Room01.Fusion.Attribute.Digital01.Fb +] +[ +ObjTp=Sg +H=321 +Nm=SYS.Room01.Fusion.Attribute.Digital03.Fb +] +[ +ObjTp=Sg +H=322 +Nm=SYS.Room01.Fusion.Attribute.Digital04.Fb +] +[ +ObjTp=Sg +H=323 +Nm=SYS.Room01.Fusion.Attribute.Digital05.Fb +] +[ +ObjTp=Sg +H=324 +Nm=SYS.Room01.Fusion.Attribute.Digital06.Fb +] +[ +ObjTp=Sg +H=325 +Nm=SYS.Room01.Fusion.Attribute.Digital07.Fb +] +[ +ObjTp=Sg +H=326 +Nm=SYS.Room01.Fusion.Attribute.Digital08.Fb +] +[ +ObjTp=Sg +H=327 +Nm=SYS.Room01.Fusion.Attribute.Digital09.Fb +] +[ +ObjTp=Sg +H=328 +Nm=SYS.Room01.Fusion.Attribute.Digital10.Fb +] +[ +ObjTp=Sg +H=329 +Nm=SYS.Room01.Fusion.Attribute.Digital11.Fb +] +[ +ObjTp=Sg +H=330 +Nm=SYS.Room01.Fusion.Attribute.Digital12.Fb +] +[ +ObjTp=Sg +H=331 +Nm=SYS.Room01.Fusion.Attribute.Digital13.Fb +] +[ +ObjTp=Sg +H=332 +Nm=SYS.Room01.Fusion.Attribute.Digital14.Fb +] +[ +ObjTp=Sg +H=333 +Nm=SYS.Room01.Fusion.Attribute.Digital15.Fb +] +[ +ObjTp=Sg +H=334 +Nm=SYS.Room01.Fusion.Attribute.Digital16.Fb +] +[ +ObjTp=Sg +H=335 +Nm=SYS.Room01.Fusion.Attribute.Digital17.Fb +] +[ +ObjTp=Sg +H=336 +Nm=SYS.Room01.Fusion.Attribute.Digital18.Fb +] +[ +ObjTp=Sg +H=337 +Nm=SYS.Room01.Fusion.Attribute.Digital19.Fb +] +[ +ObjTp=Sg +H=338 +Nm=SYS.Room01.Fusion.Attribute.Digital20.Fb +] +[ +ObjTp=Sg +H=339 +Nm=SYS.Room01.Fusion.Attribute.Analog02.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=340 +Nm=SYS.Room01.Fusion.Attribute.Analog04.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=341 +Nm=SYS.Room01.Fusion.Attribute.Analog05.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=342 +Nm=SYS.Room01.Fusion.Attribute.Analog06.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=343 +Nm=SYS.Room01.Fusion.Attribute.Analog09.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=344 +Nm=SYS.Room01.Fusion.Attribute.Analog10.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=345 +Nm=SYS.Room01.Fusion.Attribute.Analog11.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=346 +Nm=SYS.Room01.Fusion.Attribute.Analog12.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=347 +Nm=SYS.Room01.Fusion.Attribute.Analog13.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=348 +Nm=SYS.Room01.Fusion.Attribute.Analog14.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=349 +Nm=SYS.Room01.Fusion.Attribute.Analog15.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=350 +Nm=SYS.Room01.Fusion.Attribute.Analog16.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=351 +Nm=SYS.Room01.Fusion.Attribute.Analog17.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=352 +Nm=SYS.Room01.Fusion.Attribute.Analog18.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=353 +Nm=SYS.Room01.Fusion.Attribute.Analog19.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=354 +Nm=SYS.Room01.Fusion.Attribute.Analog20.Cmd +SgTp=2 +] +[ +ObjTp=Sg +H=355 +Nm=SYS.Room01.Fusion.Attribute.Analog05.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=356 +Nm=SYS.Room01.Fusion.Attribute.Analog06.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=357 +Nm=SYS.Room01.Fusion.Attribute.Analog07.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=358 +Nm=SYS.Room01.Fusion.Attribute.Analog08.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=359 +Nm=SYS.Room01.Fusion.Attribute.Analog09.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=360 +Nm=SYS.Room01.Fusion.Attribute.Analog10.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=361 +Nm=SYS.Room01.Fusion.Attribute.Analog11.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=362 +Nm=SYS.Room01.Fusion.Attribute.Analog12.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=363 +Nm=SYS.Room01.Fusion.Attribute.Analog13.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=364 +Nm=SYS.Room01.Fusion.Attribute.Analog14.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=365 +Nm=SYS.Room01.Fusion.Attribute.Analog15.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=366 +Nm=SYS.Room01.Fusion.Attribute.Analog16.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=367 +Nm=SYS.Room01.Fusion.Attribute.Analog17.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=368 +Nm=SYS.Room01.Fusion.Attribute.Analog18.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=369 +Nm=SYS.Room01.Fusion.Attribute.Analog19.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=370 +Nm=SYS.Room01.Fusion.Attribute.Analog20.Fb +SgTp=2 +] +[ +ObjTp=Sg +H=371 +Nm=SYS.Room01.Fusion.Attribute.Serial01.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=372 +Nm=SYS.Room01.Fusion.Attribute.Serial02.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=373 +Nm=SYS.Room01.Fusion.Attribute.Serial03.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=374 +Nm=SYS.Room01.Fusion.Attribute.Serial04.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=375 +Nm=SYS.Room01.Fusion.Attribute.Serial05.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=376 +Nm=SYS.Room01.Fusion.Attribute.Serial06.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=377 +Nm=SYS.Room01.Fusion.Attribute.Serial07.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=378 +Nm=SYS.Room01.Fusion.Attribute.Serial08.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=379 +Nm=SYS.Room01.Fusion.Attribute.Serial09.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=380 +Nm=SYS.Room01.Fusion.Attribute.Serial10.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=381 +Nm=SYS.Room01.Fusion.Attribute.Serial11.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=382 +Nm=SYS.Room01.Fusion.Attribute.Serial12.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=383 +Nm=SYS.Room01.Fusion.Attribute.Serial13.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=384 +Nm=SYS.Room01.Fusion.Attribute.Serial14.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=385 +Nm=SYS.Room01.Fusion.Attribute.Serial15.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=386 +Nm=SYS.Room01.Fusion.Attribute.Serial16.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=387 +Nm=SYS.Room01.Fusion.Attribute.Serial17.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=388 +Nm=SYS.Room01.Fusion.Attribute.Serial18.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=389 +Nm=SYS.Room01.Fusion.Attribute.Serial19.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=390 +Nm=SYS.Room01.Fusion.Attribute.Serial20.Cmd +SgTp=4 +] +[ +ObjTp=Sg +H=391 +Nm=SYS.Room01.Fusion.Attribute.Serial01.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=392 +Nm=SYS.Room01.Fusion.Attribute.Serial02.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=393 +Nm=SYS.Room01.Fusion.Attribute.Serial03.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=394 +Nm=SYS.Room01.Fusion.Attribute.Serial04.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=395 +Nm=SYS.Room01.Fusion.Attribute.Serial05.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=396 +Nm=SYS.Room01.Fusion.Attribute.Serial06.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=397 +Nm=SYS.Room01.Fusion.Attribute.Serial07.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=398 +Nm=SYS.Room01.Fusion.Attribute.Serial08.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=399 +Nm=SYS.Room01.Fusion.Attribute.Serial09.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=400 +Nm=SYS.Room01.Fusion.Attribute.Serial10.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=401 +Nm=SYS.Room01.Fusion.Attribute.Serial11.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=402 +Nm=SYS.Room01.Fusion.Attribute.Serial12.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=403 +Nm=SYS.Room01.Fusion.Attribute.Serial13.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=404 +Nm=SYS.Room01.Fusion.Attribute.Serial14.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=405 +Nm=SYS.Room01.Fusion.Attribute.Serial15.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=406 +Nm=SYS.Room01.Fusion.Attribute.Serial16.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=407 +Nm=SYS.Room01.Fusion.Attribute.Serial17.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=408 +Nm=SYS.Room01.Fusion.Attribute.Serial18.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=409 +Nm=SYS.Room01.Fusion.Attribute.Serial19.Fb +SgTp=4 +] +[ +ObjTp=Sg +H=410 +Nm=SYS.Room01.Fusion.Attribute.Serial20.Fb +SgTp=4 +] diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_CrosspointList.txt b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_CrosspointList.txt new file mode 100644 index 0000000..090fc5b --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_CrosspointList.txt @@ -0,0 +1,13 @@ +Crosspoint listing for C:\_pdt-github\PD\epi-utilities-dynfusion\SIMPL_Example\PD_DynFuison_Plugin_RMC4_v00.01.SMW + +Note: Crosspoint symbols with EquipID or ControlID set to 0d are not routeable. + +Equipment Crosspoint Routing. EquipID +=========================================================================================================== +S-4.2.1 21001 +S-4.1.2 60001 + +Control Crosspoint Routing. ControlID +============================================================================================================= +No symbols of this type found in the program + diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_archive.zip b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_archive.zip new file mode 100644 index 0000000..212d504 --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_archive.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:488913ca384c4e2bd5389f49f8d91fa488e7688feb4d7352cc543281c2c60cfb +size 14894 diff --git a/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_compiled.zip b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_compiled.zip new file mode 100644 index 0000000..bd94e44 --- /dev/null +++ b/SIMPL_Example/PD_DynFuison_Plugin_RMC4_v00.01_compiled.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e164ae1420a3d5c69721b1ff2d2a5f15f3e4181ae1963afe0b667fa8299807db +size 1130368 diff --git a/SIMPL_Example/SPlsWork/InitialParameters.dll b/SIMPL_Example/SPlsWork/InitialParameters.dll new file mode 100644 index 0000000000000000000000000000000000000000..96a4211b864a544186d9d4f8c2389b16f0287183 GIT binary patch literal 7272 zcmeHLdz4evx&O{SCz&L}4D*0_$lxT5Ko}%FnL#OvI5U|UCfs?M4ESn0WHN^#kmQ7O z5(TH|%%FJbTDD+Cv==Dla=mz^tM$=}R;r@a+A397*P^X0wRY82xq2|QMV-1 z8>R0I=T>{2n5S5B5S4*qx2V3)p?9OTpmE?v$1J-s687_+#?U|yw-WZ%a+^@X^>AgP z&v%?izxEOJ@j(mGk1;R*)DW%WPFX=TDNpZb>ls*R9Fe15rHKT}8VVxtJ6;)O*nT?UZrXJzR{oQ@sk=w3nh+CZr~ zC3!K;<%NvvVy|4^n4ROqoGKl@g`T-t8Zf0gOY@!4QGKoswLm_n!(X5`r(?cFGhltH z`i>H8$7QebVrADJyVoU_z9cK+&x;fnRe9k#*PbFF(n!-(MvH`BshsJEjLT)Ozs#Cv z_d>VbUcbmfy;#FF>!_=k73rlI9;Ks2Oh<0Gel0gjbygf^&n6d`5)W;2Gr=)Lm8wEN zKo7r`S2GhCjzvz{%h8)i6PLFVfH4yuvTuOp3aet~6wo$spRv)Y7*?@Sj_61i7lRVP z=5Dsw)ohd_78|px`D`9hHi{zQvpJ&IW@igF53I$;Y>rs$QEoxCegQ;hF($AL(||PE z8ylId*u2=OtMNklVpi2y-RLu?106#)D2+3i?5!6}=5=R#5AU0pcLw@-Vg?Z8Zx*=} zQ!dJ57c%cmE{}dzwx7*=O!4N0P$1!@ZBjP-c`e=0R+U0Ub7G(!~mD$USnD?x5KylF<$}w6( zAHoAw)McAzv(x>yZDMW90`5ZzyLVG3?BinwYy=WcD#mU&W&kSz<`mclVCBF{>8i0w zk_&K-fL#Kv1uUn1QZ+O^FHHkHEZ`rcdW=sBxS3r>{cfnCaq_YT(7)i}*mI<^IauSV zEOrI+!C$u{Z8$F^u+0M7RI`yafp?dM(Kfai{@5X~tu=dW$5C|q@{$2y59To+cJ)|x z-VW$=(9>CL4+{c2oW=GD?6oYmpY?$EmW5$;AG~oq%i~&{^kEizP+$`Bn`jgL5L!@` z*yB$bherhbEg++}0cAQND0U=nIpz+%59*0QQ_;~rhEnP9>quNX(QVX_^PstwqkrA zZKhh=e(2fA9)ip=+hce)#cV$zf0mN4y^1X7lyVxg{T?zqY<~pg5tsw$qi+Ge5AH@5 zpjttxCGL}2+QW*ZTG}VzepW1b1lJ?D9^#(zz(Yln6ZKL8oet!)6YKMF8OBk1k3OcG zX$!qghv+p@#^{{KBRod5#dGs5oF&n}3JEK_En$gXK95GIAx`9STRb1#YK{Lx&}31m zoI;eO6ImLAjr`4vaPenRk3O7JtRQsd&chU5*JfI2h=-K})6w2l=okgNq4W-s>pH`whR%Y%WA{_fU+&c0Aj zYkz-tu(dY;>Gs%2EM1`IY{76xXn9BIe5pXdKs2I}co+_e=}8(HjGjZWUILbVS<~}I z(pjt0*=y#FJBM!BVmY;AofggTg#$Vqh?`@mqchYI?xN02QW(?|i6u#dM+79BJh7X! zEHNL30!}WMEXzBRQGFP%G4e&zx{?2sT&C^B;BzgBVw%2>nSXb94{9gliGAWKAfxPX-Zg%+n&Aju>g~np}ADDG;$T3Kfb2hC0?owUkJ1Yw>QR3{X?~a*iY8@U1-7?iGT0!pDQyGL= z3uMf+o@h?WzmElZ`Pa7G`n1@un;7JnL&<*Ia!*{y$8J74|H*v=Tb#jw zZnVea;y@KuscGWP%ekj#lDowc`+o`fjhzTzbz^65&-x-#KY`BWy3np^!FNyg3d3n} zHXm>~g=rA5gF+Yu@lQ)H@E~BP^{)#ZRNg&h-In;QGtZUTAy4B1wSw9XC_yW)FJ5iD zW`d}#m8c;8T!b4H(Ezv+P)+b7s3WWXgaCb4c@dc+!6sgJF-VPkf~I{!Mn$b!zxgzT z5z)o4NXpB%V|5cZO0I|3>zQ@jkX3Q_JR^JdS-@>k$ydAef1L-@{`q`X54f%W z4Aor0eO5jHocDjy1L8k!#z>t|uD3fIH+60LphPNSyC;-xkh+*8`HNMj-8Q#WW*68< z?Y6t-+9gGrSimG@_hNOCT3tYytU6_hb}M_>7^$9udCHWESH5=9v}f+WY44#a3m*FZ z8}y&Q+*!AKf@RbRwpN{xezjX>5@U+g^!=CBlDs974QqZ`m>@4x?3HX;IEOeYS?^MR zg<56@r>N2y!eunB#YR^7%hk!8=Bjk$zHt0i>J&~Yt}Myjrrqth?D{=wJ*Uf+H91jt z2fs_=3p*Ay-N9s3byt`8RrT}!Oa1ek{7si$S2MZE55j_`<}BeKY~T1d3;iY8NFKj~ z)bY)1e4Jjp`{38cmxhaDtuHnz#7A7k89?=b1Iz7d0Gji!T4t$L*05d;k5u zuXk;qY@b;2!O6~4K>^Zx34Zhy`5aGUF!5$T>eA4ihaum7g$GH+$sOZyQM45fl*k3MR82Ra;qqltY!W#PdfBpHFUw)V&8>B+> z5Kb9(wM2gR-KO_XEIx3--q5x0-22X}?13N8JzV|5)~8=S9_jJFcikiNo||`N@`2{+ zm&2lUAgP$uUAfd@Wahp z&FS7J)~r_N-@d;3{r9&%wesUBFP@xZYw!JI=9SXB!rG)=3%+sS+4WQW6H)?67ejih zxNp134b?|LK8$8My1@=8xX}-E-ZycD;GYqk9h@`NP^{Cx7y!%X5tW E3Y_JY1%|^M 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

    F%;te11wk{!0*7uRfG8e}NIUn7{u*uR*dO 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