' Windows Installer script viewer for use with Windows Scripting Host CScript.exe only
' For use with Windows Scripting Host, CScript.exe or WScript.exe
' Copyright (c) Microsoft Corporation. All rights reserved.
' Demonstrates the use of the special database processing mode for viewing script files
'
Option Explicit

Const msiOpenDatabaseModeListScript = 5

' Check arg count, and display help if argument not present or contains ?
Dim argCount:argCount = Wscript.Arguments.Count
If argCount > 0 Then If InStr(1, Wscript.Arguments(0), "?", vbTextCompare) > 0 Then argCount = 0
If argCount = 0 Then
	Wscript.Echo "Windows Installer Script Viewer for Windows Scripting Host (CScript.exe)" &_
		vbNewLine & " Argument is path to installer execution script" &_
		vbNewLine &_
		vbNewLine & "Copyright (C) Microsoft Corporation.  All rights reserved."
	Wscript.Quit 1
End If

' Cannot run with GUI script host, as listing is performed to standard out
If UCase(Mid(Wscript.FullName, Len(Wscript.Path) + 2, 1)) = "W" Then
	Wscript.Echo "Cannot use WScript.exe - must use CScript.exe with this program"
	Wscript.Quit 2
End If

Dim installer, view, database, record, fieldCount, template, index, field
On Error Resume Next
Set installer = CreateObject("WindowsInstaller.Installer") : CheckError
Set database = installer.Opendatabase(Wscript.Arguments(0), msiOpenDatabaseModeListScript) : CheckError
Set view = database.Openview("")
view.Execute : CheckError
Do
   Set record = view.Fetch
   If record Is Nothing Then Exit Do
   fieldCount = record.FieldCount
   template = record.StringData(0)
   index = InstrRev(template, "[") + 1
   If (index > 1) Then
      field = Int(Mid(template, index, InstrRev(template, "]") - index))
      If field < fieldCount Then
         template = Left(template, Len(template) - 1)
         While field < fieldCount
            field = field + 1
            template = template & ",[" & field & "]"
         Wend
         record.StringData(0) = template & ")"
      End If
   End If
   Wscript.Echo record.FormatText
Loop
Wscript.Quit 0

Sub CheckError
	Dim message, errRec
	If Err = 0 Then Exit Sub
	message = Err.Source & " " & Hex(Err) & ": " & Err.Description
	If Not installer Is Nothing Then
		Set errRec = installer.LastErrorRecord
		If Not errRec Is Nothing Then message = message & vbNewLine & errRec.FormatText
	End If
	Wscript.Echo message
	Wscript.Quit 2
End Sub

