Functions_v5/Set-XurrentSource.ps1
|
<#
.SYNOPSIS Updates the source information for a specified record in the Xurrent system. .DESCRIPTION The `Set-XurrentSource` function updates the `source` and `sourceID` for a specified record in the Xurrent system. The function works with two modes: updating a single record or updating two records if a destination is also provided. .PARAMETER Environment Specifies the environment (such as "prod", "dev", etc.) in which the Xurrent record resides. The value must match a valid environment that exists within the global `$script:XurrentAuth` object. .PARAMETER Type Indicates the type of data to be updated. This value is validated against the `$script:XurrentDataTypes` array to ensure it's a valid type. .PARAMETER ID The identifier of the record to update. This is required for both the source and destination modes. .PARAMETER DestinationID When in the 'dest' parameter set, this specifies the ID of the destination record to also update with the same source information. .PARAMETER DestinationEnvironment Specifies the environment of the destination record when in 'dest' mode. This is validated against the global `$script:XurrentAuth` object to ensure it's a valid environment. .EXAMPLES # Example 1: Update the source of a record in the 'dev' environment. Set-XurrentSource -Environment 'dev' -Type 'user' -ID 1234 # Example 2: Update the source of a record and another record in a different environment. Set-XurrentSource -Environment 'prod' -Type 'transaction' -ID 5678 -DestinationID 91011 -DestinationEnvironment 'staging' .NOTES This function generates a new GUID for each invocation and assigns it as the `sourceID` in the updated record. The source is always set to `'XurrentAPITools'`. .PARAMETERSETNAMES - source: Updates a single record based on the provided ID. - dest: Updates two records, one in the original environment and one in the destination environment. .RETURNVALUE Returns a custom object containing the new `source` and `sourceID` after successful execution. .OUTPUTS PSCustomObject: Returns an object with the updated `source` and `sourceID` values. #> function Set-XurrentSource { [CmdletBinding(DefaultParameterSetName = 'source')] param ( [Parameter(Mandatory = $true, ParameterSetName = 'source')] [Parameter(Mandatory = $true, ParameterSetName = 'dest')] [ValidateScript({ $null -ne $script:XurrentAuth.$_ })] [string]$Environment, [Parameter(Mandatory = $true, ParameterSetName = 'source')] [Parameter(Mandatory = $true, ParameterSetName = 'dest')] [ValidateScript({ $_ -in $script:XurrentDataTypes })] [string]$Type, [Parameter(Mandatory = $true, ParameterSetName = 'source')] [Parameter(Mandatory = $true, ParameterSetName = 'dest')] [int]$ID, [Parameter(Mandatory = $true, ParameterSetName = 'dest')] [int]$DestinationID, [Parameter(Mandatory = $true, ParameterSetName = 'dest')] [ValidateScript({ $null -ne $script:XurrentAuth.$_ })] [string]$DestinationEnvironment ) $guid = [guid]::NewGuid() Write-Verbose -Message "update source of $($ID) to $($guid)" try { Update-XurrentRecord -Environment $Environment -Type $Type -ID $ID -Body @{ source = 'XurrentAPITools'; sourceID = $guid.ToString() } if ($PSCmdlet.ParameterSetName -eq 'dest') { Write-Verbose -Message "update sourceid of $($DestinationID) in $($DestinationEnvironment)" Update-XurrentRecord -Environment $DestinationEnvironment -Type $Type -ID $DestinationID -Body @{ source = 'XurrentAPITools'; sourceID = $guid.ToString() } } } catch { Write-Error $_ return } return [PSCustomObject]::new(@{ source = 'XurrentAPITools' SourceID = $guid.ToString() }) } # SIG # Begin signature block # MIIeIgYJKoZIhvcNAQcCoIIeEzCCHg8CAQExDzANBglghkgBZQMEAgEFADB5Bgor # BgEEAYI3AgEEoGswaTA0BgorBgEEAYI3AgEeMCYCAwEAAAQQH8w7YFlLCE63JNLG # KX7zUQIBAAIBAAIBAAIBAAIBADAxMA0GCWCGSAFlAwQCAQUABCD4nzuT9XkzSZgO # pmf1cuuSl5OlmFCroRDn2v/kdiwYnKCCGGcwggLjMIIBy6ADAgECAhBCCNCn9wPq # pUWzhBFHlrjQMA0GCSqGSIb3DQEBCwUAMBQxEjAQBgNVBAMMCVJvbWFuIEVuejAe # Fw0yNTAxMjgxODU2MDBaFw0zNTAxMjgxOTA1NTlaMBQxEjAQBgNVBAMMCVJvbWFu # IEVuejCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALt5S9z43iR8NBGw # YEauedJQedy94yOW/rOaYoX9Sn8YUkT6R9uEdnt5SbAHDw50q+76c2Sx0jPUMMn9 # V/15cyJbMu9Ej3+AiMfFi/opqzyhci/k46fd5ewdAJk5GGBHHJ5hO5zegTtEQWyX # 2PMn3WE7B6Uy8FxQrxl+1e3DO1sDT/zhn8qeWEzTjM4/p3YFwR1pc7mX2DLLFybB # V71DYeAWvjGF0z/dfi7ib1mLMsN4spML41umn+F/TQtf7QP68ft3ludk8Gd1e7D7 # sWDK+J6AN3iga6evVTucJB200eHFofh7HTdcncH/6ue/d4NvDvKjLjN295lMiWU8 # W7ojGCUCAwEAAaMxMC8wDgYDVR0PAQH/BAQDAgIEMB0GA1UdDgQWBBTsDKDLy1wE # 1KpSirF8sbQKlb4PFzANBgkqhkiG9w0BAQsFAAOCAQEAV02VHByfqH3B7iP49kHp # Un3DQ3thGaizIFL/prPdgzqJiAuBY/VMNY97/5tKIyzX5pEGoVeyR2wZKTGYu5xR # aOLxhqk8TtPd2h1H4o8Tpsas6c5VsfbHKaPtdC2xRWJIK9f+LQmrQ8EQ/xNuuNv0 # InccOrm9L8z2P1JHde2LZD7qfM3N8h5WOCrV3QRb09WkMESJcHMoGVTAvUYj2iq0 # MZkXwwaNTcwD/zIxp1C2Z9VqX8etAPQHUeX2uPrJQdSHnrNaiNJAbUWBg3ZAKk4G # ciK9DmWaN4ukbHpuj7dSZOW21q2thw0F+K7Rn3A2CJ+stdn8JD9n/8i/9tuetSVR # 7TCCAxkwggIBoAMCAQICECgf8HLUn66mQrAI0KycNMIwDQYJKoZIhvcNAQEFBQAw # FDESMBAGA1UEAwwJUm9tYW4gRW56MB4XDTI1MDEyODE5MzAzM1oXDTI2MDEyODE5 # NTAzM1owFDESMBAGA1UEAwwJUm9tYW4gRW56MIIBIjANBgkqhkiG9w0BAQEFAAOC # AQ8AMIIBCgKCAQEAz+j0Awf9ccGPIKAfYQ5ZUmtjZuuFNnIjHb9gtjeSNJ8BluHB # HKF8tSCwvpMrevoOy0xpeg/khZSvQ+Hx7M4oHeV0A2mK3M3ut8JvLxWEDlon41hD # CEhUcT+vD/9fXHUecbRBGpSGcBghkgfM3euU3MhpJNoVE3ZPp3q4Us5A2t5B99PR # T2q1kcZyP/M0Z6ww8KHPBiJueK3frwPAxuIXEOBuYEIRWE3sugozFIQXUvpSiT4W # 7CXqYDIALlSpd51Ir/tT7Yx1UzR2oz7BKW6jrL9t3guTDnJ0WyQVFWRRUKiysvCA # +VHySpg4U72CSjccjXTVxFsI0KLXqi2dA7xPCQIDAQABo2cwZTAOBgNVHQ8BAf8E # BAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwHwYDVR0jBBgwFoAU7Aygy8tcBNSq # UoqxfLG0CpW+DxcwHQYDVR0OBBYEFO6xfVS2jp6QRsW08nYw70j3fyy/MA0GCSqG # SIb3DQEBBQUAA4IBAQBs22lqOGJLfdTyGQo9Jgmn96B7WR1inhEnOM66UU44U51a # L/LJYcGUI27PUFTG6tXad38v6fJj8o1otrYye16UIsFyxAO4UtiXH/dFQukp/YWl # /SP69DlYjOAaNu7lqxK7JfIzfSPgsoZjp7KmT4WHO5Zs7F8C9qYab5/hZGAKLg8W # 6Tk2pAdNhleScgvW2pW0podkDBDVjBng4ItyYe0KigHzH4KtYeFqRnzM/29NMAOq # o4eYPwH2jMTRwjDDqhF8h9IfgoT3LD0nZK0bmy9PRzBqyLmaR4EmZ1b3ziDes+ak # p5tXqY28722FtIKI2WKiUZ7WTUEcXdaoTxEQ6noVMIIFgzCCA2ugAwIBAgIORea7 # A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMXR2xvYmFsU2ln # biBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds # b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYD # VQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2ln # bjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC # AgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRIxutbPK6DuEGSMxSkb3/pKszG # sIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE3nOUTvOniX9PeGMI # yBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbFvuJt # MgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ay # d2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGB # zVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02 # oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2SXcwvHE35absIQh1/OZhFj93 # 1dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguyCLNhZglqsQY6ZZZZwPA1 # /cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP0f/fMBH5 # hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvc # E+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBh # MA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWj # kxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdT # oDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLNnsAEoJFp5lzQhN7craJP6Ed4 # 1mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0lV7Ae46ZeBZD # E1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY # BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN # 25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/Q # cYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGyt # Xm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZpnOZ7BN9uBmm23goJSFmH63sU # YHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/TuTAjB0yPEL+GltmZ # WrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItKoZB0 # JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5 # d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeD # BVrJpBAwggZZMIIEQaADAgECAg0B7BySQN79LkBdfEd0MA0GCSqGSIb3DQEBDAUA # MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFI2MRMwEQYDVQQKEwpH # bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTE4MDYyMDAwMDAwMFoX # DTM0MTIxMDAwMDAwMFowWzELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNp # Z24gbnYtc2ExMTAvBgNVBAMTKEdsb2JhbFNpZ24gVGltZXN0YW1waW5nIENBIC0g # U0hBMzg0IC0gRzQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDwAuIw # I/rgG+GadLOvdYNfqUdSx2E6Y3w5I3ltdPwx5HQSGZb6zidiW64HiifuV6PENe2z # NMeswwzrgGZt0ShKwSy7uXDycq6M95laXXauv0SofEEkjo+6xU//NkGrpy39eE5D # iP6TGRfZ7jHPvIo7bmrEiPDul/bc8xigS5kcDoenJuGIyaDlmeKe9JxMP11b7Lbv # 0mXPRQtUPbFUUweLmW64VJmKqDGSO/J6ffwOWN+BauGwbB5lgirUIceU/kKWO/EL # sX9/RpgOhz16ZevRVqkuvftYPbWF+lOZTVt07XJLog2CNxkM0KvqWsHvD9WZuT/0 # TzXxnA/TNxNS2SU07Zbv+GfqCL6PSXr/kLHU9ykV1/kNXdaHQx50xHAotIB7vSqb # u4ThDqxvDbm19m1W/oodCT4kDmcmx/yyDaCUsLKUzHvmZ/6mWLLU2EESwVX9bpHF # u7FMCEue1EIGbxsY1TbqZK7O/fUF5uJm0A4FIayxEQYjGeT7BTRE6giunUlnEYuC # 5a1ahqdm/TMDAd6ZJflxbumcXQJMYDzPAo8B/XLukvGnEt5CEk3sqSbldwKsDlcM # CdFhniaI/MiyTdtk8EWfusE/VKPYdgKVbGqNyiJc9gwE4yn6S7Ac0zd0hNkdZqs0 # c48efXxeltY9GbCX6oxQkW2vV4Z+EDcdaxoU3wIDAQABo4IBKTCCASUwDgYDVR0P # AQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFOoWxmnn48tX # RTkzpPBAvtDDvWWWMB8GA1UdIwQYMBaAFK5sBaOTE+Ki5+LXHNbH8H/IZ1OgMD4G # CCsGAQUFBwEBBDIwMDAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AyLmdsb2JhbHNp # Z24uY29tL3Jvb3RyNjA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLmdsb2Jh # bHNpZ24uY29tL3Jvb3QtcjYuY3JsMEcGA1UdIARAMD4wPAYEVR0gADA0MDIGCCsG # AQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAN # BgkqhkiG9w0BAQwFAAOCAgEAf+KI2VdnK0JfgacJC7rEuygYVtZMv9sbB3DG+wsJ # rQA6YDMfOcYWaxlASSUIHuSb99akDY8elvKGohfeQb9P4byrze7AI4zGhf5LFST5 # GETsH8KkrNCyz+zCVmUdvX/23oLIt59h07VGSJiXAmd6FpVK22LG0LMCzDRIRVXd # 7OlKn14U7XIQcXZw0g+W8+o3V5SRGK/cjZk4GVjCqaF+om4VJuq0+X8q5+dIZGkv # 0pqhcvb3JEt0Wn1yhjWzAlcfi5z8u6xM3vreU0yD/RKxtklVT3WdrG9KyC5qucqI # wxIwTrIIc59eodaZzul9S5YszBZrGM3kWTeGCSziRdayzW6CdaXajR63Wy+ILj19 # 8fKRMAWcznt8oMWsr1EG8BHHHTDFUVZg6HyVPSLj1QokUyeXgPpIiScseeI85Zse # 46qEgok+wEr1If5iEO0dMPz2zOpIJ3yLdUJ/a8vzpWuVHwRYNAqJ7YJQ5NF7qMnm # vkiqK1XZjbclIA4bUaDUY6qD6mxyYUrJ+kPExlfFnbY8sIuwuRwx773vFNgUQGwg # HcIt6AvGjW2MtnHtUiH+PvafnzkarqzSL3ogsfSsqh3iLRSd+pZqHcY8yvPZHL9T # TaRHWXyVxENB+SXiLBB+gfkNlKd98rUJ9dhgckBQlSDUQ0S++qCV5yBZtnjGpGqq # IpswggZ7MIIEY6ADAgECAhABB2SbCLCn/n3WVKjy9Cn2MA0GCSqGSIb3DQEBCwUA # MFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYD # VQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4NCAtIEc0MB4X # DTIzMTEwNzE3MTM0MFoXDTM0MTIwOTE3MTM0MFowbDELMAkGA1UEBhMCQkUxGTAX # BgNVBAoMEEdsb2JhbFNpZ24gbnYtc2ExQjBABgNVBAMMOUdsb2JhbHNpZ24gVFNB # IGZvciBNUyBBdXRoZW50aWNvZGUgQWR2YW5jZWQgLSBHNCAtIDIwMjMxMTCCAaIw # DQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALmomz6pptxC00Gfik1DRwn5aIsT # +3WPmVzKgEJh74664XHWR5CtmU1jA7bvqSaj+zbqbhRH99dNRHSyKl6dMl8EaK+3 # yc9bCycvKE6C3o61s4n65xFJyCdAXpNvCSHG1l+Y87e6oUByrt0P384hQgRUOOrK # It0DuRqh4LcclyhzLCCNP2aydpnaOsn2cpZSdNh9ZW7gIm/+r0b9fq9OyImBMqGY # K49357Kj1ZqfH9GDIE5N70w7UXuRI+GDSqJvuATmZBRLLjt86bX9s242REA29b4h # 5ujQ+n73qE5GrJSw0Cl04rGXqn848YnierfKbAUwGFhvfVt+OpHUfG9O/+kxfqWC # NeEu/wpg6lKFV4d65CqvPKLfedvgeY/fke3/Jj12QEvfG0v2gqjqgyitU7a3ltcd # LYzvv32KnpR8U6lkBGt8zBZnGTGCkun0OrzUiKi9ju5PEnnY/+CWkFB+ARX/8ONs # Xhr0r0DF5Sc9Rvg6QTj/OUi03AYB+zsIKGhpqQIDAQABo4IBqDCCAaQwDgYDVR0P # AQH/BAQDAgeAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMB0GA1UdDgQWBBT4o6fl # I3VW0aWlO4luFnHLVdaICTBWBgNVHSAETzBNMAgGBmeBDAEEAjBBBgkrBgEEAaAy # AR4wNDAyBggrBgEFBQcCARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVw # b3NpdG9yeS8wDAYDVR0TAQH/BAIwADCBkAYIKwYBBQUHAQEEgYMwgYAwOQYIKwYB # BQUHMAGGLWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2NhL2dzdHNhY2FzaGEz # ODRnNDBDBggrBgEFBQcwAoY3aHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9j # YWNlcnQvZ3N0c2FjYXNoYTM4NGc0LmNydDAfBgNVHSMEGDAWgBTqFsZp5+PLV0U5 # M6TwQL7Qw71lljBBBgNVHR8EOjA4MDagNKAyhjBodHRwOi8vY3JsLmdsb2JhbHNp # Z24uY29tL2NhL2dzdHNhY2FzaGEzODRnNC5jcmwwDQYJKoZIhvcNAQELBQADggIB # AHArWS5rBVK1Jlchtc8Q6JrwrMtyVGhtVUWZljlYRxvQaWsobPCTi6ZEy3jJq05i # xIIfBZDerAaWO66gRg2BhuyQcNyyNS7LVS1DR2+Lek5BP/6yIZxAMditj5U3GoLr # yLcOp6FcGqrAakn9D4oEBybC2Q7PJgN9MEW/bFB6D+kkNkyApOgiQStgZrysC88y # yIB/KkbHnMLlHw/WVfkCDGHFvGKPXaMiYetqmHiwZC8JsA3JuAgcWl4GMCRdcYN2 # OP1IaphdP0JIbyyENvzm/pLC0nBjQYO19KAKZVrVQfSDqDAbyNZbbkDow83mN+LJ # 6VVci1PE7uHfu9O1kYq7Z3O1CPCoSKsOG+BEcL7iBOcRqeE/UEGaDGYKVkXBBUH5 # QhX9BKaRtfpMFop+fgWaoYd0VP3Hp8Dmk2edpB0qXDoEtU7VFx6j4o3uPjwKgU9Z # MfsF/5gZ05i4BthIm0mT4QLHbbIsitzqXtvUb/0HrB48NlF38T4skmT1mPBPK5oQ # 89pfOPpKQsl/YKObSaEzCxDOwk+l07KAWBkm+kMJSrV11Z7Yrw2vHrb7S0l4/V+x # 6obteup3utHs54Y1Cflau5bh9gpX+f3W/iQaAFC9nk3IkRg37NIozg+ul0Ydwnxg # y7uaZK6WtbnlynrletZ4QSTeZsn2UBdFpX/TH+oe2u/oMYIFETCCBQ0CAQEwKDAU # MRIwEAYDVQQDDAlSb21hbiBFbnoCECgf8HLUn66mQrAI0KycNMIwDQYJYIZIAWUD # BAIBBQCgTDAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAvBgkqhkiG9w0BCQQx # IgQg+4ooE5N/fq6S3TwM55U1dOzDvzqmBmC7c7zGovXpQd0wDQYJKoZIhvcNAQEB # BQAEggEAJjmhvpWdiC1nZiWk0gohbh9eN9r3NWHuHTutMIwiffmIhzv0xD76+SiN # GD2RYL9BnDHNvaVFIGdpNoCjGmuvnSk2NoEOrgCaQv8advQnuFn3mRzB317M3lpq # 8bgAVDiGZAKqdkJ39FOTX9nb2nChbTNd3fSSX7Ey1JMEk1MeluBN25ydOO1oAm7+ # Kf/4gNfob0AeALlPvVKorbkSxx4NMGDQsR39KWxJoEvsdAL2foNAaF5JGCLtPJN7 # VcLuy2QbhrA5pVm6t2E6EkObCwvQBenMREpJ4UMuKqsl+p7wCf5w7hNFgtqGeCAd # QCAWezZmSU7XJ/v8AZfJ2sPjAbyA5aGCA2wwggNoBgkqhkiG9w0BCQYxggNZMIID # VQIBATBvMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNh # MTEwLwYDVQQDEyhHbG9iYWxTaWduIFRpbWVzdGFtcGluZyBDQSAtIFNIQTM4NCAt # IEc0AhABB2SbCLCn/n3WVKjy9Cn2MAsGCWCGSAFlAwQCAaCCAT0wGAYJKoZIhvcN # AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjUwMTI5MTMyODEwWjAr # BgkqhkiG9w0BCTQxHjAcMAsGCWCGSAFlAwQCAaENBgkqhkiG9w0BAQsFADAvBgkq # hkiG9w0BCQQxIgQgSWQYAbdvnw/GH1XRbMCdTVyt+QWRspqAiMul2iwNbpIwgaQG # CyqGSIb3DQEJEAIMMYGUMIGRMIGOMIGLBBRE05OczRuIf4Z6zNqB7K8PZfzSWTBz # MF+kXTBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEx # MC8GA1UEAxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBTSEEzODQgLSBH # NAIQAQdkmwiwp/591lSo8vQp9jANBgkqhkiG9w0BAQsFAASCAYATqc3H7zACpsGG # SNL5oxowGN4hKE0rrbRqRjhigsskW+9rSSLcr14RjhMKD+RF8TdOoFMzj4L2CL58 # 50x/AxxNswyxO1orS7Fek0khcSJVHY27P2Ozw2E513L4FjIzHaKFBWGxnarMWUjd # Qa6xaT5pmG+UUpW1KzDvXFuJ3edWy8YkmwHGeNFPlwCVxptgaowmC9JuEtEqACkT # iTOhlZCHXxA0fcQXgDHhQC8BDoZKkToL02gyUt5bAS7qfjDLyqiq2b/xAiND/CbI # MXq1HKBhfbPmnS8PYrkdXwuHk2nR+iPsXEqcoCTraD6bEG0ke7noUtF75aNGWbbF # yISpvfyPCGf/R2f5juKfPHJz26RS+KYW0ox4IsUSKK4fG6hFBKBvvhkWnQt9ICTH # uJ5mE9/N9OaPL9pMRxvn5ssEQgWdFKe4h136LSgWMaQTe6KRbhN1mO+TFd6WWtz9 # MEupyLbAYh88WJxuLcW0E0geJZjYeUUdvyum5vRY/e+EcDKujVw= # SIG # End signature block |