' 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 '' MIImTQYJKoZIhvcNAQcCoIImPjCCJjoCAQExDzANBglg
'' SIG '' hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
'' SIG '' BgEEAYI3AgEeMCQCAQEEEE7wKRaZJ7VNj+Ws4Q8X66sC
'' SIG '' AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
'' SIG '' yGbucx5C9ty0NdJlcwpY0JNDXmCZOM9FQgmr4/kXaQOg
'' SIG '' gguBMIIFCTCCA/GgAwIBAgITMwAABdNJ7yAuHeJq4AAA
'' SIG '' AAAF0zANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV
'' SIG '' UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
'' SIG '' UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
'' SIG '' cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
'' SIG '' aWduaW5nIFBDQSAyMDEwMB4XDTI1MDIyMDE5NTA1NloX
'' SIG '' DTI1MDcwNTE5NTA1NlowfzELMAkGA1UEBhMCVVMxEzAR
'' SIG '' BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
'' SIG '' bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
'' SIG '' bjEpMCcGA1UEAxMgTWljcm9zb2Z0IFdpbmRvd3MgS2l0
'' SIG '' cyBQdWJsaXNoZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
'' SIG '' DwAwggEKAoIBAQD0Wl4ckL4Pgvj/i43yTAn7hHem8aWu
'' SIG '' EGKU/7ugPTVlAoFb63FtnFhZSnP5vl25JaLdMqJjCo1v
'' SIG '' Q4nRJWDSxUj8Lt2Jv0Oc9zrFdLzW/NkvVpOh3CZtcfXp
'' SIG '' KA7xLyk9yraMcXzHwkioMnkQFkOMSJZyE11bExZQKPH0
'' SIG '' FE6UvFjTjDniFJMTZqf6NGLQGKGXsqQ7E1WLed/NtGb6
'' SIG '' snS8yDHEQULwySwn9HQRpX7BYxMTfyNGgoW4hPQy52YD
'' SIG '' ulo98Dasb2z2F+KrHXKlm7tdyrVVlHw5acFvJAWr50SC
'' SIG '' ocfcybKB3JZj0t77JyFoBHCMafhfk80PXPgMMB9ZFkEp
'' SIG '' /F83AgMBAAGjggF9MIIBeTAfBgNVHSUEGDAWBgorBgEE
'' SIG '' AYI3CgMUBggrBgEFBQcDAzAdBgNVHQ4EFgQUmdKpC9al
'' SIG '' /yLSfIRQHasNlQslk7MwVAYDVR0RBE0wS6RJMEcxLTAr
'' SIG '' BgNVBAsTJE1pY3Jvc29mdCBJcmVsYW5kIE9wZXJhdGlv
'' SIG '' bnMgTGltaXRlZDEWMBQGA1UEBRMNMjI5OTAzKzUwMzcz
'' SIG '' NjAfBgNVHSMEGDAWgBTm/F97uyIAWORyTrX0IXQjMubv
'' SIG '' rDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3JsLm1p
'' SIG '' Y3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWND
'' SIG '' b2RTaWdQQ0FfMjAxMC0wNy0wNi5jcmwwWgYIKwYBBQUH
'' SIG '' AQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3Lm1p
'' SIG '' Y3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY0NvZFNpZ1BD
'' SIG '' QV8yMDEwLTA3LTA2LmNydDAMBgNVHRMBAf8EAjAAMA0G
'' SIG '' CSqGSIb3DQEBCwUAA4IBAQAFYonDVZox/pA4fIqsspoI
'' SIG '' FCKdv6wHCMkLpv6yF09MqyeuVpwCkaxLqNi40mjBJNFZ
'' SIG '' z//arjgnGTfNWKY4o2K5MgAyEVY/eI1kLR2jle/7y5kE
'' SIG '' bmdIqZRwHfbcXOvpRK62av/MrBE9uCYjiNDXkoaFVdzh
'' SIG '' EGGCwJQsMEtuUeq4230ZFLkksf7uP8Q1oRpbJECEtBsz
'' SIG '' Je82VcRh3LFVFINbEaud49Rfc6+v0LGQp/Jv3DTeBUf3
'' SIG '' sPGAxVvFi57jd3tOU+HH/zltAOc1Lpf8XvXnaQy8WwEc
'' SIG '' 09AUvHFHE3f2WoMV2Bc05m5zBdYPcTceJHPUQGJ2G6NY
'' SIG '' Hx6edvXsQzI9MIIGcDCCBFigAwIBAgIKYQxSTAAAAAAA
'' 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 '' Bmrm1MbfI5qWdcUxghokMIIaIAIBATCBlTB+MQswCQYD
'' SIG '' VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
'' SIG '' A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
'' SIG '' IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQg
'' SIG '' Q29kZSBTaWduaW5nIFBDQSAyMDEwAhMzAAAF00nvIC4d
'' SIG '' 4mrgAAAAAAXTMA0GCWCGSAFlAwQCAQUAoIHGMBkGCSqG
'' SIG '' SIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcC
'' SIG '' AQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJBDEi
'' SIG '' BCAjNaO4M2LEvqadgundJiwsU/2d9H2twafjwyR01iuv
'' SIG '' 3DBaBgorBgEEAYI3AgEMMUwwSqAkgCIATQBpAGMAcgBv
'' SIG '' AHMAbwBmAHQAIABXAGkAbgBkAG8AdwBzoSKAIGh0dHA6
'' SIG '' Ly93d3cubWljcm9zb2Z0LmNvbS93aW5kb3dzMA0GCSqG
'' SIG '' SIb3DQEBAQUABIIBAPD/iyEg6CcU4Rf5n563yCJBW1X6
'' SIG '' u8SfcmA2lgV9de3xq6zs6htSzxQQNpY6jv2kItkh7gIG
'' SIG '' ufkQg8Y+oNieRoESIsRR8vW+s97IYyqyvk4HPM4Hbq1x
'' SIG '' 6pi7qm0bVurCOhpH0/R9+UHmC8D+aNtZaEh2gayBtWHw
'' SIG '' lCri32XOSDdfi8fWgIgtPfIyDfta8UC+JFTzCZgEZUbq
'' SIG '' KDU5j984Kto6sHWhf243dcqHN/ku7HROdJDpgp553u7Z
'' SIG '' hhiaAaL8qLf77QAOjBg2Ip+pq3syf1d7F9Q2uvOy5JVj
'' SIG '' i1g9rjfqPgxu24eArNIFYwnFdV1d8tFPR2NnJowKpK79
'' SIG '' hDrIilyhgheWMIIXkgYKKwYBBAGCNwMDATGCF4Iwghd+
'' SIG '' BgkqhkiG9w0BBwKgghdvMIIXawIBAzEPMA0GCWCGSAFl
'' SIG '' AwQCAQUAMIIBUQYLKoZIhvcNAQkQAQSgggFABIIBPDCC
'' SIG '' ATgCAQEGCisGAQQBhFkKAwEwMTANBglghkgBZQMEAgEF
'' SIG '' AAQgCsSJ4kWQpPgC0cPmaF9QaNQBNH+DIbBa3KXWUza0
'' SIG '' xx4CBmf3vaTC4BgSMjAyNTA0MjMxNjAwMjMuNTNaMASA
'' SIG '' AgH0oIHRpIHOMIHLMQswCQYDVQQGEwJVUzETMBEGA1UE
'' SIG '' CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
'' SIG '' MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUw
'' SIG '' IwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRp
'' SIG '' b25zMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046QTkz
'' SIG '' NS0wM0UwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBU
'' SIG '' aW1lLVN0YW1wIFNlcnZpY2WgghHtMIIHIDCCBQigAwIB
'' SIG '' AgITMwAAAgy5ZOM1nOz0rgABAAACDDANBgkqhkiG9w0B
'' SIG '' AQsFADB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
'' SIG '' aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
'' SIG '' ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
'' SIG '' Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAe
'' SIG '' Fw0yNTAxMzAxOTQzMDBaFw0yNjA0MjIxOTQzMDBaMIHL
'' SIG '' MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
'' SIG '' bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
'' SIG '' cm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNy
'' SIG '' b3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQL
'' SIG '' Ex5uU2hpZWxkIFRTUyBFU046QTkzNS0wM0UwLUQ5NDcx
'' SIG '' JTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNl
'' SIG '' cnZpY2UwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
'' SIG '' AoICAQDKAVYmPeRtga/U6jzqyqLD0MAool23gcBN58+Z
'' SIG '' /XskYwNJsZ+O+wVyQYl8dPTK1/BC2xAic1m+JvckqjVa
'' SIG '' Q32KmURsEZotirQY4PKVW+eXwRt3r6szgLuic6qoHlbX
'' SIG '' ox/l0HJtgURkzDXWMkKmGSL7z8/crqcvmYqv8t/slAF4
'' SIG '' J+mpzb9tMFVmjwKXONVdRwg9Q3WaPZBC7Wvoi7PRIN2j
'' SIG '' gjSBnHYyAZSlstKNrpYb6+Gu6oSFkQzGpR65+QNDdkP4
'' SIG '' ufOf4PbOg3fb4uGPjI8EPKlpwMwai1kQyX+fgcgCoV9J
'' SIG '' +o8MYYCZUet3kzhhwRzqh6LMeDjaXLP701SXXiXc2ZHz
'' SIG '' uDHbS/sZtJ3627cVpClXEIUvg2xpr0rPlItHwtjo1PwM
'' SIG '' CpXYqnYKvX8aJ8nawT9W8FUuuyZPG1852+q4jkVleKL7
'' SIG '' x+7el8ETehbdkwdhAXyXimaEzWetNNSmG/KfHAp9czws
'' SIG '' L1vKr4Rgn+pIIkZHuomdf5e481K+xIWhLCPdpuV87EqG
'' SIG '' OK/jbhOnZEqwdvA0AlMaLfsmCemZmupejaYuEk05/6cC
'' SIG '' UxgF4zCnkJeYdMAP+9Z4kVh7tzRFsw/lZSl2D7EhIA6K
'' SIG '' nj6RffH2k7YtSGSv86CShzfiXaz9y6sTu8SGqF6ObL/e
'' SIG '' u/DkivyVoCfUXWLjiSJsrS63D0EHHQIDAQABo4IBSTCC
'' SIG '' AUUwHQYDVR0OBBYEFHUORSH/sB/rQ/beD0l5VxQ706GI
'' SIG '' MB8GA1UdIwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1Gely
'' SIG '' MF8GA1UdHwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWlj
'' SIG '' cm9zb2Z0LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUy
'' SIG '' MFRpbWUtU3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBs
'' SIG '' BggrBgEFBQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6
'' SIG '' Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMv
'' SIG '' TWljcm9zb2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIw
'' SIG '' MTAoMSkuY3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/
'' SIG '' BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0G
'' SIG '' CSqGSIb3DQEBCwUAA4ICAQDZMPr4gVmwwf4GMB5ZfHSr
'' SIG '' 34uhug6yzu4HUT+JWMZqz9uhLZBoX5CPjdKJzwAVvYoN
'' SIG '' uLmS0+9lA5S74rvKqd/u9vp88VGk6U7gMceatdqpKlbV
'' SIG '' Rdn2ZfrMcpI4zOc6BtuYrzJV4cEs1YmX95uiAxaED34w
'' SIG '' 02BnfuPZXA0edsDBbd4ixFU8X/1J0DfIUk1YFYPOrmwm
'' SIG '' I2k16u6TcKO0YpRlwTdCq9vO0eEIER1SLmQNBzX9h2cc
'' SIG '' CvtgekOaBoIQ3ZRai8Ds1f+wcKCPzD4qDX3xNgvLFiKo
'' SIG '' A6ZSG9S/yOrGaiSGIeDy5N9VQuqTNjryuAzjvf5W8AQp
'' SIG '' 31hV1GbUDOkbUdd+zkJWKX4FmzeeN52EEbykoWcJ5V9M
'' SIG '' 4DPGN5xpFqXy9aO0+dR0UUYWuqeLhDyRnVeZcTEu0xgm
'' SIG '' o+pQHauFVASsVORMp8TF8dpesd+tqkkQ8VNvI20oOfnT
'' SIG '' fL+7ZgUMf7qNV0ll0Wo5nlr1CJva1bfk2Hc5BY1M9sd3
'' SIG '' blBkezyvJPn4j0bfOOrCYTwYsNsjiRl/WW18NOpiwqci
'' SIG '' wFlUNqtWCRMzC9r84YaUMQ82Bywk48d4uBon5ZA8pXXS
'' SIG '' 7jwJTjJj5USeRl9vjT98PDZyCFO2eFSOFdDdf6WBo/WZ
'' SIG '' UA2hGZ0q+J7j140fbXCfOUIm0j23HaAV0ckDS/nmC/oF
'' SIG '' 1jCCB3EwggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAA
'' SIG '' ABUwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVT
'' SIG '' MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
'' SIG '' ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
'' SIG '' YXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENl
'' SIG '' cnRpZmljYXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkz
'' SIG '' MDE4MjIyNVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UE
'' SIG '' BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
'' SIG '' BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
'' SIG '' b3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRp
'' SIG '' bWUtU3RhbXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEB
'' SIG '' AQUAA4ICDwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9
'' SIG '' DtWC0/3unAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9c
'' SIG '' T8dm95VTcVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1q
'' SIG '' UoNEt6aORmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP
'' SIG '' 2CZTfDlhAnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBb
'' SIG '' fowQHJ1S/rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOOR
'' SIG '' j7I5LFGc6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c
'' SIG '' +gVVmG1oO5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s
'' SIG '' 4mKyzbnijYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9
'' SIG '' QZpGdc3EXzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+
'' SIG '' Nuw2TPYrbqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjt
'' SIG '' p+iZfD9M269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi
'' SIG '' 0b1qGFphAXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJ
'' SIG '' NmSLW6CmgyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR
'' SIG '' /bLUHMVr9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PA
'' SIG '' PBXbGjfHCBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIu
'' SIG '' rQIDAQABo4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEA
'' SIG '' ATAjBgkrBgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnP
'' SIG '' EP8vBO4wHQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1
'' SIG '' GelyMFwGA1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEw
'' SIG '' PwYIKwYBBQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0
'' SIG '' LmNvbS9wa2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTAT
'' SIG '' BgNVHSUEDDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIE
'' SIG '' DB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0T
'' SIG '' AQH/BAUwAwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo
'' SIG '' 0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
'' SIG '' Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9k
'' SIG '' dWN0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmww
'' SIG '' WgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRw
'' SIG '' Oi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01p
'' SIG '' Y1Jvb0NlckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG
'' SIG '' 9w0BAQsFAAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv
'' SIG '' 6lwUtj5OR2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsP
'' SIG '' MeTCj/ts0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgAD
'' SIG '' sAW+iehp4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU
'' SIG '' 5HhTdSRXud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/
'' SIG '' GbYSEhFdPSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefw
'' SIG '' C2qBwoEZQhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvf
'' SIG '' SaN0DLzskYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT9
'' SIG '' 9kxybxCrdTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3B
'' SIG '' FARxv2T5JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFr
'' SIG '' DZ+kKNxnGSgkujhLmm77IVRrakURR6nxt67I6IleT53S
'' SIG '' 0Ex2tVdUCbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6T
'' SIG '' vsv4O+S3Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAo
'' SIG '' GokLjzbaukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9
'' SIG '' JZTmdHRbatGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoI
'' SIG '' Yn/ZcGNTTY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggNQ
'' SIG '' MIICOAIBATCB+aGB0aSBzjCByzELMAkGA1UEBhMCVVMx
'' SIG '' EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
'' SIG '' ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
'' SIG '' dGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2Eg
'' SIG '' T3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1Mg
'' SIG '' RVNOOkE5MzUtMDNFMC1EOTQ3MSUwIwYDVQQDExxNaWNy
'' SIG '' b3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYF
'' SIG '' Kw4DAhoDFQDvu8hkhEMt5Z8Ldefls7z1LVU8pqCBgzCB
'' SIG '' gKR+MHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
'' SIG '' aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
'' SIG '' ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT
'' SIG '' HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0G
'' SIG '' CSqGSIb3DQEBCwUAAgUA67NehTAiGA8yMDI1MDQyMzEy
'' SIG '' NDE0MVoYDzIwMjUwNDI0MTI0MTQxWjB3MD0GCisGAQQB
'' SIG '' hFkKBAExLzAtMAoCBQDrs16FAgEAMAoCAQACAjFEAgH/
'' SIG '' MAcCAQACAhKBMAoCBQDrtLAFAgEAMDYGCisGAQQBhFkK
'' SIG '' BAIxKDAmMAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSCh
'' SIG '' CjAIAgEAAgMBhqAwDQYJKoZIhvcNAQELBQADggEBADA8
'' SIG '' 3gow+1sJykTA05fHbLlGde5sQKJuHnO01BxBhfy0epeP
'' SIG '' V5sD02PC7xS8g8zvOFPETg5oas0lhIMq1G1SPp4samdy
'' SIG '' y1dGMS/5Nsq8DY7IXdVLOd+eETbtdL8c6VVtARyazwXJ
'' SIG '' qLXZ8WCHI0IP1VjVtsIGUrG8LkqfgxA62COs18fTOdk7
'' SIG '' /bePGns5bW1FgjRhIa/3it7W0LnVSRUDAuy7Zu3/bPli
'' SIG '' gUuG+0KHL1iyO+BgXue4ePuup3qYc5gDvMGvbnNkeYQH
'' SIG '' zn68QWP32qQLkPY1ILk86wgx1oTL20iwLIUtPVvcyjV/
'' SIG '' EEzBX26FzAdy2CZNs007kENYlC7NzDkxggQNMIIECQIB
'' SIG '' ATCBkzB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
'' SIG '' aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
'' SIG '' ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQD
'' SIG '' Ex1NaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAIT
'' SIG '' MwAAAgy5ZOM1nOz0rgABAAACDDANBglghkgBZQMEAgEF
'' SIG '' AKCCAUowGgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEE
'' SIG '' MC8GCSqGSIb3DQEJBDEiBCACrAKZNdLXVK069MAaSbiB
'' SIG '' O/KNun0D06f+niCJxzoBNDCB+gYLKoZIhvcNAQkQAi8x
'' SIG '' geowgecwgeQwgb0EINUo17cFMZN46MI5NfIAg9Ux5cO5
'' SIG '' xM9inre5riuOZ8ItMIGYMIGApH4wfDELMAkGA1UEBhMC
'' SIG '' VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
'' SIG '' B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw
'' SIG '' b3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUt
'' SIG '' U3RhbXAgUENBIDIwMTACEzMAAAIMuWTjNZzs9K4AAQAA
'' SIG '' AgwwIgQgEb+wyb7JeEBvtxr7kRQ8Q6DCC2sEgFs2euzI
'' SIG '' HaNDXsEwDQYJKoZIhvcNAQELBQAEggIATbF6KBudQdm3
'' SIG '' oB4lCy52ZIXuZmhXoTh+KIe6AWr7tDy+3JXrJwqyMrgU
'' SIG '' pw0rR2LzKcPmZR68BdMz12wBYoYcS4Iy7rzj4nwUfAN4
'' SIG '' f2KEKh6oLscUrl9QxKzWjBoedAcBHBWVYaH1NEiPSGzv
'' SIG '' kWdXHWsuHiaLAUvulL+xU2bgkkheh06EWifCnbS0b2/d
'' SIG '' m/3mq7LDjXKQJXgSoEyTrENxhsKZlJYmM0+Rjm1EtnCN
'' SIG '' fDM3INttwa0tMXoIcLdr0f1Y9QQ3vFG513ki8BzhVr3Q
'' SIG '' p709fzcPZgBR7pueow77gP0gBxKbVA8SrxUILxvKnDa7
'' SIG '' mF0apnX+GHfGx3KIfJHG5mWz4PIUX8vPJNVr07At7QWO
'' SIG '' VR/TJ6N12/gfht9QH0acZQJQnuPSBSxT8va01g7HEcEw
'' SIG '' qhZNTo5iC2Fv4dYkkSn/OKVtnIVP3MsSDRLt83TtXaWp
'' SIG '' WpmuJINkIj3Y6rBGG5VMGiXkE+4p1SL28oT0t+2yxsj0
'' SIG '' wCP28Fsbo0NUwdpfiyqzG6NCfFMP+bN2a9LMZhGL4B+3
'' SIG '' kaOc2JAD+DvCcNK1rjntsy2IaGSnQkxA1D4lxSrz9CEh
'' SIG '' SFE4QYr5BTIYK0PEMMI3wCgADw9r2YIhk21o7rxAnpHW
'' SIG '' 1wx2gQE1g3pAprsMXyIOegL4gemK109d0KX/PWABHv/2
'' SIG '' fscYorw2GuE=
'' SIG '' End signature block
