private/Add-MBSCBBType.ps1
add-type -typedef @"
using System; using System.Security; using System.Net; using System.Collections.Generic; namespace MBS.Agent.Plan { public abstract class BackupPlan { public string Name; public string ID; public string StorageAccount; public MBS.Agent.Plan.BackupPlanCommonOption BackupPlanCommonOption; public MBS.Agent.Plan.Schedule Schedule; } public abstract class NBFBackupPlan { public string Name; public string ID; public MBS.Agent.StorageAccount StorageAccount; public MBS.Agent.Plan.NBFBackupPlanCommonOption BackupPlanCommonOption; public MBS.Agent.Plan.NBFIncrementalSchedule Schedule; } public class BackupPlanCommonOption { public bool SyncRepositoryBeforeRun; public bool UseServerSideEncryption; public MBS.Agent.Plan.EncryptionAlgorithm EncryptionAlgorithm; public SecureString EncryptionPassword; public bool UseCompression; public MBS.Agent.Plan.StorageClass StorageClass; public bool SaveBackupPlanConfiguration; public TimeSpan StopIfPlanRunsFor; public bool RunMissedPlanImmediately; public string PreActionCommand; public Nullable<bool> PreActionContinueAnyway; public string PostActionCommand; public Nullable<bool> PostActionRunAnyway; public MBS.Agent.Plan.Notification ResultEmailNotification; public MBS.Agent.Plan.Notification AddEventToWindowsLog; public Nullable<TimeSpan> KeepVersionPeriod; public Nullable<int> KeepNumberOfVersion; public bool KeepLastVersion; public Nullable<TimeSpan> DelayPurgePeriod; } public class NBFBackupPlanCommonOption { public bool SyncRepositoryBeforeRun; public bool UseServerSideEncryption; public MBS.Agent.Plan.EncryptionAlgorithm EncryptionAlgorithm; public SecureString EncryptionPassword; public bool UseCompression; public MBS.Agent.Plan.StorageClass StorageClass; public bool FullConsistencyCheck; public TimeSpan StopIfPlanRunsFor; public bool RunMissedPlanImmediately; public string PreActionCommand; public bool PreActionContinueAnyway; public string PostActionCommand; public bool PostActionRunAnyway; public MBS.Agent.Plan.Notification ResultEmailNotification; public MBS.Agent.Plan.Notification AddEventToWindowsLog; public Nullable<TimeSpan> KeepVersionPeriod; public int GFSKeepWeekly; public int GFSKeepMonthly; public int GFSKeepYearly; public MBS.Agent.Plan.Month GFSMonthOfTheYear; } public class FileLevelBackupPlan : BackupPlan{ public MBS.Agent.Plan.Schedule ForceFullSchedule; public bool UseBlockLevelBackup; public bool BackupNTFSPermissions; public bool ForceUsingVSS; public bool UseShareReadWriteModeOnError; public string DeleteLocallyDeletedFilesAfter; public bool BackupEmptyFolders; public string BackupOnlyAfter; public bool ExcludeSystemHiddenFiles; public string SkipFolder; public string IncludeFilesMask; public string ExcludeFilesMask; public bool IgnoreErrorPathNotFound; public bool TrackDeletedFiles; public string BackupFile; public string BackupDirectory; public bool GenerateDetailedReport; } public class NBFFileLevelBackupPlan : NBFBackupPlan{ public MBS.Agent.Plan.NBFFullSchedule ForceFullSchedule; public bool BackupNTFSPermissions; public bool FastNTFSScan; public bool ForceUsingVSS; public bool UseShareReadWriteModeOnError; public bool BackupEmptyFolders; public string BackupOnlyAfter; public bool ExcludeSystemHiddenFiles; public System.Collections.Generic.List<string> SkipFolder; public System.Collections.Generic.List<string> IncludeFilesMask; public System.Collections.Generic.List<string> ExcludeFilesMask; public bool IgnoreErrorPathNotFound; public System.Collections.Generic.List<string> BackupItem; public System.Collections.Generic.List<string> ExcludeItem; public bool GenerateDetailedReport; } public class ImageBasedBackupPlan : BackupPlan { public MBS.Agent.Plan.Schedule ForceFullSchedule; public string BackupVolumes; public string[] Volumes; public bool disableVSS; public bool ignoreBadSectors; public bool useSystemVSS; public bool useSyntheticFull; public int prefetchBlockCount; public string blockSize; } public class NBFImageBasedBackupPlan : NBFBackupPlan { public MBS.Agent.Plan.NBFFullSchedule ForceFullSchedule; public MBS.Agent.Plan.BackupVolumeType BackupVolumes; public System.Collections.Generic.List<MBS.Agent.IBBVolume> Volumes; public bool DisableVSS; public bool IgnoreBadSectors; public bool UseSystemVSS; public Nullable<int> PrefetchBlockCount; public MBS.Agent.Plan.BlockSize BlockSize; public MBS.Agent.Plan.RestoreVerificationMode RestoreVerificationMode; } public class HyperVBackupPlan : BackupPlan { public MBS.Agent.Plan.Schedule ForceFullSchedule; public string BackupVM; public string[] VirtualMachine; } public class MSSQLBackupPlan : BackupPlan { public MBS.Agent.Plan.Schedule DiffSchedule; public MBS.Agent.Plan.Schedule TLogSchedule; public string InstanceName; public bool useSSL; public bool useWinauth; public string UserName; public string Password; public string DBSelectionType; public string[] Databases; public bool CopyOnly; public bool Verify; } public class Schedule { public MBS.Agent.Plan.ScheduleFrequency Frequency; public DateTime At; public int DayOfMonth; public System.DayOfWeek[] DayOfWeek; public string WeekNumber; public TimeSpan OccursFrom; public TimeSpan OccursTo; public TimeSpan OccursEvery; public int RepeatInterval; public DateTime RepeatStartDate; } public class NBFIncrementalSchedule { public MBS.Agent.Plan.NBFScheduleFrequency Frequency; public DateTime At; public int DayOfMonth; public System.DayOfWeek[] DayOfWeek; public Nullable<MBS.Agent.Plan.WeekNumber> WeekNumber; public TimeSpan OccursFrom; public TimeSpan OccursTo; public TimeSpan OccursEvery; } public class NBFFullSchedule { public MBS.Agent.Plan.NBFScheduleFrequency Frequency; public int DayOfMonth; public System.DayOfWeek[] DayOfWeek; public Nullable<MBS.Agent.Plan.WeekNumber> WeekNumber; } public class RestorePlanCommonOption { public bool SyncRepositoryBeforeRun; public SecureString EncryptionPassword; public TimeSpan StopIfPlanRunsFor; public string PreActionCommand; public Nullable<bool> PreActionContinueAnyway; public string PostActionCommand; public Nullable<bool> PostActionRunAnyway; public MBS.Agent.Plan.Notification ResultEmailNotification; public MBS.Agent.Plan.Notification AddEventToWindowsLog; } public enum WeekNumber { First, Second, Third, Fourth, Penultimate, Last } public enum RestoreVerificationMode { DoNotRun, RunForFull, RunForIncremental, RunForFullAndIncremental } public enum BlockSize { K1024 = 1024, K512 = 512, K256 = 256, K128 = 128 } public enum Month { NotSet = 0, January = 1, February = 2, March = 3, April = 4, May = 5, June = 6, July = 7, August = 8, September = 9, October = 10, November = 11, December = 12 } public enum DatabaseSelectionType { All, User, SelectedDB } public enum BackupVolumeType { AllVolumes, SystemRequired, SelectedVolumes } public enum BackupVMType { All, OnlyRunning, SelectedVM } public enum Period { day, week, month, year } public enum EncryptionAlgorithm { AES128, AES192, AES256 } public enum StorageClass { Standard, IntelligentTiering, StandardIA, OneZoneIA, Glacier, GlacierDeepArchive } public enum Notification { errorOnly, on, off } public enum ScheduleFrequency { Once, Daily, Weekly, Monthly, DayofMonth, Realtime } public enum NBFScheduleFrequency { Once, Daily, Weekly, Monthly, DayofMonth } public enum GlacierRestoreType { Expedited, Standard, Bulk } public enum RestoreVolumeType { AllVolumes, SelectedVolume } public enum VirtualDiskType { VHDdynamic, VHDfixed, VHDXdynamic, Raw, Rawsparse, Tar, Tgz, VDIdynamic, VDIfixed, VMDKdynamic, VMDKfixed } } namespace MBS.Agent { public class License { public string User; public string ID; } public class StorageAccount { public string ID; public string Type; public string SGCloudTypeValue; public string BackupPath; public string Bucket; public string BucketID; public string DisplayName; public bool ForceSharing; public bool IsRestoreOnly; public string SGAccountID; public string SGEndPoint; public string SGFolderPath; public string SGHttpsEndPoint; public int SignatureVersion; public string Path; public bool UseSSL; } public class StorageAccountContent { public MBS.Agent.StorageAccountContentType Type; public string Name; public string FullName; public Nullable<DateTime> Date; public long Size; public bool IsCompressed; public bool IsEncrypted; public FileVersions[] Versions; } public class TestStorageAccountResult { public string Name; public string HostName; public int RemotePort; public IPAddress RemoteAddress; public bool TestSucceeded; } public class FileVersions { public DateTime Date; public long Size; public bool IsCompressed; public bool IsEncrypted; } public enum StorageAccountContentType { Folder, File, Disk } public class CLIResult { public string[] Result; public string[] Warnings; public string[] Errors; } public class CLIRawResult { public string stdout; public string stderr; public int ExitCode; } public class IBBBackup { public string Name; public DateTime DateUTC; public string Type; public bool Encrypted; public MBS.Agent.IBBDisk[] Disks; } public class IBBDisk { public int Disk; public string Type; public long Capacity; public string Model; public string Id; public System.Collections.Generic.List<MBS.Agent.IBBVolume> Volumes; } public class IBBDiskV6 { public int DiskNumber; public string DriveType; public long Capacity; public string Model; public string DiskId; public System.Collections.Generic.List<MBS.Agent.IBBVolumeV6> Volumes; } public class IBBVolume { public string MountPoints; public bool Supported; public bool RequiredBySystem; public string DriveType; public string FileSystemType; public string WindowsVolumeIdentity; public long Length; public long UsedSpace; public string Label; public bool IsBoot; public bool IsActive; } public class IBBVolumeV6 { public string[] MountPoints; public bool Supported; public bool RequiredBySystem; public string DriveType; public string FileSystemType; public string WindowsVolumeIdentity; public long Length; public long UsedSpace; } } namespace MBS.PSModule { public class Settings { public string CBBPath; public string CBBProgramData; public bool SkipCompression; public bool SkipEncryption; public bool SkipStorageClass; public bool SkipSSE; public bool SkipVSS; } } "@ # SIG # Begin signature block # MIIbtQYJKoZIhvcNAQcCoIIbpjCCG6ICAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCBJvWiilXn2gYjG # 6mUVOLOAKL+2EUPxSTzjL8yCIO8FW6CCC04wggVmMIIETqADAgECAhEA3VtfmfWb # K32tKkM2xJo7CjANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJHQjEbMBkGA1UE # CBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQK # ExFDT01PRE8gQ0EgTGltaXRlZDEjMCEGA1UEAxMaQ09NT0RPIFJTQSBDb2RlIFNp # Z25pbmcgQ0EwHhcNMTcxMjE0MDAwMDAwWhcNMjExMjE0MjM1OTU5WjCBqDELMAkG # A1UEBhMCQ1kxDTALBgNVBBEMBDEwOTUxETAPBgNVBAgMCExlZmNvc2lhMRAwDgYD # VQQHDAdOaWNvc2lhMRUwEwYDVQQJDAxMYW1wb3VzYXMsIDExJjAkBgNVBAoMHVRy # aWNoaWxpYSBDb25zdWx0YW50cyBMaW1pdGVkMSYwJAYDVQQDDB1UcmljaGlsaWEg # Q29uc3VsdGFudHMgTGltaXRlZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC # ggEBAJC5Ak9MZHfMGygnL9B+2OcFRvnTeYAJPa4tJS/ES3eSBBge9BiBUa6f+QlX # lIjt+NBD9QrewScUj9EnaguKzc8NFonBJAgT43jD5rCuuj3GljTIHftLDF9vgetf # 7KUYhwMypqxRP8pLMAuXzIzw5Yxjh1Quy92dZyJYpOuGbz1PQVRMj2fhRqeerP4J # OiRktwnykjrxDsRNm+Iuas1BM+vjVA7B9Cj0Wf5NsMxSegJezvs0yqwHrsngEQrY # GXDKHstfsxd8KM5LxJdYN1neIAO8v6AuM6yjQT1z1ZwVSCHu2swNCA3T3M26fkk9 # 9TIZZI/LvfR++FJCUvJkPoPbOKUCAwEAAaOCAbMwggGvMB8GA1UdIwQYMBaAFCmR # YP+KTfrr+aZquM/55ku9Sc4SMB0GA1UdDgQWBBRqlxdnVxjIxF6fnOYUd7LOYeNe # rjAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEF # BQcDAzARBglghkgBhvhCAQEEBAMCBBAwRgYDVR0gBD8wPTA7BgwrBgEEAbIxAQIB # AwIwKzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5ldC9DUFMw # QwYDVR0fBDwwOjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RP # UlNBQ29kZVNpZ25pbmdDQS5jcmwwdAYIKwYBBQUHAQEEaDBmMD4GCCsGAQUFBzAC # hjJodHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDb2RlU2lnbmluZ0NB # LmNydDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMCQGA1Ud # EQQdMBuBGWNvbnRhY3RAY2xvdWRiZXJyeWxhYi5jb20wDQYJKoZIhvcNAQELBQAD # ggEBAEeInauUdqKYV4ncwGMqz5+frptASCXVnCMLI7j3JK0KCzmJkwHHmkIk3P0A # Rzedj5+1aFuXANtT42IACVf00tqq0IHO2KT2vHHJHNnx3ht6kMcCmKmUlnkZMjEK # +0WJD0JSP7lBRQBf5QJpDLmpbBTVvlbe/3nzpUZ95O5reaPekoQ1xC4Ossu06ba0 # djKhwk0HgeqZz7ZruWOVY/YRDfnlZ3it5+4Ck2JTXIVcUcXzT/ZdwNTkUiIqmh4T # HwOj+k/Yej7Q13ILWTNZMELs3Iec6FSSGXUijHV65pPI0dUXnq8pWYMfutgwlBaL # 78yXl4ihf46TXsnAMottH+ld8lAwggXgMIIDyKADAgECAhAufIfMDpNKUv6U/Ry3 # zTSvMA0GCSqGSIb3DQEBDAUAMIGFMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl # YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P # RE8gQ0EgTGltaXRlZDErMCkGA1UEAxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9u # IEF1dGhvcml0eTAeFw0xMzA1MDkwMDAwMDBaFw0yODA1MDgyMzU5NTlaMH0xCzAJ # BgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcT # B1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSMwIQYDVQQDExpD # T01PRE8gUlNBIENvZGUgU2lnbmluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP # ADCCAQoCggEBAKaYkGN3kTR/itHd6WcxEevMHv0xHbO5Ylc/k7xb458eJDIRJ2u8 # UZGnz56eJbNfgagYDx0eIDAO+2F7hgmz4/2iaJ0cLJ2/cuPkdaDlNSOOyYruGgxk # x9hCoXu1UgNLOrCOI0tLY+AilDd71XmQChQYUSzm/sES8Bw/YWEKjKLc9sMwqs0o # GHVIwXlaCM27jFWM99R2kDozRlBzmFz0hUprD4DdXta9/akvwCX1+XjXjV8QwkRV # PJA8MUbLcK4HqQrjr8EBb5AaI+JfONvGCF1Hs4NB8C4ANxS5Eqp5klLNhw972GIp # pH4wvRu1jHK0SPLj6CH5XkxieYsCBp9/1QsCAwEAAaOCAVEwggFNMB8GA1UdIwQY # MBaAFLuvfgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBQpkWD/ik366/mmarjP # +eZLvUnOEjAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADATBgNV # HSUEDDAKBggrBgEFBQcDAzARBgNVHSAECjAIMAYGBFUdIAAwTAYDVR0fBEUwQzBB # oD+gPYY7aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2VydGlmaWNh # dGlvbkF1dGhvcml0eS5jcmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9o # dHRwOi8vY3J0LmNvbW9kb2NhLmNvbS9DT01PRE9SU0FBZGRUcnVzdENBLmNydDAk # BggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEB # DAUAA4ICAQACPwI5w+74yjuJ3gxtTbHxTpJPr8I4LATMxWMRqwljr6ui1wI/zG8Z # wz3WGgiU/yXYqYinKxAa4JuxByIaURw61OHpCb/mJHSvHnsWMW4j71RRLVIC4nUI # BUzxt1HhUQDGh/Zs7hBEdldq8d9YayGqSdR8N069/7Z1VEAYNldnEc1PAuT+89r8 # dRfb7Lf3ZQkjSR9DV4PqfiB3YchN8rtlTaj3hUUHr3ppJ2WQKUCL33s6UTmMqB9w # ea1tQiCizwxsA4xMzXMHlOdajjoEuqKhfB/LYzoVp9QVG6dSRzKp9L9kR9GqH1NO # MjBzwm+3eIKdXP9Gu2siHYgL+BuqNKb8jPXdf2WMjDFXMdA27Eehz8uLqO8cGFjF # BnfKS5tRr0wISnqP4qNS4o6OzCbkstjlOMKo7caBnDVrqVhhSgqXtEtCtlWdvpnn # cG1Z+G0qDH8ZYF8MmohsMKxSCZAWG/8rndvQIMqJ6ih+Mo4Z33tIMx7XZfiuyfiD # FJN2fWTQjs6+NX3/cjFNn569HmwvqI8MBlD7jCezdsn05tfDNOKMhyGGYf6/VXTh # IXcDCmhsu+TJqebPWSXrfOxFDnlmaOgizbjvmIVNlhE8CYrQf7woKBP7aspUjZJc # zcJlmAaezkhb1LU3k0ZBfAfdz/pD77pnYf99SeC7MH1cgOPmFjlLpzGCD70wgg+5 # AgEBMIGSMH0xCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0 # ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVk # MSMwIQYDVQQDExpDT01PRE8gUlNBIENvZGUgU2lnbmluZyBDQQIRAN1bX5n1myt9 # rSpDNsSaOwowDQYJYIZIAWUDBAIBBQCgfDAQBgorBgEEAYI3AgEMMQIwADAZBgkq # hkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGC # NwIBFTAvBgkqhkiG9w0BCQQxIgQgBkTx1FkuyIc+nFi/NoSzQkPqjXghpRu/1Wx2 # AghjDAMwDQYJKoZIhvcNAQEBBQAEggEAdB/JkFWIHB5mykf9dMYQFbRVB6EilHXe # xqSw+hUC//q+WitB8dn9DSeU0ektW0T/V2rKT3iUBBfpyYBiTHlMVksiYKnVlO/I # CYCaD0/dg/LzsCiL1G/hPPKsVuINgctdXeQ/8F1E4fGj+gS22Qq4kv6rEY9k0NAs # hk2QtALs5xfFZXgWon5D2xjxTVlH25e36Lcku8aL3ZNqS7grlxLruYoV/Oiqs+uk # 74pH1rqm7vFeU4Z5TYc2XR9XebH157DjUK7fdRuFc9MgrJMamNIyWzL3KfAu9799 # QszB0gje8QCGa2h15dey1EC73w+5XUyiOV143ZzAeeMXWrXNJ+HGFaGCDX0wgg15 # BgorBgEEAYI3AwMBMYINaTCCDWUGCSqGSIb3DQEHAqCCDVYwgg1SAgEDMQ8wDQYJ # YIZIAWUDBAIBBQAwdwYLKoZIhvcNAQkQAQSgaARmMGQCAQEGCWCGSAGG/WwHATAx # MA0GCWCGSAFlAwQCAQUABCD6fhI0vucae0UFYZoBLZFl4dobkgsh5pMTqrAAmQR4 # GwIQeA74Xp2+96Cnq5fjSv6xZhgPMjAyMTA2MjUxOTE0MjVaoIIKNzCCBP4wggPm # oAMCAQICEA1CSuC+Ooj/YEAhzhQA8N0wDQYJKoZIhvcNAQELBQAwcjELMAkGA1UE # BhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2lj # ZXJ0LmNvbTExMC8GA1UEAxMoRGlnaUNlcnQgU0hBMiBBc3N1cmVkIElEIFRpbWVz # dGFtcGluZyBDQTAeFw0yMTAxMDEwMDAwMDBaFw0zMTAxMDYwMDAwMDBaMEgxCzAJ # BgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2VydCwgSW5jLjEgMB4GA1UEAxMXRGln # aUNlcnQgVGltZXN0YW1wIDIwMjEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK # AoIBAQDC5mGEZ8WK9Q0IpEXKY2tR1zoRQr0KdXVNlLQMULUmEP4dyG+RawyW5xpc # SO9E5b+bYc0VkWJauP9nC5xj/TZqgfop+N0rcIXeAhjzeG28ffnHbQk9vmp2h+mK # vfiEXR52yeTGdnY6U9HR01o2j8aj4S8bOrdh1nPsTm0zinxdRS1LsVDmQTo3Vobc # kyON91Al6GTm3dOPL1e1hyDrDo4s1SPa9E14RuMDgzEpSlwMMYpKjIjF9zBa+RSv # FV9sQ0kJ/SYjU/aNY+gaq1uxHTDCm2mCtNv8VlS8H6GHq756WwogL0sJyZWnjbL6 # 1mOLTqVyHO6fegFz+BnW/g1JhL0BAgMBAAGjggG4MIIBtDAOBgNVHQ8BAf8EBAMC # B4AwDAYDVR0TAQH/BAIwADAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDBBBgNVHSAE # OjA4MDYGCWCGSAGG/WwHATApMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2lj # ZXJ0LmNvbS9DUFMwHwYDVR0jBBgwFoAU9LbhIB3+Ka7S5GGlsqIlssgXNW4wHQYD # VR0OBBYEFDZEho6kurBmvrwoLR1ENt3janq8MHEGA1UdHwRqMGgwMqAwoC6GLGh0 # dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zaGEyLWFzc3VyZWQtdHMuY3JsMDKgMKAu # hixodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLXRzLmNybDCB # hQYIKwYBBQUHAQEEeTB3MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2Vy # dC5jb20wTwYIKwYBBQUHMAKGQ2h0dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9E # aWdpQ2VydFNIQTJBc3N1cmVkSURUaW1lc3RhbXBpbmdDQS5jcnQwDQYJKoZIhvcN # AQELBQADggEBAEgc3LXpmiO85xrnIA6OZ0b9QnJRdAojR6OrktIlxHBZvhSg5SeB # pU0UFRkHefDRBMOG2Tu9/kQCZk3taaQP9rhwz2Lo9VFKeHk2eie38+dSn5On7UOe # e+e03UEiifuHokYDTvz0/rdkd2NfI1Jpg4L6GlPtkMyNoRdzDfTzZTlwS/Oc1np7 # 2gy8PTLQG8v1Yfx1CAB2vIEO+MDhXM/EEXLnG2RJ2CKadRVC9S0yOIHa9GCiurRS # +1zgYSQlT7LfySmoc0NR2r1j1h9bm/cuG08THfdKDXF+l7f0P4TrweOjSaH6zqe/ # Vs+6WXZhiV9+p7SOZ3j5NpjhyyjaW4emii8wggUxMIIEGaADAgECAhAKoSXW1jIb # fkHkBdo2l8IVMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAlVTMRUwEwYDVQQK # EwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xJDAiBgNV # BAMTG0RpZ2lDZXJ0IEFzc3VyZWQgSUQgUm9vdCBDQTAeFw0xNjAxMDcxMjAwMDBa # Fw0zMTAxMDcxMjAwMDBaMHIxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2Vy # dCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xMTAvBgNVBAMTKERpZ2lD # ZXJ0IFNIQTIgQXNzdXJlZCBJRCBUaW1lc3RhbXBpbmcgQ0EwggEiMA0GCSqGSIb3 # DQEBAQUAA4IBDwAwggEKAoIBAQC90DLuS82Pf92puoKZxTlUKFe2I0rEDgdFM1EQ # fdD5fU1ofue2oPSNs4jkl79jIZCYvxO8V9PD4X4I1moUADj3Lh477sym9jJZ/l9l # P+Cb6+NGRwYaVX4LJ37AovWg4N4iPw7/fpX786O6Ij4YrBHk8JkDbTuFfAnT7l3I # mgtU46gJcWvgzyIQD3XPcXJOCq3fQDpct1HhoXkUxk0kIzBdvOw8YGqsLwfM/fDq # R9mIUF79Zm5WYScpiYRR5oLnRlD9lCosp+R1PrqYD4R/nzEU1q3V8mTLex4F0IQZ # chfxFwbvPc3WTe8GQv2iUypPhR3EHTyvz9qsEPXdrKzpVv+TAgMBAAGjggHOMIIB # yjAdBgNVHQ4EFgQU9LbhIB3+Ka7S5GGlsqIlssgXNW4wHwYDVR0jBBgwFoAUReui # r/SSy4IxLVGLp6chnfNtyA8wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E # BAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUHAwgweQYIKwYBBQUHAQEEbTBrMCQGCCsG # AQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQwYIKwYBBQUHMAKGN2h0 # dHA6Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RD # QS5jcnQwgYEGA1UdHwR6MHgwOqA4oDaGNGh0dHA6Ly9jcmw0LmRpZ2ljZXJ0LmNv # bS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwOqA4oDaGNGh0dHA6Ly9jcmwz # LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwUAYDVR0g # BEkwRzA4BgpghkgBhv1sAAIEMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRp # Z2ljZXJ0LmNvbS9DUFMwCwYJYIZIAYb9bAcBMA0GCSqGSIb3DQEBCwUAA4IBAQBx # lRLpUYdWac3v3dp8qmN6s3jPBjdAhO9LhL/KzwMC/cWnww4gQiyvd/MrHwwhWiq3 # BTQdaq6Z+CeiZr8JqmDfdqQ6kw/4stHYfBli6F6CJR7Euhx7LCHi1lssFDVDBGiy # 23UC4HLHmNY8ZOUfSBAYX4k4YU1iRiSHY4yRUiyvKYnleB/WCxSlgNcSR3CzddWT # hZN+tpJn+1Nhiaj1a5bA9FhpDXzIAbG5KHW3mWOFIoxhynmUfln8jA/jb7UBJrZs # pe6HUSHkWGCbugwtK22ixH67xCUrRwIIfEmuE7bhfEJCKMYYVs9BNLZmXbZ0e/VW # MyIvIjayS6JKldj1po5SMYIChjCCAoICAQEwgYYwcjELMAkGA1UEBhMCVVMxFTAT # BgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEx # MC8GA1UEAxMoRGlnaUNlcnQgU0hBMiBBc3N1cmVkIElEIFRpbWVzdGFtcGluZyBD # QQIQDUJK4L46iP9gQCHOFADw3TANBglghkgBZQMEAgEFAKCB0TAaBgkqhkiG9w0B # CQMxDQYLKoZIhvcNAQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTIxMDYyNTE5MTQyNVow # KwYLKoZIhvcNAQkQAgwxHDAaMBgwFgQU4deCqOGRvu9ryhaRtaq0lKYkm/MwLwYJ # KoZIhvcNAQkEMSIEIHKZ3Oz6DPLx13hEaO5EXI04NKpZQBh0riSo5IB3r+9YMDcG # CyqGSIb3DQEJEAIvMSgwJjAkMCIEILMQkAa8CtmDB5FXKeBEA0Fcg+MpK2FPJpZM # jTVx7PWpMA0GCSqGSIb3DQEBAQUABIIBAHico1ovyu5ca1n4qihcylgAJfvddT4Y # Oes6Bh35Je8eh6HVpJdmz0es+hEZ0vvFlBMGhAgG0+vxixajewzTwnW6t1Wl+/dR # 6qHYbOpdqbyO+AVSCifDOXEw3O/uvJTpymVXl7FV9afS1wyXdfTrtR6FfnnA5yqn # iRFc9WCCk5eWIXcr7oGa0AibKaaUn5wJHBB6E7crxl+eHcXpc+9LDXzYZ+8sNZRh # RzF/NB2cPK1Z9yb4O5zn09KuljBRnCKZqdnD0ACaiUvdJX8tLCwciCqa/oFdmG6w # 6hvLYBCJLlyvgR2t/XqDZRUzg5YweSDYfZ7D3GfnBvxlghzqz4ryDBQ= # SIG # End signature block |