@hpcc-js/comms 2.82.3 → 2.83.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es6.js +1093 -639
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +1091 -637
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.node.js +1092 -638
- package/dist/index.node.js.map +1 -1
- package/dist/index.node.min.js +1 -1
- package/dist/index.node.min.js.map +1 -1
- package/lib-es6/__package__.js +2 -2
- package/lib-es6/ecl/dfuWorkunit.js +58 -1
- package/lib-es6/ecl/dfuWorkunit.js.map +1 -1
- package/lib-es6/ecl/query.js +102 -34
- package/lib-es6/ecl/query.js.map +1 -1
- package/lib-es6/ecl/workunit.js +9 -1
- package/lib-es6/ecl/workunit.js.map +1 -1
- package/lib-es6/services/fileSpray.js +5 -1
- package/lib-es6/services/fileSpray.js.map +1 -1
- package/lib-es6/services/wsdl/FileSpray/v1.25/FileSpray.js +116 -0
- package/lib-es6/services/wsdl/FileSpray/v1.25/FileSpray.js.map +1 -0
- package/package.json +2 -2
- package/src/__package__.ts +2 -2
- package/src/ecl/dfuWorkunit.ts +56 -3
- package/src/ecl/query.ts +65 -42
- package/src/ecl/workunit.ts +10 -1
- package/src/services/fileSpray.ts +11 -96
- package/src/services/wsdl/FileSpray/v1.25/FileSpray.ts +1040 -0
- package/types/__package__.d.ts +2 -2
- package/types/ecl/dfuWorkunit.d.ts +11 -3
- package/types/ecl/dfuWorkunit.d.ts.map +1 -1
- package/types/ecl/query.d.ts +5 -2
- package/types/ecl/query.d.ts.map +1 -1
- package/types/ecl/workunit.d.ts.map +1 -1
- package/types/services/fileSpray.d.ts +9 -95
- package/types/services/fileSpray.d.ts.map +1 -1
- package/types/services/wsdl/FileSpray/v1.25/FileSpray.d.ts +856 -0
- package/types/services/wsdl/FileSpray/v1.25/FileSpray.d.ts.map +1 -0
- package/types-3.4/__package__.d.ts +2 -2
- package/types-3.4/ecl/dfuWorkunit.d.ts +11 -3
- package/types-3.4/ecl/query.d.ts +5 -2
- package/types-3.4/services/fileSpray.d.ts +9 -95
- package/types-3.4/services/wsdl/FileSpray/v1.25/FileSpray.d.ts +856 -0
package/dist/index.node.js
CHANGED
|
@@ -46,8 +46,8 @@ var tmp__namespace = /*#__PURE__*/_interopNamespace(tmp);
|
|
|
46
46
|
var trustwave = "\nTrustwave Secure Global Extended Validation CA, Level 1\nSecureTrust Corporation\n00F6F61CE4A3635BB0CA8AACEEFCB2D0F0\n-----BEGIN CERTIFICATE-----\nMIIE+DCCA+CgAwIBAgIRAPb2HOSjY1uwyoqs7vyy0PAwDQYJKoZIhvcNAQELBQAw\nSjELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRkwFwYDVQQDExBTZWN1cmUgR2xvYmFsIENBMB4XDTE1MDgxMjIwMTcyOVoXDTI1\nMDgwOTIwMTcyOVowgbgxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQ\nMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMUAwPgYDVQQDEzdUcnVzdHdhdmUgU2VjdXJlIEdsb2JhbCBFeHRlbmRlZCBW\nYWxpZGF0aW9uIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdh\ndmUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx6D45slgLGq8\n2G/NPFnuFscv7UM1eRoQyx3h0DdSTfoRvHkkNv4Gf6OudZDOXqwV86v/SjcNEP87\nnjMOEqQ7dKQPtiYzEkK0MOrjbRySFC5dvCTI9T8tnBgFpYA9YXwbpUqXxEi0Ayoq\nhA7UQhS7Q+YGrVwZaJ6LiWrQw+x8ACPLqEvPmMZhrxagKwrsKbylMsAQ1ljk8X74\nJ76TSxi/AZpxos7tHD0XbO8elXFZexfsgPLDRpMs6jREVeQj1jVCWLtg9twiXzcI\naUCchBsTSc92WGkKwBnH70dlL2N8kT/BNe3tAsXuBpZRILANY59jLrLnHEJNfado\nt6ZpougolQIDAQABo4IBaDCCAWQwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4E\nFgQUx33qXRmrVNT6P+ZKc956sjwdbC4wDgYDVR0PAQH/BAQDAgGGMD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TR0NBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NHQ0EuY3J0MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggr\nBgEFBQcDATAfBgNVHSMEGDAWgBSvRATCQX5Ig9tOOQLs7IR65s7JpDANBgkqhkiG\n9w0BAQsFAAOCAQEAkn/4wKQRLo41fDRkZtfF+3o8JtUmfQXf2zoo9Ll29hhCiz8k\nBOpIek9MrFd/cdNgUw1nckIi+J3udyFrbO5p64JBvtc0K4kAOPFSKpHssFcnRLPx\nFXgGxXq6ohD4Py+xaEApslYFfMy89N6DKs/v/10/+/xD831RFEUMUoQxBimsmmNf\n+cLoMwF5bpoSz9JcWqCmSlK0Nla1dPphaoA/MObLN2iQPpeM3yF5dTUm1tPxe39W\nOlr6nLU1xO+yRDrlGLXrVDP1l1/qGVuwi+xufIAcdFycLLBjSSNX7LOIK3tbva7A\nWctLUs+qhIlUrbPyFERm7YOY4SttWdozeYFNfg==\n-----END CERTIFICATE-----\n\nSecureTrust Domain Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E80B1BAF9870A7C4B6CBE401A32D68\n-----BEGIN CERTIFICATE-----\nMIIEfzCCA2egAwIBAgITBvHsAOgLG6+YcKfEtsvkAaMtaDANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfDEyMDAGA1UEAxMpU2VjdXJlVHJ1c3QgRG9tYWluIFZhbGlk\nYXRpb24gQ0EsIExldmVsIDExFDASBgNVBAoTC1NlY3VyZVRydXN0MRAwDgYDVQQH\nEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCjRHBw8iIivBBrfE6HqexQK0oMt2Y/\nx8jO3fN96KEazZwEoGidwloRBk2Q7VfVvZ0ZDk+qwJZGLZJLS1ntGaZLH4/Iel+r\nPnp36IVF7J5MNDB+K81a/y9svEMfDu0p3FdlBUyhHvizZ/zFNP3tolmQfZ7T0mGL\n7lutlNAzFYoVTUlVeF5cSC8Yca906TEKyizYXuXcY8Diee+t+fQRHmSI5Hk5kyXD\nYFWcf2tXEfdkuFlDjJ7HPdFyfJzrNjD+cbqt8R5rZKnK1GNVP1dXm0cIYS+BMlMa\nCC1yF18oygbnOZLw5fDv9bxs4MOgF8E/Iypw0hLQHVkuD8wAvxVgPsqvAgMBAAGj\nggEsMIIBKDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjATBgNV\nHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4EFgQUYt6tehfefLfDfCMXo7Em5UbXOvQw\nHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYDVR0gBDowODA2BgRV\nHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2VjdXJldHJ1c3QuY29t\nL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9T\nVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGGGmh0dHA6Ly9vY3Nw\nLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQAHXPYhl+++o//di2Qm\naWGmC1ijxbGbKA4jOSDRvQfxlWOVkqPF11Dpxz+V8Rxw7QFFVoJ5mHpfoXtQOijV\ntsCFknxTKgzQeArNkZrkXBNpYOJAcuc5v0eX0OllBWgVdIvZRl2TM5L/u1WFrlPr\nqwWdEYTkinQwgAHXVV/7WZi6c4StcqNnlw93mlvN6Vspzaf/mWtcYp+aqT9vrqHt\nyNR1k8Ri5eIRPIU0B8woiXTj3bifLg6/O217SY5cWwQKCMFsa6nGWoRVCJ0JJXa0\nZ+m3mPQD2OcW5YMrynhL2VWohyfZAjB8l/NZaeRT7M+vki56fxbx3Bk2lqy8Z1Zz\nWd5m\n-----END CERTIFICATE-----\n\nSecureTrust Extended Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E31E46D341B2B2633CE480D915F81D\n-----BEGIN CERTIFICATE-----\nMIIEizCCA3OgAwIBAgITBvHsAOMeRtNBsrJjPOSA2RX4HTANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowfjE0MDIGA1UEAxMrU2VjdXJlVHJ1c3QgRXh0ZW5kZWQgVmFs\naWRhdGlvbiBDQSwgTGV2ZWwgMTEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxEDAOBgNV\nBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANS6vRtFpCJBJ7zJODH07Y3k54Qn\nVIBhnQmmWoqFqzCVMX97GAyAfzjcQrhl/TNiJiRCrVQWPI4n0R8eUd91Ab1Qzfsr\nnp+0NRbagVDa6+nF0KcNxbSZ6/iZQ7Ac3HyhCvJS2rH2CVYlzqdsrxDXcZk69jOO\ndPV8+w+7eNIn34BKpB/ZF7iXApDoAKG81kg1VtpGOxJhxTsKLuJmURT4pQjtZqF+\nF6rN64j5T2DOK0gOA4G7BLoTdOQuXkPS38LXKgZ43lKqEenjmiOaMF/XuLYzaHrW\nGYgCM2wJsykgdB9hCsTTEwsHRZzt2q9mLBDvYYWVhql1/kR4K/RN4JdESEECAwEA\nAaOCATYwggEyMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0G\nA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAdBgNVHQ4EFgQUA6uAxlUKKpWh\n4Nf+GubAynjMsJYwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wQQYD\nVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMuc2Vj\ndXJldHJ1c3QuY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9TVENBLmNybDA2BggrBgEFBQcBAQQqMCgwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMA0GCSqGSIb3DQEBCwUAA4IBAQB1\nfzAmGGmtbJyIvOfjq2McCpUoYkXAq6JTN51+nb9NDAihhDoTKMde+801bC1/l54h\nxPPm4HImM6GK6LFckDew/FGwbdRbEznUOJ7uVL5ploNBIjte23kTBUZa9fx3+aXK\nhUTAipSyPtNjnOwVVBVXzrMynfMhdsyRRe7gLXNFYCXIxtks3IkIpuYnc86NAuV9\nnBLFlZzgmbAsW+tMc5QsNvQJ9pQ539K8cqZaM+HFCScreDERxmNtHHbMw+hCa2yL\nOj4ntekgWLO8KQbE0lPUNLIM17QK8aktJavj+GezBztKMmJJwhVYQy9nxS388ApX\nxcZsEgIzOCeH0SOWg4FA\n-----END CERTIFICATE-----\n\nSecureTrust Organization Validation CA, Level 1\nSecureTrust Corporation\n06F1EC00E58E9ADD372C871D25843FDAB852D9\n-----BEGIN CERTIFICATE-----\nMIIEkDCCA3igAwIBAgITBvHsAOWOmt03LIcdJYQ/2rhS2TANBgkqhkiG9w0BAQsF\nADBIMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp\nb24xFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE5MDEyOTEyNTk1OVoXDTI5\nMDEyOTEyNTk1OVowgYIxODA2BgNVBAMTL1NlY3VyZVRydXN0IE9yZ2FuaXphdGlv\nbiBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMRQwEgYDVQQKEwtTZWN1cmVUcnVzdDEQ\nMA4GA1UEBxMHQ2hpY2FnbzERMA8GA1UECBMISWxsaW5vaXMxCzAJBgNVBAYTAlVT\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4QVBCdYToXFIfzd1SQfi\nTEgg1bwHXM2cE2VsyxwWK8NEFH8zMYdKy2hYOAjbfpm0xE6q4TQzS8KL2vAtCNyY\nVrwX7d3IvKR25H5s1LUDeQXSl1JBBZCtgJf2caJcwaYa6n2pZ0EKt3wBB+QteSFn\n57ENB37T13y7Nn8gCt9ZZaPYqRWxHcPaIWO3CVzQZ3tXjCLqzJMCV2KqhK85DZk3\nwo33Zb6cyYDkerDbWyric+10dJ/wdgE49dkfyZxVxEGpHg1SCSJdHjGb4z85Zx/u\neBpxBS6g3dfrkDjjT3MUxyNS4EaRTZp7o/2EqVCYDWJDM1HcOZL64kyWyi0d9jqA\n7wIDAQABo4IBNjCCATIwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMC\nAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBR/QuNI\nbljpLrlhyGp3tPcDuM1qWjAfBgNVHSMEGDAWgBRCMrYW+gT9/l1LesP990xAHVpD\nrzBBBgNVHSAEOjA4MDYGBFUdIAAwLjAsBggrBgEFBQcCARYgaHR0cHM6Ly9jZXJ0\ncy5zZWN1cmV0cnVzdC5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2Ny\nbC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMDYGCCsGAQUFBwEBBCowKDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wDQYJKoZIhvcNAQELBQAD\nggEBAIwGM/ejz4Hbjf7Vc11gS8jzf+BwtZq9N4t1Nibj4rIDsW2G2jDE0S7fCN2m\nMhq76xkfnwfXhBbXDEKz6rj/M0G2u1kHw4Y8ZtKSzYEyRtgpeBFm4qU6voCSREpD\nFJXsL+Go2/YLRSE6xkWVSocklxppx4hi5o/RVdMMQept6ooOSFzBpH5XZYUoblKi\n99Yj0FUe8egIa9qSts42TObTpH1YVRMDnH3k2MNX3rcgPf9v/QO9Cf8W6RQ2+X3R\nCaYMPdL5OIKh4RGYjxXe3LpgiTKBWik/ZWTFL5sZSjetrJFl50NONzTc8E+BJtrx\nVCHAI2OcWyloxrYd4zMipw0YjDw=\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00DDEDF6F64298490E694C36EFA422C88F\n-----BEGIN CERTIFICATE-----\nMIIE7jCCA9agAwIBAgIRAN3t9vZCmEkOaUw276QiyI8wDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMDExOTIyMzJaFw0yNDA5\nMjgxOTIyMzJaMIGvMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE3MDUGA1UEAxMuVHJ1c3R3YXZlIERvbWFpbiBWYWxpZGF0aW9uIFNIQTI1NiBD\nQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNvbTCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALNr4Z91k7AKM+Pz5XXWTIuVeMts\nPU2W/pI4WdEHG9Zab1EOWPLbthB6fzUJLLLBBk1wy2OM9yG1HywB/CwfGHcoKS8Z\n/efGV+ZKTzEpIestriUWx7wUnzxKzGML48Xv7sNuY1Crru5Hgce1Ax5uOfP7OB6t\norbMunvKQC10WcSrqFg6LapZ0UhgGmQzdjYguOBF6WZJR3QLghQaNrSUZuA6neXR\ncUsBgmzrxiEVHyzt+lmnYFMFvKVwGOyIZ2RU2LAFthS6UDDrSLGsJysxc1MK1Sti\n/VP8e8wj9rJdmiWNfA+lz6hDAPzRbv+WVJNoHEGbIx8rai+rVMiLy2HIbPsCAwEA\nAaOCAWkwggFlMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPQc4jqvtqTk\n2emd/u8cd6VjPe+IMA4GA1UdDwEB/wQEAwIBhjBIBgNVHSAEQTA/MD0GDysGAQQB\nge0YAwMDAwQFAzAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDIGA1UdHwQrMCkwJ6AloCOGIWh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9TVENBLmNybDBsBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9v\nY3NwLnRydXN0d2F2ZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9pc3N1ZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IB\nAQAjoDrTysopn7t+onDZ6rZSQW8rYlWZQpSiNHrq9xAAcMExrhcN0bQC9OQ+VRci\noMDascvwum7hVkyh2w2Ad7lC3Ir9gIuA8HycjqQJ4t1eSF3geYyf8lp259ztZ/TO\nxSAwJ9W0Szc8fslOA0SWlyA3lnRVcYVu54Idc1dPXXBxwlQ1NUCYgcsXZs+6QjLL\nYhYL85DhuitQSddoYemGpfVJnaYH9tBiWmwtzwc4qsVqTsKEJ/1zYAy2GrEAv8sB\nFKSfMNMopBmmDA8/aCIW/tH6KTD2DC15QQwL6yAUbSa5mhzFSA9O8zmF881YwBVG\nn+z3isMPClgpNw/eWSbaSLZ+\n-----END CERTIFICATE-----\n\nTrustwave Domain Validation SHA256 CA, Level 1\nSecureTrust Corporation\n390A3F7EECA8FB4347DCAF701861662B\n-----BEGIN CERTIFICATE-----\nMIIE/zCCA+egAwIBAgIQOQo/fuyo+0NH3K9wGGFmKzANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzMloXDTI0MDky\nOTE0MzUzMlowga8xCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTcwNQYDVQQDEy5UcnVzdHdhdmUgRG9tYWluIFZhbGlkYXRpb24gU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs2vhn3WTsAoz4/PlddZMi5V4y2w9\nTZb+kjhZ0Qcb1lpvUQ5Y8tu2EHp/NQksssEGTXDLY4z3IbUfLAH8LB8YdygpLxn9\n58ZX5kpPMSkh6y2uJRbHvBSfPErMYwvjxe/uw25jUKuu7keBx7UDHm458/s4Hq2i\ntsy6e8pALXRZxKuoWDotqlnRSGAaZDN2NiC44EXpZklHdAuCFBo2tJRm4Dqd5dFx\nSwGCbOvGIRUfLO36WadgUwW8pXAY7IhnZFTYsAW2FLpQMOtIsawnKzFzUwrVK2L9\nU/x7zCP2sl2aJY18D6XPqEMA/NFu/5ZUk2gcQZsjHytqL6tUyIvLYchs+wIDAQAB\no4IBezCCAXcwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU9BziOq+2pOTZ\n6Z3+7xx3pWM974gwDgYDVR0PAQH/BAQDAgGGMDIGA1UdHwQrMCkwJ6AloCOGIWh0\ndHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9TVENBLmNybDA9BgNVHSAENjA0MDIGBFUd\nIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3YXZlLmNvbS9DQTBs\nBggrBgEFBQcBAQRgMF4wJQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnRydXN0d2F2\nZS5jb20wNQYIKwYBBQUHMAKGKWh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1\nZXJzL1NUQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIy\nthb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRydXN0d2F2ZS5jb20w\nDQYJKoZIhvcNAQELBQADggEBAFcdG0/3P/CkeGb76tz/mn1viDZiftD05i9Jw70k\nH9ulRwdCHgzhSZVN5zHvG919oHA9WHbxH04J+iAnVl1+FjoDNN+A+2icy2WXqH9w\ngaNUGyUwLdo0JCfgUeGbrCF6WUYCj47pS7zAY02CdGlstZZsqouXK3RnOMKOD3Dq\nf5kiSh56KvhW/F0OZY7PAbdV79LVAiSTiAFdoe/jMjmj8fqXOiCIjllqH/O9/DAm\nRwQStFpauwR+nBbFhq4sYwlZQvJ0NvIxN5JOTECTkMM+X21kf8mrwRdxBfw0YEPa\nUTeZhFr48Fwvnt4jpo7gqpJzt7jjsbWPd1FHtey2Q8zmSHY=\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n00C1BD27B383958D0D8BCA5E4F08D009D9\n-----BEGIN CERTIFICATE-----\nMIIFGDCCBACgAwIBAgIRAMG9J7ODlY0Ni8peTwjQCdkwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNDEwMTMxODE3MzlaFw0yNDEw\nMTAxODE3MzlaMIGxMQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE5MDcGA1UEAxMwVHJ1c3R3YXZlIEV4dGVuZGVkIFZhbGlkYXRpb24gU0hBMjU2\nIENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIB\nIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAre9mHLqiv689FWIk7PaeQLuW\nos8ldRX4rNLHeD7/X7JrTfaXuIQaLfrUODtyRaZs0LtJsEHgpr7dUonDIH69PjBP\nrHg+hBLu7ob4udEx3J03NQSdnR/fqPY0ZMH2NP7e9TFSKKctZ/SmzA8jGclVmdiT\nGg1bTx6xgWuPWq9OprIQSgkP5NRe1GeTQ7U/E1zxLqaw6PeQWjESHPGeilyw0jr6\nqVyHM5ack9ps60sN3CKNGushyaQe3w2bYxRJ9RRH/sILCAmmTbjc/cXrGQMGdaYt\naiGnXbc45r39cqfbynZ71hPPNEtFbOdqk3C7I8vrhIHiKaAtFkTMRSWmHHk4HwID\nAQABo4IBkTCCAY0wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU5eQkWRUy\nJ8kgs0ICbLDvMt6bIFowDgYDVR0PAQH/BAQDAgGGMGYGA1UdIARfMF0wDAYKKwYB\nBAGB7RgDADAOBgxghkgBhv1kAQECBAEwPQYPKwYBBAGB7RgDAwMDBAMDMCowKAYI\nKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCsw\nKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMGwGCCsG\nAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3YXZlLmNv\nbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMv\nU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQY\nMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0GCSqGSIb3DQEBCwUAA4IBAQCly1p1\nrvcOlRS+ODBLb2kYHd4q+cXDl65X+IQ7hOlXg9dpa7CzSAGNNpzhyYMbE48mB/RE\nBXxbZkMzEhWPFj+4jdGNsmX0zjEWatJWsnNVxpA7hDR0iZssezu86oDQ/sbVoaXj\n0a5jB2cZsnMS5287CNDk5i+ImruhbMAYV9sadliXoDy3y01Sv+FLMx39C5UhYhWU\ngvoT9igbSCoc/DPOukEDqsnKMmDqTf3JzuFI1CbJcR6M8R1hAda4mZrxIdGcbT8R\nXp8JQ8Vuv/+plPMcAiZ2Bzed0hPVr5A1Mz8K8w9OyORGlRwjWS65jsr26bjMCcfj\npvuAANrc0Alu4nJC\n-----END CERTIFICATE-----\n\nTrustwave Extended Validation SHA256 CA, Level 1\nSecureTrust Corporation\n35962F305C5A0BEC400D4E9877528C65\n-----BEGIN CERTIFICATE-----\nMIIFCzCCA/OgAwIBAgIQNZYvMFxaC+xADU6Yd1KMZTANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE2MDkwMTE0MzUzNFoXDTI0MDky\nOTE0MzUzNFowgbExCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMTkwNwYDVQQDEzBUcnVzdHdhdmUgRXh0ZW5kZWQgVmFsaWRhdGlvbiBTSEEyNTYg\nQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNhQHRydXN0d2F2ZS5jb20wggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCt72YcuqK/rz0VYiTs9p5Au5ai\nzyV1Ffis0sd4Pv9fsmtN9pe4hBot+tQ4O3JFpmzQu0mwQeCmvt1SicMgfr0+ME+s\neD6EEu7uhvi50THcnTc1BJ2dH9+o9jRkwfY0/t71MVIopy1n9KbMDyMZyVWZ2JMa\nDVtPHrGBa49ar06mshBKCQ/k1F7UZ5NDtT8TXPEuprDo95BaMRIc8Z6KXLDSOvqp\nXIczlpyT2mzrSw3cIo0a6yHJpB7fDZtjFEn1FEf+wgsICaZNuNz9xesZAwZ1pi1q\nIaddtzjmvf1yp9vKdnvWE880S0Vs52qTcLsjy+uEgeIpoC0WRMxFJaYceTgfAgMB\nAAGjggGFMIIBgTASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTl5CRZFTIn\nySCzQgJssO8y3psgWjAOBgNVHQ8BAf8EBAMCAYYwMgYDVR0fBCswKTAnoCWgI4Yh\naHR0cDovL2NybC50cnVzdHdhdmUuY29tL1NUQ0EuY3JsMD0GA1UdIAQ2MDQwMgYE\nVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NB\nMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lz\nc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB8G\nA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMBsGA1UdEQQUMBKBEGNhQHRy\ndXN0d2F2ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAGUMIDkrvlMJ0wHLuP3lkneC\nwGU6mZ3g17jyU2RJwhRinYctraryG7Jh20DQ9/ppTHoxTIADw2JDsC5ByplabteQ\nnLghrl17K1b6PO+rzWA/NFKVwo6u8Gh7Lz0iUuit7ZBD4eKcRedxRZcPQlnD9KTR\nIs94SRpootsuCv/Y5b+1FMPV1KrYtbco9yEVlaNEWLpmiEsqvLjxiWEmt71rzz+0\nS59OtA/ihnbGP9Xrnhe7wf1ybCNOO5gZQMKr/OszfLZ7oVKACGOPLlcSZRRW98gA\nszE+1ZvlHkdjamfTSs4yMvUorYn9NhXnjAWl28NuD9m3FPiE2O50ezEDnHTiaOQ=\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n4B2C6646F434775B67DF34A04DD504E6\n-----BEGIN CERTIFICATE-----\nMIIE/TCCA+WgAwIBAgIQSyxmRvQ0d1tn3zSgTdUE5jANBgkqhkiG9w0BAQsFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTE0MTAwMTE5MjIzNloXDTI0MDky\nODE5MjIzNlowgbUxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJbGxpbm9pczEQMA4G\nA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMu\nMT0wOwYDVQQDEzRUcnVzdHdhdmUgT3JnYW5pemF0aW9uIFZhbGlkYXRpb24gU0hB\nMjU2IENBLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29t\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA49OohlJHBJ/juiQTmibO\nS28pHvCCp1bPOc6elQ62DCYE/A14JXUtI8yaUc9nFjh6dNzR7KjFPEq/qDplQl7f\n1Tvh5ifBNNP2wQ6e820TWlPO4HhR/5g4+3iFmJ1N7kFrxDp1/P8e3+9lcJsXckXC\ntfFkQ9slogJqnaCsipgdrH4gQhicFAL5YqHw2AKfctZLSPpxhI3xISMV/lIQwZPW\nI2221v9ALckokh5pW6dTK8x8yNUUye1zt5msWzqunfBjVYVUj5/LXu46hS99Mfxu\n80ARJRyHsXIuHbMzwVXGqKVPZfKAdHBl5e3ElCjNwNy+Hgi09vS7PoAUhjCf/wbO\nnQIDAQABo4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUys4d\nGAN3HhzzfFiymnCoCIAW9K4wDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYP\nKwYBBAGB7RgDAwMDBAQDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0\nd2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdh\ndmUuY29tL1NUQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50\ncnVzdHdhdmUuY29tL2lzc3VlcnMvU1RDQS5jcnQwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFEIythb6BP3+XUt6w/33TEAdWkOvMA0G\nCSqGSIb3DQEBCwUAA4IBAQBN/Qb6x5VSQHIt/FqvXAkjfCI7jwXGzRoxThavUqv0\npJr1azXKv2L2ye9Sl4OCqiDHZ8ZJZ/Z19Ae1yvGTpG++0O5dWTHZ8qy/JSj17Mg1\nvWiefVpJKtkYflzhC9B9/eB3QuKVTRKDqm1ZC9kbm3MWOwtnEOw4WURWS1X2v4Hv\n2AJaXe11ZRqjx7/c6U50tYp3eVpRDCw7bOIXRffLG0oibhjHiEu8dgq7KkTSrx9m\nQFS6T2x9GLiJKhj2mEfPuGr73TfBPyKsRBymOpG67LThKVnwoUfH3pghA6VkZp5Z\n1Vm6AcDm+eelf5XPvZtNve4evLVPYueA3TmGyxXh1m2d\n-----END CERTIFICATE-----\n\nTrustwave Organization Validation SHA256 CA, Level 1\nSecureTrust Corporation\n0092B8744F71CED0E26C72A3D8D5D925B2\n-----BEGIN CERTIFICATE-----\nMIIFEDCCA/igAwIBAgIRAJK4dE9xztDibHKj2NXZJbIwDQYJKoZIhvcNAQELBQAw\nSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9u\nMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTAeFw0xNjA5MDExNDM1MzVaFw0yNDA5\nMjkxNDM1MzVaMIG1MQswCQYDVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAO\nBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5j\nLjE9MDsGA1UEAxM0VHJ1c3R3YXZlIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIFNI\nQTI1NiBDQSwgTGV2ZWwgMTEfMB0GCSqGSIb3DQEJARYQY2FAdHJ1c3R3YXZlLmNv\nbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOPTqIZSRwSf47okE5om\nzktvKR7wgqdWzznOnpUOtgwmBPwNeCV1LSPMmlHPZxY4enTc0eyoxTxKv6g6ZUJe\n39U74eYnwTTT9sEOnvNtE1pTzuB4Uf+YOPt4hZidTe5Ba8Q6dfz/Ht/vZXCbF3JF\nwrXxZEPbJaICap2grIqYHax+IEIYnBQC+WKh8NgCn3LWS0j6cYSN8SEjFf5SEMGT\n1iNtttb/QC3JKJIeaVunUyvMfMjVFMntc7eZrFs6rp3wY1WFVI+fy17uOoUvfTH8\nbvNAESUch7FyLh2zM8FVxqilT2XygHRwZeXtxJQozcDcvh4ItPb0uz6AFIYwn/8G\nzp0CAwEAAaOCAYUwggGBMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFMrO\nHRgDdx4c83xYsppwqAiAFvSuMA4GA1UdDwEB/wQEAwIBhjAyBgNVHR8EKzApMCeg\nJaAjhiFodHRwOi8vY3JsLnRydXN0d2F2ZS5jb20vU1RDQS5jcmwwPQYDVR0gBDYw\nNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwbAYIKwYBBQUHAQEEYDBeMCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC50\ncnVzdHdhdmUuY29tMDUGCCsGAQUFBzAChilodHRwOi8vc3NsLnRydXN0d2F2ZS5j\nb20vaXNzdWVycy9TVENBLmNydDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUH\nAwEwHwYDVR0jBBgwFoAUQjK2FvoE/f5dS3rD/fdMQB1aQ68wGwYDVR0RBBQwEoEQ\nY2FAdHJ1c3R3YXZlLmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAC0OvN7/UJBcRDXch\nA4b2qJo7mBD05+XR96N7vucMaanz26CnUxs1o8DcBckpqyEXCxdOanIr+/UJNbBL\nXLJCzNLJEJcgV9TjbVu33eQR23yMuXD+cZsqLMF+L5IIM47W8dlwKJvMy0xs7Jb1\nS3NOIhcoVu+XPzRsgKv8Yi2B6l278RfzegiCx4vYJv0pBjFzizEiFH9bWTYIOlIJ\nJSM57hoICgjCTS8BoEgndwWIyc/nEmlYaUwmCo9QynY+UmW1WPWmVITEJPMdMK6A\nZqvvaWmuHJ6/vURaz+Hoc5D3z0yJDDCkv52bXV04ZoF6cbcWry7JvNA+djvay/4B\nRR4SZQ==\n-----END CERTIFICATE-----\n\nSecureTrust TWG Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C25181828DAC4F5F7DE4AFC87AD132\n-----BEGIN CERTIFICATE-----\nMIIG2zCCBMOgAwIBAgITBy8w6cJRgYKNrE9ffeSvyHrRMjANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMjAxMDA4MDY0OTQwWhcNMzAxMDA4MDY0ODQwWjBWMQswCQYDVQQGEwJVUzEUMBIG\nA1UEChMLU2VjdXJlVHJ1c3QxMTAvBgNVBAMTKFNlY3VyZVRydXN0IFRXRyBTZWN1\ncmUgRW1haWwgQ0EsIExldmVsIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQCcD5Wc7H480gOv3ae6SELBls0oNOvpw1ZFjK55nLw+W6PhgqTGNEHlO/Ga\nWt13yS1iO1/WzRaUc2XsFRGcjv3QIfDZb+6UzhL1LL9ZE8zcs0B6fepn4smQg1yK\ngtAWGoD70Z9kEBtypkG23sO5xIiRACJWgRWVZ/891pQBBz+ElCxUnIyDGghHlWCD\nzn5dLoBIVic69Pfpi384uNoNfHV/WATUQEEnwY+5yMMUALAWrRD6Jeh5R4m9qKxG\nUlrO9ObDebK9mFEJvrCPtkTIWT1He4ZD58Lt0NIkaItQ7KsKF9wgwH7BTsRGwQXb\nP6/0LvfO8UDRKNE/4C39u9dwUw/Zpu2iNXTadVWBtaSDsrPFVb5rBu+pvn4l4Hw5\njtySyHAOWn4mhuxDXMuKBtaoTi/qF94d7N0CbqPdN9WSN79Cy2O0BexTGHSJVndX\nEbKyn96b5STPshKVpG9DmUekfnDtnHR9dmH74a05X/A8k/XeSJWXphM6NvyZap2A\nWiIkrS7MsfwnCdZlX+9WGY2qHxnm4Y6JdNah0qxozBbQHkqHsSN4k8O7zr2lfZhC\nuarm0Q1t6tjsmp7PUh26u6PCe0m+MctIrD6ZckUzZeuPduRb55K2p8MxjQSVNH1S\nJ2aaHp77qOYV+rvHXIL7le4OR5lDWyzYtXLc8u17/kLbUtgnmQIDAQABo4IBbTCC\nAWkwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwQwHQYDVR0OBBYEFKpD9MNsQCriSoEcg6nez7XhG7bOMB8GA1Ud\nIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMEEGA1UdIAQ6MDgwNgYEVR0gADAu\nMCwGCCsGAQUFBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA1\nBgNVHR8ELjAsMCqgKKAmhiRodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dD\nQS5jcmwwdAYIKwYBBQUHAQEEaDBmMCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5z\nZWN1cmV0cnVzdC5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8vY2VydHMuc2VjdXJl\ndHJ1c3QuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQBb\ntCXryLFewOafyNENB3NzgAQVVztwaWSyvF5FYSqav95JKcoHZzy3wG7aKlTPtGnq\n1QzJst03qPmZJ3j63obz2AvfEEzLEMlsPmOTy3B9oIrNzd2QhpGW1oF6pIgGB/VP\n5zh7U2ibUC+zRLmihwt+j2+7NBbuLbPozgxDTWh2f9O4rJb5bv98Q8RdbGrypBb9\nhOhDvmNCCfjSe+Q8myqsvawEG5p7s8gsIK/V3xbyqDihXjsGc7xeEWNftlU91jBL\nKPRbrLmXhhWnHJjYs4y5IHu735HA3aAT4TqURS9dGHOMVDRumkFpLqR2W7ptpDki\nOtIFZjO5smU29OD4AlcNUXqQuKEFasyTtkRlORnWhU37c36HB8dc57xWQKOf8pMq\n7lK+ublO9G4mO1Aqr9mioTN4oMONFJG4W5dWwG9baNg682ZACkvPaw45MqSztL3A\nKb4s2cDTWu/D34hV3oafkTwu8B7B2mFZnWRJ9q4akPmZF45uw4RZx2ALaYGGGs67\n+r5qS300As9ONg8hxfVkFQSHOc00IiBkgi3OpoCofEKTgDwZwHVqOJyyPjk6H9Sh\nZANmUOT2mGDLwl86Ar5bTu8ipzlsyDYQMFjho7WaVs8I5OXyVdONXDYLIOtpITGT\n1fRcXFzxYHhrNuFwrdj2zBVyvVD4O6xV97/9nv2Eng==\n-----END CERTIFICATE-----\n\nTrustwave Global Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AD30465CF22697F246B101EC92953B\n-----BEGIN CERTIFICATE-----\nMIIHCDCCBPCgAwIBAgITBs6C2a0wRlzyJpfyRrEB7JKVOzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBjjE3MDUGA1UEAxMuVHJ1c3R3\nYXZlIEdsb2JhbCBEb21haW4gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UE\nChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGljYWdvMREw\nDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQChh5brvvk/kFUZwhlUhqdsUmsMCBjzYqBBLnTyNrKPr4nd\nS9s2h2JvA+9TY7NnJc/Mq1eN5V6zqvbn/LN3c8W06f76xrVvFEKs5SzCefUS/V3Z\nC18dgwXXFrP+RgfK2kqfTHGIPrWoRSnUiLn3iUNEBtJ06oXjAqAMnAyL5AzD+eHm\nZzRK/yCw/gMPnVp2S7Dstka607fS4fW9Sl33mOMNwJRxEjQWHHR25PAb4muP6wjN\nvmoLMgiDMKseHSFVtC7SpmO89PsrUV6MahKJrZcAfquAyoO1zR2c2eGaCI/m8oSx\n3B7KiMZJ3NZims/siMp/5szemsutf36WJ31nmr7PqLJGJdVpoxbLckWIhZnNYSFm\n/pTutpNONqpyYC2gGSXdw5LuxU61913SbAPpk8DZiHi3WslHBo26ghXG++sgJUGj\nhtKZhiYlp8uD21WTP6/60wngpXyCtt9cpHxW1lXmqcxwe2J4/2S3xjHz1dC6BKxb\nr61HCPVrbTD90CZUpMI8JPdsVbz5eegv+SIyybHxZe4S0D9Kv5pgWfqdXf0BAiJC\nTbGwYmFr4uisKhkfMThyOgWEH+CRBzQqdZREQ5lTIlVyzi3jGPuu9Q6brAS9U9Ue\nQhUwX8TtY8Igfo8HlhjugDpy6WvDYQ9i+tG3AC6v8sJLdOOU83Lr+2C1LEF5ZwID\nAQABo4IBYTCCAV0wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYw\nEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFIaZQQzOP7aMcEnlkwfwhgcd\nLXqVMB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6HMD0GA1UdIAQ2MDQw\nMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29t\nL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9U\nV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzABhhpodHRwOi8vb2Nz\ncC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEBCwUAA4ICAQAmn0jp\n+lNp188KxjKQZtpJ3mixLmuqGdH6SVpRs40BYQg/68xOPH3C6AJ17tqE6IwZMW9s\nlgiO4B7khR3ESA6Sct3zmkA8woR/KJVzzegjscHhtQUifQ+Eb9Gi0ORNnetGV+5g\n5vlrFZMptBRGUxXMo2xa+Z/NTyimpMopfXj7qCW/nQWQbzvkQGchK9IokyqV2wra\ntX68/P3zleG+LLwzoJd5AhHYSXWrIRJpClZHN+LQKkbI3MYW7+upo/1e9HEmFKxu\n5SFV3nuQm5wSOsz/ZtIL1AS8IoZYxcSe1Q/yuV9GjnxtL1jkPbzsBx4eBGxUrcIe\nsBat6SI8G58uHTpIPpqUxRYsg8w0FdjK3kNBB5QWDeXiDxzqIRzA0iE1kHeTXRZ3\n7qgGXUcce7ciW5KqeRApjQbD5BSZG2EKkQ7aaOhvxK0LiuxHZnjPW4/fdEcaCuku\nMT5qMDiF2U85V9BvanEy/xkYn4I2UeK4EdSXe7q6j+CIJz9WnoLQDbIS04GqIWe0\nVRQUlx3idUWYSJU/SG8KrEHhlJLmgSjshCwtT6qo4vHwT5WcWDLIbjMqgL1iQ6JS\n4gxXuOGia3d0I4/wec5x23EWwx9V8BtDJ8N7NDeRNmZ8RXOHSYJsVQYIQuFUEXE1\nv3WMSIxuyQMyR5FYSCG9xnKRFzNmiPngDil5IA==\n-----END CERTIFICATE-----\n\nTrustwave Global Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D99FB3B180C281020314A2D1C7640017\n-----BEGIN CERTIFICATE-----\nMIIHFDCCBPygAwIBAgITBs6C2Z+zsYDCgQIDFKLRx2QAFzANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBkDE5MDcGA1UEAxMwVHJ1c3R3\nYXZlIEdsb2JhbCBFeHRlbmRlZCBWYWxpZGF0aW9uIENBLCBMZXZlbCAxMSEwHwYD\nVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xEDAOBgNVBAcTB0NoaWNhZ28x\nETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBAMRO7orfWjfmz6Y6qoAmDp2lqCJcdvbRQ8w18rl1JE3j\nf/1CScZLrnLg4RDm8JiRcvFuvoMXn/XNUWy5ICG57tjG2nO7jvBuXfvbdkGA+foN\n3yJKMTX/PmmGlN4qpzFtsB0kLrP14/0TRGeJB7qDfAFH0ReFk0ftQobLBGBOpEca\n+bv+LhcTe40/uNUSK2yQ9GpIw200mcsD3B9c29Im4tSZFuA2o1vnEeizYW5M4sPX\nHu7p5ZCxjJrXVNqWUPM38rShhMUNL5uaVYWoi7TG5JXbg0Lmt2nq1k5nnig9Yp/W\nlAFooWXjKQzHf/z+XZ57bqPe7SzLW5pzpZdSmY2VRybAwEmzMjCXgHiP2ru3TpAD\n+giakPDoz3ZmbKjwYKZ5PmnOmXx0Z2GloO37MjamjPor/+fZohfyma7VAQE8znJt\nI9MVoRN3G3gW/tuT3jXfzYdFBlfGoO7OYyLN1LK5YBKH2qXrCHD8rG2DauBt7U+w\nfOvwfkp8FcdTnfQ92Xe65U3Xdu0eCgQJbChxZtWhhLnbY6xhmwAWyJ1my+Im72Kx\nGP/XcA8SH2sz6/k0782BjRckDuFpVVpTNYl9wqe/tuOrZhWPapOsRlfsDTuhgGu5\n2inM9sU3CAzmFE85zoRQFZQSof3kFN2rUZF20bmTak99cBNLli6/ja3+KntpZ08d\nAgMBAAGjggFrMIIBZzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIB\nhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFHM4IMZH\nbabGL3tQ4EDe3sedR958MB8GA1UdIwQYMBaAFJngGWcNYtt2s9o9uFvo/ULSMQ6H\nMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50\ncnVzdHdhdmUuY29tL0NBMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6Ly9jcmwudHJ1\nc3R3YXZlLmNvbS9UV0dDQS5jcmwwbgYIKwYBBQUHAQEEYjBgMCYGCCsGAQUFBzAB\nhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA2BggrBgEFBQcwAoYqaHR0cDov\nL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHQ0EuY3J0MA0GCSqGSIb3DQEB\nCwUAA4ICAQBwnSHECaf+hfGrm3Cg+aRr57ytoOSzI1DjlTNcM7k4uSt6kJRPHJ4c\nldIujMaETV52RgE6ykaMGkuIwQOIsLI6SXwjU1f5gXFUbDTS3KTWc/jwQeyLmdOe\nhvc+wBSFv8d10Sx/Qiti8mqsTqr0+N94Cx01+SkiWxWWoSZOAPkz8DMQGlD4yndK\nceTMGtQ03cLnD/36Mv6tz/Ds9l/OExrJGGxHD0tmYwYwBZpPHm7BBY2ZzycVxLcg\n+uuggcX1pg5MhJ1rDyod+7X+ilvTgH7ftHCmxvR7viMLwSUuytZ05zb2teRQgU+8\niWnPEHO/ADm5VD1Zb5Rx0579/YEENBJtGUPPJzo+JEpiZIOIlwZ69ETWWNCLZr0V\nvoi+SDl65cr+dgR9JreJ2I4W9FzS45ruxYEC8LGKEmV46sAk1YLbnIBmhehAKy9t\nP8RVz3QXYJ6rLOAuXF7R2eVV0SqfivW9bVzvBZTUTFsbdSMBAAF1BJjdRqYR63DI\ncQASY7CRoUiak1NTgPkzeV8VcNJmUt8c2eKJIifqBAjquH6+6UXs9Ol0aMPn6v0y\nB+TSuxhX2sSrpna9QcOh/QyoR5Hvcd81rZSbMc7yasKoUMXviotV1SfEqs3RU5Ts\nwnU4NHPn5ITRiuh5VMuvB/VnjnPC953u5uqAGtZ8BkC7X9cu5E0rMQ==\n-----END CERTIFICATE-----\n\nTrustwave Global Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A69703AEFE5D37D18858C74026B004\n-----BEGIN CERTIFICATE-----\nMIIHGDCCBQCgAwIBAgITBs6C2aaXA67+XTfRiFjHQCawBDANBgkqhkiG9w0BAQsF\nADCBiDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAwDgYDVQQHDAdD\naGljYWdvMSEwHwYDVQQKDBhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xMTAvBgNV\nBAMMKFRydXN0d2F2ZSBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcN\nMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBlDE9MDsGA1UEAxM0VHJ1c3R3\nYXZlIEdsb2JhbCBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBDQSwgTGV2ZWwgMTEh\nMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAwDgYDVQQHEwdDaGlj\nYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMwggIiMA0GCSqGSIb3\nDQEBAQUAA4ICDwAwggIKAoICAQC8BzZtA3eWejFOGHc2DLgex6P471dLWIIHSlrF\nY4a2BCtzAd/VlpQ3gslWnTgthOmK2/hCc+WSaOLPVZzZf3lGnxbb0+Y87Kx+nS1m\nIfJ/4OR6o8XLMLoCTAI1jsWxggiB4NBMqsW2xXQ5VAvBb66KEQYbshNlRpTbtBFq\nEed4YIvCdjbnCUOy1zubgVHUVyCFHzN4XPjEQCtT5vZM576Lt10Je9COnqG0CtPU\nQNP2tjnSmOOYdWcVRZ0UqXUl2fMBfmSDHd8902foigjpP04AYYbq6AetqEgqdvQP\nxz5pVbZqzy8UrE/s/raJLFyTuIAYVt18M0whSgWzGgUWkq2xRqbfn7b1hd56dwRb\nR7pKc51FyTbeocnKlYLC+Dlzp7iKQ3Pb7WHRwLhaJB7u4CzwqhUxHc0xplMYsq92\nMbZ6WN5L5mI7hxY8gLMOR7vNX9CKz9XcYRS01iCDe5Y/9muW8bzGyNXLX1YaHAy4\n+6ncksb3Y3RUKj3f0+T4nbiRISmGazravJKSssBLP3kPa9h5aX+Vd00eL+Q7sXrh\nFO7xz+oWtOL5rfVszyc87JQvjw1sDHA710nViqzUE1bJZNe61EXdCb/RV+Wsu+rO\ncAMSr5x2j/wW875sh+U3EJmTzdEBUBxHnBD2mDTyonT7wL47TRXTEO1IaS4mVbnv\no0jWvQIDAQABo4IBazCCAWcwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8E\nBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBS3\n/VNzOCaKcKuTyoupCOrH07fj/TAfBgNVHSMEGDAWgBSZ4BlnDWLbdrPaPbhb6P1C\n0jEOhzA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9z\nc2wudHJ1c3R3YXZlLmNvbS9DQTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js\nLnRydXN0d2F2ZS5jb20vVFdHQ0EuY3JsMG4GCCsGAQUFBwEBBGIwYDAmBggrBgEF\nBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbS8wNgYIKwYBBQUHMAKGKmh0\ndHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR0NBLmNydDANBgkqhkiG\n9w0BAQsFAAOCAgEAFXwfmELpEGKUguzVTMix79XbUnkfLa7IXcqBOrwOWEF1V8F1\nxGY6jLlUTtoEXRYZwCpqOK/i4m4nmWCYE45O7URR8nqeFffceTi62t4Yvh6LkC9g\nUnj3aChLiO/Zdxilq6vfsXO0mKafrGtZXwjyskS250Pj9DsANs57QqvYN4hqbplJ\nzc95p09OUvEhPiyRyx6FyY28U+3X6+mSNMJWd4Nhr+3HtvmItLIXP2JCLxuYtu/K\n6nKcpFCFFKeF8K3PWpjsAb0hfXL4vc3WfyCYsQnvJeisyAh7yEuge2iDwl1/xXIo\nEOAyyYAxvy5UnzcAa0Z2lwjptve+jZ4gQ+A1ioYUavR3pSfBNzuJW30nZCWFadKc\nNXOPoAPkK8JLxgRBH3JboeBCXG6xgy/pXrTjyhW7/SS+Z+7eKkp9jgdTVQ12yUtc\nCiYWUuM4l240D/z+s03WOEcLTluESwFkJhzs3D9i5crTL72uSkDDmlh8HXoPAyYO\nl3Mn9cGWhd8M8IeQRXmb6O7gvvQZDoSXDVDbjBKcW1lFpi0wBxIBzLaOi4CX4OhI\nJHJ/H3duOMaltuzXLSLkc26jwHzMeq8seQRSXraXJi1t5oBKlmEWFEgq6xlH7mLW\n3TOqS19cuiSWl/CsnlLGaW8MH5YHmk+MJxQE1BcLBs6ciapvHlhLEd9EUpU=\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-256 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C4627001DECFEBF6BF5D3B1066D7E3\n-----BEGIN CERTIFICATE-----\nMIIDbTCCAxKgAwIBAgITBy8w6cRicAHez+v2v107EGbX4zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTI1NiBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwWTATBgcqhkjO\nPQIBBggqhkjOPQMBBwNCAAT4KazLm94aiykBGkNQVkBrjmK77RlP627D2n3EwK3s\n49ljRkN6wiTWXHx3jPD5BBE/7mWhGWnphzGu1Deb6yzco4IBdTCCAXEwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAwwCgYIKwYBBQUH\nAwQwHQYDVR0OBBYEFHMQ2nwjQr8tFHfBImxM7ct8lbBYMB8GA1UdIwQYMBaAFKNB\nBqyQbdFK63WlShCZs7Ghi0r3MEEGA1UdIAQ6MDgwNgYEVR0gADAuMCwGCCsGAQUF\nBwIBFiBodHRwczovL2NlcnRzLnNlY3VyZXRydXN0LmNvbS9DQTA5BgNVHR8EMjAw\nMC6gLKAqhihodHRwOi8vY3JsLnNlY3VyZXRydXN0LmNvbS9UV0dQMjU2Q0EuY3Js\nMHgGCCsGAQUFBwEBBGwwajAoBggrBgEFBQcwAYYcaHR0cDovL29jc3Auc2VjdXJl\ndHJ1c3QuY29tLzA+BggrBgEFBQcwAoYyaHR0cDovL2NlcnRzLnNlY3VyZXRydXN0\nLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDSQAwRgIhAN8G\nPwKUpMgV3LZjq7fuKS96f15BrwBjmTlKhOwgX83BAiEA9WpWhzRRoKeJGAqqXrMk\nZ8RE9xRtOFBqYdv9H5CeTVk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9AF531423847B85FB677932AAF80508\n-----BEGIN CERTIFICATE-----\nMIIDmDCCAz+gAwIBAgITBs6C2a9TFCOEe4X7Z3kyqvgFCDAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\nWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATWpfTIQFPkZIoXXMDN9utRU+AbLGcg\nBmLA06x2qqdcpCMlYFoJhuRWzYCiqz1mKrAvNlQYkgoHfemk92sf8iaro4IBaTCC\nAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwEwYDVR0lBAww\nCgYIKwYBBQUHAwEwHQYDVR0OBBYEFA/DUGGZflb1xtmcOeiDWJAHuhq0MB8GA1Ud\nIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2MDQwMgYEVR0gADAq\nMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1Ud\nHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMjU2Q0Eu\nY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1\nc3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNv\nbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwIDRwAwRAIgICvA5ttD\n0oeUcd37iYvoQ7iMIpZINp4e1j5NrlI3UnYCIEZhimm9+1dUWAfx9ZkGmIu0HiHR\nzEZifAHbPM3SJbRu\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A20A3797CD878EB3DAA41D08680AF7\n-----BEGIN CERTIFICATE-----\nMIIDpjCCA0ugAwIBAgITBs6C2aIKN5fNh46z2qQdCGgK9zAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKXHfFxFDVI6uYWZlWciFFKtYzuJ\n+IBhot3PQGikE3sjU8d9dARkZCkInqmDyP/+XiLzgrYPMy7NS8lZcRsE5p2jggFz\nMIIBbzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUE\nFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwHQYDVR0OBBYEFAwlVqqzYgakv+7gGxtX\nzC8s9g1QMB8GA1UdIwQYMBaAFKNBBqyQbdFK63WlShCZs7Ghi0r3MD0GA1UdIAQ2\nMDQwMgYEVR0gADAqMCgGCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUu\nY29tL0NBMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNv\nbS9UV0dQMjU2Q0EuY3JsMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0\ncDovL29jc3AudHJ1c3R3YXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wu\ndHJ1c3R3YXZlLmNvbS9pc3N1ZXJzL1RXR1AyNTZDQS5jcnQwCgYIKoZIzj0EAwID\nSQAwRgIhALahroq1NScrFeCvG5uMgMKH/bo190D+Mkh2ZIojrUOfAiEAosFXFE73\n0WLRPjX2uOkLhXuA4cQEb1R1oeGDH4MNVOo=\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-256 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A8B57C104843994DACD79E28633E5F\n-----BEGIN CERTIFICATE-----\nMIIDqDCCA0+gAwIBAgITBs6C2ai1fBBIQ5lNrNeeKGM+XzAKBggqhkjOPQQDAjCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAyNTYgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTI1NiBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQmHWo0mogvX1J61xysTqsn\n6qV06wxUH68/QJ2aDIka6beTrDoTZv3mIkyPxFTPy+9idjgSAERlBsDirgO2/NiY\no4IBczCCAW8wEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwHQYD\nVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMB0GA1UdDgQWBBSv+Ju8XTSl3tA+\nFCldDY4lrbClhTAfBgNVHSMEGDAWgBSjQQaskG3RSut1pUoQmbOxoYtK9zA9BgNV\nHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9zc2wudHJ1c3R3\nYXZlLmNvbS9DQTA3BgNVHR8EMDAuMCygKqAohiZodHRwOi8vY3JsLnRydXN0d2F2\nZS5jb20vVFdHUDI1NkNBLmNybDByBggrBgEFBQcBAQRmMGQwJgYIKwYBBQUHMAGG\nGmh0dHA6Ly9vY3NwLnRydXN0d2F2ZS5jb20vMDoGCCsGAQUFBzAChi5odHRwOi8v\nc3NsLnRydXN0d2F2ZS5jb20vaXNzdWVycy9UV0dQMjU2Q0EuY3J0MAoGCCqGSM49\nBAMCA0cAMEQCIGa3JyBYlXxRN5GIIulLaDxnANNRnY4j1Et166CCC5h+AiAVUlzJ\nIJTfUDBU7jnSTKSw/F+bLIPvaC6frMZv0h+RTA==\n-----END CERTIFICATE-----\n\nSecureTrust TWG ECDSA P-384 Secure Email CA, Level 2\nTrustwave Holdings, Inc.\n072F30E9C58D91DEF98A7F9EB2666CFE7BE1EE\n-----BEGIN CERTIFICATE-----\nMIIDqjCCAy+gAwIBAgITBy8w6cWNkd75in+esmZs/nvh7jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMjAxMDA4MDY0OTQxWhcNMzAxMDA4MDY0ODQxWjBiMQswCQYDVQQGEwJV\nUzEUMBIGA1UEChMLU2VjdXJlVHJ1c3QxPTA7BgNVBAMTNFNlY3VyZVRydXN0IFRX\nRyBFQ0RTQSBQLTM4NCBTZWN1cmUgRW1haWwgQ0EsIExldmVsIDIwdjAQBgcqhkjO\nPQIBBgUrgQQAIgNiAAR4nTJ6MvtPBb7+L3tklhdDw0tr5FNY5Q1hsp6NR5OzZVeG\nx/X3VrCvkOsae1OEZHNqWCnnI1s/ix9qn/2+q0pPpXrT6wkN/HOQzpQaJWzCF7yX\nIfIB0o+x1Pr17UOX2qGjggF1MIIBcTASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud\nDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDBDAdBgNVHQ4EFgQUJd3xyUp6\n6EP6L9hCmkRrWAcU2mwwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ymB07I552+gpAw\nQQYDVR0gBDowODA2BgRVHSAAMC4wLAYIKwYBBQUHAgEWIGh0dHBzOi8vY2VydHMu\nc2VjdXJldHJ1c3QuY29tL0NBMDkGA1UdHwQyMDAwLqAsoCqGKGh0dHA6Ly9jcmwu\nc2VjdXJldHJ1c3QuY29tL1RXR1AzODRDQS5jcmwweAYIKwYBBQUHAQEEbDBqMCgG\nCCsGAQUFBzABhhxodHRwOi8vb2NzcC5zZWN1cmV0cnVzdC5jb20vMD4GCCsGAQUF\nBzAChjJodHRwOi8vY2VydHMuc2VjdXJldHJ1c3QuY29tL2lzc3VlcnMvVFdHUDM4\nNENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA8X5zwZHtdHjLIn60rwG3Z3NAa6cU\n6gOFxyF+ksTCXvWCUP0oFUqsRPMKMYE2mtdQAjEA2diuEHTPUgCQ0ynhLjged8BO\nFyzL3UlFieGGp90v58gUpfjoFq0BReAw7MPYo/Qa\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Domain Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9B07A17CC5376157813389A2930A44A\n-----BEGIN CERTIFICATE-----\nMIID1TCCA1ygAwIBAgITBs6C2bB6F8xTdhV4EziaKTCkSjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBmjFDMEEGA1UEAxM6\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBEb21haW4gVmFsaWRhdGlvbiBD\nQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJbmMuMRAw\nDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UEBhMCVVMw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAASxlBEflNumTKsypgdOscM2x6ZRpQGSyB4B\nhJScRQI81UhZvzYSwxPWcxNZwFQoV457HfqR51pviJnHltRS8MJhJ9Q9Rf1sSmy4\nW6SPsM9qnBjwfBRxghByIsEIaTW/PKyjggFpMIIBZTASBgNVHRMBAf8ECDAGAQH/\nAgEAMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEFBQcDATAdBgNVHQ4E\nFgQUp6etGGS1u/oGGEfIwJ68Zf9pAWAwHwYDVR0jBBgwFoAUVamEidLBMr0Yy2ym\nB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBz\nOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAsoCqgKIYmaHR0cDov\nL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYIKwYBBQUHAQEEZjBk\nMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUuY29tLzA6BggrBgEF\nBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvVFdHUDM4NENB\nLmNydDAKBggqhkjOPQQDAwNnADBkAjA6fS1jRjt+DvnWSI58v4lX+8DCXbdEhDaB\nbBOS/rXwS/ntsFXqTf0B90GPv3AWlFMCMBbz6nXMwX0jKRkaFZOZx9tvwUapdq7M\n6jYpT/NnAzH68x1t3/7ysZ8lPuKIqAwdKQ==\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Extended Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A331594530006781829387E40DBCB6\n-----BEGIN CERTIFICATE-----\nMIID4zCCA2igAwIBAgITBs6C2aMxWUUwAGeBgpOH5A28tjAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIwWhcNMjgwMjI0MDUwMTIwWjCBnDFFMEMGA1UEAxM8\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBFeHRlbmRlZCBWYWxpZGF0aW9u\nIENBLCBMZXZlbCAxMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4x\nEDAOBgNVBAcTB0NoaWNhZ28xETAPBgNVBAgTCElsbGlub2lzMQswCQYDVQQGEwJV\nUzB2MBAGByqGSM49AgEGBSuBBAAiA2IABKcVGieqBjW3BuVza9VhkBlpGLHLZqQg\nI0GXaTpt5CogNWz6BmlZ1yAPjRnDUVfVwl57ATRtV7u+5TPFzKZ+RheFVc0iA8vl\nQ2JINGRz8XLDaivvuygQtFKSzCWn4e66cKOCAXMwggFvMBIGA1UdEwEB/wQIMAYB\nAf8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF\nBQcDATAdBgNVHQ4EFgQUMFfit09gayJACkNfT/oNzXO8JCcwHwYDVR0jBBgwFoAU\nVamEidLBMr0Yy2ymB07I552+gpAwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYB\nBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5jb20vQ0EwNwYDVR0fBDAwLjAs\noCqgKIYmaHR0cDovL2NybC50cnVzdHdhdmUuY29tL1RXR1AzODRDQS5jcmwwcgYI\nKwYBBQUHAQEEZjBkMCYGCCsGAQUFBzABhhpodHRwOi8vb2NzcC50cnVzdHdhdmUu\nY29tLzA6BggrBgEFBQcwAoYuaHR0cDovL3NzbC50cnVzdHdhdmUuY29tL2lzc3Vl\ncnMvVFdHUDM4NENBLmNydDAKBggqhkjOPQQDAwNpADBmAjEA6pScrGT+SruK7iON\n7iDJZfhQsjfQIhaq9sHiEXd89B8ibWOb57no/K265dPxeuALAjEA27NTMZM344eT\nX3df9B22dY5ZshsUMIiRcMo1K4B/GBO8SIA0jParkHS5g4WO5K7O\n-----END CERTIFICATE-----\n\nTrustwave Global ECDSA P-384 Organization Validation CA, Level 1\nTrustwave Holdings, Inc.\n06CE82D9A9D8E29837EF90BEAF59DC6551BED6\n-----BEGIN CERTIFICATE-----\nMIID5jCCA2ygAwIBAgITBs6C2anY4pg375C+r1ncZVG+1jAKBggqhkjOPQQDAzCB\nkTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCElsbGlub2lzMRAwDgYDVQQHEwdDaGlj\nYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9sZGluZ3MsIEluYy4xOjA4BgNVBAMT\nMVRydXN0d2F2ZSBHbG9iYWwgRUNDIFAzODQgQ2VydGlmaWNhdGlvbiBBdXRob3Jp\ndHkwHhcNMTgwMjA2MTIyMTIxWhcNMjgwMjI0MDUwMTIxWjCBoDFJMEcGA1UEAxNA\nVHJ1c3R3YXZlIEdsb2JhbCBFQ0RTQSBQLTM4NCBPcmdhbml6YXRpb24gVmFsaWRh\ndGlvbiBDQSwgTGV2ZWwgMTEhMB8GA1UEChMYVHJ1c3R3YXZlIEhvbGRpbmdzLCBJ\nbmMuMRAwDgYDVQQHEwdDaGljYWdvMREwDwYDVQQIEwhJbGxpbm9pczELMAkGA1UE\nBhMCVVMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATvG09PrsO8UQZhH5Zw54rwgcUw\nKjC9D2V3myjD5WOa8uxdTL8PzdwPk4TCcSf6UUG1Tt74j/I+vBOi2tgMcDt68Zld\nvTj+jZT1BBYTQtYh6/dOUjmiapQU5XqoFMRNubGjggFzMIIBbzASBgNVHRMBAf8E\nCDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAgYI\nKwYBBQUHAwEwHQYDVR0OBBYEFDoXwH5iO1eguEDKzDRHzZZ+/AmIMB8GA1UdIwQY\nMBaAFFWphInSwTK9GMtspgdOyOedvoKQMD0GA1UdIAQ2MDQwMgYEVR0gADAqMCgG\nCCsGAQUFBwIBFhxodHRwczovL3NzbC50cnVzdHdhdmUuY29tL0NBMDcGA1UdHwQw\nMC4wLKAqoCiGJmh0dHA6Ly9jcmwudHJ1c3R3YXZlLmNvbS9UV0dQMzg0Q0EuY3Js\nMHIGCCsGAQUFBwEBBGYwZDAmBggrBgEFBQcwAYYaaHR0cDovL29jc3AudHJ1c3R3\nYXZlLmNvbS8wOgYIKwYBBQUHMAKGLmh0dHA6Ly9zc2wudHJ1c3R3YXZlLmNvbS9p\nc3N1ZXJzL1RXR1AzODRDQS5jcnQwCgYIKoZIzj0EAwMDaAAwZQIwMyHlVCVMacxP\nO0fC+uc4M7Eq1F9woaWBmLSSNC6EWe3nShMqsR9HrNWrOHBHucNWAjEArwrzEM8g\nJkR4iZxbyYNIn2sNEkNZt2pxqJn4G2cDDDFfOarykKVzP1aJ9OMdYUvs\n-----END CERTIFICATE-----\n\nTrustwave S/MIME SHA256 CA, Level 1\nXRamp Security Services Inc\n3A83B71EE02C3CCA1CE1A2643E9B66EA\n-----BEGIN CERTIFICATE-----\nMIIFHTCCBAWgAwIBAgIQOoO3HuAsPMoc4aJkPptm6jANBgkqhkiG9w0BAQsFADCB\ngjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk\nMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY\nUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQxMDAxMTky\nMjM4WhcNMjQwOTI4MTkyMjM4WjCBpDELMAkGA1UEBhMCVVMxETAPBgNVBAgTCEls\nbGlub2lzMRAwDgYDVQQHEwdDaGljYWdvMSEwHwYDVQQKExhUcnVzdHdhdmUgSG9s\nZGluZ3MsIEluYy4xLDAqBgNVBAMTI1RydXN0d2F2ZSBTL01JTUUgU0hBMjU2IENB\nLCBMZXZlbCAxMR8wHQYJKoZIhvcNAQkBFhBjYUB0cnVzdHdhdmUuY29tMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4c5I5giD0wEh+RuoLIJkD7a6mBlm\n+YzTtXSefGejVVYtpjclkUl4C4hEfQMCUcrBnU3ORHVprXi/Q82dKNFPac8FI9bj\n8mtq0cjdSDfXJKfdf52wPXnTjASwKyhJt+CoJik+Fz72KAkjxi+OUSpWdQBeAQra\ndbtu4UGFTgPcuU/cwpF8J0g4CGk/saVKkkJNpq5wqpfQRYl025FyKbzmRjqhB/Ta\npoHlbHMQ7aeoZ+qtDC+eWnE3AqTUHx14Z5fegjLQRmPWqqdeZafthouglbEuHt4A\neyzefTDNwyXjUiRD/n0kaNNW+lcsLpw7ouw1OU8mwQ0C7LoPJljpXRjvOwIDAQAB\no4IBaTCCAWUwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUDDOjV6rjq9ZL\ncBs2nqPtYVDmr3QwDgYDVR0PAQH/BAQDAgGGMEgGA1UdIARBMD8wPQYPKwYBBAGB\n7RgDAwMFBAMDMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRydXN0d2F2ZS5j\nb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVzdHdhdmUuY29t\nL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZaHR0cDovL29j\nc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3NzbC50cnVzdHdh\ndmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwEwYDVR0lBAwwCgYIKwYBBQUHAwQwHwYD\nVR0jBBgwFoAUxk+iPQZjhAmczmLkBKyNXLXpthswDQYJKoZIhvcNAQELBQADggEB\nAIdGLHufUegzFKVBQVWs3YAIFqCcJvdak14TMRImxJsnQWLz+jIW0olC0JATY6Ng\nxAbjIJA4wtW/tA+rgE6WcA5y3bLN3bRMQVDSu6X26hkVjvwo4/VYykOp3e9Cqlfe\ngJAsrqBQKXkUpEbYEmmorXxj6/74e//xwXTz0XS0BS9cXhONlTQffyJnMeLaunzQ\nS1x/MvALfPCHCZCTOfLDmwylKtHHu+V2Ks0HV+ZrzCBRR5W3MhGTU7PpNEMQwyGF\n+MG5eZTd0jyxOSOjaXQm7iDh0tG/iKZZegn5AhNdaHE74QEHTjK+teLQlo60QGBk\necyzakgVYZ/Ezalz8nQwhCA=\n-----END CERTIFICATE-----\n\nTrustwave XRamp Global Extended Validation CA, Level 1\nXRamp Security Services Inc\n00D3D519C2B2EB5C7040F64CBC957BBD2C\n-----BEGIN CERTIFICATE-----\nMIIFMDCCBBigAwIBAgIRANPVGcKy61xwQPZMvJV7vSwwDQYJKoZIhvcNAQELBQAw\ngYIxCzAJBgNVBAYTAlVTMR4wHAYDVQQLExV3d3cueHJhbXBzZWN1cml0eS5jb20x\nJDAiBgNVBAoTG1hSYW1wIFNlY3VyaXR5IFNlcnZpY2VzIEluYzEtMCsGA1UEAxMk\nWFJhbXAgR2xvYmFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTE1MDgxMjIw\nMTczMVoXDTI1MDgwOTIwMTczMVowgbcxCzAJBgNVBAYTAlVTMREwDwYDVQQIEwhJ\nbGxpbm9pczEQMA4GA1UEBxMHQ2hpY2FnbzEhMB8GA1UEChMYVHJ1c3R3YXZlIEhv\nbGRpbmdzLCBJbmMuMT8wPQYDVQQDEzZUcnVzdHdhdmUgWFJhbXAgR2xvYmFsIEV4\ndGVuZGVkIFZhbGlkYXRpb24gQ0EsIExldmVsIDExHzAdBgkqhkiG9w0BCQEWEGNh\nQHRydXN0d2F2ZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9\nAAbj9SknrNJT9pDatGvlR386KRi0SkqIOGr+C5W91+8E8PqydEHwjrnrWt/MTLGO\n+2kfEO3TEJlWxQQqbHy8SdhjCANefLzOT1cfTfjroWBIS9yiHpBIQytAaz/td95Y\n+JKrRBVCnIR/wB5qMMQ982RWwqggD763XLma0c1AIndsZL+dXp1zET4KBreoxn3q\nRYzMIsZIL2mAJoiCOTYuOGrOMVuaQn0HSu3K7bU+CpkdLQ/j+ikcQiI10IL9oOcO\nU9Gnt/hRyUX66Gk91RIpYXhla2tIYrg7ezrAnFoZIZCb891JjFtbSEOvAAK9F5d6\nfkkjPx0432o/v1c5GRFPAgMBAAGjggFoMIIBZDASBgNVHRMBAf8ECDAGAQH/AgEA\nMB0GA1UdDgQWBBTFzrk7QkXAzQnlaOhIOoNdbI6rGDAOBgNVHQ8BAf8EBAMCAYYw\nPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vc3NsLnRy\ndXN0d2F2ZS5jb20vQ0EwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC50cnVz\ndHdhdmUuY29tL1hHQ0EuY3JsMGwGCCsGAQUFBwEBBGAwXjAlBggrBgEFBQcwAYYZ\naHR0cDovL29jc3AudHJ1c3R3YXZlLmNvbTA1BggrBgEFBQcwAoYpaHR0cDovL3Nz\nbC50cnVzdHdhdmUuY29tL2lzc3VlcnMvWEdDQS5jcnQwHQYDVR0lBBYwFAYIKwYB\nBQUHAwIGCCsGAQUFBwMBMB8GA1UdIwQYMBaAFMZPoj0GY4QJnM5i5ASsjVy16bYb\nMA0GCSqGSIb3DQEBCwUAA4IBAQCA2N/WVTGYRGNTuvF2qKWPrQUx0/6pKmGqELl6\nNXs1bwRXCci98SkeNjiaa2dHEwcGR43/M1Y0nekXP8QCEFVqGOwaY0pnTb8wL+CI\n/HTp1zfmoCYNvtzt1fIq/+9ynLYEjX8rsrf51HIEjJJK8K3k/Ub3cFT+yJKNN2YN\nJS0IvJYlbpqS6VbcInwLcW7WvJmXUuL7t0Vtt0d2q1h5UdnJQP+skiOmN/B0zPut\nbRC4v5pNGJJmwbk58UlOSeviH2qzDGutamOJ6dFNWqQFoZorAT7fUsr3WDA4HKtx\neraYdCIRJX7weW9xpdMNsVO7Wy/Ma7Fz9fzKnOH5mnInBOof\n-----END CERTIFICATE-----\n\nSecure Global CA\nSecureTrust Corporation\n075622A4E8D48A894DF413C8F0F8EAA5\n-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx\nMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg\nQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ\niQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa\n/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ\njnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI\nHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7\nsFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w\ngZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw\nKaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG\nAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L\nURYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO\nH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm\nI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY\niNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc\nf8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW\n-----END CERTIFICATE-----\n\nSecureTrust CA\nSecureTrust Corporation\n0CF08E5C0816A5AD427FF0EB271859D0\n-----BEGIN CERTIFICATE-----\nMIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz\nMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv\ncnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz\nZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO\n0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao\nwW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj\n7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS\n8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT\nBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg\nJYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC\nNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3\n6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/\n3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm\nD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS\nCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR\n3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=\n-----END CERTIFICATE-----\n\nTrustwave Global Certification Authority\nTrustwave Holdings, Inc.\n05F70E86DA49F346352EBAB2\n-----BEGIN CERTIFICATE-----\nMIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw\nCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x\nITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1\nc3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx\nOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI\nSWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI\nb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn\nswuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu\n7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8\n1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW\n80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP\nJqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l\nRtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw\nhI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10\ncoos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc\nBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n\ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud\nEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud\nDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W\n0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe\nuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q\nlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB\naCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE\nsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT\nMaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe\nqu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh\nVicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8\nh6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9\nEEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK\nyeC2nOnOcXHebD8WpHk=\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P256 Certification Authority\nTrustwave Holdings, Inc.\n0D6A5F083F285C3E5195DF5D\n-----BEGIN CERTIFICATE-----\nMIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN\nFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w\nDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw\nCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh\nDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7\n-----END CERTIFICATE-----\n\nTrustwave Global ECC P384 Certification Authority\nTrustwave Holdings, Inc.\n08BD85976C9927A48068473B\n-----BEGIN CERTIFICATE-----\nMIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ\nj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF\n1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\nA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3\nAZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC\nMGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu\nSw==\n-----END CERTIFICATE-----\n";
|
|
47
47
|
|
|
48
48
|
var PKG_NAME = "@hpcc-js/comms";
|
|
49
|
-
var PKG_VERSION = "2.
|
|
50
|
-
var BUILD_VERSION = "2.104.
|
|
49
|
+
var PKG_VERSION = "2.83.1";
|
|
50
|
+
var BUILD_VERSION = "2.104.23";
|
|
51
51
|
|
|
52
52
|
/******************************************************************************
|
|
53
53
|
Copyright (c) Microsoft Corporation.
|
|
@@ -139,7 +139,7 @@ function __spreadArray(to, from, pack) {
|
|
|
139
139
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
var logger$
|
|
142
|
+
var logger$5 = util.scopedLogger("comms/connection.ts");
|
|
143
143
|
function instanceOfIOptions(object) {
|
|
144
144
|
return "baseUrl" in object;
|
|
145
145
|
}
|
|
@@ -241,12 +241,12 @@ function jsonp(opts, action, request, responseType, header) {
|
|
|
241
241
|
respondedTimeout -= respondedTick;
|
|
242
242
|
if (respondedTimeout <= 0) {
|
|
243
243
|
clearInterval(progress);
|
|
244
|
-
logger$
|
|
244
|
+
logger$5.error("Request timeout: " + script.src);
|
|
245
245
|
doCallback();
|
|
246
246
|
reject(Error("Request timeout: " + script.src));
|
|
247
247
|
}
|
|
248
248
|
else {
|
|
249
|
-
logger$
|
|
249
|
+
logger$5.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
252
|
}, respondedTick);
|
|
@@ -524,109 +524,114 @@ var Service = /** @class */ (function () {
|
|
|
524
524
|
return Service;
|
|
525
525
|
}());
|
|
526
526
|
|
|
527
|
-
|
|
528
|
-
(function (
|
|
529
|
-
DFUWUActions
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
527
|
+
exports.FileSpray = void 0;
|
|
528
|
+
(function (FileSpray) {
|
|
529
|
+
(function (DFUWUActions) {
|
|
530
|
+
DFUWUActions["Delete"] = "Delete";
|
|
531
|
+
DFUWUActions["Protect"] = "Protect";
|
|
532
|
+
DFUWUActions["Unprotect"] = "Unprotect";
|
|
533
|
+
DFUWUActions["Restore"] = "Restore";
|
|
534
|
+
DFUWUActions["SetToFailed"] = "SetToFailed";
|
|
535
|
+
DFUWUActions["Archive"] = "Archive";
|
|
536
|
+
})(FileSpray.DFUWUActions || (FileSpray.DFUWUActions = {}));
|
|
537
|
+
})(exports.FileSpray || (exports.FileSpray = {}));
|
|
536
538
|
var FileSprayServiceBase = /** @class */ (function (_super) {
|
|
537
539
|
__extends(FileSprayServiceBase, _super);
|
|
538
540
|
function FileSprayServiceBase(optsConnection) {
|
|
539
|
-
return _super.call(this, optsConnection, "FileSpray", "1.
|
|
541
|
+
return _super.call(this, optsConnection, "FileSpray", "1.25") || this;
|
|
540
542
|
}
|
|
541
543
|
FileSprayServiceBase.prototype.AbortDFUWorkunit = function (request) {
|
|
542
|
-
return this._connection.send("AbortDFUWorkunit", request);
|
|
544
|
+
return this._connection.send("AbortDFUWorkunit", request, "json", false, undefined, "AbortDFUWorkunitResponse");
|
|
543
545
|
};
|
|
544
546
|
FileSprayServiceBase.prototype.Copy = function (request) {
|
|
545
|
-
return this._connection.send("Copy", request);
|
|
547
|
+
return this._connection.send("Copy", request, "json", false, undefined, "CopyResponse");
|
|
548
|
+
};
|
|
549
|
+
FileSprayServiceBase.prototype.CreateDFUPublisherWorkunit = function (request) {
|
|
550
|
+
return this._connection.send("CreateDFUPublisherWorkunit", request, "json", false, undefined, "CreateDFUPublisherWorkunitResponse");
|
|
546
551
|
};
|
|
547
552
|
FileSprayServiceBase.prototype.CreateDFUWorkunit = function (request) {
|
|
548
|
-
return this._connection.send("CreateDFUWorkunit", request);
|
|
553
|
+
return this._connection.send("CreateDFUWorkunit", request, "json", false, undefined, "CreateDFUWorkunitResponse");
|
|
549
554
|
};
|
|
550
555
|
FileSprayServiceBase.prototype.DFUWUFile = function (request) {
|
|
551
|
-
return this._connection.send("DFUWUFile", request);
|
|
556
|
+
return this._connection.send("DFUWUFile", request, "json", false, undefined, "DFUWUFileResponse");
|
|
552
557
|
};
|
|
553
558
|
FileSprayServiceBase.prototype.DFUWUSearch = function (request) {
|
|
554
|
-
return this._connection.send("DFUWUSearch", request);
|
|
559
|
+
return this._connection.send("DFUWUSearch", request, "json", false, undefined, "DFUWUSearchResponse");
|
|
555
560
|
};
|
|
556
561
|
FileSprayServiceBase.prototype.DFUWorkunitsAction = function (request) {
|
|
557
|
-
return this._connection.send("DFUWorkunitsAction", request);
|
|
562
|
+
return this._connection.send("DFUWorkunitsAction", request, "json", false, undefined, "DFUWorkunitsActionResponse");
|
|
558
563
|
};
|
|
559
564
|
FileSprayServiceBase.prototype.DeleteDFUWorkunit = function (request) {
|
|
560
|
-
return this._connection.send("DeleteDFUWorkunit", request);
|
|
565
|
+
return this._connection.send("DeleteDFUWorkunit", request, "json", false, undefined, "DeleteDFUWorkunitResponse");
|
|
561
566
|
};
|
|
562
567
|
FileSprayServiceBase.prototype.DeleteDFUWorkunits = function (request) {
|
|
563
|
-
return this._connection.send("DeleteDFUWorkunits", request);
|
|
568
|
+
return this._connection.send("DeleteDFUWorkunits", request, "json", false, undefined, "DeleteDFUWorkunitsResponse");
|
|
564
569
|
};
|
|
565
570
|
FileSprayServiceBase.prototype.DeleteDropZoneFiles = function (request) {
|
|
566
|
-
return this._connection.send("DeleteDropZoneFiles", request);
|
|
571
|
+
return this._connection.send("DeleteDropZoneFiles", request, "json", false, undefined, "DFUWorkunitsActionResponse");
|
|
567
572
|
};
|
|
568
573
|
FileSprayServiceBase.prototype.Despray = function (request) {
|
|
569
|
-
return this._connection.send("Despray", request);
|
|
574
|
+
return this._connection.send("Despray", request, "json", false, undefined, "DesprayResponse");
|
|
570
575
|
};
|
|
571
576
|
FileSprayServiceBase.prototype.DfuMonitor = function (request) {
|
|
572
|
-
return this._connection.send("DfuMonitor", request);
|
|
577
|
+
return this._connection.send("DfuMonitor", request, "json", false, undefined, "DfuMonitorResponse");
|
|
573
578
|
};
|
|
574
579
|
FileSprayServiceBase.prototype.DropZoneFileSearch = function (request) {
|
|
575
|
-
return this._connection.send("DropZoneFileSearch", request);
|
|
580
|
+
return this._connection.send("DropZoneFileSearch", request, "json", false, undefined, "DropZoneFileSearchResponse");
|
|
576
581
|
};
|
|
577
582
|
FileSprayServiceBase.prototype.DropZoneFiles = function (request) {
|
|
578
|
-
return this._connection.send("DropZoneFiles", request);
|
|
583
|
+
return this._connection.send("DropZoneFiles", request, "json", false, undefined, "DropZoneFilesResponse");
|
|
579
584
|
};
|
|
580
585
|
FileSprayServiceBase.prototype.EchoDateTime = function (request) {
|
|
581
|
-
return this._connection.send("EchoDateTime", request);
|
|
586
|
+
return this._connection.send("EchoDateTime", request, "json", false, undefined, "EchoDateTimeResponse");
|
|
582
587
|
};
|
|
583
588
|
FileSprayServiceBase.prototype.FileList = function (request) {
|
|
584
|
-
return this._connection.send("FileList", request);
|
|
589
|
+
return this._connection.send("FileList", request, "json", false, undefined, "FileListResponse");
|
|
585
590
|
};
|
|
586
591
|
FileSprayServiceBase.prototype.GetDFUExceptions = function (request) {
|
|
587
|
-
return this._connection.send("GetDFUExceptions", request);
|
|
592
|
+
return this._connection.send("GetDFUExceptions", request, "json", false, undefined, "GetDFUExceptionsResponse");
|
|
588
593
|
};
|
|
589
594
|
FileSprayServiceBase.prototype.GetDFUProgress = function (request) {
|
|
590
|
-
return this._connection.send("GetDFUProgress", request);
|
|
595
|
+
return this._connection.send("GetDFUProgress", request, "json", false, undefined, "ProgressResponse");
|
|
591
596
|
};
|
|
592
597
|
FileSprayServiceBase.prototype.GetDFUServerQueues = function (request) {
|
|
593
|
-
return this._connection.send("GetDFUServerQueues", request);
|
|
598
|
+
return this._connection.send("GetDFUServerQueues", request, "json", false, undefined, "GetDFUServerQueuesResponse");
|
|
594
599
|
};
|
|
595
600
|
FileSprayServiceBase.prototype.GetDFUWorkunit = function (request) {
|
|
596
|
-
return this._connection.send("GetDFUWorkunit", request);
|
|
601
|
+
return this._connection.send("GetDFUWorkunit", request, "json", false, undefined, "GetDFUWorkunitResponse");
|
|
597
602
|
};
|
|
598
603
|
FileSprayServiceBase.prototype.GetDFUWorkunits = function (request) {
|
|
599
|
-
return this._connection.send("GetDFUWorkunits", request);
|
|
604
|
+
return this._connection.send("GetDFUWorkunits", request, "json", false, undefined, "GetDFUWorkunitsResponse");
|
|
600
605
|
};
|
|
601
606
|
FileSprayServiceBase.prototype.GetSprayTargets = function (request) {
|
|
602
|
-
return this._connection.send("GetSprayTargets", request);
|
|
607
|
+
return this._connection.send("GetSprayTargets", request, "json", false, undefined, "GetSprayTargetsResponse");
|
|
603
608
|
};
|
|
604
609
|
FileSprayServiceBase.prototype.OpenSave = function (request) {
|
|
605
|
-
return this._connection.send("OpenSave", request);
|
|
610
|
+
return this._connection.send("OpenSave", request, "json", false, undefined, "OpenSaveResponse");
|
|
606
611
|
};
|
|
607
612
|
FileSprayServiceBase.prototype.Ping = function (request) {
|
|
608
|
-
return this._connection.send("Ping", request);
|
|
613
|
+
return this._connection.send("Ping", request, "json", false, undefined, "FileSprayPingResponse");
|
|
609
614
|
};
|
|
610
615
|
FileSprayServiceBase.prototype.Rename = function (request) {
|
|
611
|
-
return this._connection.send("Rename", request);
|
|
616
|
+
return this._connection.send("Rename", request, "json", false, undefined, "RenameResponse");
|
|
612
617
|
};
|
|
613
618
|
FileSprayServiceBase.prototype.Replicate = function (request) {
|
|
614
|
-
return this._connection.send("Replicate", request);
|
|
619
|
+
return this._connection.send("Replicate", request, "json", false, undefined, "ReplicateResponse");
|
|
615
620
|
};
|
|
616
621
|
FileSprayServiceBase.prototype.ShowResult = function (request) {
|
|
617
|
-
return this._connection.send("ShowResult", request);
|
|
622
|
+
return this._connection.send("ShowResult", request, "json", false, undefined, "ShowResultResponse");
|
|
618
623
|
};
|
|
619
624
|
FileSprayServiceBase.prototype.SprayFixed = function (request) {
|
|
620
|
-
return this._connection.send("SprayFixed", request);
|
|
625
|
+
return this._connection.send("SprayFixed", request, "json", false, undefined, "SprayFixedResponse");
|
|
621
626
|
};
|
|
622
627
|
FileSprayServiceBase.prototype.SprayVariable = function (request) {
|
|
623
|
-
return this._connection.send("SprayVariable", request);
|
|
628
|
+
return this._connection.send("SprayVariable", request, "json", false, undefined, "SprayResponse");
|
|
624
629
|
};
|
|
625
630
|
FileSprayServiceBase.prototype.SubmitDFUWorkunit = function (request) {
|
|
626
|
-
return this._connection.send("SubmitDFUWorkunit", request);
|
|
631
|
+
return this._connection.send("SubmitDFUWorkunit", request, "json", false, undefined, "SubmitDFUWorkunitResponse");
|
|
627
632
|
};
|
|
628
633
|
FileSprayServiceBase.prototype.UpdateDFUWorkunit = function (request) {
|
|
629
|
-
return this._connection.send("UpdateDFUWorkunit", request);
|
|
634
|
+
return this._connection.send("UpdateDFUWorkunit", request, "json", false, undefined, "UpdateDFUWorkunitResponse");
|
|
630
635
|
};
|
|
631
636
|
return FileSprayServiceBase;
|
|
632
637
|
}(Service));
|
|
@@ -645,6 +650,9 @@ var FileSprayService = /** @class */ (function (_super) {
|
|
|
645
650
|
FileSprayService.prototype.DesprayEx = function (request) {
|
|
646
651
|
return this._connection.send("Despray", request);
|
|
647
652
|
};
|
|
653
|
+
FileSprayService.prototype.UpdateDFUWorkunitEx = function (request) {
|
|
654
|
+
return this._connection.send("UpdateDFUWorkunit", request, "json", false, undefined, "UpdateDFUWorkunitResponse");
|
|
655
|
+
};
|
|
648
656
|
return FileSprayService;
|
|
649
657
|
}(FileSprayServiceBase));
|
|
650
658
|
|
|
@@ -1418,7 +1426,7 @@ var LogaccessServiceBase = /** @class */ (function (_super) {
|
|
|
1418
1426
|
return LogaccessServiceBase;
|
|
1419
1427
|
}(Service));
|
|
1420
1428
|
|
|
1421
|
-
var logger$
|
|
1429
|
+
var logger$4 = util.scopedLogger("@hpcc-js/comms/services/wsLogaccess.ts");
|
|
1422
1430
|
var ElasticKnownColumns;
|
|
1423
1431
|
(function (ElasticKnownColumns) {
|
|
1424
1432
|
ElasticKnownColumns["audience"] = "hpcc.log.audience";
|
|
@@ -1620,7 +1628,7 @@ var LogaccessService = /** @class */ (function (_super) {
|
|
|
1620
1628
|
lines = (_d = (_c = logLines.lines) === null || _c === void 0 ? void 0 : _c.map(elasticToLogLine)) !== null && _d !== void 0 ? _d : [];
|
|
1621
1629
|
break;
|
|
1622
1630
|
default:
|
|
1623
|
-
logger$
|
|
1631
|
+
logger$4.warning("Unknown RemoteLogManagerType: ".concat(logInfo.RemoteLogManagerType));
|
|
1624
1632
|
lines = [];
|
|
1625
1633
|
}
|
|
1626
1634
|
return {
|
|
@@ -1629,7 +1637,7 @@ var LogaccessService = /** @class */ (function (_super) {
|
|
|
1629
1637
|
};
|
|
1630
1638
|
}
|
|
1631
1639
|
catch (e) {
|
|
1632
|
-
logger$
|
|
1640
|
+
logger$4.error(e);
|
|
1633
1641
|
}
|
|
1634
1642
|
return {
|
|
1635
1643
|
lines: [],
|
|
@@ -2599,6 +2607,321 @@ var WorkunitsServiceEx = /** @class */ (function (_super) {
|
|
|
2599
2607
|
return WorkunitsServiceEx;
|
|
2600
2608
|
}(WorkunitsServiceBase));
|
|
2601
2609
|
|
|
2610
|
+
function formatDecimal(x) {
|
|
2611
|
+
return Math.abs(x = Math.round(x)) >= 1e21
|
|
2612
|
+
? x.toLocaleString("en").replace(/,/g, "")
|
|
2613
|
+
: x.toString(10);
|
|
2614
|
+
}
|
|
2615
|
+
|
|
2616
|
+
// Computes the decimal coefficient and exponent of the specified number x with
|
|
2617
|
+
// significant digits p, where x is positive and p is in [1, 21] or undefined.
|
|
2618
|
+
// For example, formatDecimalParts(1.23) returns ["123", 0].
|
|
2619
|
+
function formatDecimalParts(x, p) {
|
|
2620
|
+
if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity
|
|
2621
|
+
var i, coefficient = x.slice(0, i);
|
|
2622
|
+
|
|
2623
|
+
// The string returned by toExponential either has the form \d\.\d+e[-+]\d+
|
|
2624
|
+
// (e.g., 1.2e+3) or the form \de[-+]\d+ (e.g., 1e+3).
|
|
2625
|
+
return [
|
|
2626
|
+
coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
|
|
2627
|
+
+x.slice(i + 1)
|
|
2628
|
+
];
|
|
2629
|
+
}
|
|
2630
|
+
|
|
2631
|
+
function exponent(x) {
|
|
2632
|
+
return x = formatDecimalParts(Math.abs(x)), x ? x[1] : NaN;
|
|
2633
|
+
}
|
|
2634
|
+
|
|
2635
|
+
function formatGroup(grouping, thousands) {
|
|
2636
|
+
return function(value, width) {
|
|
2637
|
+
var i = value.length,
|
|
2638
|
+
t = [],
|
|
2639
|
+
j = 0,
|
|
2640
|
+
g = grouping[0],
|
|
2641
|
+
length = 0;
|
|
2642
|
+
|
|
2643
|
+
while (i > 0 && g > 0) {
|
|
2644
|
+
if (length + g + 1 > width) g = Math.max(1, width - length);
|
|
2645
|
+
t.push(value.substring(i -= g, i + g));
|
|
2646
|
+
if ((length += g + 1) > width) break;
|
|
2647
|
+
g = grouping[j = (j + 1) % grouping.length];
|
|
2648
|
+
}
|
|
2649
|
+
|
|
2650
|
+
return t.reverse().join(thousands);
|
|
2651
|
+
};
|
|
2652
|
+
}
|
|
2653
|
+
|
|
2654
|
+
function formatNumerals(numerals) {
|
|
2655
|
+
return function(value) {
|
|
2656
|
+
return value.replace(/[0-9]/g, function(i) {
|
|
2657
|
+
return numerals[+i];
|
|
2658
|
+
});
|
|
2659
|
+
};
|
|
2660
|
+
}
|
|
2661
|
+
|
|
2662
|
+
// [[fill]align][sign][symbol][0][width][,][.precision][~][type]
|
|
2663
|
+
var re = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;
|
|
2664
|
+
|
|
2665
|
+
function formatSpecifier(specifier) {
|
|
2666
|
+
if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);
|
|
2667
|
+
var match;
|
|
2668
|
+
return new FormatSpecifier({
|
|
2669
|
+
fill: match[1],
|
|
2670
|
+
align: match[2],
|
|
2671
|
+
sign: match[3],
|
|
2672
|
+
symbol: match[4],
|
|
2673
|
+
zero: match[5],
|
|
2674
|
+
width: match[6],
|
|
2675
|
+
comma: match[7],
|
|
2676
|
+
precision: match[8] && match[8].slice(1),
|
|
2677
|
+
trim: match[9],
|
|
2678
|
+
type: match[10]
|
|
2679
|
+
});
|
|
2680
|
+
}
|
|
2681
|
+
|
|
2682
|
+
formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof
|
|
2683
|
+
|
|
2684
|
+
function FormatSpecifier(specifier) {
|
|
2685
|
+
this.fill = specifier.fill === undefined ? " " : specifier.fill + "";
|
|
2686
|
+
this.align = specifier.align === undefined ? ">" : specifier.align + "";
|
|
2687
|
+
this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";
|
|
2688
|
+
this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";
|
|
2689
|
+
this.zero = !!specifier.zero;
|
|
2690
|
+
this.width = specifier.width === undefined ? undefined : +specifier.width;
|
|
2691
|
+
this.comma = !!specifier.comma;
|
|
2692
|
+
this.precision = specifier.precision === undefined ? undefined : +specifier.precision;
|
|
2693
|
+
this.trim = !!specifier.trim;
|
|
2694
|
+
this.type = specifier.type === undefined ? "" : specifier.type + "";
|
|
2695
|
+
}
|
|
2696
|
+
|
|
2697
|
+
FormatSpecifier.prototype.toString = function() {
|
|
2698
|
+
return this.fill
|
|
2699
|
+
+ this.align
|
|
2700
|
+
+ this.sign
|
|
2701
|
+
+ this.symbol
|
|
2702
|
+
+ (this.zero ? "0" : "")
|
|
2703
|
+
+ (this.width === undefined ? "" : Math.max(1, this.width | 0))
|
|
2704
|
+
+ (this.comma ? "," : "")
|
|
2705
|
+
+ (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0))
|
|
2706
|
+
+ (this.trim ? "~" : "")
|
|
2707
|
+
+ this.type;
|
|
2708
|
+
};
|
|
2709
|
+
|
|
2710
|
+
// Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.
|
|
2711
|
+
function formatTrim(s) {
|
|
2712
|
+
out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {
|
|
2713
|
+
switch (s[i]) {
|
|
2714
|
+
case ".": i0 = i1 = i; break;
|
|
2715
|
+
case "0": if (i0 === 0) i0 = i; i1 = i; break;
|
|
2716
|
+
default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;
|
|
2717
|
+
}
|
|
2718
|
+
}
|
|
2719
|
+
return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;
|
|
2720
|
+
}
|
|
2721
|
+
|
|
2722
|
+
var prefixExponent;
|
|
2723
|
+
|
|
2724
|
+
function formatPrefixAuto(x, p) {
|
|
2725
|
+
var d = formatDecimalParts(x, p);
|
|
2726
|
+
if (!d) return x + "";
|
|
2727
|
+
var coefficient = d[0],
|
|
2728
|
+
exponent = d[1],
|
|
2729
|
+
i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,
|
|
2730
|
+
n = coefficient.length;
|
|
2731
|
+
return i === n ? coefficient
|
|
2732
|
+
: i > n ? coefficient + new Array(i - n + 1).join("0")
|
|
2733
|
+
: i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)
|
|
2734
|
+
: "0." + new Array(1 - i).join("0") + formatDecimalParts(x, Math.max(0, p + i - 1))[0]; // less than 1y!
|
|
2735
|
+
}
|
|
2736
|
+
|
|
2737
|
+
function formatRounded(x, p) {
|
|
2738
|
+
var d = formatDecimalParts(x, p);
|
|
2739
|
+
if (!d) return x + "";
|
|
2740
|
+
var coefficient = d[0],
|
|
2741
|
+
exponent = d[1];
|
|
2742
|
+
return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient
|
|
2743
|
+
: coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)
|
|
2744
|
+
: coefficient + new Array(exponent - coefficient.length + 2).join("0");
|
|
2745
|
+
}
|
|
2746
|
+
|
|
2747
|
+
var formatTypes = {
|
|
2748
|
+
"%": function(x, p) { return (x * 100).toFixed(p); },
|
|
2749
|
+
"b": function(x) { return Math.round(x).toString(2); },
|
|
2750
|
+
"c": function(x) { return x + ""; },
|
|
2751
|
+
"d": formatDecimal,
|
|
2752
|
+
"e": function(x, p) { return x.toExponential(p); },
|
|
2753
|
+
"f": function(x, p) { return x.toFixed(p); },
|
|
2754
|
+
"g": function(x, p) { return x.toPrecision(p); },
|
|
2755
|
+
"o": function(x) { return Math.round(x).toString(8); },
|
|
2756
|
+
"p": function(x, p) { return formatRounded(x * 100, p); },
|
|
2757
|
+
"r": formatRounded,
|
|
2758
|
+
"s": formatPrefixAuto,
|
|
2759
|
+
"X": function(x) { return Math.round(x).toString(16).toUpperCase(); },
|
|
2760
|
+
"x": function(x) { return Math.round(x).toString(16); }
|
|
2761
|
+
};
|
|
2762
|
+
|
|
2763
|
+
function identity(x) {
|
|
2764
|
+
return x;
|
|
2765
|
+
}
|
|
2766
|
+
|
|
2767
|
+
var map = Array.prototype.map,
|
|
2768
|
+
prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];
|
|
2769
|
+
|
|
2770
|
+
function formatLocale$1(locale) {
|
|
2771
|
+
var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""),
|
|
2772
|
+
currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "",
|
|
2773
|
+
currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "",
|
|
2774
|
+
decimal = locale.decimal === undefined ? "." : locale.decimal + "",
|
|
2775
|
+
numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),
|
|
2776
|
+
percent = locale.percent === undefined ? "%" : locale.percent + "",
|
|
2777
|
+
minus = locale.minus === undefined ? "-" : locale.minus + "",
|
|
2778
|
+
nan = locale.nan === undefined ? "NaN" : locale.nan + "";
|
|
2779
|
+
|
|
2780
|
+
function newFormat(specifier) {
|
|
2781
|
+
specifier = formatSpecifier(specifier);
|
|
2782
|
+
|
|
2783
|
+
var fill = specifier.fill,
|
|
2784
|
+
align = specifier.align,
|
|
2785
|
+
sign = specifier.sign,
|
|
2786
|
+
symbol = specifier.symbol,
|
|
2787
|
+
zero = specifier.zero,
|
|
2788
|
+
width = specifier.width,
|
|
2789
|
+
comma = specifier.comma,
|
|
2790
|
+
precision = specifier.precision,
|
|
2791
|
+
trim = specifier.trim,
|
|
2792
|
+
type = specifier.type;
|
|
2793
|
+
|
|
2794
|
+
// The "n" type is an alias for ",g".
|
|
2795
|
+
if (type === "n") comma = true, type = "g";
|
|
2796
|
+
|
|
2797
|
+
// The "" type, and any invalid type, is an alias for ".12~g".
|
|
2798
|
+
else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = "g";
|
|
2799
|
+
|
|
2800
|
+
// If zero fill is specified, padding goes after sign and before digits.
|
|
2801
|
+
if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";
|
|
2802
|
+
|
|
2803
|
+
// Compute the prefix and suffix.
|
|
2804
|
+
// For SI-prefix, the suffix is lazily computed.
|
|
2805
|
+
var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",
|
|
2806
|
+
suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "";
|
|
2807
|
+
|
|
2808
|
+
// What format function should we use?
|
|
2809
|
+
// Is this an integer type?
|
|
2810
|
+
// Can this type generate exponential notation?
|
|
2811
|
+
var formatType = formatTypes[type],
|
|
2812
|
+
maybeSuffix = /[defgprs%]/.test(type);
|
|
2813
|
+
|
|
2814
|
+
// Set the default precision if not specified,
|
|
2815
|
+
// or clamp the specified precision to the supported range.
|
|
2816
|
+
// For significant precision, it must be in [1, 21].
|
|
2817
|
+
// For fixed precision, it must be in [0, 20].
|
|
2818
|
+
precision = precision === undefined ? 6
|
|
2819
|
+
: /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))
|
|
2820
|
+
: Math.max(0, Math.min(20, precision));
|
|
2821
|
+
|
|
2822
|
+
function format(value) {
|
|
2823
|
+
var valuePrefix = prefix,
|
|
2824
|
+
valueSuffix = suffix,
|
|
2825
|
+
i, n, c;
|
|
2826
|
+
|
|
2827
|
+
if (type === "c") {
|
|
2828
|
+
valueSuffix = formatType(value) + valueSuffix;
|
|
2829
|
+
value = "";
|
|
2830
|
+
} else {
|
|
2831
|
+
value = +value;
|
|
2832
|
+
|
|
2833
|
+
// Determine the sign. -0 is not less than 0, but 1 / -0 is!
|
|
2834
|
+
var valueNegative = value < 0 || 1 / value < 0;
|
|
2835
|
+
|
|
2836
|
+
// Perform the initial formatting.
|
|
2837
|
+
value = isNaN(value) ? nan : formatType(Math.abs(value), precision);
|
|
2838
|
+
|
|
2839
|
+
// Trim insignificant zeros.
|
|
2840
|
+
if (trim) value = formatTrim(value);
|
|
2841
|
+
|
|
2842
|
+
// If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.
|
|
2843
|
+
if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;
|
|
2844
|
+
|
|
2845
|
+
// Compute the prefix and suffix.
|
|
2846
|
+
valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;
|
|
2847
|
+
valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");
|
|
2848
|
+
|
|
2849
|
+
// Break the formatted value into the integer “value” part that can be
|
|
2850
|
+
// grouped, and fractional or exponential “suffix” part that is not.
|
|
2851
|
+
if (maybeSuffix) {
|
|
2852
|
+
i = -1, n = value.length;
|
|
2853
|
+
while (++i < n) {
|
|
2854
|
+
if (c = value.charCodeAt(i), 48 > c || c > 57) {
|
|
2855
|
+
valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;
|
|
2856
|
+
value = value.slice(0, i);
|
|
2857
|
+
break;
|
|
2858
|
+
}
|
|
2859
|
+
}
|
|
2860
|
+
}
|
|
2861
|
+
}
|
|
2862
|
+
|
|
2863
|
+
// If the fill character is not "0", grouping is applied before padding.
|
|
2864
|
+
if (comma && !zero) value = group(value, Infinity);
|
|
2865
|
+
|
|
2866
|
+
// Compute the padding.
|
|
2867
|
+
var length = valuePrefix.length + value.length + valueSuffix.length,
|
|
2868
|
+
padding = length < width ? new Array(width - length + 1).join(fill) : "";
|
|
2869
|
+
|
|
2870
|
+
// If the fill character is "0", grouping is applied after padding.
|
|
2871
|
+
if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";
|
|
2872
|
+
|
|
2873
|
+
// Reconstruct the final output based on the desired alignment.
|
|
2874
|
+
switch (align) {
|
|
2875
|
+
case "<": value = valuePrefix + value + valueSuffix + padding; break;
|
|
2876
|
+
case "=": value = valuePrefix + padding + value + valueSuffix; break;
|
|
2877
|
+
case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;
|
|
2878
|
+
default: value = padding + valuePrefix + value + valueSuffix; break;
|
|
2879
|
+
}
|
|
2880
|
+
|
|
2881
|
+
return numerals(value);
|
|
2882
|
+
}
|
|
2883
|
+
|
|
2884
|
+
format.toString = function() {
|
|
2885
|
+
return specifier + "";
|
|
2886
|
+
};
|
|
2887
|
+
|
|
2888
|
+
return format;
|
|
2889
|
+
}
|
|
2890
|
+
|
|
2891
|
+
function formatPrefix(specifier, value) {
|
|
2892
|
+
var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),
|
|
2893
|
+
e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,
|
|
2894
|
+
k = Math.pow(10, -e),
|
|
2895
|
+
prefix = prefixes[8 + e / 3];
|
|
2896
|
+
return function(value) {
|
|
2897
|
+
return f(k * value) + prefix;
|
|
2898
|
+
};
|
|
2899
|
+
}
|
|
2900
|
+
|
|
2901
|
+
return {
|
|
2902
|
+
format: newFormat,
|
|
2903
|
+
formatPrefix: formatPrefix
|
|
2904
|
+
};
|
|
2905
|
+
}
|
|
2906
|
+
|
|
2907
|
+
var locale$1;
|
|
2908
|
+
var format;
|
|
2909
|
+
|
|
2910
|
+
defaultLocale$1({
|
|
2911
|
+
decimal: ".",
|
|
2912
|
+
thousands: ",",
|
|
2913
|
+
grouping: [3],
|
|
2914
|
+
currency: ["$", ""],
|
|
2915
|
+
minus: "-"
|
|
2916
|
+
});
|
|
2917
|
+
|
|
2918
|
+
function defaultLocale$1(definition) {
|
|
2919
|
+
locale$1 = formatLocale$1(definition);
|
|
2920
|
+
format = locale$1.format;
|
|
2921
|
+
locale$1.formatPrefix;
|
|
2922
|
+
return locale$1;
|
|
2923
|
+
}
|
|
2924
|
+
|
|
2602
2925
|
var t0 = new Date,
|
|
2603
2926
|
t1 = new Date;
|
|
2604
2927
|
|
|
@@ -4695,7 +5018,14 @@ var Timer = /** @class */ (function (_super) {
|
|
|
4695
5018
|
|
|
4696
5019
|
var formatter = utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");
|
|
4697
5020
|
var parser = utcParse("%Y-%m-%dT%H:%M:%S.%LZ");
|
|
4698
|
-
var
|
|
5021
|
+
var d3FormatNum = format(",");
|
|
5022
|
+
function formatNum(num) {
|
|
5023
|
+
if (num && !isNaN(+num)) {
|
|
5024
|
+
return d3FormatNum(+num);
|
|
5025
|
+
}
|
|
5026
|
+
return num;
|
|
5027
|
+
}
|
|
5028
|
+
var logger$3 = util.scopedLogger("workunit.ts");
|
|
4699
5029
|
var WUStateID = exports.WUStateID;
|
|
4700
5030
|
var WorkunitCache = /** @class */ (function (_super) {
|
|
4701
5031
|
__extends(WorkunitCache, _super);
|
|
@@ -5570,7 +5900,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5570
5900
|
default:
|
|
5571
5901
|
props[scopeProperty.Name] = scopeProperty.RawValue;
|
|
5572
5902
|
}
|
|
5573
|
-
formattedProps[scopeProperty.Name] = (_a = scopeProperty.Formatted) !== null && _a !== void 0 ? _a : props[scopeProperty.Name];
|
|
5903
|
+
formattedProps[scopeProperty.Name] = formatNum((_a = scopeProperty.Formatted) !== null && _a !== void 0 ? _a : props[scopeProperty.Name]);
|
|
5574
5904
|
}
|
|
5575
5905
|
}
|
|
5576
5906
|
data.push(__assign({ id: scope.Id, name: scope.ScopeName, type: scope.ScopeType, __formattedProps: formattedProps }, props));
|
|
@@ -5811,7 +6141,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5811
6141
|
return false;
|
|
5812
6142
|
});
|
|
5813
6143
|
if (!wuMissing) {
|
|
5814
|
-
logger$
|
|
6144
|
+
logger$3.warning("Unexpected exception: ");
|
|
5815
6145
|
throw e;
|
|
5816
6146
|
}
|
|
5817
6147
|
return {};
|
|
@@ -5848,7 +6178,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5848
6178
|
return false;
|
|
5849
6179
|
});
|
|
5850
6180
|
if (!wuMissing) {
|
|
5851
|
-
logger$
|
|
6181
|
+
logger$3.warning("Unexpected exception: ");
|
|
5852
6182
|
throw e;
|
|
5853
6183
|
}
|
|
5854
6184
|
return {};
|
|
@@ -5937,7 +6267,7 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
5937
6267
|
}
|
|
5938
6268
|
return new util.XMLNode(command);
|
|
5939
6269
|
}).catch(function (_) {
|
|
5940
|
-
logger$
|
|
6270
|
+
logger$3.error(_);
|
|
5941
6271
|
return Promise.resolve(new util.XMLNode(command));
|
|
5942
6272
|
});
|
|
5943
6273
|
};
|
|
@@ -6756,776 +7086,843 @@ var Machine = /** @class */ (function (_super) {
|
|
|
6756
7086
|
return Machine;
|
|
6757
7087
|
}(util.StateObject));
|
|
6758
7088
|
|
|
6759
|
-
var
|
|
6760
|
-
__extends(
|
|
6761
|
-
function
|
|
7089
|
+
var TargetClusterCache = /** @class */ (function (_super) {
|
|
7090
|
+
__extends(TargetClusterCache, _super);
|
|
7091
|
+
function TargetClusterCache() {
|
|
6762
7092
|
return _super.call(this, function (obj) {
|
|
6763
|
-
return
|
|
7093
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Name);
|
|
6764
7094
|
}) || this;
|
|
6765
7095
|
}
|
|
6766
|
-
return
|
|
7096
|
+
return TargetClusterCache;
|
|
6767
7097
|
}(util.Cache));
|
|
6768
|
-
var
|
|
6769
|
-
var
|
|
6770
|
-
__extends(
|
|
6771
|
-
function
|
|
7098
|
+
var _targetCluster = new TargetClusterCache();
|
|
7099
|
+
var TargetCluster = /** @class */ (function (_super) {
|
|
7100
|
+
__extends(TargetCluster, _super);
|
|
7101
|
+
function TargetCluster(optsConnection, name) {
|
|
6772
7102
|
var _this = _super.call(this) || this;
|
|
6773
|
-
if (optsConnection instanceof
|
|
7103
|
+
if (optsConnection instanceof TopologyService) {
|
|
6774
7104
|
_this.connection = optsConnection;
|
|
6775
|
-
|
|
7105
|
+
_this.machineConnection = new MachineService(optsConnection.connectionOptions());
|
|
6776
7106
|
}
|
|
6777
7107
|
else {
|
|
6778
|
-
_this.connection = new
|
|
6779
|
-
|
|
7108
|
+
_this.connection = new TopologyService(optsConnection);
|
|
7109
|
+
_this.machineConnection = new MachineService(optsConnection);
|
|
6780
7110
|
}
|
|
6781
|
-
_this.
|
|
6782
|
-
|
|
7111
|
+
_this.clear({
|
|
7112
|
+
Name: name
|
|
7113
|
+
});
|
|
6783
7114
|
return _this;
|
|
6784
7115
|
}
|
|
6785
|
-
Object.defineProperty(
|
|
7116
|
+
Object.defineProperty(TargetCluster.prototype, "BaseUrl", {
|
|
6786
7117
|
get: function () { return this.connection.baseUrl; },
|
|
6787
7118
|
enumerable: false,
|
|
6788
7119
|
configurable: true
|
|
6789
7120
|
});
|
|
6790
|
-
Object.defineProperty(
|
|
6791
|
-
get: function () { return this.get(); },
|
|
6792
|
-
enumerable: false,
|
|
6793
|
-
configurable: true
|
|
6794
|
-
});
|
|
6795
|
-
Object.defineProperty(Query.prototype, "Exceptions", {
|
|
6796
|
-
get: function () { return this.get("Exceptions"); },
|
|
6797
|
-
enumerable: false,
|
|
6798
|
-
configurable: true
|
|
6799
|
-
});
|
|
6800
|
-
Object.defineProperty(Query.prototype, "QueryId", {
|
|
6801
|
-
get: function () { return this.get("QueryId"); },
|
|
6802
|
-
enumerable: false,
|
|
6803
|
-
configurable: true
|
|
6804
|
-
});
|
|
6805
|
-
Object.defineProperty(Query.prototype, "QuerySet", {
|
|
6806
|
-
get: function () { return this.get("QuerySet"); },
|
|
6807
|
-
enumerable: false,
|
|
6808
|
-
configurable: true
|
|
6809
|
-
});
|
|
6810
|
-
Object.defineProperty(Query.prototype, "QueryName", {
|
|
6811
|
-
get: function () { return this.get("QueryName"); },
|
|
6812
|
-
enumerable: false,
|
|
6813
|
-
configurable: true
|
|
6814
|
-
});
|
|
6815
|
-
Object.defineProperty(Query.prototype, "Wuid", {
|
|
6816
|
-
get: function () { return this.get("Wuid"); },
|
|
6817
|
-
enumerable: false,
|
|
6818
|
-
configurable: true
|
|
6819
|
-
});
|
|
6820
|
-
Object.defineProperty(Query.prototype, "Dll", {
|
|
6821
|
-
get: function () { return this.get("Dll"); },
|
|
6822
|
-
enumerable: false,
|
|
6823
|
-
configurable: true
|
|
6824
|
-
});
|
|
6825
|
-
Object.defineProperty(Query.prototype, "Suspended", {
|
|
6826
|
-
get: function () { return this.get("Suspended"); },
|
|
6827
|
-
enumerable: false,
|
|
6828
|
-
configurable: true
|
|
6829
|
-
});
|
|
6830
|
-
Object.defineProperty(Query.prototype, "Activated", {
|
|
6831
|
-
get: function () { return this.get("Activated"); },
|
|
6832
|
-
enumerable: false,
|
|
6833
|
-
configurable: true
|
|
6834
|
-
});
|
|
6835
|
-
Object.defineProperty(Query.prototype, "SuspendedBy", {
|
|
6836
|
-
get: function () { return this.get("SuspendedBy"); },
|
|
6837
|
-
enumerable: false,
|
|
6838
|
-
configurable: true
|
|
6839
|
-
});
|
|
6840
|
-
Object.defineProperty(Query.prototype, "Clusters", {
|
|
6841
|
-
get: function () { return this.get("Clusters"); },
|
|
6842
|
-
enumerable: false,
|
|
6843
|
-
configurable: true
|
|
6844
|
-
});
|
|
6845
|
-
Object.defineProperty(Query.prototype, "PublishedBy", {
|
|
6846
|
-
get: function () { return this.get("PublishedBy"); },
|
|
6847
|
-
enumerable: false,
|
|
6848
|
-
configurable: true
|
|
6849
|
-
});
|
|
6850
|
-
Object.defineProperty(Query.prototype, "Comment", {
|
|
6851
|
-
get: function () { return this.get("Comment"); },
|
|
6852
|
-
enumerable: false,
|
|
6853
|
-
configurable: true
|
|
6854
|
-
});
|
|
6855
|
-
Object.defineProperty(Query.prototype, "LogicalFiles", {
|
|
6856
|
-
get: function () { return this.get("LogicalFiles"); },
|
|
6857
|
-
enumerable: false,
|
|
6858
|
-
configurable: true
|
|
6859
|
-
});
|
|
6860
|
-
Object.defineProperty(Query.prototype, "SuperFiles", {
|
|
6861
|
-
get: function () { return this.get("SuperFiles"); },
|
|
7121
|
+
Object.defineProperty(TargetCluster.prototype, "Name", {
|
|
7122
|
+
get: function () { return this.get("Name"); },
|
|
6862
7123
|
enumerable: false,
|
|
6863
7124
|
configurable: true
|
|
6864
7125
|
});
|
|
6865
|
-
Object.defineProperty(
|
|
6866
|
-
get: function () { return this.get("
|
|
7126
|
+
Object.defineProperty(TargetCluster.prototype, "Prefix", {
|
|
7127
|
+
get: function () { return this.get("Prefix"); },
|
|
6867
7128
|
enumerable: false,
|
|
6868
7129
|
configurable: true
|
|
6869
7130
|
});
|
|
6870
|
-
Object.defineProperty(
|
|
6871
|
-
get: function () { return this.get("
|
|
7131
|
+
Object.defineProperty(TargetCluster.prototype, "Type", {
|
|
7132
|
+
get: function () { return this.get("Type"); },
|
|
6872
7133
|
enumerable: false,
|
|
6873
7134
|
configurable: true
|
|
6874
7135
|
});
|
|
6875
|
-
Object.defineProperty(
|
|
6876
|
-
get: function () { return this.get("
|
|
7136
|
+
Object.defineProperty(TargetCluster.prototype, "IsDefault", {
|
|
7137
|
+
get: function () { return this.get("IsDefault"); },
|
|
6877
7138
|
enumerable: false,
|
|
6878
7139
|
configurable: true
|
|
6879
7140
|
});
|
|
6880
|
-
Object.defineProperty(
|
|
6881
|
-
get: function () { return this.get("
|
|
7141
|
+
Object.defineProperty(TargetCluster.prototype, "TpClusters", {
|
|
7142
|
+
get: function () { return this.get("TpClusters"); },
|
|
6882
7143
|
enumerable: false,
|
|
6883
7144
|
configurable: true
|
|
6884
7145
|
});
|
|
6885
|
-
Object.defineProperty(
|
|
6886
|
-
get: function () { return this.get("
|
|
7146
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclCCServers", {
|
|
7147
|
+
get: function () { return this.get("TpEclCCServers"); },
|
|
6887
7148
|
enumerable: false,
|
|
6888
7149
|
configurable: true
|
|
6889
7150
|
});
|
|
6890
|
-
Object.defineProperty(
|
|
6891
|
-
get: function () { return this.get("
|
|
7151
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclServers", {
|
|
7152
|
+
get: function () { return this.get("TpEclServers"); },
|
|
6892
7153
|
enumerable: false,
|
|
6893
7154
|
configurable: true
|
|
6894
7155
|
});
|
|
6895
|
-
Object.defineProperty(
|
|
6896
|
-
get: function () { return this.get("
|
|
7156
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclAgents", {
|
|
7157
|
+
get: function () { return this.get("TpEclAgents"); },
|
|
6897
7158
|
enumerable: false,
|
|
6898
7159
|
configurable: true
|
|
6899
7160
|
});
|
|
6900
|
-
Object.defineProperty(
|
|
6901
|
-
get: function () { return this.get("
|
|
7161
|
+
Object.defineProperty(TargetCluster.prototype, "TpEclSchedulers", {
|
|
7162
|
+
get: function () { return this.get("TpEclSchedulers"); },
|
|
6902
7163
|
enumerable: false,
|
|
6903
7164
|
configurable: true
|
|
6904
7165
|
});
|
|
6905
|
-
Object.defineProperty(
|
|
6906
|
-
get: function () { return this.get("
|
|
7166
|
+
Object.defineProperty(TargetCluster.prototype, "MachineInfoEx", {
|
|
7167
|
+
get: function () { return this.get("MachineInfoEx", []); },
|
|
6907
7168
|
enumerable: false,
|
|
6908
7169
|
configurable: true
|
|
6909
7170
|
});
|
|
6910
|
-
Object.defineProperty(
|
|
6911
|
-
get: function () {
|
|
7171
|
+
Object.defineProperty(TargetCluster.prototype, "CMachineInfoEx", {
|
|
7172
|
+
get: function () {
|
|
7173
|
+
var _this = this;
|
|
7174
|
+
return this.MachineInfoEx.map(function (machineInfoEx) { return Machine.attach(_this.machineConnection, machineInfoEx.Address, machineInfoEx); });
|
|
7175
|
+
},
|
|
6912
7176
|
enumerable: false,
|
|
6913
7177
|
configurable: true
|
|
6914
7178
|
});
|
|
6915
|
-
|
|
6916
|
-
var retVal =
|
|
6917
|
-
return new
|
|
7179
|
+
TargetCluster.attach = function (optsConnection, name, state) {
|
|
7180
|
+
var retVal = _targetCluster.get({ BaseUrl: optsConnection.baseUrl, Name: name }, function () {
|
|
7181
|
+
return new TargetCluster(optsConnection, name);
|
|
6918
7182
|
});
|
|
7183
|
+
if (state) {
|
|
7184
|
+
retVal.set(__assign({}, state));
|
|
7185
|
+
}
|
|
6919
7186
|
return retVal;
|
|
6920
7187
|
};
|
|
6921
|
-
|
|
6922
|
-
|
|
6923
|
-
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
|
|
6927
|
-
|
|
6928
|
-
|
|
6929
|
-
|
|
6930
|
-
|
|
6931
|
-
|
|
6932
|
-
|
|
6933
|
-
})];
|
|
6934
|
-
case 1:
|
|
6935
|
-
queryDetails = _a.sent();
|
|
6936
|
-
this.set(__assign({}, queryDetails));
|
|
6937
|
-
return [2 /*return*/];
|
|
6938
|
-
}
|
|
6939
|
-
});
|
|
6940
|
-
});
|
|
6941
|
-
};
|
|
6942
|
-
Query.prototype.fetchRequestSchema = function () {
|
|
6943
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
6944
|
-
var _a;
|
|
6945
|
-
return __generator(this, function (_b) {
|
|
6946
|
-
switch (_b.label) {
|
|
6947
|
-
case 0:
|
|
6948
|
-
_a = this;
|
|
6949
|
-
return [4 /*yield*/, this.connection.requestJson(this.QuerySet, this.QueryId)];
|
|
6950
|
-
case 1:
|
|
6951
|
-
_a._requestSchema = _b.sent();
|
|
6952
|
-
return [2 /*return*/];
|
|
7188
|
+
TargetCluster.prototype.fetchMachines = function (request) {
|
|
7189
|
+
var _this = this;
|
|
7190
|
+
if (request === void 0) { request = {}; }
|
|
7191
|
+
return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
|
|
7192
|
+
Item: ["".concat(this.Type, ":").concat(this.Name)]
|
|
7193
|
+
} }, request)).then(function (response) {
|
|
7194
|
+
var retVal = [];
|
|
7195
|
+
for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
|
|
7196
|
+
var machineInfo = _a[_i];
|
|
7197
|
+
for (var _b = 0, _c = machineInfo.Processes.MachineInfoEx; _b < _c.length; _b++) {
|
|
7198
|
+
var machineInfoEx = _c[_b];
|
|
7199
|
+
retVal.push(machineInfoEx);
|
|
6953
7200
|
}
|
|
6954
|
-
}
|
|
7201
|
+
}
|
|
7202
|
+
_this.set("MachineInfoEx", retVal);
|
|
7203
|
+
return _this.CMachineInfoEx;
|
|
6955
7204
|
});
|
|
6956
7205
|
};
|
|
6957
|
-
|
|
6958
|
-
|
|
6959
|
-
|
|
6960
|
-
|
|
6961
|
-
|
|
6962
|
-
|
|
6963
|
-
|
|
6964
|
-
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
|
|
6969
|
-
|
|
6970
|
-
});
|
|
6971
|
-
};
|
|
6972
|
-
Query.prototype.fetchSchema = function () {
|
|
6973
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
6974
|
-
return __generator(this, function (_a) {
|
|
6975
|
-
switch (_a.label) {
|
|
6976
|
-
case 0: return [4 /*yield*/, Promise.all([this.fetchRequestSchema(), this.fetchResponseSchema()])];
|
|
6977
|
-
case 1:
|
|
6978
|
-
_a.sent();
|
|
6979
|
-
return [2 /*return*/];
|
|
7206
|
+
TargetCluster.prototype.machineStats = function () {
|
|
7207
|
+
var maxDisk = 0;
|
|
7208
|
+
var totalFree = 0;
|
|
7209
|
+
var total = 0;
|
|
7210
|
+
for (var _i = 0, _a = this.CMachineInfoEx; _i < _a.length; _i++) {
|
|
7211
|
+
var machine = _a[_i];
|
|
7212
|
+
for (var _b = 0, _c = machine.Storage.StorageInfo; _b < _c.length; _b++) {
|
|
7213
|
+
var storageInfo = _c[_b];
|
|
7214
|
+
totalFree += storageInfo.Available;
|
|
7215
|
+
total += storageInfo.Total;
|
|
7216
|
+
var usage = 1 - storageInfo.Available / storageInfo.Total;
|
|
7217
|
+
if (usage > maxDisk) {
|
|
7218
|
+
maxDisk = usage;
|
|
6980
7219
|
}
|
|
6981
|
-
});
|
|
6982
|
-
});
|
|
6983
|
-
};
|
|
6984
|
-
Query.prototype.fetchSummaryStats = function () {
|
|
6985
|
-
return this._wsWorkunits.WUQueryGetSummaryStats({ Target: this.QuerySet, QueryId: this.QueryId });
|
|
6986
|
-
};
|
|
6987
|
-
Query.prototype.submit = function (request) {
|
|
6988
|
-
return this.connection.submit(this.QuerySet, this.QueryId, request).then(function (results) {
|
|
6989
|
-
for (var key in results) {
|
|
6990
|
-
results[key] = results[key].Row;
|
|
6991
7220
|
}
|
|
6992
|
-
return results;
|
|
6993
|
-
});
|
|
6994
|
-
};
|
|
6995
|
-
Query.prototype.refresh = function () {
|
|
6996
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
6997
|
-
return __generator(this, function (_a) {
|
|
6998
|
-
switch (_a.label) {
|
|
6999
|
-
case 0: return [4 /*yield*/, Promise.all([
|
|
7000
|
-
this.fetchDetails(),
|
|
7001
|
-
this.fetchSchema()
|
|
7002
|
-
])];
|
|
7003
|
-
case 1:
|
|
7004
|
-
_a.sent();
|
|
7005
|
-
return [2 /*return*/, this];
|
|
7006
|
-
}
|
|
7007
|
-
});
|
|
7008
|
-
});
|
|
7009
|
-
};
|
|
7010
|
-
Query.prototype.requestFields = function () {
|
|
7011
|
-
if (!this._requestSchema)
|
|
7012
|
-
return [];
|
|
7013
|
-
return this._requestSchema;
|
|
7014
|
-
};
|
|
7015
|
-
Query.prototype.responseFields = function () {
|
|
7016
|
-
if (!this._responseSchema)
|
|
7017
|
-
return {};
|
|
7018
|
-
return this._responseSchema;
|
|
7019
|
-
};
|
|
7020
|
-
Query.prototype.resultNames = function () {
|
|
7021
|
-
var retVal = [];
|
|
7022
|
-
for (var key in this.responseFields()) {
|
|
7023
|
-
retVal.push(key);
|
|
7024
7221
|
}
|
|
7025
|
-
return
|
|
7222
|
+
return {
|
|
7223
|
+
maxDisk: maxDisk,
|
|
7224
|
+
meanDisk: 1 - (total ? totalFree / total : 1)
|
|
7225
|
+
};
|
|
7026
7226
|
};
|
|
7027
|
-
|
|
7028
|
-
|
|
7029
|
-
return [];
|
|
7030
|
-
return this._responseSchema[resultName];
|
|
7227
|
+
TargetCluster.prototype.fetchUsage = function () {
|
|
7228
|
+
return this.machineConnection.GetTargetClusterUsageEx([this.Name]);
|
|
7031
7229
|
};
|
|
7032
|
-
return
|
|
7230
|
+
return TargetCluster;
|
|
7033
7231
|
}(util.StateObject));
|
|
7232
|
+
function targetClusters(optsConnection) {
|
|
7233
|
+
var connection;
|
|
7234
|
+
if (optsConnection instanceof TopologyService) {
|
|
7235
|
+
connection = optsConnection;
|
|
7236
|
+
}
|
|
7237
|
+
else {
|
|
7238
|
+
connection = new TopologyService(optsConnection);
|
|
7239
|
+
}
|
|
7240
|
+
return connection.TpListTargetClusters({}).then(function (response) {
|
|
7241
|
+
return response.TargetClusters.TpClusterNameType.map(function (item) { return TargetCluster.attach(optsConnection, item.Name, item); });
|
|
7242
|
+
});
|
|
7243
|
+
}
|
|
7244
|
+
var _defaultTargetCluster = {};
|
|
7245
|
+
function defaultTargetCluster(optsConnection) {
|
|
7246
|
+
if (!_defaultTargetCluster[optsConnection.baseUrl]) {
|
|
7247
|
+
var connection = void 0;
|
|
7248
|
+
if (optsConnection instanceof TopologyService) {
|
|
7249
|
+
connection = optsConnection;
|
|
7250
|
+
}
|
|
7251
|
+
else {
|
|
7252
|
+
connection = new TopologyService(optsConnection);
|
|
7253
|
+
}
|
|
7254
|
+
_defaultTargetCluster[optsConnection.baseUrl] = connection.TpListTargetClusters({}).then(function (response) {
|
|
7255
|
+
var firstItem;
|
|
7256
|
+
var defaultItem;
|
|
7257
|
+
var hthorItem;
|
|
7258
|
+
response.TargetClusters.TpClusterNameType.forEach(function (item) {
|
|
7259
|
+
if (!firstItem) {
|
|
7260
|
+
firstItem = item;
|
|
7261
|
+
}
|
|
7262
|
+
if (!defaultItem && item.IsDefault === true) {
|
|
7263
|
+
defaultItem = item;
|
|
7264
|
+
}
|
|
7265
|
+
if (!hthorItem && item.Type === "hthor") {
|
|
7266
|
+
hthorItem = item;
|
|
7267
|
+
}
|
|
7268
|
+
});
|
|
7269
|
+
var defItem = defaultItem || hthorItem || firstItem;
|
|
7270
|
+
return TargetCluster.attach(optsConnection, defItem.Name, defItem);
|
|
7271
|
+
});
|
|
7272
|
+
}
|
|
7273
|
+
return _defaultTargetCluster[optsConnection.baseUrl];
|
|
7274
|
+
}
|
|
7034
7275
|
|
|
7035
|
-
var
|
|
7036
|
-
__extends(
|
|
7037
|
-
function
|
|
7276
|
+
var TopologyCache = /** @class */ (function (_super) {
|
|
7277
|
+
__extends(TopologyCache, _super);
|
|
7278
|
+
function TopologyCache() {
|
|
7038
7279
|
return _super.call(this, function (obj) {
|
|
7039
|
-
return
|
|
7280
|
+
return obj.BaseUrl;
|
|
7040
7281
|
}) || this;
|
|
7041
7282
|
}
|
|
7042
|
-
return
|
|
7283
|
+
return TopologyCache;
|
|
7043
7284
|
}(util.Cache));
|
|
7044
|
-
var
|
|
7045
|
-
var
|
|
7046
|
-
__extends(
|
|
7047
|
-
function
|
|
7285
|
+
var _topology = new TopologyCache();
|
|
7286
|
+
var Topology = /** @class */ (function (_super) {
|
|
7287
|
+
__extends(Topology, _super);
|
|
7288
|
+
function Topology(optsConnection) {
|
|
7048
7289
|
var _this = _super.call(this) || this;
|
|
7049
|
-
|
|
7050
|
-
|
|
7051
|
-
_this.oldValue = oldValue;
|
|
7052
|
-
return _this;
|
|
7053
|
-
}
|
|
7054
|
-
Object.defineProperty(ValueChangedMessage.prototype, "canConflate", {
|
|
7055
|
-
get: function () { return true; },
|
|
7056
|
-
enumerable: false,
|
|
7057
|
-
configurable: true
|
|
7058
|
-
});
|
|
7059
|
-
ValueChangedMessage.prototype.conflate = function (other) {
|
|
7060
|
-
if (this.key === other.key) {
|
|
7061
|
-
this.value = other.value;
|
|
7062
|
-
return true;
|
|
7063
|
-
}
|
|
7064
|
-
return false;
|
|
7065
|
-
};
|
|
7066
|
-
ValueChangedMessage.prototype.void = function () {
|
|
7067
|
-
return this.value === this.oldValue;
|
|
7068
|
-
};
|
|
7069
|
-
return ValueChangedMessage;
|
|
7070
|
-
}(util.Message));
|
|
7071
|
-
var Store = /** @class */ (function () {
|
|
7072
|
-
function Store(optsConnection, Name, Namespace, UserSpecific) {
|
|
7073
|
-
this._dispatch = new util.Dispatch();
|
|
7074
|
-
this._knownValues = {};
|
|
7075
|
-
if (optsConnection instanceof StoreService) {
|
|
7076
|
-
this.connection = optsConnection;
|
|
7290
|
+
if (optsConnection instanceof TopologyService) {
|
|
7291
|
+
_this.connection = optsConnection;
|
|
7077
7292
|
}
|
|
7078
7293
|
else {
|
|
7079
|
-
|
|
7294
|
+
_this.connection = new TopologyService(optsConnection);
|
|
7080
7295
|
}
|
|
7081
|
-
|
|
7082
|
-
this.UserSpecific = UserSpecific;
|
|
7083
|
-
this.Namespace = Namespace;
|
|
7296
|
+
return _this;
|
|
7084
7297
|
}
|
|
7085
|
-
Object.defineProperty(
|
|
7298
|
+
Object.defineProperty(Topology.prototype, "BaseUrl", {
|
|
7086
7299
|
get: function () { return this.connection.baseUrl; },
|
|
7087
7300
|
enumerable: false,
|
|
7088
7301
|
configurable: true
|
|
7089
7302
|
});
|
|
7090
|
-
|
|
7091
|
-
|
|
7092
|
-
|
|
7093
|
-
|
|
7094
|
-
|
|
7303
|
+
Object.defineProperty(Topology.prototype, "properties", {
|
|
7304
|
+
// Accessors ---
|
|
7305
|
+
get: function () { return this.get(); },
|
|
7306
|
+
enumerable: false,
|
|
7307
|
+
configurable: true
|
|
7308
|
+
});
|
|
7309
|
+
Object.defineProperty(Topology.prototype, "TargetClusters", {
|
|
7310
|
+
get: function () { return this.get("TargetClusters"); },
|
|
7311
|
+
enumerable: false,
|
|
7312
|
+
configurable: true
|
|
7313
|
+
});
|
|
7314
|
+
Object.defineProperty(Topology.prototype, "CTargetClusters", {
|
|
7315
|
+
get: function () {
|
|
7316
|
+
var _this = this;
|
|
7317
|
+
return this.TargetClusters.map(function (tc) { return TargetCluster.attach(_this.connection, tc.Name, tc); });
|
|
7318
|
+
},
|
|
7319
|
+
enumerable: false,
|
|
7320
|
+
configurable: true
|
|
7321
|
+
});
|
|
7322
|
+
Object.defineProperty(Topology.prototype, "LogicalClusters", {
|
|
7323
|
+
get: function () { return this.get("LogicalClusters"); },
|
|
7324
|
+
enumerable: false,
|
|
7325
|
+
configurable: true
|
|
7326
|
+
});
|
|
7327
|
+
Object.defineProperty(Topology.prototype, "Services", {
|
|
7328
|
+
get: function () { return this.get("Services"); },
|
|
7329
|
+
enumerable: false,
|
|
7330
|
+
configurable: true
|
|
7331
|
+
});
|
|
7332
|
+
Topology.attach = function (optsConnection) {
|
|
7333
|
+
var retVal = _topology.get({ BaseUrl: optsConnection.baseUrl }, function () {
|
|
7334
|
+
return new Topology(optsConnection);
|
|
7095
7335
|
});
|
|
7096
7336
|
return retVal;
|
|
7097
7337
|
};
|
|
7098
|
-
|
|
7099
|
-
this.connection.CreateStore({ Name: this.Name, UserSpecific: this.UserSpecific, Type: "", Description: "" });
|
|
7100
|
-
};
|
|
7101
|
-
Store.prototype.set = function (key, value, broadcast) {
|
|
7338
|
+
Topology.prototype.GetESPServiceBaseURL = function (type) {
|
|
7102
7339
|
var _this = this;
|
|
7103
|
-
if (
|
|
7104
|
-
return this.connection.
|
|
7105
|
-
|
|
7106
|
-
|
|
7107
|
-
|
|
7108
|
-
|
|
7109
|
-
|
|
7110
|
-
|
|
7111
|
-
|
|
7112
|
-
|
|
7113
|
-
|
|
7114
|
-
|
|
7340
|
+
if (type === void 0) { type = ""; }
|
|
7341
|
+
return this.connection.TpServiceQuery({}).then(function (response) {
|
|
7342
|
+
var rootProtocol = _this.connection.protocol();
|
|
7343
|
+
var ip = _this.connection.ip();
|
|
7344
|
+
var port = rootProtocol === "https:" ? "18002" : "8002";
|
|
7345
|
+
if (util.exists("ServiceList.TpEspServers.TpEspServer", response)) {
|
|
7346
|
+
for (var _i = 0, _a = response.ServiceList.TpEspServers.TpEspServer; _i < _a.length; _i++) {
|
|
7347
|
+
var item = _a[_i];
|
|
7348
|
+
if (util.exists("TpBindings.TpBinding", item)) {
|
|
7349
|
+
for (var _b = 0, _c = item.TpBindings.TpBinding; _b < _c.length; _b++) {
|
|
7350
|
+
var binding = _c[_b];
|
|
7351
|
+
if (binding.Service === type && binding.Protocol + ":" === rootProtocol) {
|
|
7352
|
+
port = binding.Port;
|
|
7353
|
+
}
|
|
7354
|
+
}
|
|
7355
|
+
}
|
|
7356
|
+
}
|
|
7115
7357
|
}
|
|
7116
|
-
|
|
7117
|
-
console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
|
|
7358
|
+
return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
|
|
7118
7359
|
});
|
|
7119
7360
|
};
|
|
7120
|
-
|
|
7361
|
+
Topology.prototype.fetchTargetClusters = function () {
|
|
7121
7362
|
var _this = this;
|
|
7122
|
-
|
|
7123
|
-
|
|
7124
|
-
|
|
7125
|
-
|
|
7126
|
-
|
|
7127
|
-
|
|
7128
|
-
}).then(function (response) {
|
|
7129
|
-
var oldValue = _this._knownValues[key];
|
|
7130
|
-
_this._knownValues[key] = response.Value;
|
|
7131
|
-
if (broadcast) {
|
|
7132
|
-
_this._dispatch.post(new ValueChangedMessage(key, response.Value, oldValue));
|
|
7133
|
-
}
|
|
7134
|
-
return response.Value;
|
|
7135
|
-
}).catch(function (e) {
|
|
7136
|
-
console.error("Store.get(".concat(key, ") failed:"), e);
|
|
7137
|
-
return undefined;
|
|
7363
|
+
return this.connection.TpTargetClusterQuery({ Type: "ROOT" }).then(function (response) {
|
|
7364
|
+
var _a, _b;
|
|
7365
|
+
_this.set({
|
|
7366
|
+
TargetClusters: (_b = (_a = response.TpTargetClusters) === null || _a === void 0 ? void 0 : _a.TpTargetCluster) !== null && _b !== void 0 ? _b : []
|
|
7367
|
+
});
|
|
7368
|
+
return _this.CTargetClusters;
|
|
7138
7369
|
});
|
|
7139
7370
|
};
|
|
7140
|
-
|
|
7371
|
+
Topology.prototype.fetchLogicalClusters = function (request) {
|
|
7141
7372
|
var _this = this;
|
|
7142
|
-
if (
|
|
7143
|
-
return this.connection.
|
|
7144
|
-
|
|
7145
|
-
|
|
7146
|
-
Namespace: this.Namespace
|
|
7147
|
-
}).then(function (response) {
|
|
7148
|
-
var retVal = {};
|
|
7149
|
-
var deletedValues = _this._knownValues;
|
|
7150
|
-
_this._knownValues = {};
|
|
7151
|
-
response.Pairs.Pair.forEach(function (pair) {
|
|
7152
|
-
var oldValue = _this._knownValues[pair.Key];
|
|
7153
|
-
_this._knownValues[pair.Key] = pair.Value;
|
|
7154
|
-
delete deletedValues[pair.Key];
|
|
7155
|
-
retVal[pair.Key] = pair.Value;
|
|
7156
|
-
if (broadcast) {
|
|
7157
|
-
_this._dispatch.post(new ValueChangedMessage(pair.Key, pair.Value, oldValue));
|
|
7158
|
-
}
|
|
7373
|
+
if (request === void 0) { request = {}; }
|
|
7374
|
+
return this.connection.TpLogicalClusterQuery(request).then(function (response) {
|
|
7375
|
+
_this.set({
|
|
7376
|
+
LogicalClusters: response.TpLogicalClusters.TpLogicalCluster
|
|
7159
7377
|
});
|
|
7160
|
-
|
|
7161
|
-
for (var key in deletedValues) {
|
|
7162
|
-
_this._dispatch.post(new ValueChangedMessage(key, undefined, deletedValues[key]));
|
|
7163
|
-
}
|
|
7164
|
-
}
|
|
7165
|
-
return retVal;
|
|
7166
|
-
}).catch(function (e) {
|
|
7167
|
-
console.error("Store.getAll failed:", e);
|
|
7168
|
-
return {};
|
|
7378
|
+
return _this.LogicalClusters;
|
|
7169
7379
|
});
|
|
7170
7380
|
};
|
|
7171
|
-
|
|
7381
|
+
Topology.prototype.fetchServices = function (request) {
|
|
7172
7382
|
var _this = this;
|
|
7173
|
-
if (
|
|
7174
|
-
return this.connection.
|
|
7175
|
-
|
|
7176
|
-
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
}).then(function (response) {
|
|
7180
|
-
var oldValue = _this._knownValues[key];
|
|
7181
|
-
delete _this._knownValues[key];
|
|
7182
|
-
if (broadcast) {
|
|
7183
|
-
_this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
|
|
7184
|
-
}
|
|
7185
|
-
}).catch(function (e) {
|
|
7186
|
-
console.error("Store.delete(".concat(key, ") failed:"), e);
|
|
7383
|
+
if (request === void 0) { request = {}; }
|
|
7384
|
+
return this.connection.TpServiceQuery(request).then(function (response) {
|
|
7385
|
+
_this.set({
|
|
7386
|
+
Services: response.ServiceList
|
|
7387
|
+
});
|
|
7388
|
+
return _this.Services;
|
|
7187
7389
|
});
|
|
7188
7390
|
};
|
|
7189
|
-
|
|
7190
|
-
|
|
7391
|
+
Topology.prototype.refresh = function (force) {
|
|
7392
|
+
var _this = this;
|
|
7393
|
+
if (force === void 0) { force = false; }
|
|
7394
|
+
if (!this._prevRefresh || force) {
|
|
7395
|
+
this._prevRefresh = Promise.all([this.fetchTargetClusters(), this.fetchLogicalClusters(), this.fetchServices()]).then(function () {
|
|
7396
|
+
return _this;
|
|
7397
|
+
});
|
|
7398
|
+
}
|
|
7399
|
+
return this._prevRefresh;
|
|
7191
7400
|
};
|
|
7192
|
-
|
|
7193
|
-
|
|
7401
|
+
// Monitoring ---
|
|
7402
|
+
// Events ---
|
|
7403
|
+
Topology.prototype.on = function (eventID, propIDorCallback, callback) {
|
|
7404
|
+
if (this.isCallback(propIDorCallback)) {
|
|
7405
|
+
switch (eventID) {
|
|
7406
|
+
case "changed":
|
|
7407
|
+
_super.prototype.on.call(this, eventID, propIDorCallback);
|
|
7408
|
+
break;
|
|
7409
|
+
}
|
|
7410
|
+
}
|
|
7411
|
+
else {
|
|
7412
|
+
switch (eventID) {
|
|
7413
|
+
case "changed":
|
|
7414
|
+
_super.prototype.on.call(this, eventID, propIDorCallback, callback);
|
|
7415
|
+
break;
|
|
7416
|
+
}
|
|
7417
|
+
}
|
|
7418
|
+
this._monitor();
|
|
7419
|
+
return this;
|
|
7420
|
+
};
|
|
7421
|
+
return Topology;
|
|
7422
|
+
}(util.StateObject));
|
|
7194
7423
|
|
|
7195
|
-
var
|
|
7196
|
-
|
|
7197
|
-
|
|
7424
|
+
var logger$2 = util.scopedLogger("@hpcc-js/comms/ecl/query.ts");
|
|
7425
|
+
var QueryCache = /** @class */ (function (_super) {
|
|
7426
|
+
__extends(QueryCache, _super);
|
|
7427
|
+
function QueryCache() {
|
|
7198
7428
|
return _super.call(this, function (obj) {
|
|
7199
|
-
return
|
|
7429
|
+
return util.Cache.hash([obj.QueryId, obj.QuerySet]);
|
|
7200
7430
|
}) || this;
|
|
7201
7431
|
}
|
|
7202
|
-
return
|
|
7432
|
+
return QueryCache;
|
|
7203
7433
|
}(util.Cache));
|
|
7204
|
-
var
|
|
7205
|
-
var
|
|
7206
|
-
__extends(
|
|
7207
|
-
function
|
|
7434
|
+
var _queries = new QueryCache();
|
|
7435
|
+
var Query = /** @class */ (function (_super) {
|
|
7436
|
+
__extends(Query, _super);
|
|
7437
|
+
function Query(optsConnection, querySet, queryID, queryDetails) {
|
|
7208
7438
|
var _this = _super.call(this) || this;
|
|
7209
|
-
if (optsConnection instanceof
|
|
7210
|
-
_this.
|
|
7211
|
-
_this.machineConnection = new MachineService(optsConnection.connectionOptions());
|
|
7439
|
+
if (optsConnection instanceof WorkunitsService) {
|
|
7440
|
+
_this.wsWorkunitsService = optsConnection;
|
|
7212
7441
|
}
|
|
7213
7442
|
else {
|
|
7214
|
-
_this.
|
|
7215
|
-
_this.machineConnection = new MachineService(optsConnection);
|
|
7443
|
+
_this.wsWorkunitsService = new WorkunitsService(optsConnection);
|
|
7216
7444
|
}
|
|
7217
|
-
_this.
|
|
7218
|
-
|
|
7219
|
-
});
|
|
7445
|
+
_this.topology = Topology.attach(_this.wsWorkunitsService.opts());
|
|
7446
|
+
_this.set(__assign({ QuerySet: querySet, QueryId: queryID }, queryDetails));
|
|
7220
7447
|
return _this;
|
|
7221
7448
|
}
|
|
7222
|
-
Object.defineProperty(
|
|
7223
|
-
get: function () { return this.
|
|
7449
|
+
Object.defineProperty(Query.prototype, "BaseUrl", {
|
|
7450
|
+
get: function () { return this.wsWorkunitsService.baseUrl; },
|
|
7451
|
+
enumerable: false,
|
|
7452
|
+
configurable: true
|
|
7453
|
+
});
|
|
7454
|
+
Object.defineProperty(Query.prototype, "properties", {
|
|
7455
|
+
get: function () { return this.get(); },
|
|
7456
|
+
enumerable: false,
|
|
7457
|
+
configurable: true
|
|
7458
|
+
});
|
|
7459
|
+
Object.defineProperty(Query.prototype, "Exceptions", {
|
|
7460
|
+
get: function () { return this.get("Exceptions"); },
|
|
7461
|
+
enumerable: false,
|
|
7462
|
+
configurable: true
|
|
7463
|
+
});
|
|
7464
|
+
Object.defineProperty(Query.prototype, "QueryId", {
|
|
7465
|
+
get: function () { return this.get("QueryId"); },
|
|
7466
|
+
enumerable: false,
|
|
7467
|
+
configurable: true
|
|
7468
|
+
});
|
|
7469
|
+
Object.defineProperty(Query.prototype, "QuerySet", {
|
|
7470
|
+
get: function () { return this.get("QuerySet"); },
|
|
7471
|
+
enumerable: false,
|
|
7472
|
+
configurable: true
|
|
7473
|
+
});
|
|
7474
|
+
Object.defineProperty(Query.prototype, "QueryName", {
|
|
7475
|
+
get: function () { return this.get("QueryName"); },
|
|
7476
|
+
enumerable: false,
|
|
7477
|
+
configurable: true
|
|
7478
|
+
});
|
|
7479
|
+
Object.defineProperty(Query.prototype, "Wuid", {
|
|
7480
|
+
get: function () { return this.get("Wuid"); },
|
|
7481
|
+
enumerable: false,
|
|
7482
|
+
configurable: true
|
|
7483
|
+
});
|
|
7484
|
+
Object.defineProperty(Query.prototype, "Dll", {
|
|
7485
|
+
get: function () { return this.get("Dll"); },
|
|
7486
|
+
enumerable: false,
|
|
7487
|
+
configurable: true
|
|
7488
|
+
});
|
|
7489
|
+
Object.defineProperty(Query.prototype, "Suspended", {
|
|
7490
|
+
get: function () { return this.get("Suspended"); },
|
|
7491
|
+
enumerable: false,
|
|
7492
|
+
configurable: true
|
|
7493
|
+
});
|
|
7494
|
+
Object.defineProperty(Query.prototype, "Activated", {
|
|
7495
|
+
get: function () { return this.get("Activated"); },
|
|
7496
|
+
enumerable: false,
|
|
7497
|
+
configurable: true
|
|
7498
|
+
});
|
|
7499
|
+
Object.defineProperty(Query.prototype, "SuspendedBy", {
|
|
7500
|
+
get: function () { return this.get("SuspendedBy"); },
|
|
7501
|
+
enumerable: false,
|
|
7502
|
+
configurable: true
|
|
7503
|
+
});
|
|
7504
|
+
Object.defineProperty(Query.prototype, "Clusters", {
|
|
7505
|
+
get: function () { return this.get("Clusters"); },
|
|
7506
|
+
enumerable: false,
|
|
7507
|
+
configurable: true
|
|
7508
|
+
});
|
|
7509
|
+
Object.defineProperty(Query.prototype, "PublishedBy", {
|
|
7510
|
+
get: function () { return this.get("PublishedBy"); },
|
|
7511
|
+
enumerable: false,
|
|
7512
|
+
configurable: true
|
|
7513
|
+
});
|
|
7514
|
+
Object.defineProperty(Query.prototype, "Comment", {
|
|
7515
|
+
get: function () { return this.get("Comment"); },
|
|
7224
7516
|
enumerable: false,
|
|
7225
7517
|
configurable: true
|
|
7226
7518
|
});
|
|
7227
|
-
Object.defineProperty(
|
|
7228
|
-
get: function () { return this.get("
|
|
7519
|
+
Object.defineProperty(Query.prototype, "LogicalFiles", {
|
|
7520
|
+
get: function () { return this.get("LogicalFiles"); },
|
|
7229
7521
|
enumerable: false,
|
|
7230
7522
|
configurable: true
|
|
7231
7523
|
});
|
|
7232
|
-
Object.defineProperty(
|
|
7233
|
-
get: function () { return this.get("
|
|
7524
|
+
Object.defineProperty(Query.prototype, "SuperFiles", {
|
|
7525
|
+
get: function () { return this.get("SuperFiles"); },
|
|
7234
7526
|
enumerable: false,
|
|
7235
7527
|
configurable: true
|
|
7236
7528
|
});
|
|
7237
|
-
Object.defineProperty(
|
|
7238
|
-
get: function () { return this.get("
|
|
7529
|
+
Object.defineProperty(Query.prototype, "IsLibrary", {
|
|
7530
|
+
get: function () { return this.get("IsLibrary"); },
|
|
7239
7531
|
enumerable: false,
|
|
7240
7532
|
configurable: true
|
|
7241
7533
|
});
|
|
7242
|
-
Object.defineProperty(
|
|
7243
|
-
get: function () { return this.get("
|
|
7534
|
+
Object.defineProperty(Query.prototype, "Priority", {
|
|
7535
|
+
get: function () { return this.get("Priority"); },
|
|
7244
7536
|
enumerable: false,
|
|
7245
7537
|
configurable: true
|
|
7246
7538
|
});
|
|
7247
|
-
Object.defineProperty(
|
|
7248
|
-
get: function () { return this.get("
|
|
7539
|
+
Object.defineProperty(Query.prototype, "WUSnapShot", {
|
|
7540
|
+
get: function () { return this.get("WUSnapShot"); },
|
|
7249
7541
|
enumerable: false,
|
|
7250
7542
|
configurable: true
|
|
7251
7543
|
});
|
|
7252
|
-
Object.defineProperty(
|
|
7253
|
-
get: function () { return this.get("
|
|
7544
|
+
Object.defineProperty(Query.prototype, "CompileTime", {
|
|
7545
|
+
get: function () { return this.get("CompileTime"); },
|
|
7254
7546
|
enumerable: false,
|
|
7255
7547
|
configurable: true
|
|
7256
7548
|
});
|
|
7257
|
-
Object.defineProperty(
|
|
7258
|
-
get: function () { return this.get("
|
|
7549
|
+
Object.defineProperty(Query.prototype, "LibrariesUsed", {
|
|
7550
|
+
get: function () { return this.get("LibrariesUsed"); },
|
|
7259
7551
|
enumerable: false,
|
|
7260
7552
|
configurable: true
|
|
7261
7553
|
});
|
|
7262
|
-
Object.defineProperty(
|
|
7263
|
-
get: function () { return this.get("
|
|
7554
|
+
Object.defineProperty(Query.prototype, "CountGraphs", {
|
|
7555
|
+
get: function () { return this.get("CountGraphs"); },
|
|
7264
7556
|
enumerable: false,
|
|
7265
7557
|
configurable: true
|
|
7266
7558
|
});
|
|
7267
|
-
Object.defineProperty(
|
|
7268
|
-
get: function () { return this.get("
|
|
7559
|
+
Object.defineProperty(Query.prototype, "ResourceURLCount", {
|
|
7560
|
+
get: function () { return this.get("ResourceURLCount"); },
|
|
7269
7561
|
enumerable: false,
|
|
7270
7562
|
configurable: true
|
|
7271
7563
|
});
|
|
7272
|
-
Object.defineProperty(
|
|
7273
|
-
get: function () { return this.get("
|
|
7564
|
+
Object.defineProperty(Query.prototype, "WsEclAddresses", {
|
|
7565
|
+
get: function () { return this.get("WsEclAddresses"); },
|
|
7274
7566
|
enumerable: false,
|
|
7275
7567
|
configurable: true
|
|
7276
7568
|
});
|
|
7277
|
-
Object.defineProperty(
|
|
7278
|
-
get: function () {
|
|
7279
|
-
var _this = this;
|
|
7280
|
-
return this.MachineInfoEx.map(function (machineInfoEx) { return Machine.attach(_this.machineConnection, machineInfoEx.Address, machineInfoEx); });
|
|
7281
|
-
},
|
|
7569
|
+
Object.defineProperty(Query.prototype, "WUGraphs", {
|
|
7570
|
+
get: function () { return this.get("WUGraphs"); },
|
|
7282
7571
|
enumerable: false,
|
|
7283
7572
|
configurable: true
|
|
7284
7573
|
});
|
|
7285
|
-
|
|
7286
|
-
|
|
7287
|
-
|
|
7574
|
+
Object.defineProperty(Query.prototype, "WUTimers", {
|
|
7575
|
+
get: function () { return this.get("WUTimers"); },
|
|
7576
|
+
enumerable: false,
|
|
7577
|
+
configurable: true
|
|
7578
|
+
});
|
|
7579
|
+
Query.attach = function (optsConnection, querySet, queryId) {
|
|
7580
|
+
var retVal = _queries.get({ BaseUrl: optsConnection.baseUrl, QuerySet: querySet, QueryId: queryId }, function () {
|
|
7581
|
+
return new Query(optsConnection, querySet, queryId);
|
|
7288
7582
|
});
|
|
7289
|
-
if (state) {
|
|
7290
|
-
retVal.set(__assign({}, state));
|
|
7291
|
-
}
|
|
7292
7583
|
return retVal;
|
|
7293
7584
|
};
|
|
7294
|
-
|
|
7295
|
-
|
|
7296
|
-
|
|
7297
|
-
|
|
7298
|
-
|
|
7299
|
-
|
|
7300
|
-
|
|
7301
|
-
|
|
7302
|
-
|
|
7303
|
-
|
|
7304
|
-
|
|
7305
|
-
|
|
7585
|
+
Query.prototype.wsEclService = function () {
|
|
7586
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7587
|
+
return __generator(this, function (_a) {
|
|
7588
|
+
if (!this._eclService) {
|
|
7589
|
+
this._eclService = this.topology.fetchServices({}).then(function (services) {
|
|
7590
|
+
var _a, _b, _c, _d;
|
|
7591
|
+
for (var _i = 0, _e = (_b = (_a = services === null || services === void 0 ? void 0 : services.TpEspServers) === null || _a === void 0 ? void 0 : _a.TpEspServer) !== null && _b !== void 0 ? _b : []; _i < _e.length; _i++) {
|
|
7592
|
+
var espServer = _e[_i];
|
|
7593
|
+
for (var _f = 0, _g = (_d = (_c = espServer === null || espServer === void 0 ? void 0 : espServer.TpBindings) === null || _c === void 0 ? void 0 : _c.TpBinding) !== null && _d !== void 0 ? _d : []; _f < _g.length; _f++) {
|
|
7594
|
+
var binding = _g[_f];
|
|
7595
|
+
if ((binding === null || binding === void 0 ? void 0 : binding.Service) === "ws_ecl") {
|
|
7596
|
+
var baseUrl = "".concat(binding.Protocol, "://").concat(globalThis.location.hostname, ":").concat(binding.Port);
|
|
7597
|
+
return new EclService({ baseUrl: baseUrl });
|
|
7598
|
+
}
|
|
7599
|
+
}
|
|
7600
|
+
}
|
|
7601
|
+
return undefined;
|
|
7602
|
+
});
|
|
7306
7603
|
}
|
|
7307
|
-
|
|
7308
|
-
|
|
7309
|
-
return _this.CMachineInfoEx;
|
|
7604
|
+
return [2 /*return*/, this._eclService];
|
|
7605
|
+
});
|
|
7310
7606
|
});
|
|
7311
7607
|
};
|
|
7312
|
-
|
|
7313
|
-
|
|
7314
|
-
|
|
7315
|
-
|
|
7316
|
-
|
|
7317
|
-
|
|
7318
|
-
|
|
7319
|
-
|
|
7320
|
-
|
|
7321
|
-
|
|
7322
|
-
|
|
7323
|
-
|
|
7324
|
-
|
|
7608
|
+
Query.prototype.fetchDetails = function () {
|
|
7609
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7610
|
+
var queryDetails;
|
|
7611
|
+
return __generator(this, function (_a) {
|
|
7612
|
+
switch (_a.label) {
|
|
7613
|
+
case 0: return [4 /*yield*/, this.wsWorkunitsService.WUQueryDetails({
|
|
7614
|
+
QuerySet: this.QuerySet,
|
|
7615
|
+
QueryId: this.QueryId,
|
|
7616
|
+
IncludeStateOnClusters: true,
|
|
7617
|
+
IncludeSuperFiles: true,
|
|
7618
|
+
IncludeWsEclAddresses: true,
|
|
7619
|
+
CheckAllNodes: false
|
|
7620
|
+
})];
|
|
7621
|
+
case 1:
|
|
7622
|
+
queryDetails = _a.sent();
|
|
7623
|
+
this.set(__assign({}, queryDetails));
|
|
7624
|
+
return [2 /*return*/];
|
|
7325
7625
|
}
|
|
7326
|
-
}
|
|
7327
|
-
}
|
|
7328
|
-
return {
|
|
7329
|
-
maxDisk: maxDisk,
|
|
7330
|
-
meanDisk: 1 - (total ? totalFree / total : 1)
|
|
7331
|
-
};
|
|
7626
|
+
});
|
|
7627
|
+
});
|
|
7332
7628
|
};
|
|
7333
|
-
|
|
7334
|
-
|
|
7629
|
+
Query.prototype.fetchRequestSchema = function () {
|
|
7630
|
+
var _a;
|
|
7631
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7632
|
+
var wsEclService, _b, e_1;
|
|
7633
|
+
return __generator(this, function (_c) {
|
|
7634
|
+
switch (_c.label) {
|
|
7635
|
+
case 0: return [4 /*yield*/, this.wsEclService()];
|
|
7636
|
+
case 1:
|
|
7637
|
+
wsEclService = _c.sent();
|
|
7638
|
+
_c.label = 2;
|
|
7639
|
+
case 2:
|
|
7640
|
+
_c.trys.push([2, 4, , 5]);
|
|
7641
|
+
_b = this;
|
|
7642
|
+
return [4 /*yield*/, (wsEclService === null || wsEclService === void 0 ? void 0 : wsEclService.requestJson(this.QuerySet, this.QueryId))];
|
|
7643
|
+
case 3:
|
|
7644
|
+
_b._requestSchema = (_a = _c.sent()) !== null && _a !== void 0 ? _a : [];
|
|
7645
|
+
return [3 /*break*/, 5];
|
|
7646
|
+
case 4:
|
|
7647
|
+
e_1 = _c.sent();
|
|
7648
|
+
// See: https://track.hpccsystems.com/browse/HPCC-29827
|
|
7649
|
+
logger$2.debug(e_1);
|
|
7650
|
+
this._requestSchema = [];
|
|
7651
|
+
return [3 /*break*/, 5];
|
|
7652
|
+
case 5: return [2 /*return*/];
|
|
7653
|
+
}
|
|
7654
|
+
});
|
|
7655
|
+
});
|
|
7335
7656
|
};
|
|
7336
|
-
|
|
7337
|
-
|
|
7338
|
-
function
|
|
7339
|
-
|
|
7340
|
-
|
|
7341
|
-
|
|
7342
|
-
|
|
7343
|
-
|
|
7344
|
-
|
|
7345
|
-
|
|
7346
|
-
|
|
7347
|
-
|
|
7348
|
-
|
|
7349
|
-
|
|
7350
|
-
|
|
7351
|
-
|
|
7352
|
-
|
|
7353
|
-
|
|
7354
|
-
|
|
7355
|
-
|
|
7356
|
-
|
|
7357
|
-
|
|
7358
|
-
|
|
7359
|
-
|
|
7360
|
-
_defaultTargetCluster[optsConnection.baseUrl] = connection.TpListTargetClusters({}).then(function (response) {
|
|
7361
|
-
var firstItem;
|
|
7362
|
-
var defaultItem;
|
|
7363
|
-
var hthorItem;
|
|
7364
|
-
response.TargetClusters.TpClusterNameType.forEach(function (item) {
|
|
7365
|
-
if (!firstItem) {
|
|
7366
|
-
firstItem = item;
|
|
7657
|
+
Query.prototype.fetchResponseSchema = function () {
|
|
7658
|
+
var _a;
|
|
7659
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7660
|
+
var wsEclService, _b, e_2;
|
|
7661
|
+
return __generator(this, function (_c) {
|
|
7662
|
+
switch (_c.label) {
|
|
7663
|
+
case 0: return [4 /*yield*/, this.wsEclService()];
|
|
7664
|
+
case 1:
|
|
7665
|
+
wsEclService = _c.sent();
|
|
7666
|
+
_c.label = 2;
|
|
7667
|
+
case 2:
|
|
7668
|
+
_c.trys.push([2, 4, , 5]);
|
|
7669
|
+
_b = this;
|
|
7670
|
+
return [4 /*yield*/, (wsEclService === null || wsEclService === void 0 ? void 0 : wsEclService.responseJson(this.QuerySet, this.QueryId))];
|
|
7671
|
+
case 3:
|
|
7672
|
+
_b._responseSchema = (_a = _c.sent()) !== null && _a !== void 0 ? _a : {};
|
|
7673
|
+
return [3 /*break*/, 5];
|
|
7674
|
+
case 4:
|
|
7675
|
+
e_2 = _c.sent();
|
|
7676
|
+
// See: https://track.hpccsystems.com/browse/HPCC-29827
|
|
7677
|
+
logger$2.debug(e_2);
|
|
7678
|
+
this._responseSchema = {};
|
|
7679
|
+
return [3 /*break*/, 5];
|
|
7680
|
+
case 5: return [2 /*return*/];
|
|
7367
7681
|
}
|
|
7368
|
-
|
|
7369
|
-
|
|
7682
|
+
});
|
|
7683
|
+
});
|
|
7684
|
+
};
|
|
7685
|
+
Query.prototype.fetchSchema = function () {
|
|
7686
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7687
|
+
return __generator(this, function (_a) {
|
|
7688
|
+
switch (_a.label) {
|
|
7689
|
+
case 0: return [4 /*yield*/, Promise.all([this.fetchRequestSchema(), this.fetchResponseSchema()])];
|
|
7690
|
+
case 1:
|
|
7691
|
+
_a.sent();
|
|
7692
|
+
return [2 /*return*/];
|
|
7370
7693
|
}
|
|
7371
|
-
|
|
7372
|
-
|
|
7694
|
+
});
|
|
7695
|
+
});
|
|
7696
|
+
};
|
|
7697
|
+
Query.prototype.fetchSummaryStats = function () {
|
|
7698
|
+
return this.wsWorkunitsService.WUQueryGetSummaryStats({ Target: this.QuerySet, QueryId: this.QueryId });
|
|
7699
|
+
};
|
|
7700
|
+
Query.prototype.submit = function (request) {
|
|
7701
|
+
var _a;
|
|
7702
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7703
|
+
var wsEclService;
|
|
7704
|
+
return __generator(this, function (_b) {
|
|
7705
|
+
switch (_b.label) {
|
|
7706
|
+
case 0: return [4 /*yield*/, this.wsEclService()];
|
|
7707
|
+
case 1:
|
|
7708
|
+
wsEclService = _b.sent();
|
|
7709
|
+
try {
|
|
7710
|
+
return [2 /*return*/, (_a = wsEclService === null || wsEclService === void 0 ? void 0 : wsEclService.submit(this.QuerySet, this.QueryId, request).then(function (results) {
|
|
7711
|
+
for (var key in results) {
|
|
7712
|
+
results[key] = results[key].Row;
|
|
7713
|
+
}
|
|
7714
|
+
return results;
|
|
7715
|
+
})) !== null && _a !== void 0 ? _a : []];
|
|
7716
|
+
}
|
|
7717
|
+
catch (e) {
|
|
7718
|
+
// See: https://track.hpccsystems.com/browse/HPCC-29827
|
|
7719
|
+
logger$2.debug(e);
|
|
7720
|
+
return [2 /*return*/, []];
|
|
7721
|
+
}
|
|
7722
|
+
return [2 /*return*/];
|
|
7373
7723
|
}
|
|
7374
7724
|
});
|
|
7375
|
-
var defItem = defaultItem || hthorItem || firstItem;
|
|
7376
|
-
return TargetCluster.attach(optsConnection, defItem.Name, defItem);
|
|
7377
7725
|
});
|
|
7378
|
-
}
|
|
7379
|
-
|
|
7380
|
-
|
|
7726
|
+
};
|
|
7727
|
+
Query.prototype.refresh = function () {
|
|
7728
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
7729
|
+
return __generator(this, function (_a) {
|
|
7730
|
+
switch (_a.label) {
|
|
7731
|
+
case 0: return [4 /*yield*/, Promise.all([
|
|
7732
|
+
this.fetchDetails(),
|
|
7733
|
+
this.fetchSchema()
|
|
7734
|
+
])];
|
|
7735
|
+
case 1:
|
|
7736
|
+
_a.sent();
|
|
7737
|
+
return [2 /*return*/, this];
|
|
7738
|
+
}
|
|
7739
|
+
});
|
|
7740
|
+
});
|
|
7741
|
+
};
|
|
7742
|
+
Query.prototype.requestFields = function () {
|
|
7743
|
+
if (!this._requestSchema)
|
|
7744
|
+
return [];
|
|
7745
|
+
return this._requestSchema;
|
|
7746
|
+
};
|
|
7747
|
+
Query.prototype.responseFields = function () {
|
|
7748
|
+
if (!this._responseSchema)
|
|
7749
|
+
return {};
|
|
7750
|
+
return this._responseSchema;
|
|
7751
|
+
};
|
|
7752
|
+
Query.prototype.resultNames = function () {
|
|
7753
|
+
var retVal = [];
|
|
7754
|
+
for (var key in this.responseFields()) {
|
|
7755
|
+
retVal.push(key);
|
|
7756
|
+
}
|
|
7757
|
+
return retVal;
|
|
7758
|
+
};
|
|
7759
|
+
Query.prototype.resultFields = function (resultName) {
|
|
7760
|
+
if (!this._responseSchema[resultName])
|
|
7761
|
+
return [];
|
|
7762
|
+
return this._responseSchema[resultName];
|
|
7763
|
+
};
|
|
7764
|
+
return Query;
|
|
7765
|
+
}(util.StateObject));
|
|
7381
7766
|
|
|
7382
|
-
var
|
|
7383
|
-
__extends(
|
|
7384
|
-
function
|
|
7767
|
+
var StoreCache = /** @class */ (function (_super) {
|
|
7768
|
+
__extends(StoreCache, _super);
|
|
7769
|
+
function StoreCache() {
|
|
7385
7770
|
return _super.call(this, function (obj) {
|
|
7386
|
-
return obj.BaseUrl;
|
|
7771
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
|
|
7387
7772
|
}) || this;
|
|
7388
7773
|
}
|
|
7389
|
-
return
|
|
7774
|
+
return StoreCache;
|
|
7390
7775
|
}(util.Cache));
|
|
7391
|
-
var
|
|
7392
|
-
var
|
|
7393
|
-
__extends(
|
|
7394
|
-
function
|
|
7776
|
+
var _store = new StoreCache();
|
|
7777
|
+
var ValueChangedMessage = /** @class */ (function (_super) {
|
|
7778
|
+
__extends(ValueChangedMessage, _super);
|
|
7779
|
+
function ValueChangedMessage(key, value, oldValue) {
|
|
7395
7780
|
var _this = _super.call(this) || this;
|
|
7396
|
-
|
|
7397
|
-
|
|
7398
|
-
|
|
7399
|
-
else {
|
|
7400
|
-
_this.connection = new TopologyService(optsConnection);
|
|
7401
|
-
}
|
|
7781
|
+
_this.key = key;
|
|
7782
|
+
_this.value = value;
|
|
7783
|
+
_this.oldValue = oldValue;
|
|
7402
7784
|
return _this;
|
|
7403
7785
|
}
|
|
7404
|
-
Object.defineProperty(
|
|
7405
|
-
get: function () { return
|
|
7406
|
-
enumerable: false,
|
|
7407
|
-
configurable: true
|
|
7408
|
-
});
|
|
7409
|
-
Object.defineProperty(Topology.prototype, "properties", {
|
|
7410
|
-
// Accessors ---
|
|
7411
|
-
get: function () { return this.get(); },
|
|
7412
|
-
enumerable: false,
|
|
7413
|
-
configurable: true
|
|
7414
|
-
});
|
|
7415
|
-
Object.defineProperty(Topology.prototype, "TargetClusters", {
|
|
7416
|
-
get: function () { return this.get("TargetClusters"); },
|
|
7417
|
-
enumerable: false,
|
|
7418
|
-
configurable: true
|
|
7419
|
-
});
|
|
7420
|
-
Object.defineProperty(Topology.prototype, "CTargetClusters", {
|
|
7421
|
-
get: function () {
|
|
7422
|
-
var _this = this;
|
|
7423
|
-
return this.TargetClusters.map(function (tc) { return TargetCluster.attach(_this.connection, tc.Name, tc); });
|
|
7424
|
-
},
|
|
7425
|
-
enumerable: false,
|
|
7426
|
-
configurable: true
|
|
7427
|
-
});
|
|
7428
|
-
Object.defineProperty(Topology.prototype, "LogicalClusters", {
|
|
7429
|
-
get: function () { return this.get("LogicalClusters"); },
|
|
7786
|
+
Object.defineProperty(ValueChangedMessage.prototype, "canConflate", {
|
|
7787
|
+
get: function () { return true; },
|
|
7430
7788
|
enumerable: false,
|
|
7431
7789
|
configurable: true
|
|
7432
7790
|
});
|
|
7433
|
-
|
|
7434
|
-
|
|
7791
|
+
ValueChangedMessage.prototype.conflate = function (other) {
|
|
7792
|
+
if (this.key === other.key) {
|
|
7793
|
+
this.value = other.value;
|
|
7794
|
+
return true;
|
|
7795
|
+
}
|
|
7796
|
+
return false;
|
|
7797
|
+
};
|
|
7798
|
+
ValueChangedMessage.prototype.void = function () {
|
|
7799
|
+
return this.value === this.oldValue;
|
|
7800
|
+
};
|
|
7801
|
+
return ValueChangedMessage;
|
|
7802
|
+
}(util.Message));
|
|
7803
|
+
var Store = /** @class */ (function () {
|
|
7804
|
+
function Store(optsConnection, Name, Namespace, UserSpecific) {
|
|
7805
|
+
this._dispatch = new util.Dispatch();
|
|
7806
|
+
this._knownValues = {};
|
|
7807
|
+
if (optsConnection instanceof StoreService) {
|
|
7808
|
+
this.connection = optsConnection;
|
|
7809
|
+
}
|
|
7810
|
+
else {
|
|
7811
|
+
this.connection = new StoreService(optsConnection);
|
|
7812
|
+
}
|
|
7813
|
+
this.Name = Name;
|
|
7814
|
+
this.UserSpecific = UserSpecific;
|
|
7815
|
+
this.Namespace = Namespace;
|
|
7816
|
+
}
|
|
7817
|
+
Object.defineProperty(Store.prototype, "BaseUrl", {
|
|
7818
|
+
get: function () { return this.connection.baseUrl; },
|
|
7435
7819
|
enumerable: false,
|
|
7436
7820
|
configurable: true
|
|
7437
7821
|
});
|
|
7438
|
-
|
|
7439
|
-
|
|
7440
|
-
|
|
7822
|
+
Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
|
|
7823
|
+
if (Name === void 0) { Name = "HPCCApps"; }
|
|
7824
|
+
if (UserSpecific === void 0) { UserSpecific = true; }
|
|
7825
|
+
var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
|
|
7826
|
+
return new Store(optsConnection, Name, Namespace, UserSpecific);
|
|
7441
7827
|
});
|
|
7442
7828
|
return retVal;
|
|
7443
7829
|
};
|
|
7444
|
-
|
|
7830
|
+
Store.prototype.create = function () {
|
|
7831
|
+
this.connection.CreateStore({ Name: this.Name, UserSpecific: this.UserSpecific, Type: "", Description: "" });
|
|
7832
|
+
};
|
|
7833
|
+
Store.prototype.set = function (key, value, broadcast) {
|
|
7445
7834
|
var _this = this;
|
|
7446
|
-
if (
|
|
7447
|
-
return this.connection.
|
|
7448
|
-
|
|
7449
|
-
|
|
7450
|
-
|
|
7451
|
-
|
|
7452
|
-
|
|
7453
|
-
|
|
7454
|
-
|
|
7455
|
-
|
|
7456
|
-
|
|
7457
|
-
|
|
7458
|
-
port = binding.Port;
|
|
7459
|
-
}
|
|
7460
|
-
}
|
|
7461
|
-
}
|
|
7462
|
-
}
|
|
7835
|
+
if (broadcast === void 0) { broadcast = true; }
|
|
7836
|
+
return this.connection.Set({
|
|
7837
|
+
StoreName: this.Name,
|
|
7838
|
+
UserSpecific: this.UserSpecific,
|
|
7839
|
+
Namespace: this.Namespace,
|
|
7840
|
+
Key: key,
|
|
7841
|
+
Value: value
|
|
7842
|
+
}).then(function (response) {
|
|
7843
|
+
var oldValue = _this._knownValues[key];
|
|
7844
|
+
_this._knownValues[key] = value;
|
|
7845
|
+
if (broadcast) {
|
|
7846
|
+
_this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
|
|
7463
7847
|
}
|
|
7464
|
-
|
|
7848
|
+
}).catch(function (e) {
|
|
7849
|
+
console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
|
|
7465
7850
|
});
|
|
7466
7851
|
};
|
|
7467
|
-
|
|
7852
|
+
Store.prototype.get = function (key, broadcast) {
|
|
7468
7853
|
var _this = this;
|
|
7469
|
-
|
|
7470
|
-
|
|
7471
|
-
|
|
7472
|
-
|
|
7473
|
-
|
|
7474
|
-
|
|
7854
|
+
if (broadcast === void 0) { broadcast = true; }
|
|
7855
|
+
return this.connection.Fetch({
|
|
7856
|
+
StoreName: this.Name,
|
|
7857
|
+
UserSpecific: this.UserSpecific,
|
|
7858
|
+
Namespace: this.Namespace,
|
|
7859
|
+
Key: key
|
|
7860
|
+
}).then(function (response) {
|
|
7861
|
+
var oldValue = _this._knownValues[key];
|
|
7862
|
+
_this._knownValues[key] = response.Value;
|
|
7863
|
+
if (broadcast) {
|
|
7864
|
+
_this._dispatch.post(new ValueChangedMessage(key, response.Value, oldValue));
|
|
7865
|
+
}
|
|
7866
|
+
return response.Value;
|
|
7867
|
+
}).catch(function (e) {
|
|
7868
|
+
console.error("Store.get(".concat(key, ") failed:"), e);
|
|
7869
|
+
return undefined;
|
|
7475
7870
|
});
|
|
7476
7871
|
};
|
|
7477
|
-
|
|
7872
|
+
Store.prototype.getAll = function (broadcast) {
|
|
7478
7873
|
var _this = this;
|
|
7479
|
-
if (
|
|
7480
|
-
return this.connection.
|
|
7481
|
-
|
|
7482
|
-
|
|
7874
|
+
if (broadcast === void 0) { broadcast = true; }
|
|
7875
|
+
return this.connection.FetchAll({
|
|
7876
|
+
StoreName: this.Name,
|
|
7877
|
+
UserSpecific: this.UserSpecific,
|
|
7878
|
+
Namespace: this.Namespace
|
|
7879
|
+
}).then(function (response) {
|
|
7880
|
+
var retVal = {};
|
|
7881
|
+
var deletedValues = _this._knownValues;
|
|
7882
|
+
_this._knownValues = {};
|
|
7883
|
+
response.Pairs.Pair.forEach(function (pair) {
|
|
7884
|
+
var oldValue = _this._knownValues[pair.Key];
|
|
7885
|
+
_this._knownValues[pair.Key] = pair.Value;
|
|
7886
|
+
delete deletedValues[pair.Key];
|
|
7887
|
+
retVal[pair.Key] = pair.Value;
|
|
7888
|
+
if (broadcast) {
|
|
7889
|
+
_this._dispatch.post(new ValueChangedMessage(pair.Key, pair.Value, oldValue));
|
|
7890
|
+
}
|
|
7483
7891
|
});
|
|
7484
|
-
|
|
7892
|
+
if (broadcast) {
|
|
7893
|
+
for (var key in deletedValues) {
|
|
7894
|
+
_this._dispatch.post(new ValueChangedMessage(key, undefined, deletedValues[key]));
|
|
7895
|
+
}
|
|
7896
|
+
}
|
|
7897
|
+
return retVal;
|
|
7898
|
+
}).catch(function (e) {
|
|
7899
|
+
console.error("Store.getAll failed:", e);
|
|
7900
|
+
return {};
|
|
7485
7901
|
});
|
|
7486
7902
|
};
|
|
7487
|
-
|
|
7903
|
+
Store.prototype.delete = function (key, broadcast) {
|
|
7488
7904
|
var _this = this;
|
|
7489
|
-
if (
|
|
7490
|
-
return this.connection.
|
|
7491
|
-
|
|
7492
|
-
|
|
7493
|
-
|
|
7494
|
-
|
|
7905
|
+
if (broadcast === void 0) { broadcast = true; }
|
|
7906
|
+
return this.connection.Delete({
|
|
7907
|
+
StoreName: this.Name,
|
|
7908
|
+
UserSpecific: this.UserSpecific,
|
|
7909
|
+
Namespace: this.Namespace,
|
|
7910
|
+
Key: key
|
|
7911
|
+
}).then(function (response) {
|
|
7912
|
+
var oldValue = _this._knownValues[key];
|
|
7913
|
+
delete _this._knownValues[key];
|
|
7914
|
+
if (broadcast) {
|
|
7915
|
+
_this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
|
|
7916
|
+
}
|
|
7917
|
+
}).catch(function (e) {
|
|
7918
|
+
console.error("Store.delete(".concat(key, ") failed:"), e);
|
|
7495
7919
|
});
|
|
7496
7920
|
};
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
if (force === void 0) { force = false; }
|
|
7500
|
-
if (!this._prevRefresh || force) {
|
|
7501
|
-
this._prevRefresh = Promise.all([this.fetchTargetClusters(), this.fetchLogicalClusters(), this.fetchServices()]).then(function () {
|
|
7502
|
-
return _this;
|
|
7503
|
-
});
|
|
7504
|
-
}
|
|
7505
|
-
return this._prevRefresh;
|
|
7506
|
-
};
|
|
7507
|
-
// Monitoring ---
|
|
7508
|
-
// Events ---
|
|
7509
|
-
Topology.prototype.on = function (eventID, propIDorCallback, callback) {
|
|
7510
|
-
if (this.isCallback(propIDorCallback)) {
|
|
7511
|
-
switch (eventID) {
|
|
7512
|
-
case "changed":
|
|
7513
|
-
_super.prototype.on.call(this, eventID, propIDorCallback);
|
|
7514
|
-
break;
|
|
7515
|
-
}
|
|
7516
|
-
}
|
|
7517
|
-
else {
|
|
7518
|
-
switch (eventID) {
|
|
7519
|
-
case "changed":
|
|
7520
|
-
_super.prototype.on.call(this, eventID, propIDorCallback, callback);
|
|
7521
|
-
break;
|
|
7522
|
-
}
|
|
7523
|
-
}
|
|
7524
|
-
this._monitor();
|
|
7525
|
-
return this;
|
|
7921
|
+
Store.prototype.monitor = function (callback) {
|
|
7922
|
+
return this._dispatch.attach(callback);
|
|
7526
7923
|
};
|
|
7527
|
-
return
|
|
7528
|
-
}(
|
|
7924
|
+
return Store;
|
|
7925
|
+
}());
|
|
7529
7926
|
|
|
7530
7927
|
var logger$1 = util.scopedLogger("@hpcc-js/comms/dfuWorkunit.ts");
|
|
7531
7928
|
var States;
|
|
@@ -7852,6 +8249,16 @@ var DFUWorkunit = /** @class */ (function (_super) {
|
|
|
7852
8249
|
enumerable: false,
|
|
7853
8250
|
configurable: true
|
|
7854
8251
|
});
|
|
8252
|
+
Object.defineProperty(DFUWorkunit.prototype, "KbPerSecAve", {
|
|
8253
|
+
get: function () { return this.get("KbPerSecAve"); },
|
|
8254
|
+
enumerable: false,
|
|
8255
|
+
configurable: true
|
|
8256
|
+
});
|
|
8257
|
+
Object.defineProperty(DFUWorkunit.prototype, "KbPerSec", {
|
|
8258
|
+
get: function () { return this.get("KbPerSec"); },
|
|
8259
|
+
enumerable: false,
|
|
8260
|
+
configurable: true
|
|
8261
|
+
});
|
|
7855
8262
|
// Factories ---
|
|
7856
8263
|
DFUWorkunit.create = function (optsConnection, dfuServerQueue) {
|
|
7857
8264
|
var retVal = new DFUWorkunit(optsConnection);
|
|
@@ -7897,6 +8304,21 @@ var DFUWorkunit = /** @class */ (function (_super) {
|
|
|
7897
8304
|
});
|
|
7898
8305
|
});
|
|
7899
8306
|
};
|
|
8307
|
+
DFUWorkunit.prototype.update = function (request) {
|
|
8308
|
+
var _a, _b, _c, _d;
|
|
8309
|
+
return this.connection.UpdateDFUWorkunitEx({
|
|
8310
|
+
wu: {
|
|
8311
|
+
JobName: (_b = (_a = request === null || request === void 0 ? void 0 : request.wu) === null || _a === void 0 ? void 0 : _a.JobName) !== null && _b !== void 0 ? _b : this.JobName,
|
|
8312
|
+
isProtected: (_d = (_c = request === null || request === void 0 ? void 0 : request.wu) === null || _c === void 0 ? void 0 : _c.isProtected) !== null && _d !== void 0 ? _d : this.isProtected,
|
|
8313
|
+
ID: this.ID,
|
|
8314
|
+
State: this.State
|
|
8315
|
+
},
|
|
8316
|
+
ClusterOrig: this.ClusterName,
|
|
8317
|
+
JobNameOrig: this.JobName,
|
|
8318
|
+
isProtectedOrig: this.isProtected,
|
|
8319
|
+
StateOrig: this.State
|
|
8320
|
+
});
|
|
8321
|
+
};
|
|
7900
8322
|
DFUWorkunit.prototype.isComplete = function () {
|
|
7901
8323
|
switch (this.State) {
|
|
7902
8324
|
case States.Finished:
|
|
@@ -7923,6 +8345,12 @@ var DFUWorkunit = /** @class */ (function (_super) {
|
|
|
7923
8345
|
DFUWorkunit.prototype.isRunning = function () {
|
|
7924
8346
|
return !this.isComplete();
|
|
7925
8347
|
};
|
|
8348
|
+
DFUWorkunit.prototype.abort = function () {
|
|
8349
|
+
return this.connection.AbortDFUWorkunit({ wuid: this.ID });
|
|
8350
|
+
};
|
|
8351
|
+
DFUWorkunit.prototype.delete = function () {
|
|
8352
|
+
return this.DFUWUAction(exports.FileSpray.DFUWUActions.Delete);
|
|
8353
|
+
};
|
|
7926
8354
|
DFUWorkunit.prototype.refresh = function (full) {
|
|
7927
8355
|
return __awaiter(this, void 0, void 0, function () {
|
|
7928
8356
|
return __generator(this, function (_a) {
|
|
@@ -7935,6 +8363,9 @@ var DFUWorkunit = /** @class */ (function (_super) {
|
|
|
7935
8363
|
});
|
|
7936
8364
|
});
|
|
7937
8365
|
};
|
|
8366
|
+
DFUWorkunit.prototype.fetchXML = function (callback) {
|
|
8367
|
+
return this.DFUWUFile();
|
|
8368
|
+
};
|
|
7938
8369
|
// Monitoring ---
|
|
7939
8370
|
DFUWorkunit.prototype._monitor = function () {
|
|
7940
8371
|
if (this.isComplete()) {
|
|
@@ -7956,6 +8387,29 @@ var DFUWorkunit = /** @class */ (function (_super) {
|
|
|
7956
8387
|
}
|
|
7957
8388
|
return retVal;
|
|
7958
8389
|
};
|
|
8390
|
+
DFUWorkunit.prototype.DFUWUFile = function (_request) {
|
|
8391
|
+
if (_request === void 0) { _request = {}; }
|
|
8392
|
+
return this.connection.DFUWUFile(__assign(__assign({}, _request), { Wuid: this.ID })).then(function (response) {
|
|
8393
|
+
//TODO: additional processing?
|
|
8394
|
+
return response;
|
|
8395
|
+
}).catch(function (e) {
|
|
8396
|
+
return {};
|
|
8397
|
+
});
|
|
8398
|
+
};
|
|
8399
|
+
DFUWorkunit.prototype.DFUWUAction = function (actionType) {
|
|
8400
|
+
var _this = this;
|
|
8401
|
+
return this.connection.DFUWorkunitsAction({
|
|
8402
|
+
wuids: { Item: [this.ID] },
|
|
8403
|
+
Type: actionType
|
|
8404
|
+
}).then(function (response) {
|
|
8405
|
+
if (actionType === exports.FileSpray.DFUWUActions.Delete)
|
|
8406
|
+
return response;
|
|
8407
|
+
return _this.refresh().then(function () {
|
|
8408
|
+
_this._monitor();
|
|
8409
|
+
return response;
|
|
8410
|
+
});
|
|
8411
|
+
});
|
|
8412
|
+
};
|
|
7959
8413
|
// Events ---
|
|
7960
8414
|
DFUWorkunit.prototype.on = function (eventID, propIDorCallback, callback) {
|
|
7961
8415
|
var _this = this;
|