'' SIG '' Begin signature block
'' SIG '' MIIh5wYJKoZIhvcNAQcCoIIh2DCCIdQCAQExDzANBglg
'' SIG '' hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
'' SIG '' BgEEAYI3AgEeMCQCAQEEEE7wKRaZJ7VNj+Ws4Q8X66sC
'' SIG '' AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
'' SIG '' yGbucx5C9ty0NdJlcwpY0JNDXmCZOM9FQgmr4/kXaQOg
'' SIG '' gguBMIIFCTCCA/GgAwIBAgITMwAAA4Pq27vZbyG4+gAA
'' SIG '' AAADgzANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV
'' SIG '' UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
'' SIG '' UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
'' SIG '' cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
'' SIG '' aWduaW5nIFBDQSAyMDEwMB4XDTIwMDkyNDE5MTAzNVoX
'' SIG '' DTIxMDkyMzE5MTAzNVowfzELMAkGA1UEBhMCVVMxEzAR
'' SIG '' BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
'' SIG '' bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
'' SIG '' bjEpMCcGA1UEAxMgTWljcm9zb2Z0IFdpbmRvd3MgS2l0
'' SIG '' cyBQdWJsaXNoZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
'' SIG '' DwAwggEKAoIBAQCnt52Kmu4L6Ba3yRL/0obWfohcrE/X
'' SIG '' yxFhdCkbiMbB55kRKDvAu37z1cSAonm45shuXzH5EWIB
'' SIG '' w06wzKPt0RHFt9yp5JNQOgglKttQ+JNOjhCA5Rr6rKwP
'' SIG '' PjPstu/8doUJ5uvSZR6tqYee/f5krppjMclmkNC2Dgrw
'' SIG '' 9yOmYt5BUvCUNAto/EaX5UhodlIfdF9aNZZ5mY0+dvjq
'' SIG '' P99wtsRirRmkPLKyAclZHV10w0qhAcANGPLjNurpjiBI
'' SIG '' T5oQWOYOAGX8A91Bovzwf1Qh3HsYSPE6YdIprFLodldJ
'' SIG '' TawSwJSBWRWXmFjtQg0zNP8YGOKFt0CdwappX4L/eIA4
'' SIG '' ELIRAgMBAAGjggF9MIIBeTAfBgNVHSUEGDAWBgorBgEE
'' SIG '' AYI3CgMUBggrBgEFBQcDAzAdBgNVHQ4EFgQUeEXr3DrQ
'' SIG '' 1r71bRhURXpiKYw85w4wVAYDVR0RBE0wS6RJMEcxLTAr
'' SIG '' BgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlv
'' SIG '' bnMgTGltaXRlZDEWMBQGA1UEBRMNMjI5OTAzKzQ2MTIx
'' SIG '' NDAfBgNVHSMEGDAWgBTm/F97uyIAWORyTrX0IXQjMubv
'' SIG '' rDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1p
'' SIG '' Y3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWND
'' SIG '' b2RTaWdQQ0FfMjAxMC0wNy0wNi5jcmwwWgYIKwYBBQUH
'' SIG '' AQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1p
'' SIG '' Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY0NvZFNpZ1BD
'' SIG '' QV8yMDEwLTA3LTA2LmNydDAMBgNVHRMBAf8EAjAAMA0G
'' SIG '' CSqGSIb3DQEBCwUAA4IBAQC7A8TJmY/vbWihRJK+FlTv
'' SIG '' R+kHW/TbpVlSyuTw8/V+YfbD7JmqYLs0xLqSIq5qvDst
'' SIG '' 24lUOfVI2bBLBgWE/jsMZQ9QBgmEiVuw2TwgGbdyXHN0
'' SIG '' rggJC8zzZMfqEtyho+caqFMzLIELfAEVWd3kIAWYVNzm
'' SIG '' rD1rpLs3HwnIivyR9mwZyBZfT0k4lrLUUgfERjIeQcAA
'' SIG '' IzoKS11WsIE1s6UuCKSw2Fs3XnybcnugQrOWDGk4CYUA
'' SIG '' B9b1A6ShHUNybwA88859RdDY0am0aaytgAtlGEyCn/Cf
'' SIG '' MmpAjaLtCTYQNw7lHu63HHiMIuJ9pVvUc/0E1rczi3oU
'' SIG '' h+pM7d88sDdZMIIGcDCCBFigAwIBAgIKYQxSTAAAAAAA
'' SIG '' AzANBgkqhkiG9w0BAQsFADCBiDELMAkGA1UEBhMCVVMx
'' SIG '' EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
'' SIG '' ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
'' SIG '' dGlvbjEyMDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2Vy
'' SIG '' dGlmaWNhdGUgQXV0aG9yaXR5IDIwMTAwHhcNMTAwNzA2
'' SIG '' MjA0MDE3WhcNMjUwNzA2MjA1MDE3WjB+MQswCQYDVQQG
'' SIG '' EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
'' SIG '' BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
'' SIG '' cnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29k
'' SIG '' ZSBTaWduaW5nIFBDQSAyMDEwMIIBIjANBgkqhkiG9w0B
'' SIG '' AQEFAAOCAQ8AMIIBCgKCAQEA6Q5kUHlntcTj/QkATJ6U
'' SIG '' rPdWaOpE2M/FWE+ppXZ8bUW60zmStKQe+fllguQX0o/9
'' SIG '' RJwI6GWTzixVhL99COMuK6hBKxi3oktuSUxrFQfe0dLC
'' SIG '' iR5xlM21f0u0rwjYzIjWaxeUOpPOJj/s5v40mFfVHV1J
'' SIG '' 9rIqLtWFu1k/+JC0K4N0yiuzO0bj8EZJwRdmVMkcvR3E
'' SIG '' VWJXcvhnuSUgNN5dpqWVXqsogM3Vsp7lA7Vj07IUyMHI
'' SIG '' iiYKWX8H7P8O7YASNUwSpr5SW/Wm2uCLC0h31oVH1RC5
'' SIG '' xuiq7otqLQVcYMa0KlucIxxfReMaFB5vN8sZM4BqiU2j
'' SIG '' amZjeJPVMM+VHwIDAQABo4IB4zCCAd8wEAYJKwYBBAGC
'' SIG '' NxUBBAMCAQAwHQYDVR0OBBYEFOb8X3u7IgBY5HJOtfQh
'' SIG '' dCMy5u+sMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBB
'' SIG '' MAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8G
'' SIG '' A1UdIwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYG
'' SIG '' A1UdHwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9z
'' SIG '' b2Z0LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0Nl
'' SIG '' ckF1dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQRO
'' SIG '' MEwwSgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9z
'' SIG '' b2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIw
'' SIG '' MTAtMDYtMjMuY3J0MIGdBgNVHSAEgZUwgZIwgY8GCSsG
'' SIG '' AQQBgjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDovL3d3
'' SIG '' dy5taWNyb3NvZnQuY29tL1BLSS9kb2NzL0NQUy9kZWZh
'' SIG '' dWx0Lmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBh
'' SIG '' AGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQAZQBtAGUA
'' SIG '' bgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEAGnTvV08p
'' SIG '' e8QWhXi4UNMi/AmdrIKX+DT/KiyXlRLl5L/Pv5PI4zSp
'' SIG '' 24G43B4AvtI1b6/lf3mVd+UC1PHr2M1OHhthosJaIxrw
'' SIG '' jKhiUUVnCOM/PB6T+DCFF8g5QKbXDrMhKeWloWmMIpPM
'' SIG '' dJjnoUdD8lOswA8waX/+0iUgbW9h098H1dlyACxphnY9
'' SIG '' UdumOUjJN2FtB91TGcun1mHCv+KDqw/ga5uV1n0oUbCJ
'' SIG '' SlGkmmzItx9KGg5pqdfcwX7RSXCqtq27ckdjF/qm1qKm
'' SIG '' huyoEESbY7ayaYkGx0aGehg/6MUdIdV7+QIjLcVBy78d
'' SIG '' TMgW77Gcf/wiS0mKbhXjpn92W9FTeZGFndXS2z1zNfM8
'' SIG '' rlSyUkdqwKoTldKOEdqZZ14yjPs3hdHcdYWch8ZaV4XC
'' SIG '' v90Nj4ybLeu07s8n07VeafqkFgQBpyRnc89NT7beBVaX
'' SIG '' evfpUk30dwVPhcbYC/GO7UIJ0Q124yNWeCImNr7KsYxu
'' SIG '' qh3khdpHM2KPpMmRM19xHkCvmGXJIuhCISWKHC1g2TeJ
'' SIG '' QYkqFg/XYTyUaGBS79ZHmaCAQO4VgXc+nOBTGBpQHTiV
'' SIG '' mx5mMxMnORd4hzbOTsNfsvU9R1O24OXbC2E9KteSLM43
'' SIG '' Wj5AQjGkHxAIwlacvyRdUQKdannSF9PawZSOB3slcUSr
'' SIG '' Bmrm1MbfI5qWdcUxghW+MIIVugIBATCBlTB+MQswCQYD
'' SIG '' VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
'' SIG '' A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
'' SIG '' IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
'' SIG '' Q29kZSBTaWduaW5nIFBDQSAyMDEwAhMzAAADg+rbu9lv
'' SIG '' Ibj6AAAAAAODMA0GCWCGSAFlAwQCAQUAoIIBBDAZBgkq
'' SIG '' hkiG9w0BCQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3
'' SIG '' AgELMQ4wDAYKKwYBBAGCNwIBFTAvBgkqhkiG9w0BCQQx
'' SIG '' IgQgIzWjuDNixL6mnYLp3SYsLFP9nfR9rcGn48MkdNYr
'' SIG '' r9wwPAYKKwYBBAGCNwoDHDEuDCxIQ21qZ3I3VWJBOFM4
'' SIG '' UnRPWmNWZ0k2Ky9LSmFXTWZGaS9OK0xmNmN3eVdjPTBa
'' SIG '' BgorBgEEAYI3AgEMMUwwSqAkgCIATQBpAGMAcgBvAHMA
'' SIG '' bwBmAHQAIABXAGkAbgBkAG8AdwBzoSKAIGh0dHA6Ly93
'' SIG '' d3cubWljcm9zb2Z0LmNvbS93aW5kb3dzMA0GCSqGSIb3
'' SIG '' DQEBAQUABIIBAIgHSGq028GoQ2LYGchhjhDYxBl4mHe1
'' SIG '' FECzm8rZQGZ2x5PtP/jV9+IBXpHTvX04KWGcTg72fu8r
'' SIG '' NhVSJ8YwXIH0zjU1aKVajp3Nt35XjgzkX45fQdpJd3k7
'' SIG '' uJk0OddufqaZ7lIkanAAzUr6N/9JZPslFqEUK8g50N2h
'' SIG '' u55dzbtZrRW2CrGFADqMsgPyjo6MhYq9XbX9MXVpM2sf
'' SIG '' NUwX9sE55KiUQyZDBQ3mM47kzIYrlaTUESOdYLjMp/Wv
'' SIG '' awJUHJnIYj6PkGok5gfwxxQ5vART1r1QVd0G3nkYHISa
'' SIG '' KgF+layl9vDqqBgqTn2t8IK8Qj9jwPii7qqeDuqFyaOA
'' SIG '' gayhghLxMIIS7QYKKwYBBAGCNwMDATGCEt0wghLZBgkq
'' SIG '' hkiG9w0BBwKgghLKMIISxgIBAzEPMA0GCWCGSAFlAwQC
'' SIG '' AQUAMIIBVQYLKoZIhvcNAQkQAQSgggFEBIIBQDCCATwC
'' SIG '' AQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEFAAQg
'' SIG '' 6lbESw6jlQEno0iMMR8r+PZWmb5o88qmOom/E/VXnNcC
'' SIG '' BmCJ5b8ijhgTMjAyMTA1MDgwNTA4MzIuMjg2WjAEgAIB
'' SIG '' 9KCB1KSB0TCBzjELMAkGA1UEBhMCVVMxEzARBgNVBAgT
'' SIG '' Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
'' SIG '' BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcG
'' SIG '' A1UECxMgTWljcm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRv
'' SIG '' IFJpY28xJjAkBgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg5
'' SIG '' N0EtRTM1Ni0xNzAxMSUwIwYDVQQDExxNaWNyb3NvZnQg
'' SIG '' VGltZS1TdGFtcCBTZXJ2aWNloIIORDCCBPUwggPdoAMC
'' SIG '' AQICEzMAAAFgByDwkkjavusAAAAAAWAwDQYJKoZIhvcN
'' SIG '' AQELBQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
'' SIG '' c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
'' SIG '' BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE
'' SIG '' AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
'' SIG '' HhcNMjEwMTE0MTkwMjIwWhcNMjIwNDExMTkwMjIwWjCB
'' SIG '' zjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
'' SIG '' b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
'' SIG '' Y3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMgTWlj
'' SIG '' cm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJjAk
'' SIG '' BgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg5N0EtRTM1Ni0x
'' SIG '' NzAxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
'' SIG '' cCBTZXJ2aWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
'' SIG '' MIIBCgKCAQEAtDGAHNDyxszxUjM+CY31NaRazaTxLUJl
'' SIG '' TI3nxIvMtbfXnytln87iXrwZvhKQT+IFRKTjJV6wEo5W
'' SIG '' idssvecDAheaxiGfkFHRFc8j1cuLPNWqyVSAc/NM9G0y
'' SIG '' 1m76O3KAKmHkx+q4GJr9KnQeOPuUQOs0dH8L/X/EJpnJ
'' SIG '' CmAhHuUBEkhpFWHnL5apuqZtSwUigXlQfDDMkUmk5fFi
'' SIG '' 0DS5a6toql0JTMDOHrCQpmAyRGtc/cT/DlyzhTtxiJiN
'' SIG '' lEaWbcav68mCTJOwpbc4GJO2Rpb96O2lb5Lqm7817NcW
'' SIG '' oDPC5ION4giY454Rq+UD071WkJ7GjXPpUKmnQRvf3Ti6
'' SIG '' EwIDAQABo4IBGzCCARcwHQYDVR0OBBYEFKebHvi3qBfg
'' SIG '' muF1Mgl1fNDrvh9jMB8GA1UdIwQYMBaAFNVjOlyKMZDz
'' SIG '' Q3t8RhvFM2hahW1VMFYGA1UdHwRPME0wS6BJoEeGRWh0
'' SIG '' dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2kvY3JsL3By
'' SIG '' b2R1Y3RzL01pY1RpbVN0YVBDQV8yMDEwLTA3LTAxLmNy
'' SIG '' bDBaBggrBgEFBQcBAQROMEwwSgYIKwYBBQUHMAKGPmh0
'' SIG '' dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2kvY2VydHMv
'' SIG '' TWljVGltU3RhUENBXzIwMTAtMDctMDEuY3J0MAwGA1Ud
'' SIG '' EwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDQYJ
'' SIG '' KoZIhvcNAQELBQADggEBABU0mAibOgWmiVB1Tydh1xfv
'' SIG '' JKUoQ/fn2qDlD9IWnt7iPl0DVX6Sy+Yp1kHWOGOwGzYi
'' SIG '' Y04i3I1ja7Y3CNrgk3EV/7bL8pNw/wYT3sfyiCv1z5Vv
'' SIG '' W4cXuC2d7cXy+e/QJvv0riZuGLpLRAiGo9wjxzfpSp4/
'' SIG '' AowubfYn6873C4pbY0ry/1sDmBC73YCPq5/sAYC41gci
'' SIG '' HSJmiT5ty4mlg8opjWe9LYRrWDOYXwn+Ks9jgxby/j+B
'' SIG '' p6Qmix+RzqBuiZrjDWAUMYqAqG/u2VPX7ne4cZHZNLWo
'' SIG '' xh43AZ8a2OJPFDUGVARmJuTs8V8J74pGFNFMJG3NadKD
'' SIG '' c0QTTLaoudQwggZxMIIEWaADAgECAgphCYEqAAAAAAAC
'' SIG '' MA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJVUzET
'' SIG '' MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
'' SIG '' bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
'' SIG '' aW9uMTIwMAYDVQQDEylNaWNyb3NvZnQgUm9vdCBDZXJ0
'' SIG '' aWZpY2F0ZSBBdXRob3JpdHkgMjAxMDAeFw0xMDA3MDEy
'' SIG '' MTM2NTVaFw0yNTA3MDEyMTQ2NTVaMHwxCzAJBgNVBAYT
'' SIG '' AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
'' SIG '' EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
'' SIG '' cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l
'' SIG '' LVN0YW1wIFBDQSAyMDEwMIIBIjANBgkqhkiG9w0BAQEF
'' SIG '' AAOCAQ8AMIIBCgKCAQEAqR0NvHcRijog7PwTl/X6f2mU
'' SIG '' a3RUENWlCgCChfvtfGhLLF/Fw+Vhwna3PmYrW/AVUycE
'' SIG '' MR9BGxqVHc4JE458YTBZsTBED/FgiIRUQwzXTbg4CLNC
'' SIG '' 3ZOs1nMwVyaCo0UN0Or1R4HNvyRgMlhgRvJYR4YyhB50
'' SIG '' YWeRX4FUsc+TTJLBxKZd0WETbijGGvmGgLvfYfxGwScd
'' SIG '' JGcSchohiq9LZIlQYrFd/XcfPfBXday9ikJNQFHRD5wG
'' SIG '' Pmd/9WbAA5ZEfu/QS/1u5ZrKsajyeioKMfDaTgaRtogI
'' SIG '' Neh4HLDpmc085y9Euqf03GS9pAHBIAmTeM38vMDJRF1e
'' SIG '' FpwBBU8iTQIDAQABo4IB5jCCAeIwEAYJKwYBBAGCNxUB
'' SIG '' BAMCAQAwHQYDVR0OBBYEFNVjOlyKMZDzQ3t8RhvFM2ha
'' SIG '' hW1VMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsG
'' SIG '' A1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1Ud
'' SIG '' IwQYMBaAFNX2VsuP6KJcYmjRPZSQW9fOmhjEMFYGA1Ud
'' SIG '' HwRPME0wS6BJoEeGRWh0dHA6Ly9jcmwubWljcm9zb2Z0
'' SIG '' LmNvbS9wa2kvY3JsL3Byb2R1Y3RzL01pY1Jvb0NlckF1
'' SIG '' dF8yMDEwLTA2LTIzLmNybDBaBggrBgEFBQcBAQROMEww
'' SIG '' SgYIKwYBBQUHMAKGPmh0dHA6Ly93d3cubWljcm9zb2Z0
'' SIG '' LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0XzIwMTAt
'' SIG '' MDYtMjMuY3J0MIGgBgNVHSABAf8EgZUwgZIwgY8GCSsG
'' SIG '' AQQBgjcuAzCBgTA9BggrBgEFBQcCARYxaHR0cDovL3d3
'' SIG '' dy5taWNyb3NvZnQuY29tL1BLSS9kb2NzL0NQUy9kZWZh
'' SIG '' dWx0Lmh0bTBABggrBgEFBQcCAjA0HjIgHQBMAGUAZwBh
'' SIG '' AGwAXwBQAG8AbABpAGMAeQBfAFMAdABhAHQAZQBtAGUA
'' SIG '' bgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEAB+aIUQ3i
'' SIG '' xuCYP4FxAz2do6Ehb7Prpsz1Mb7PBeKp/vpXbRkws8LF
'' SIG '' Zslq3/Xn8Hi9x6ieJeP5vO1rVFcIK1GCRBL7uVOMzPRg
'' SIG '' Eop2zEBAQZvcXBf/XPleFzWYJFZLdO9CEMivv3/Gf/I3
'' SIG '' fVo/HPKZeUqRUgCvOA8X9S95gWXZqbVr5MfO9sp6AG9L
'' SIG '' MEQkIjzP7QOllo9ZKby2/QThcJ8ySif9Va8v/rbljjO7
'' SIG '' Yl+a21dA6fHOmWaQjP9qYn/dxUoLkSbiOewZSnFjnXsh
'' SIG '' bcOco6I8+n99lmqQeKZt0uGc+R38ONiU9MalCpaGpL2e
'' SIG '' Gq4EQoO4tYCbIjggtSXlZOz39L9+Y1klD3ouOVd2onGq
'' SIG '' BooPiRa6YacRy5rYDkeagMXQzafQ732D8OE7cQnfXXSY
'' SIG '' Ighh2rBQHm+98eEA3+cxB6STOvdlR3jo+KhIq/fecn5h
'' SIG '' a293qYHLpwmsObvsxsvYgrRyzR30uIUBHoD7G4kqVDmy
'' SIG '' W9rIDVWZeodzOwjmmC3qjeAzLhIp9cAvVCch98isTtoo
'' SIG '' uLGp25ayp0Kiyc8ZQU3ghvkqmqMRZjDTu3QyS99je/WZ
'' SIG '' ii8bxyGvWbWu3EQ8l1Bx16HSxVXjad5XwdHeMMD9zOZN
'' SIG '' +w2/XU/pnR4ZOC+8z1gFLu8NoFA12u8JJxzVs341Hgi6
'' SIG '' 2jbb01+P3nSISRKhggLSMIICOwIBATCB/KGB1KSB0TCB
'' SIG '' zjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
'' SIG '' b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
'' SIG '' Y3Jvc29mdCBDb3Jwb3JhdGlvbjEpMCcGA1UECxMgTWlj
'' SIG '' cm9zb2Z0IE9wZXJhdGlvbnMgUHVlcnRvIFJpY28xJjAk
'' SIG '' BgNVBAsTHVRoYWxlcyBUU1MgRVNOOjg5N0EtRTM1Ni0x
'' SIG '' NzAxMSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFt
'' SIG '' cCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQD7MpJ0dYtE
'' SIG '' 3MiXKodXFdmAqdnQoqCBgzCBgKR+MHwxCzAJBgNVBAYT
'' SIG '' AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
'' SIG '' EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
'' SIG '' cG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1l
'' SIG '' LVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBBQUAAgUA
'' SIG '' 5EBBbTAiGA8yMDIxMDUwODAyNDUwMVoYDzIwMjEwNTA5
'' SIG '' MDI0NTAxWjB3MD0GCisGAQQBhFkKBAExLzAtMAoCBQDk
'' SIG '' QEFtAgEAMAoCAQACAg2PAgH/MAcCAQACAhNPMAoCBQDk
'' SIG '' QZLtAgEAMDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQB
'' SIG '' hFkKAwKgCjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJ
'' SIG '' KoZIhvcNAQEFBQADgYEAc4jzHEwF0IYUkVpW7IVa2d0m
'' SIG '' JVMKkUgy5jdbqtBV5daISPMa2nkM1o0vZGifpyxlsQw+
'' SIG '' 5GYDs8LZzTYrhP7US1m15rIpNOxYvQOBOjxOQXeIfw5d
'' SIG '' GL8Xda8WUEs0yDWHIoT8jUcBbK5r9zKvtm2dTEJv2VC0
'' SIG '' iP3SjloZ/7P7YtIxggMNMIIDCQIBATCBkzB8MQswCQYD
'' SIG '' VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
'' SIG '' A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
'' SIG '' IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
'' SIG '' VGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAWAHIPCSSNq+
'' SIG '' 6wAAAAABYDANBglghkgBZQMEAgEFAKCCAUowGgYJKoZI
'' SIG '' hvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJ
'' SIG '' BDEiBCAaAN0UmBFNMYe8/vnkQAOrdAV5lBG/W2dJZ9qq
'' SIG '' SC2DODCB+gYLKoZIhvcNAQkQAi8xgeowgecwgeQwgb0E
'' SIG '' IAISo72jcy6XW0Wnrx7qK8p+ldL/j1wXCeJeSPeosGW5
'' SIG '' MIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
'' SIG '' Cldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAc
'' SIG '' BgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQG
'' SIG '' A1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIw
'' SIG '' MTACEzMAAAFgByDwkkjavusAAAAAAWAwIgQgGVWFNuN0
'' SIG '' lGUEHlbfmDeoFG6hZxIVkpDkvUqgT5VLRskwDQYJKoZI
'' SIG '' hvcNAQELBQAEggEAA6U+Kkf0NaNKYSiF/niZgdls92iL
'' SIG '' j3YN4tiQYDjU0ZpS/GV990wOtzJce3l21QVrJoBHLUAF
'' SIG '' 23PPeOzLhR4pPIhDmKDgkZu4/XOwZWX97XdEbVosUzk3
'' SIG '' nCJd7iHxMrH1cVc5/5B3o8Dp7K94rTPBfKMQK/m5lOnG
'' SIG '' LqA9sHelHxDgffcu2zHNU8AEEOIUdRNn9PBkDAubFB+y
'' SIG '' wMmdexc5nJ38J/MAClIwSLA35nr9oD2XCwwgkn1NXaUm
'' SIG '' OvE6VyFf+KbsxVHLr5FT8CuYv05xM26nOb0Pku9xTL49
'' SIG '' I57+nlbgFCHgxcBSuZOdVmRo1X1M+WyzthZ653cjWBYJ
'' SIG '' 1toWNw==
'' SIG '' End signature block
