@hpcc-js/comms 2.65.0 → 2.66.0
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 +199 -197
- package/dist/index.es6.js.map +1 -1
- package/dist/index.js +101 -85
- 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 +216 -173
- 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/clienttools/eclMeta.js +4 -4
- package/lib-es6/clienttools/eclMeta.js.map +1 -1
- package/lib-es6/clienttools/eclcc.js +18 -18
- package/lib-es6/clienttools/eclcc.js.map +1 -1
- package/lib-es6/connection.js +6 -6
- package/lib-es6/connection.js.map +1 -1
- package/lib-es6/ecl/graph.js +5 -5
- package/lib-es6/ecl/graph.js.map +1 -1
- package/lib-es6/ecl/logicalFile.js +2 -2
- package/lib-es6/ecl/logicalFile.js.map +1 -1
- package/lib-es6/ecl/result.js +1 -1
- package/lib-es6/ecl/result.js.map +1 -1
- package/lib-es6/ecl/scope.js +5 -5
- package/lib-es6/ecl/scope.js.map +1 -1
- package/lib-es6/ecl/store.js +4 -4
- package/lib-es6/ecl/store.js.map +1 -1
- package/lib-es6/ecl/targetCluster.js +2 -2
- package/lib-es6/ecl/targetCluster.js.map +1 -1
- package/lib-es6/ecl/topology.js +1 -1
- package/lib-es6/ecl/topology.js.map +1 -1
- package/lib-es6/ecl/workunit.js +4 -4
- package/lib-es6/ecl/workunit.js.map +1 -1
- package/lib-es6/espConnection.js +1 -1
- package/lib-es6/espConnection.js.map +1 -1
- package/lib-es6/services/wsEcl.js +3 -3
- package/lib-es6/services/wsEcl.js.map +1 -1
- package/package.json +20 -20
- package/src/__package__.ts +2 -2
- package/src/ecl/topology.ts +1 -1
- package/types/__package__.d.ts +2 -2
- package/types/ecl/activity.d.ts +1 -1
- package/types/ecl/activity.d.ts.map +1 -1
- package/types/ecl/topology.d.ts.map +1 -1
- package/types-3.4/__package__.d.ts +2 -2
- package/types-3.4/ecl/activity.d.ts +1 -1
package/dist/index.node.js
CHANGED
|
@@ -2,12 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
5
|
var util = require('@hpcc-js/util');
|
|
8
6
|
var xmldom = require('@xmldom/xmldom');
|
|
9
|
-
var fetch$1 =
|
|
10
|
-
var AbortController =
|
|
7
|
+
var fetch$1 = require('node-fetch');
|
|
8
|
+
var AbortController = require('abort-controller');
|
|
11
9
|
var https = require('https');
|
|
12
10
|
var safeBuffer = require('safe-buffer');
|
|
13
11
|
var cp = require('child_process');
|
|
@@ -16,11 +14,40 @@ var os = require('os');
|
|
|
16
14
|
var path = require('path');
|
|
17
15
|
var tmp = require('tmp');
|
|
18
16
|
|
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
+
|
|
19
|
+
function _interopNamespace(e) {
|
|
20
|
+
if (e && e.__esModule) return e;
|
|
21
|
+
var n = Object.create(null);
|
|
22
|
+
if (e) {
|
|
23
|
+
Object.keys(e).forEach(function (k) {
|
|
24
|
+
if (k !== 'default') {
|
|
25
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
26
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function () { return e[k]; }
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
n["default"] = e;
|
|
34
|
+
return Object.freeze(n);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
var fetch__default = /*#__PURE__*/_interopDefaultLegacy(fetch$1);
|
|
38
|
+
var AbortController__default = /*#__PURE__*/_interopDefaultLegacy(AbortController);
|
|
39
|
+
var https__namespace = /*#__PURE__*/_interopNamespace(https);
|
|
40
|
+
var cp__namespace = /*#__PURE__*/_interopNamespace(cp);
|
|
41
|
+
var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
|
|
42
|
+
var os__namespace = /*#__PURE__*/_interopNamespace(os);
|
|
43
|
+
var path__namespace = /*#__PURE__*/_interopNamespace(path);
|
|
44
|
+
var tmp__namespace = /*#__PURE__*/_interopNamespace(tmp);
|
|
45
|
+
|
|
19
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";
|
|
20
47
|
|
|
21
48
|
var PKG_NAME = "@hpcc-js/comms";
|
|
22
|
-
var PKG_VERSION = "2.
|
|
23
|
-
var BUILD_VERSION = "2.
|
|
49
|
+
var PKG_VERSION = "2.66.0";
|
|
50
|
+
var BUILD_VERSION = "2.97.0";
|
|
24
51
|
|
|
25
52
|
/*! *****************************************************************************
|
|
26
53
|
Copyright (c) Microsoft Corporation.
|
|
@@ -109,10 +136,10 @@ function __spreadArray(to, from, pack) {
|
|
|
109
136
|
ar[i] = from[i];
|
|
110
137
|
}
|
|
111
138
|
}
|
|
112
|
-
return to.concat(ar || from);
|
|
139
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
113
140
|
}
|
|
114
141
|
|
|
115
|
-
var logger = util.scopedLogger("comms/connection.ts");
|
|
142
|
+
var logger$2 = util.scopedLogger("comms/connection.ts");
|
|
116
143
|
function instanceOfIOptions(object) {
|
|
117
144
|
return "baseUrl" in object;
|
|
118
145
|
}
|
|
@@ -151,20 +178,20 @@ function serializeRequest(obj, encodeRequest, prefix) {
|
|
|
151
178
|
obj[key].forEach(function (row, i) {
|
|
152
179
|
if (typeof row === "object") {
|
|
153
180
|
includeItemCount_1 = true;
|
|
154
|
-
str.push(serializeRequest(row, encodeRequest, prefix + encode(key
|
|
181
|
+
str.push(serializeRequest(row, encodeRequest, prefix + encode("".concat(key, ".").concat(i), encodeRequest)));
|
|
155
182
|
}
|
|
156
183
|
else {
|
|
157
|
-
str.push(prefix + encode(key
|
|
184
|
+
str.push(prefix + encode("".concat(key, "_i").concat(i), encodeRequest) + "=" + serializeRequest(row, encodeRequest));
|
|
158
185
|
}
|
|
159
186
|
});
|
|
160
187
|
if (includeItemCount_1) {
|
|
161
|
-
str.push(prefix + encode(key
|
|
188
|
+
str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key].length);
|
|
162
189
|
}
|
|
163
190
|
}
|
|
164
191
|
else if (typeof obj[key] === "object") {
|
|
165
192
|
if (obj[key] && obj[key]["Item"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?
|
|
166
193
|
str.push(serializeRequest(obj[key]["Item"], encodeRequest, prefix + encode(key, encodeRequest)));
|
|
167
|
-
str.push(prefix + encode(key
|
|
194
|
+
str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key]["Item"].length);
|
|
168
195
|
}
|
|
169
196
|
else {
|
|
170
197
|
str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));
|
|
@@ -214,12 +241,12 @@ function jsonp(opts, action, request, responseType, header) {
|
|
|
214
241
|
respondedTimeout -= respondedTick;
|
|
215
242
|
if (respondedTimeout <= 0) {
|
|
216
243
|
clearInterval(progress);
|
|
217
|
-
logger.error("Request timeout: " + script.src);
|
|
244
|
+
logger$2.error("Request timeout: " + script.src);
|
|
218
245
|
doCallback();
|
|
219
246
|
reject(Error("Request timeout: " + script.src));
|
|
220
247
|
}
|
|
221
248
|
else {
|
|
222
|
-
logger.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
|
|
249
|
+
logger$2.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
|
|
223
250
|
}
|
|
224
251
|
}
|
|
225
252
|
}, respondedTick);
|
|
@@ -230,7 +257,7 @@ function jsonp(opts, action, request, responseType, header) {
|
|
|
230
257
|
});
|
|
231
258
|
}
|
|
232
259
|
function authHeader(opts) {
|
|
233
|
-
return opts.userID ? { Authorization: "Basic "
|
|
260
|
+
return opts.userID ? { Authorization: "Basic ".concat(btoa("".concat(opts.userID, ":").concat(opts.password))) } : {};
|
|
234
261
|
}
|
|
235
262
|
// _omitMap is a workaround for older HPCC-Platform instances without credentials ---
|
|
236
263
|
var _omitMap = {};
|
|
@@ -289,7 +316,7 @@ function get(opts, action, request, responseType, header) {
|
|
|
289
316
|
abortSignal = request.abortSignal_;
|
|
290
317
|
delete request.abortSignal_;
|
|
291
318
|
}
|
|
292
|
-
return doFetch(opts, action
|
|
319
|
+
return doFetch(opts, "".concat(action, "?").concat(serializeRequest(request, opts.encodeRequest)), {
|
|
293
320
|
method: "get",
|
|
294
321
|
signal: abortSignal
|
|
295
322
|
}, __assign({}, header), responseType);
|
|
@@ -368,7 +395,7 @@ var ESPExceptions = /** @class */ (function (_super) {
|
|
|
368
395
|
_this.Source = exceptions.Source;
|
|
369
396
|
_this.Exception = exceptions.Exception;
|
|
370
397
|
if (exceptions.Exception.length) {
|
|
371
|
-
_this.message = exceptions.Exception[0].Code
|
|
398
|
+
_this.message = "".concat(exceptions.Exception[0].Code, ": ").concat(exceptions.Exception[0].Message);
|
|
372
399
|
}
|
|
373
400
|
else {
|
|
374
401
|
_this.message = "";
|
|
@@ -688,7 +715,7 @@ var EclService = /** @class */ (function (_super) {
|
|
|
688
715
|
};
|
|
689
716
|
EclService.prototype.requestJson = function (querySet, queryId) {
|
|
690
717
|
// http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display
|
|
691
|
-
return this._connection.send("example/request/query/"
|
|
718
|
+
return this._connection.send("example/request/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
|
|
692
719
|
var requestSchema = JSON.parse(response);
|
|
693
720
|
for (var key in requestSchema) {
|
|
694
721
|
return requestSchema[key];
|
|
@@ -698,7 +725,7 @@ var EclService = /** @class */ (function (_super) {
|
|
|
698
725
|
};
|
|
699
726
|
EclService.prototype.responseJson = function (querySet, queryId) {
|
|
700
727
|
// http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display
|
|
701
|
-
return this._connection.send("example/response/query/"
|
|
728
|
+
return this._connection.send("example/response/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
|
|
702
729
|
var responseSchema = JSON.parse(response);
|
|
703
730
|
for (var key in responseSchema) {
|
|
704
731
|
return responseSchema[key].Results;
|
|
@@ -714,7 +741,7 @@ var EclService = /** @class */ (function (_super) {
|
|
|
714
741
|
};
|
|
715
742
|
EclService.prototype.submit = function (querySet, queryId, request) {
|
|
716
743
|
// http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json
|
|
717
|
-
var action = "submit/query/"
|
|
744
|
+
var action = "submit/query/".concat(querySet, "/").concat(queryId);
|
|
718
745
|
return this._connection.send(action, request, "json2").then(function (response) {
|
|
719
746
|
if (response.Results && response.Results.Exception) {
|
|
720
747
|
throw new ESPExceptions(action, request, {
|
|
@@ -764,7 +791,7 @@ function ascendingComparator(f) {
|
|
|
764
791
|
};
|
|
765
792
|
}
|
|
766
793
|
|
|
767
|
-
|
|
794
|
+
bisector(ascending);
|
|
768
795
|
|
|
769
796
|
function number(x) {
|
|
770
797
|
return x === null ? NaN : +x;
|
|
@@ -985,13 +1012,18 @@ var StoreService = /** @class */ (function (_super) {
|
|
|
985
1012
|
return StoreService;
|
|
986
1013
|
}(Service));
|
|
987
1014
|
|
|
1015
|
+
/*
|
|
1016
|
+
Response structures generated via:
|
|
1017
|
+
* http://localhost:8010/WsTopology/TpLogicalClusterQuery?respjson_
|
|
1018
|
+
* http://json2ts.com/
|
|
1019
|
+
*/
|
|
1020
|
+
exports.TpLogicalClusterQuery = void 0;
|
|
988
1021
|
(function (TpLogicalClusterQuery) {
|
|
989
|
-
var RoxieQueueFilter;
|
|
990
1022
|
(function (RoxieQueueFilter) {
|
|
991
1023
|
RoxieQueueFilter["All"] = "All";
|
|
992
1024
|
RoxieQueueFilter["QueriesOnly"] = "QueriesOnly";
|
|
993
1025
|
RoxieQueueFilter["WorkunitsOnly"] = "WorkunitsOnly";
|
|
994
|
-
})(
|
|
1026
|
+
})(TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
|
|
995
1027
|
})(exports.TpLogicalClusterQuery || (exports.TpLogicalClusterQuery = {}));
|
|
996
1028
|
var TopologyService = /** @class */ (function (_super) {
|
|
997
1029
|
__extends(TopologyService, _super);
|
|
@@ -1047,6 +1079,13 @@ var TopologyService = /** @class */ (function (_super) {
|
|
|
1047
1079
|
return TopologyService;
|
|
1048
1080
|
}(Service));
|
|
1049
1081
|
|
|
1082
|
+
/*
|
|
1083
|
+
Response structures generated via:
|
|
1084
|
+
* http://localhost:8010/WsWorkunits/WUInfo?reqjson_
|
|
1085
|
+
* http://localhost:8010/WsWorkunits/WUInfo?respjson_
|
|
1086
|
+
* http://json2ts.com/
|
|
1087
|
+
*/
|
|
1088
|
+
exports.WUStateID = void 0;
|
|
1050
1089
|
(function (WUStateID) {
|
|
1051
1090
|
WUStateID[WUStateID["Unknown"] = 0] = "Unknown";
|
|
1052
1091
|
WUStateID[WUStateID["Compiled"] = 1] = "Compiled";
|
|
@@ -1071,8 +1110,8 @@ var TopologyService = /** @class */ (function (_super) {
|
|
|
1071
1110
|
function isECLResult(_) {
|
|
1072
1111
|
return typeof _.Name === "string";
|
|
1073
1112
|
}
|
|
1113
|
+
exports.WUUpdate = void 0;
|
|
1074
1114
|
(function (WUUpdate) {
|
|
1075
|
-
var Action;
|
|
1076
1115
|
(function (Action) {
|
|
1077
1116
|
Action[Action["Unknown"] = 0] = "Unknown";
|
|
1078
1117
|
Action[Action["Compile"] = 1] = "Compile";
|
|
@@ -1084,7 +1123,7 @@ function isECLResult(_) {
|
|
|
1084
1123
|
Action[Action["Resume"] = 7] = "Resume";
|
|
1085
1124
|
Action[Action["Debug"] = 8] = "Debug";
|
|
1086
1125
|
Action[Action["__size"] = 9] = "__size";
|
|
1087
|
-
})(
|
|
1126
|
+
})(WUUpdate.Action || (WUUpdate.Action = {}));
|
|
1088
1127
|
})(exports.WUUpdate || (exports.WUUpdate = {}));
|
|
1089
1128
|
function isWUQueryECLWorkunit(_) {
|
|
1090
1129
|
return _.TotalClusterTime !== undefined;
|
|
@@ -1286,6 +1325,8 @@ var day = newInterval(function(date) {
|
|
|
1286
1325
|
return date.getDate() - 1;
|
|
1287
1326
|
});
|
|
1288
1327
|
|
|
1328
|
+
var timeDay = day;
|
|
1329
|
+
|
|
1289
1330
|
function weekday(i) {
|
|
1290
1331
|
return newInterval(function(date) {
|
|
1291
1332
|
date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
|
|
@@ -1299,11 +1340,11 @@ function weekday(i) {
|
|
|
1299
1340
|
|
|
1300
1341
|
var sunday = weekday(0);
|
|
1301
1342
|
var monday = weekday(1);
|
|
1302
|
-
|
|
1303
|
-
|
|
1343
|
+
weekday(2);
|
|
1344
|
+
weekday(3);
|
|
1304
1345
|
var thursday = weekday(4);
|
|
1305
|
-
|
|
1306
|
-
|
|
1346
|
+
weekday(5);
|
|
1347
|
+
weekday(6);
|
|
1307
1348
|
|
|
1308
1349
|
var year = newInterval(function(date) {
|
|
1309
1350
|
date.setMonth(0, 1);
|
|
@@ -1327,6 +1368,8 @@ year.every = function(k) {
|
|
|
1327
1368
|
});
|
|
1328
1369
|
};
|
|
1329
1370
|
|
|
1371
|
+
var timeYear = year;
|
|
1372
|
+
|
|
1330
1373
|
var utcDay = newInterval(function(date) {
|
|
1331
1374
|
date.setUTCHours(0, 0, 0, 0);
|
|
1332
1375
|
}, function(date, step) {
|
|
@@ -1337,6 +1380,8 @@ var utcDay = newInterval(function(date) {
|
|
|
1337
1380
|
return date.getUTCDate() - 1;
|
|
1338
1381
|
});
|
|
1339
1382
|
|
|
1383
|
+
var utcDay$1 = utcDay;
|
|
1384
|
+
|
|
1340
1385
|
function utcWeekday(i) {
|
|
1341
1386
|
return newInterval(function(date) {
|
|
1342
1387
|
date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
|
|
@@ -1350,11 +1395,11 @@ function utcWeekday(i) {
|
|
|
1350
1395
|
|
|
1351
1396
|
var utcSunday = utcWeekday(0);
|
|
1352
1397
|
var utcMonday = utcWeekday(1);
|
|
1353
|
-
|
|
1354
|
-
|
|
1398
|
+
utcWeekday(2);
|
|
1399
|
+
utcWeekday(3);
|
|
1355
1400
|
var utcThursday = utcWeekday(4);
|
|
1356
|
-
|
|
1357
|
-
|
|
1401
|
+
utcWeekday(5);
|
|
1402
|
+
utcWeekday(6);
|
|
1358
1403
|
|
|
1359
1404
|
var utcYear = newInterval(function(date) {
|
|
1360
1405
|
date.setUTCMonth(0, 1);
|
|
@@ -1378,6 +1423,8 @@ utcYear.every = function(k) {
|
|
|
1378
1423
|
});
|
|
1379
1424
|
};
|
|
1380
1425
|
|
|
1426
|
+
var utcYear$1 = utcYear;
|
|
1427
|
+
|
|
1381
1428
|
function localDate(d) {
|
|
1382
1429
|
if (0 <= d.y && d.y < 100) {
|
|
1383
1430
|
var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
|
|
@@ -1566,7 +1613,7 @@ function formatLocale(locale) {
|
|
|
1566
1613
|
return function(string) {
|
|
1567
1614
|
var d = newDate(1900, undefined, 1),
|
|
1568
1615
|
i = parseSpecifier(d, specifier, string += "", 0),
|
|
1569
|
-
week, day
|
|
1616
|
+
week, day;
|
|
1570
1617
|
if (i != string.length) return null;
|
|
1571
1618
|
|
|
1572
1619
|
// If a UNIX timestamp is specified, return it.
|
|
@@ -1587,25 +1634,25 @@ function formatLocale(locale) {
|
|
|
1587
1634
|
if (d.V < 1 || d.V > 53) return null;
|
|
1588
1635
|
if (!("w" in d)) d.w = 1;
|
|
1589
1636
|
if ("Z" in d) {
|
|
1590
|
-
week = utcDate(newDate(d.y, 0, 1)), day
|
|
1591
|
-
week = day
|
|
1592
|
-
week = utcDay.offset(week, (d.V - 1) * 7);
|
|
1637
|
+
week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
|
|
1638
|
+
week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
|
|
1639
|
+
week = utcDay$1.offset(week, (d.V - 1) * 7);
|
|
1593
1640
|
d.y = week.getUTCFullYear();
|
|
1594
1641
|
d.m = week.getUTCMonth();
|
|
1595
1642
|
d.d = week.getUTCDate() + (d.w + 6) % 7;
|
|
1596
1643
|
} else {
|
|
1597
|
-
week = localDate(newDate(d.y, 0, 1)), day
|
|
1598
|
-
week = day
|
|
1599
|
-
week =
|
|
1644
|
+
week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
|
|
1645
|
+
week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
|
|
1646
|
+
week = timeDay.offset(week, (d.V - 1) * 7);
|
|
1600
1647
|
d.y = week.getFullYear();
|
|
1601
1648
|
d.m = week.getMonth();
|
|
1602
1649
|
d.d = week.getDate() + (d.w + 6) % 7;
|
|
1603
1650
|
}
|
|
1604
1651
|
} else if ("W" in d || "U" in d) {
|
|
1605
1652
|
if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
|
|
1606
|
-
day
|
|
1653
|
+
day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
|
|
1607
1654
|
d.m = 0;
|
|
1608
|
-
d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day
|
|
1655
|
+
d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
|
|
1609
1656
|
}
|
|
1610
1657
|
|
|
1611
1658
|
// If a time zone is specified, all fields are interpreted as UTC and then
|
|
@@ -1891,7 +1938,7 @@ function formatHour12(d, p) {
|
|
|
1891
1938
|
}
|
|
1892
1939
|
|
|
1893
1940
|
function formatDayOfYear(d, p) {
|
|
1894
|
-
return pad(1 +
|
|
1941
|
+
return pad(1 + timeDay.count(timeYear(d), d), p, 3);
|
|
1895
1942
|
}
|
|
1896
1943
|
|
|
1897
1944
|
function formatMilliseconds(d, p) {
|
|
@@ -1920,7 +1967,7 @@ function formatWeekdayNumberMonday(d) {
|
|
|
1920
1967
|
}
|
|
1921
1968
|
|
|
1922
1969
|
function formatWeekNumberSunday(d, p) {
|
|
1923
|
-
return pad(sunday.count(
|
|
1970
|
+
return pad(sunday.count(timeYear(d) - 1, d), p, 2);
|
|
1924
1971
|
}
|
|
1925
1972
|
|
|
1926
1973
|
function dISO(d) {
|
|
@@ -1930,7 +1977,7 @@ function dISO(d) {
|
|
|
1930
1977
|
|
|
1931
1978
|
function formatWeekNumberISO(d, p) {
|
|
1932
1979
|
d = dISO(d);
|
|
1933
|
-
return pad(thursday.count(
|
|
1980
|
+
return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
|
|
1934
1981
|
}
|
|
1935
1982
|
|
|
1936
1983
|
function formatWeekdayNumberSunday(d) {
|
|
@@ -1938,7 +1985,7 @@ function formatWeekdayNumberSunday(d) {
|
|
|
1938
1985
|
}
|
|
1939
1986
|
|
|
1940
1987
|
function formatWeekNumberMonday(d, p) {
|
|
1941
|
-
return pad(monday.count(
|
|
1988
|
+
return pad(monday.count(timeYear(d) - 1, d), p, 2);
|
|
1942
1989
|
}
|
|
1943
1990
|
|
|
1944
1991
|
function formatYear(d, p) {
|
|
@@ -1980,7 +2027,7 @@ function formatUTCHour12(d, p) {
|
|
|
1980
2027
|
}
|
|
1981
2028
|
|
|
1982
2029
|
function formatUTCDayOfYear(d, p) {
|
|
1983
|
-
return pad(1 + utcDay.count(utcYear(d), d), p, 3);
|
|
2030
|
+
return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
|
|
1984
2031
|
}
|
|
1985
2032
|
|
|
1986
2033
|
function formatUTCMilliseconds(d, p) {
|
|
@@ -2009,7 +2056,7 @@ function formatUTCWeekdayNumberMonday(d) {
|
|
|
2009
2056
|
}
|
|
2010
2057
|
|
|
2011
2058
|
function formatUTCWeekNumberSunday(d, p) {
|
|
2012
|
-
return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);
|
|
2059
|
+
return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
|
|
2013
2060
|
}
|
|
2014
2061
|
|
|
2015
2062
|
function UTCdISO(d) {
|
|
@@ -2019,7 +2066,7 @@ function UTCdISO(d) {
|
|
|
2019
2066
|
|
|
2020
2067
|
function formatUTCWeekNumberISO(d, p) {
|
|
2021
2068
|
d = UTCdISO(d);
|
|
2022
|
-
return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
|
|
2069
|
+
return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
|
|
2023
2070
|
}
|
|
2024
2071
|
|
|
2025
2072
|
function formatUTCWeekdayNumberSunday(d) {
|
|
@@ -2027,7 +2074,7 @@ function formatUTCWeekdayNumberSunday(d) {
|
|
|
2027
2074
|
}
|
|
2028
2075
|
|
|
2029
2076
|
function formatUTCWeekNumberMonday(d, p) {
|
|
2030
|
-
return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);
|
|
2077
|
+
return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
|
|
2031
2078
|
}
|
|
2032
2079
|
|
|
2033
2080
|
function formatUTCYear(d, p) {
|
|
@@ -2066,8 +2113,6 @@ function formatUnixTimestampSeconds(d) {
|
|
|
2066
2113
|
}
|
|
2067
2114
|
|
|
2068
2115
|
var locale;
|
|
2069
|
-
var timeFormat;
|
|
2070
|
-
var timeParse;
|
|
2071
2116
|
var utcFormat;
|
|
2072
2117
|
var utcParse;
|
|
2073
2118
|
|
|
@@ -2084,8 +2129,6 @@ defaultLocale({
|
|
|
2084
2129
|
|
|
2085
2130
|
function defaultLocale(definition) {
|
|
2086
2131
|
locale = formatLocale(definition);
|
|
2087
|
-
timeFormat = locale.format;
|
|
2088
|
-
timeParse = locale.parse;
|
|
2089
2132
|
utcFormat = locale.utcFormat;
|
|
2090
2133
|
utcParse = locale.utcParse;
|
|
2091
2134
|
return locale;
|
|
@@ -2183,12 +2226,12 @@ var GraphCache = /** @class */ (function (_super) {
|
|
|
2183
2226
|
}
|
|
2184
2227
|
return GraphCache;
|
|
2185
2228
|
}(util.Cache));
|
|
2186
|
-
function walkXmlJson(node, callback, stack) {
|
|
2229
|
+
function walkXmlJson$1(node, callback, stack) {
|
|
2187
2230
|
stack = stack || [];
|
|
2188
2231
|
stack.push(node);
|
|
2189
2232
|
callback(node.name, node.$, node.children(), stack);
|
|
2190
2233
|
node.children().forEach(function (childNode) {
|
|
2191
|
-
walkXmlJson(childNode, callback, stack);
|
|
2234
|
+
walkXmlJson$1(childNode, callback, stack);
|
|
2192
2235
|
});
|
|
2193
2236
|
stack.pop();
|
|
2194
2237
|
}
|
|
@@ -2237,7 +2280,7 @@ function createXGMMLGraph(id, graphs) {
|
|
|
2237
2280
|
return item._["id"];
|
|
2238
2281
|
});
|
|
2239
2282
|
var stack = [graph.root];
|
|
2240
|
-
walkXmlJson(graphs, function (tag, attributes, childNodes, _stack) {
|
|
2283
|
+
walkXmlJson$1(graphs, function (tag, attributes, childNodes, _stack) {
|
|
2241
2284
|
var top = stack[stack.length - 1];
|
|
2242
2285
|
switch (tag) {
|
|
2243
2286
|
case "graph":
|
|
@@ -2312,7 +2355,7 @@ function createGraph(scopes) {
|
|
|
2312
2355
|
scopeStack.pop();
|
|
2313
2356
|
}
|
|
2314
2357
|
if (!scopeParent1) {
|
|
2315
|
-
console.log("Missing SG:Parent ("
|
|
2358
|
+
console.log("Missing SG:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2316
2359
|
}
|
|
2317
2360
|
else {
|
|
2318
2361
|
var parent1 = scopeParent1;
|
|
@@ -2322,7 +2365,7 @@ function createGraph(scopes) {
|
|
|
2322
2365
|
case "activity":
|
|
2323
2366
|
var scopeParent2 = subgraphs[scope.parentScope()];
|
|
2324
2367
|
if (!scopeParent2) {
|
|
2325
|
-
console.log("Missing A:Parent ("
|
|
2368
|
+
console.log("Missing A:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2326
2369
|
}
|
|
2327
2370
|
else {
|
|
2328
2371
|
vertices[scope.ScopeName] = scopeParent2.createVertex(scope);
|
|
@@ -2334,7 +2377,7 @@ function createGraph(scopes) {
|
|
|
2334
2377
|
case "function":
|
|
2335
2378
|
var scopeParent3 = vertices[scope.parentScope()];
|
|
2336
2379
|
if (!scopeParent3) {
|
|
2337
|
-
console.log("Missing F:Parent ("
|
|
2380
|
+
console.log("Missing F:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2338
2381
|
}
|
|
2339
2382
|
else {
|
|
2340
2383
|
scopeParent3._.children().push(scope);
|
|
@@ -2346,7 +2389,7 @@ function createGraph(scopes) {
|
|
|
2346
2389
|
var scope = edges[id];
|
|
2347
2390
|
var scopeParent3 = subgraphs[scope.parentScope()];
|
|
2348
2391
|
if (!scopeParent3) {
|
|
2349
|
-
console.log("Missing E:Parent ("
|
|
2392
|
+
console.log("Missing E:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
|
|
2350
2393
|
}
|
|
2351
2394
|
else {
|
|
2352
2395
|
var parent3 = scopeParent3;
|
|
@@ -2358,7 +2401,7 @@ function createGraph(scopes) {
|
|
|
2358
2401
|
catch (e) {
|
|
2359
2402
|
// const sourceIndex = scope.attr("SourceIndex").RawValue;
|
|
2360
2403
|
// const targetIndex = scope.attr("TargetIndex").RawValue;
|
|
2361
|
-
console.log("Invalid Edge: "
|
|
2404
|
+
console.log("Invalid Edge: ".concat(id));
|
|
2362
2405
|
}
|
|
2363
2406
|
}
|
|
2364
2407
|
}
|
|
@@ -2651,7 +2694,7 @@ var GlobalResultCache = /** @class */ (function (_super) {
|
|
|
2651
2694
|
__extends(GlobalResultCache, _super);
|
|
2652
2695
|
function GlobalResultCache() {
|
|
2653
2696
|
return _super.call(this, function (obj) {
|
|
2654
|
-
return obj.BaseUrl
|
|
2697
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Wuid, "-").concat(obj.ResultName);
|
|
2655
2698
|
}) || this;
|
|
2656
2699
|
}
|
|
2657
2700
|
return GlobalResultCache;
|
|
@@ -3122,21 +3165,21 @@ var BaseScope = /** @class */ (function (_super) {
|
|
|
3122
3165
|
var label = "";
|
|
3123
3166
|
var rows = [];
|
|
3124
3167
|
label = this.Id;
|
|
3125
|
-
rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">"
|
|
3168
|
+
rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">".concat(this.Id, "</td></tr>"));
|
|
3126
3169
|
if (parentScope) {
|
|
3127
|
-
rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">"
|
|
3170
|
+
rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">".concat(parentScope.Id, "</td></tr>"));
|
|
3128
3171
|
}
|
|
3129
|
-
rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">"
|
|
3172
|
+
rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">".concat(this.ScopeName, "</td></tr>"));
|
|
3130
3173
|
var attrs = this.formattedAttrs();
|
|
3131
3174
|
for (var key in attrs) {
|
|
3132
3175
|
if (key === "Label") {
|
|
3133
3176
|
label = attrs[key];
|
|
3134
3177
|
}
|
|
3135
3178
|
else {
|
|
3136
|
-
rows.push("<tr><td class=\"key\">"
|
|
3179
|
+
rows.push("<tr><td class=\"key\">".concat(key, "</td><td class=\"value\">").concat(attrs[key], "</td></tr>"));
|
|
3137
3180
|
}
|
|
3138
3181
|
}
|
|
3139
|
-
return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">"
|
|
3182
|
+
return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">".concat(label, "</h4>\n <table>\n ").concat(rows.join(""), "\n </table>\n </div>");
|
|
3140
3183
|
};
|
|
3141
3184
|
return BaseScope;
|
|
3142
3185
|
}(util.StateObject));
|
|
@@ -3276,7 +3319,7 @@ var WorkunitCache = /** @class */ (function (_super) {
|
|
|
3276
3319
|
__extends(WorkunitCache, _super);
|
|
3277
3320
|
function WorkunitCache() {
|
|
3278
3321
|
return _super.call(this, function (obj) {
|
|
3279
|
-
return obj.BaseUrl
|
|
3322
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Wuid);
|
|
3280
3323
|
}) || this;
|
|
3281
3324
|
}
|
|
3282
3325
|
return WorkunitCache;
|
|
@@ -4483,12 +4526,12 @@ var Workunit = /** @class */ (function (_super) {
|
|
|
4483
4526
|
var optsStr = "";
|
|
4484
4527
|
for (var key in opts) {
|
|
4485
4528
|
if (opts.hasOwnProperty(key)) {
|
|
4486
|
-
optsStr += " "
|
|
4529
|
+
optsStr += " ".concat(key, "='").concat(opts[key], "'");
|
|
4487
4530
|
}
|
|
4488
4531
|
}
|
|
4489
4532
|
return this.connection.WUCDebug({
|
|
4490
4533
|
Wuid: this.Wuid,
|
|
4491
|
-
Command: "<debug:"
|
|
4534
|
+
Command: "<debug:".concat(command, " uid='").concat(this.Wuid, "'").concat(optsStr, "/>")
|
|
4492
4535
|
}).then(function (response) {
|
|
4493
4536
|
return response;
|
|
4494
4537
|
});
|
|
@@ -4619,7 +4662,7 @@ function getECLDefinition(vertex) {
|
|
|
4619
4662
|
column: +_col
|
|
4620
4663
|
};
|
|
4621
4664
|
}
|
|
4622
|
-
throw new Error("Bad definition: "
|
|
4665
|
+
throw new Error("Bad definition: ".concat(vertex._[ATTR_DEFINITION]));
|
|
4623
4666
|
}
|
|
4624
4667
|
function breakpointLocations(graph, path) {
|
|
4625
4668
|
var retVal = [];
|
|
@@ -4808,12 +4851,12 @@ var LogicalFileCache = /** @class */ (function (_super) {
|
|
|
4808
4851
|
__extends(LogicalFileCache, _super);
|
|
4809
4852
|
function LogicalFileCache() {
|
|
4810
4853
|
return _super.call(this, function (obj) {
|
|
4811
|
-
return obj.BaseUrl
|
|
4854
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Cluster, "-").concat(obj.Name);
|
|
4812
4855
|
}) || this;
|
|
4813
4856
|
}
|
|
4814
4857
|
return LogicalFileCache;
|
|
4815
4858
|
}(util.Cache));
|
|
4816
|
-
var _store = new LogicalFileCache();
|
|
4859
|
+
var _store$1 = new LogicalFileCache();
|
|
4817
4860
|
var LogicalFile = /** @class */ (function (_super) {
|
|
4818
4861
|
__extends(LogicalFile, _super);
|
|
4819
4862
|
function LogicalFile(optsConnection, Cluster, Name) {
|
|
@@ -5096,14 +5139,14 @@ var LogicalFile = /** @class */ (function (_super) {
|
|
|
5096
5139
|
configurable: true
|
|
5097
5140
|
});
|
|
5098
5141
|
LogicalFile.attach = function (optsConnection, Cluster, Name) {
|
|
5099
|
-
var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
|
|
5142
|
+
var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
|
|
5100
5143
|
return new LogicalFile(optsConnection, Cluster, Name);
|
|
5101
5144
|
});
|
|
5102
5145
|
return retVal;
|
|
5103
5146
|
};
|
|
5104
5147
|
LogicalFile.prototype.filePartsOnCluster = function () {
|
|
5105
5148
|
var _a;
|
|
5106
|
-
return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []));
|
|
5149
|
+
return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []), true);
|
|
5107
5150
|
};
|
|
5108
5151
|
LogicalFile.prototype.fileParts = function () {
|
|
5109
5152
|
var _a, _b;
|
|
@@ -5550,12 +5593,12 @@ var StoreCache = /** @class */ (function (_super) {
|
|
|
5550
5593
|
__extends(StoreCache, _super);
|
|
5551
5594
|
function StoreCache() {
|
|
5552
5595
|
return _super.call(this, function (obj) {
|
|
5553
|
-
return obj.BaseUrl
|
|
5596
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
|
|
5554
5597
|
}) || this;
|
|
5555
5598
|
}
|
|
5556
5599
|
return StoreCache;
|
|
5557
5600
|
}(util.Cache));
|
|
5558
|
-
var _store
|
|
5601
|
+
var _store = new StoreCache();
|
|
5559
5602
|
var ValueChangedMessage = /** @class */ (function (_super) {
|
|
5560
5603
|
__extends(ValueChangedMessage, _super);
|
|
5561
5604
|
function ValueChangedMessage(key, value, oldValue) {
|
|
@@ -5604,7 +5647,7 @@ var Store = /** @class */ (function () {
|
|
|
5604
5647
|
Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
|
|
5605
5648
|
if (Name === void 0) { Name = "HPCCApps"; }
|
|
5606
5649
|
if (UserSpecific === void 0) { UserSpecific = true; }
|
|
5607
|
-
var retVal = _store
|
|
5650
|
+
var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
|
|
5608
5651
|
return new Store(optsConnection, Name, Namespace, UserSpecific);
|
|
5609
5652
|
});
|
|
5610
5653
|
return retVal;
|
|
@@ -5628,7 +5671,7 @@ var Store = /** @class */ (function () {
|
|
|
5628
5671
|
_this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
|
|
5629
5672
|
}
|
|
5630
5673
|
}).catch(function (e) {
|
|
5631
|
-
console.error("Store.set(\""
|
|
5674
|
+
console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
|
|
5632
5675
|
});
|
|
5633
5676
|
};
|
|
5634
5677
|
Store.prototype.get = function (key, broadcast) {
|
|
@@ -5647,7 +5690,7 @@ var Store = /** @class */ (function () {
|
|
|
5647
5690
|
}
|
|
5648
5691
|
return response.Value;
|
|
5649
5692
|
}).catch(function (e) {
|
|
5650
|
-
console.error("Store.get("
|
|
5693
|
+
console.error("Store.get(".concat(key, ") failed:"), e);
|
|
5651
5694
|
return undefined;
|
|
5652
5695
|
});
|
|
5653
5696
|
};
|
|
@@ -5697,7 +5740,7 @@ var Store = /** @class */ (function () {
|
|
|
5697
5740
|
_this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
|
|
5698
5741
|
}
|
|
5699
5742
|
}).catch(function (e) {
|
|
5700
|
-
console.error("Store.delete("
|
|
5743
|
+
console.error("Store.delete(".concat(key, ") failed:"), e);
|
|
5701
5744
|
});
|
|
5702
5745
|
};
|
|
5703
5746
|
Store.prototype.monitor = function (callback) {
|
|
@@ -5710,7 +5753,7 @@ var TargetClusterCache = /** @class */ (function (_super) {
|
|
|
5710
5753
|
__extends(TargetClusterCache, _super);
|
|
5711
5754
|
function TargetClusterCache() {
|
|
5712
5755
|
return _super.call(this, function (obj) {
|
|
5713
|
-
return obj.BaseUrl
|
|
5756
|
+
return "".concat(obj.BaseUrl, "-").concat(obj.Name);
|
|
5714
5757
|
}) || this;
|
|
5715
5758
|
}
|
|
5716
5759
|
return TargetClusterCache;
|
|
@@ -5809,7 +5852,7 @@ var TargetCluster = /** @class */ (function (_super) {
|
|
|
5809
5852
|
var _this = this;
|
|
5810
5853
|
if (request === void 0) { request = {}; }
|
|
5811
5854
|
return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
|
|
5812
|
-
Item: [this.Type
|
|
5855
|
+
Item: ["".concat(this.Type, ":").concat(this.Name)]
|
|
5813
5856
|
} }, request)).then(function (response) {
|
|
5814
5857
|
var retVal = [];
|
|
5815
5858
|
for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
|
|
@@ -5975,7 +6018,7 @@ var Topology = /** @class */ (function (_super) {
|
|
|
5975
6018
|
}
|
|
5976
6019
|
}
|
|
5977
6020
|
}
|
|
5978
|
-
return rootProtocol
|
|
6021
|
+
return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
|
|
5979
6022
|
});
|
|
5980
6023
|
};
|
|
5981
6024
|
Topology.prototype.fetchTargetClusters = function () {
|
|
@@ -6041,7 +6084,7 @@ var Topology = /** @class */ (function (_super) {
|
|
|
6041
6084
|
return Topology;
|
|
6042
6085
|
}(util.StateObject));
|
|
6043
6086
|
|
|
6044
|
-
|
|
6087
|
+
util.scopedLogger("clienttools/eclmeta");
|
|
6045
6088
|
var Attr = /** @class */ (function () {
|
|
6046
6089
|
function Attr(xmlAttr) {
|
|
6047
6090
|
this.__attrs = xmlAttr.$;
|
|
@@ -6073,7 +6116,7 @@ var ECLScope = /** @class */ (function () {
|
|
|
6073
6116
|
if (end === void 0) { end = Number.MAX_VALUE; }
|
|
6074
6117
|
this.name = name;
|
|
6075
6118
|
this.type = type;
|
|
6076
|
-
this.sourcePath =
|
|
6119
|
+
this.sourcePath = path__namespace.normalize(sourcePath);
|
|
6077
6120
|
this.line = +line - 1;
|
|
6078
6121
|
this.start = +start;
|
|
6079
6122
|
this.body = +body;
|
|
@@ -6198,7 +6241,7 @@ var Source = /** @class */ (function (_super) {
|
|
|
6198
6241
|
fakeNode.appendAttribute("ref", nameParts.join("."));
|
|
6199
6242
|
_this.imports = __spreadArray([
|
|
6200
6243
|
new Import(fakeNode)
|
|
6201
|
-
], _this.parseImports(xmlSource.children("Import")));
|
|
6244
|
+
], _this.parseImports(xmlSource.children("Import")), true);
|
|
6202
6245
|
return _this;
|
|
6203
6246
|
}
|
|
6204
6247
|
Source.prototype.parseImports = function (imports) {
|
|
@@ -6226,10 +6269,10 @@ var Source = /** @class */ (function (_super) {
|
|
|
6226
6269
|
};
|
|
6227
6270
|
return Source;
|
|
6228
6271
|
}(ECLScope));
|
|
6229
|
-
var isHiddenDirectory = function (source) { return
|
|
6230
|
-
var isDirectory = function (source) { return
|
|
6231
|
-
var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(
|
|
6232
|
-
var modAttrs = function (source) { return
|
|
6272
|
+
var isHiddenDirectory = function (source) { return path__namespace.basename(source).indexOf(".") === 0; };
|
|
6273
|
+
var isDirectory = function (source) { return fs__namespace.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
|
|
6274
|
+
var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path__namespace.extname(source).toLowerCase()) >= 0; };
|
|
6275
|
+
var modAttrs = function (source) { return fs__namespace.readdirSync(source).map(function (name) { return path__namespace.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
|
|
6233
6276
|
var File = /** @class */ (function (_super) {
|
|
6234
6277
|
__extends(File, _super);
|
|
6235
6278
|
function File(name, sourcePath) {
|
|
@@ -6248,7 +6291,7 @@ var Folder = /** @class */ (function (_super) {
|
|
|
6248
6291
|
Folder.prototype.suggestions = function () {
|
|
6249
6292
|
return modAttrs(this.sourcePath).map(function (folder) {
|
|
6250
6293
|
return {
|
|
6251
|
-
name:
|
|
6294
|
+
name: path__namespace.basename(folder, ".ecl"),
|
|
6252
6295
|
type: "folder"
|
|
6253
6296
|
};
|
|
6254
6297
|
});
|
|
@@ -6275,7 +6318,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6275
6318
|
}).then(function (paths) {
|
|
6276
6319
|
for (var _i = 0, _a = ["ECLCC_ECLLIBRARY_PATH", "ECLCC_PLUGIN_PATH"]; _i < _a.length; _i++) {
|
|
6277
6320
|
var knownFolder = _a[_i];
|
|
6278
|
-
if (paths[knownFolder] &&
|
|
6321
|
+
if (paths[knownFolder] && fs__namespace.existsSync(paths[knownFolder])) {
|
|
6279
6322
|
_this.walkChildFolders(paths[knownFolder], paths[knownFolder]);
|
|
6280
6323
|
}
|
|
6281
6324
|
}
|
|
@@ -6283,7 +6326,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6283
6326
|
});
|
|
6284
6327
|
};
|
|
6285
6328
|
Workspace.prototype.primeWorkspace = function () {
|
|
6286
|
-
if (
|
|
6329
|
+
if (fs__namespace.existsSync(this._workspacePath)) {
|
|
6287
6330
|
this.visitFolder(this._workspacePath, this._workspacePath);
|
|
6288
6331
|
}
|
|
6289
6332
|
};
|
|
@@ -6301,16 +6344,16 @@ var Workspace = /** @class */ (function () {
|
|
|
6301
6344
|
};
|
|
6302
6345
|
Workspace.prototype.visitFile = function (filePath, refPath, force) {
|
|
6303
6346
|
if (force === void 0) { force = false; }
|
|
6304
|
-
var filePathInfo =
|
|
6305
|
-
var pathNoExt =
|
|
6306
|
-
var name =
|
|
6347
|
+
var filePathInfo = path__namespace.parse(filePath);
|
|
6348
|
+
var pathNoExt = path__namespace.join(filePathInfo.dir, filePathInfo.name);
|
|
6349
|
+
var name = path__namespace.relative(refPath, pathNoExt).split(path__namespace.sep).join(".");
|
|
6307
6350
|
if (force || !this._test.has(name)) {
|
|
6308
6351
|
this._test.set(name, new File("", filePath));
|
|
6309
6352
|
}
|
|
6310
6353
|
};
|
|
6311
6354
|
Workspace.prototype.visitFolder = function (folderPath, refPath, force) {
|
|
6312
6355
|
if (force === void 0) { force = false; }
|
|
6313
|
-
var name =
|
|
6356
|
+
var name = path__namespace.relative(refPath, folderPath).split(path__namespace.sep).join(".");
|
|
6314
6357
|
if (force || !this._test.has(name)) {
|
|
6315
6358
|
this._test.set(name, new Folder(name, folderPath));
|
|
6316
6359
|
this.walkChildFolders(folderPath, refPath, force);
|
|
@@ -6321,7 +6364,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6321
6364
|
if (removeDupID && parentStack[parentStack.length - 1] === nameStack[0]) {
|
|
6322
6365
|
nameStack.shift();
|
|
6323
6366
|
}
|
|
6324
|
-
var stack = __spreadArray(__spreadArray([], parentStack), nameStack);
|
|
6367
|
+
var stack = __spreadArray(__spreadArray([], parentStack, true), nameStack, true);
|
|
6325
6368
|
var qid = stack.join(".");
|
|
6326
6369
|
return {
|
|
6327
6370
|
stack: stack,
|
|
@@ -6370,10 +6413,10 @@ var Workspace = /** @class */ (function () {
|
|
|
6370
6413
|
if (depth > 1) {
|
|
6371
6414
|
var sourcePath = source.sourcePath;
|
|
6372
6415
|
while (depth > 1) {
|
|
6373
|
-
sourcePath =
|
|
6416
|
+
sourcePath = path__namespace.dirname(sourcePath);
|
|
6374
6417
|
--depth;
|
|
6375
6418
|
}
|
|
6376
|
-
this.visitFolder(sourcePath,
|
|
6419
|
+
this.visitFolder(sourcePath, path__namespace.dirname(sourcePath));
|
|
6377
6420
|
}
|
|
6378
6421
|
}
|
|
6379
6422
|
this.walkSource(source);
|
|
@@ -6384,7 +6427,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6384
6427
|
var metaParser = new MetaParser();
|
|
6385
6428
|
metaParser.parse(metaXML);
|
|
6386
6429
|
this.parseSources(metaParser.sources);
|
|
6387
|
-
return metaParser.sources.map(function (source) { return
|
|
6430
|
+
return metaParser.sources.map(function (source) { return path__namespace.normalize(source.$.sourcePath); });
|
|
6388
6431
|
};
|
|
6389
6432
|
Workspace.prototype.resolveQualifiedID = function (filePath, qualifiedID, charOffset) {
|
|
6390
6433
|
var retVal;
|
|
@@ -6412,7 +6455,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6412
6455
|
retVal = this._test.get(realQID).scope;
|
|
6413
6456
|
}
|
|
6414
6457
|
if (!retVal) {
|
|
6415
|
-
realQID = __spreadArray(__spreadArray([], eclSource.name.split(".")), qualifiedIDParts).join(".");
|
|
6458
|
+
realQID = __spreadArray(__spreadArray([], eclSource.name.split("."), true), qualifiedIDParts, true).join(".");
|
|
6416
6459
|
if (this._test.has(realQID)) {
|
|
6417
6460
|
retVal = this._test.get(realQID).scope;
|
|
6418
6461
|
}
|
|
@@ -6431,7 +6474,7 @@ var Workspace = /** @class */ (function () {
|
|
|
6431
6474
|
}());
|
|
6432
6475
|
var workspaceCache = new util.Dictionary();
|
|
6433
6476
|
function attachWorkspace(_workspacePath, eclccPath) {
|
|
6434
|
-
var workspacePath =
|
|
6477
|
+
var workspacePath = path__namespace.normalize(_workspacePath);
|
|
6435
6478
|
if (!workspaceCache.has(workspacePath)) {
|
|
6436
6479
|
var workspace = new Workspace(workspacePath, eclccPath);
|
|
6437
6480
|
workspaceCache.set(workspacePath, workspace);
|
|
@@ -6469,8 +6512,8 @@ var MetaParser = /** @class */ (function (_super) {
|
|
|
6469
6512
|
return MetaParser;
|
|
6470
6513
|
}(util.SAXStackParser));
|
|
6471
6514
|
|
|
6472
|
-
var logger
|
|
6473
|
-
var exeExt =
|
|
6515
|
+
var logger = util.scopedLogger("clienttools/eclcc");
|
|
6516
|
+
var exeExt = os__namespace.type() === "Windows_NT" ? ".exe" : "";
|
|
6474
6517
|
function tidyCRLF(inStr) {
|
|
6475
6518
|
return inStr.split("\r\n").join("\n").split("\r").join("\n");
|
|
6476
6519
|
}
|
|
@@ -6516,7 +6559,7 @@ var Version = /** @class */ (function () {
|
|
|
6516
6559
|
return this.postfix.localeCompare(other.postfix);
|
|
6517
6560
|
};
|
|
6518
6561
|
Version.prototype.toString = function () {
|
|
6519
|
-
return this.prefix
|
|
6562
|
+
return "".concat(this.prefix, "_").concat(this.major, ".").concat(this.minor, ".").concat(this.patch, "-").concat(this.postfix);
|
|
6520
6563
|
};
|
|
6521
6564
|
return Version;
|
|
6522
6565
|
}());
|
|
@@ -6565,7 +6608,7 @@ var EclccErrors = /** @class */ (function (_super) {
|
|
|
6565
6608
|
function EclccErrors(stdErr, checked) {
|
|
6566
6609
|
var _this = _super.call(this, checked) || this;
|
|
6567
6610
|
if (stdErr && stdErr.length) {
|
|
6568
|
-
for (var _i = 0, _a = stdErr.split(
|
|
6611
|
+
for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
|
|
6569
6612
|
var errLine = _a[_i];
|
|
6570
6613
|
var match = /([a-zA-Z]:\\(?:[- \w\.\d]+\\)*(?:[- \w\.\d]+)?|(?:\/[\w\.\-]+)+)\((\d*),(\d*)\) ?: ?(error|warning|info) C(\d*) ?: ?(.*)/.exec(errLine);
|
|
6571
6614
|
if (match) {
|
|
@@ -6586,7 +6629,7 @@ var EclccErrors = /** @class */ (function (_super) {
|
|
|
6586
6629
|
if (match) {
|
|
6587
6630
|
continue;
|
|
6588
6631
|
}
|
|
6589
|
-
logger
|
|
6632
|
+
logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
|
|
6590
6633
|
_this.errOther.push(errLine);
|
|
6591
6634
|
}
|
|
6592
6635
|
}
|
|
@@ -6599,16 +6642,16 @@ var EnvchkErrors = /** @class */ (function (_super) {
|
|
|
6599
6642
|
__extends(EnvchkErrors, _super);
|
|
6600
6643
|
function EnvchkErrors(filePath, stdErr, checked) {
|
|
6601
6644
|
var _this = _super.call(this, checked) || this;
|
|
6602
|
-
var content =
|
|
6645
|
+
var content = fs__namespace.readFileSync(filePath, "utf8");
|
|
6603
6646
|
content = content.replace(/\r\n/g, "\n");
|
|
6604
6647
|
_this._lines = content.split("\n");
|
|
6605
6648
|
if (stdErr && stdErr.length) {
|
|
6606
|
-
for (var _i = 0, _a = stdErr.split(
|
|
6649
|
+
for (var _i = 0, _a = stdErr.split(os__namespace.EOL); _i < _a.length; _i++) {
|
|
6607
6650
|
var errLine = _a[_i];
|
|
6608
6651
|
var match = /(Warning|Error) : Path\=(\S*?)(\[\S*\])? Message\=(.*)/.exec(errLine);
|
|
6609
6652
|
if (match) {
|
|
6610
6653
|
var severity = match[1], _path = match[2], _attr = match[3], _msg = match[4];
|
|
6611
|
-
var msg = _path
|
|
6654
|
+
var msg = "".concat(_path, " ").concat(_attr ? _attr : "", ": ").concat(_msg);
|
|
6612
6655
|
var _b = _this.locate(_path), line = _b[0], col = _b[1];
|
|
6613
6656
|
_this.errWarn.push({ filePath: filePath, line: line, col: col, msg: msg, severity: severity });
|
|
6614
6657
|
continue;
|
|
@@ -6616,7 +6659,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
|
|
|
6616
6659
|
if (match) {
|
|
6617
6660
|
continue;
|
|
6618
6661
|
}
|
|
6619
|
-
logger
|
|
6662
|
+
logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
|
|
6620
6663
|
_this.errOther.push(errLine);
|
|
6621
6664
|
}
|
|
6622
6665
|
}
|
|
@@ -6647,7 +6690,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
|
|
|
6647
6690
|
};
|
|
6648
6691
|
return EnvchkErrors;
|
|
6649
6692
|
}(Errors));
|
|
6650
|
-
function walkXmlJson
|
|
6693
|
+
function walkXmlJson(node, callback, stack) {
|
|
6651
6694
|
stack = stack || [];
|
|
6652
6695
|
stack.push(node);
|
|
6653
6696
|
for (var key in node) {
|
|
@@ -6656,11 +6699,11 @@ function walkXmlJson$1(node, callback, stack) {
|
|
|
6656
6699
|
callback(key, childNode, stack);
|
|
6657
6700
|
if (childNode instanceof Array) {
|
|
6658
6701
|
childNode.forEach(function (child) {
|
|
6659
|
-
walkXmlJson
|
|
6702
|
+
walkXmlJson(child, callback, stack);
|
|
6660
6703
|
});
|
|
6661
6704
|
}
|
|
6662
6705
|
else if (typeof childNode === "object") {
|
|
6663
|
-
walkXmlJson
|
|
6706
|
+
walkXmlJson(childNode, callback, stack);
|
|
6664
6707
|
}
|
|
6665
6708
|
}
|
|
6666
6709
|
}
|
|
@@ -6674,7 +6717,7 @@ var LocalWorkunit = /** @class */ (function () {
|
|
|
6674
6717
|
var retVal = [];
|
|
6675
6718
|
if (util.exists("W_LOCAL.Graphs", this.jsonWU)) {
|
|
6676
6719
|
var id_1 = "";
|
|
6677
|
-
walkXmlJson
|
|
6720
|
+
walkXmlJson(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
|
|
6678
6721
|
if (key === "$" && item.id) {
|
|
6679
6722
|
id_1 = item.id;
|
|
6680
6723
|
}
|
|
@@ -6703,10 +6746,10 @@ var ClientTools = /** @class */ (function () {
|
|
|
6703
6746
|
if (args === void 0) { args = []; }
|
|
6704
6747
|
this._paths = {};
|
|
6705
6748
|
this.eclccPath = eclccPath;
|
|
6706
|
-
this.binPath =
|
|
6707
|
-
this.envchkPath =
|
|
6708
|
-
this.eclBundlePath =
|
|
6709
|
-
this.cwd =
|
|
6749
|
+
this.binPath = path__namespace.dirname(this.eclccPath);
|
|
6750
|
+
this.envchkPath = path__namespace.join(this.binPath, "envchk" + exeExt);
|
|
6751
|
+
this.eclBundlePath = path__namespace.join(this.binPath, "ecl-bundle" + exeExt);
|
|
6752
|
+
this.cwd = path__namespace.normalize(cwd || this.binPath);
|
|
6710
6753
|
this.includeFolders = includeFolders;
|
|
6711
6754
|
this._legacyMode = legacyMode;
|
|
6712
6755
|
this._args = args;
|
|
@@ -6719,7 +6762,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6719
6762
|
};
|
|
6720
6763
|
ClientTools.prototype.exists = function (filePath) {
|
|
6721
6764
|
try {
|
|
6722
|
-
|
|
6765
|
+
fs__namespace.accessSync(filePath);
|
|
6723
6766
|
return true;
|
|
6724
6767
|
}
|
|
6725
6768
|
catch (e) { }
|
|
@@ -6727,12 +6770,12 @@ var ClientTools = /** @class */ (function () {
|
|
|
6727
6770
|
};
|
|
6728
6771
|
ClientTools.prototype.args = function (additionalItems) {
|
|
6729
6772
|
if (additionalItems === void 0) { additionalItems = []; }
|
|
6730
|
-
var retVal = __spreadArray([], this._args);
|
|
6773
|
+
var retVal = __spreadArray([], this._args, true);
|
|
6731
6774
|
if (this._legacyMode) {
|
|
6732
6775
|
retVal.push("-legacy");
|
|
6733
6776
|
}
|
|
6734
6777
|
return retVal.concat(this.includeFolders.map(function (includePath) {
|
|
6735
|
-
return "-I" +
|
|
6778
|
+
return "-I" + path__namespace.normalize(includePath);
|
|
6736
6779
|
})).concat(additionalItems);
|
|
6737
6780
|
};
|
|
6738
6781
|
ClientTools.prototype.version = function () {
|
|
@@ -6740,7 +6783,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6740
6783
|
if (this._version) {
|
|
6741
6784
|
return Promise.resolve(this._version);
|
|
6742
6785
|
}
|
|
6743
|
-
return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find "
|
|
6786
|
+
return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
|
|
6744
6787
|
_this._version = new Version(response.stdout);
|
|
6745
6788
|
return _this._version;
|
|
6746
6789
|
});
|
|
@@ -6750,7 +6793,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6750
6793
|
};
|
|
6751
6794
|
ClientTools.prototype.paths = function () {
|
|
6752
6795
|
var _this = this;
|
|
6753
|
-
return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find "
|
|
6796
|
+
return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
|
|
6754
6797
|
if (response && response.stdout && response.stdout.length) {
|
|
6755
6798
|
var paths = response.stdout.split(/\r?\n/);
|
|
6756
6799
|
for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
|
|
@@ -6766,20 +6809,20 @@ var ClientTools = /** @class */ (function () {
|
|
|
6766
6809
|
};
|
|
6767
6810
|
ClientTools.prototype.loadXMLDoc = function (filePath, removeOnRead) {
|
|
6768
6811
|
return new Promise(function (resolve, _reject) {
|
|
6769
|
-
var fileData =
|
|
6812
|
+
var fileData = fs__namespace.readFileSync(filePath, "ascii");
|
|
6770
6813
|
var retVal = util.xml2json(fileData);
|
|
6771
6814
|
if (removeOnRead) {
|
|
6772
|
-
|
|
6815
|
+
fs__namespace.unlink(filePath, function (err) { });
|
|
6773
6816
|
}
|
|
6774
6817
|
resolve(retVal);
|
|
6775
6818
|
});
|
|
6776
6819
|
};
|
|
6777
6820
|
ClientTools.prototype.createWU = function (filename) {
|
|
6778
6821
|
var _this = this;
|
|
6779
|
-
var tmpName =
|
|
6822
|
+
var tmpName = tmp__namespace.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
|
|
6780
6823
|
var args = ["-o" + tmpName, "-wu"].concat([filename]);
|
|
6781
|
-
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find "
|
|
6782
|
-
var xmlPath =
|
|
6824
|
+
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (_response) {
|
|
6825
|
+
var xmlPath = path__namespace.normalize(tmpName + ".xml");
|
|
6783
6826
|
var contentPromise = _this.exists(xmlPath) ? _this.loadXMLDoc(xmlPath, true) : Promise.resolve({});
|
|
6784
6827
|
return contentPromise.then(function (content) {
|
|
6785
6828
|
return new LocalWorkunit(content);
|
|
@@ -6788,7 +6831,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6788
6831
|
};
|
|
6789
6832
|
ClientTools.prototype.createArchive = function (filename) {
|
|
6790
6833
|
var args = ["-E"].concat([filename]);
|
|
6791
|
-
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find "
|
|
6834
|
+
return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
|
|
6792
6835
|
return {
|
|
6793
6836
|
content: response.stdout,
|
|
6794
6837
|
err: new EclccErrors(response.stderr, [])
|
|
@@ -6801,7 +6844,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6801
6844
|
ClientTools.prototype.fetchMeta = function (filePath) {
|
|
6802
6845
|
return Promise.all([
|
|
6803
6846
|
attachWorkspace(this.cwd),
|
|
6804
|
-
this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find "
|
|
6847
|
+
this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find ".concat(this.eclccPath))
|
|
6805
6848
|
]).then(function (_a) {
|
|
6806
6849
|
var metaWorkspace = _a[0], execFileResponse = _a[1];
|
|
6807
6850
|
if (execFileResponse && execFileResponse.stdout && execFileResponse.stdout.length) {
|
|
@@ -6814,7 +6857,7 @@ var ClientTools = /** @class */ (function () {
|
|
|
6814
6857
|
if (args === void 0) { args = ["-syntax"]; }
|
|
6815
6858
|
return Promise.all([
|
|
6816
6859
|
attachWorkspace(this.cwd),
|
|
6817
|
-
this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), ["-M", filePath])), "eclcc", "Cannot find "
|
|
6860
|
+
this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), ["-M", filePath], false)), "eclcc", "Cannot find ".concat(this.eclccPath))
|
|
6818
6861
|
]).then(function (_a) {
|
|
6819
6862
|
var metaWorkspace = _a[0], execFileResponse = _a[1];
|
|
6820
6863
|
var checked = [];
|
|
@@ -6828,9 +6871,9 @@ var ClientTools = /** @class */ (function () {
|
|
|
6828
6871
|
if (args === void 0) { args = []; }
|
|
6829
6872
|
return Promise.all([
|
|
6830
6873
|
attachWorkspace(this.cwd),
|
|
6831
|
-
this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), [filePath])), "envchk", "Cannot find "
|
|
6874
|
+
this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), [filePath], false)), "envchk", "Cannot find ".concat(this.envchkPath))
|
|
6832
6875
|
]).then(function (_a) {
|
|
6833
|
-
|
|
6876
|
+
_a[0]; var execFileResponse = _a[1];
|
|
6834
6877
|
return new EnvchkErrors(filePath, execFileResponse ? execFileResponse.stderr : "", []);
|
|
6835
6878
|
});
|
|
6836
6879
|
};
|
|
@@ -6853,13 +6896,13 @@ var ClientTools = /** @class */ (function () {
|
|
|
6853
6896
|
}
|
|
6854
6897
|
return retVal;
|
|
6855
6898
|
}),
|
|
6856
|
-
this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find "
|
|
6899
|
+
this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
|
|
6857
6900
|
.then(function (installedText) {
|
|
6858
6901
|
return tidyCRLF(installedText.stdout).split("\n");
|
|
6859
6902
|
}).then(function (installedItems) {
|
|
6860
6903
|
var allProps = {};
|
|
6861
6904
|
return Promise.all(installedItems.filter(function (ii) { return !!ii; }).map(function (ii) {
|
|
6862
|
-
return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find "
|
|
6905
|
+
return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find ".concat(_this.eclBundlePath))
|
|
6863
6906
|
.then(function (infoText) {
|
|
6864
6907
|
return tidyCRLF(infoText.stdout).split("\n");
|
|
6865
6908
|
}).then(function (info) {
|
|
@@ -6899,25 +6942,25 @@ var ClientTools = /** @class */ (function () {
|
|
|
6899
6942
|
ClientTools.prototype.bundleInstall = function (bundleUrl) {
|
|
6900
6943
|
return Promise.all([
|
|
6901
6944
|
attachWorkspace(this.cwd),
|
|
6902
|
-
this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find "
|
|
6945
|
+
this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
|
|
6903
6946
|
]).then(function (_a) {
|
|
6904
|
-
|
|
6947
|
+
_a[0]; var execFileResponse = _a[1];
|
|
6905
6948
|
return execFileResponse;
|
|
6906
6949
|
});
|
|
6907
6950
|
};
|
|
6908
6951
|
ClientTools.prototype.bundleUninstall = function (name) {
|
|
6909
6952
|
return Promise.all([
|
|
6910
6953
|
attachWorkspace(this.cwd),
|
|
6911
|
-
this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find "
|
|
6954
|
+
this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
|
|
6912
6955
|
]).then(function (_a) {
|
|
6913
|
-
|
|
6956
|
+
_a[0]; var execFileResponse = _a[1];
|
|
6914
6957
|
return execFileResponse;
|
|
6915
6958
|
});
|
|
6916
6959
|
};
|
|
6917
6960
|
ClientTools.prototype.execFile = function (cmd, cwd, args, _toolName, _notFoundError) {
|
|
6918
6961
|
return new Promise(function (resolve, _reject) {
|
|
6919
|
-
logger
|
|
6920
|
-
var child =
|
|
6962
|
+
logger.debug("".concat(cmd, " ").concat(args.join(" ")));
|
|
6963
|
+
var child = cp__namespace.spawn(cmd, args, { cwd: cwd });
|
|
6921
6964
|
var stdOut = "";
|
|
6922
6965
|
var stdErr = "";
|
|
6923
6966
|
child.stdout.on("data", function (data) {
|
|
@@ -6939,18 +6982,18 @@ var ClientTools = /** @class */ (function () {
|
|
|
6939
6982
|
}());
|
|
6940
6983
|
function locateClientToolsInFolder(rootFolder, clientTools) {
|
|
6941
6984
|
if (rootFolder) {
|
|
6942
|
-
var hpccSystemsFolder_1 =
|
|
6943
|
-
if (
|
|
6944
|
-
if (
|
|
6945
|
-
var eclccPath =
|
|
6946
|
-
if (
|
|
6985
|
+
var hpccSystemsFolder_1 = path__namespace.join(rootFolder, "HPCCSystems");
|
|
6986
|
+
if (fs__namespace.existsSync(hpccSystemsFolder_1) && fs__namespace.statSync(hpccSystemsFolder_1).isDirectory()) {
|
|
6987
|
+
if (os__namespace.type() !== "Windows_NT") {
|
|
6988
|
+
var eclccPath = path__namespace.join(hpccSystemsFolder_1, "bin", "eclcc");
|
|
6989
|
+
if (fs__namespace.existsSync(eclccPath)) {
|
|
6947
6990
|
clientTools.push(new ClientTools(eclccPath));
|
|
6948
6991
|
}
|
|
6949
6992
|
}
|
|
6950
|
-
|
|
6951
|
-
var eclccPath =
|
|
6952
|
-
if (
|
|
6953
|
-
var name_1 =
|
|
6993
|
+
fs__namespace.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
|
|
6994
|
+
var eclccPath = path__namespace.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
|
|
6995
|
+
if (fs__namespace.existsSync(eclccPath)) {
|
|
6996
|
+
var name_1 = path__namespace.basename(versionFolder);
|
|
6954
6997
|
var version = new Version(name_1);
|
|
6955
6998
|
if (version.exists()) {
|
|
6956
6999
|
clientTools.push(new ClientTools(eclccPath));
|
|
@@ -6965,7 +7008,7 @@ function locateAllClientTools() {
|
|
|
6965
7008
|
if (allClientToolsCache)
|
|
6966
7009
|
return allClientToolsCache;
|
|
6967
7010
|
var clientTools = [];
|
|
6968
|
-
switch (
|
|
7011
|
+
switch (os__namespace.type()) {
|
|
6969
7012
|
case "Windows_NT":
|
|
6970
7013
|
var rootFolder86 = process.env["ProgramFiles(x86)"] || "";
|
|
6971
7014
|
if (rootFolder86) {
|
|
@@ -6994,9 +7037,9 @@ function locateAllClientTools() {
|
|
|
6994
7037
|
}
|
|
6995
7038
|
var eclccPathMsg = "";
|
|
6996
7039
|
function logEclccPath(eclccPath) {
|
|
6997
|
-
var msg = "Using eclccPath setting: "
|
|
7040
|
+
var msg = "Using eclccPath setting: ".concat(eclccPath);
|
|
6998
7041
|
if (eclccPathMsg !== msg) {
|
|
6999
|
-
logger
|
|
7042
|
+
logger.info(msg);
|
|
7000
7043
|
eclccPathMsg = msg;
|
|
7001
7044
|
}
|
|
7002
7045
|
}
|
|
@@ -7007,7 +7050,7 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
|
|
|
7007
7050
|
if (includeFolders === void 0) { includeFolders = []; }
|
|
7008
7051
|
if (legacyMode === void 0) { legacyMode = false; }
|
|
7009
7052
|
if (args === void 0) { args = []; }
|
|
7010
|
-
if (overridePath &&
|
|
7053
|
+
if (overridePath && fs__namespace.existsSync(overridePath)) {
|
|
7011
7054
|
logEclccPath(overridePath);
|
|
7012
7055
|
return Promise.resolve(new ClientTools(overridePath, cwd, includeFolders, legacyMode, args));
|
|
7013
7056
|
}
|
|
@@ -7039,33 +7082,33 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
|
|
|
7039
7082
|
// DOM Parser polyfill ---
|
|
7040
7083
|
util.root.DOMParser = xmldom.DOMParser;
|
|
7041
7084
|
if (typeof util.root.fetch === "undefined") {
|
|
7042
|
-
util.root.fetch =
|
|
7085
|
+
util.root.fetch = fetch__default["default"];
|
|
7043
7086
|
}
|
|
7044
7087
|
if (typeof util.root.AbortController === "undefined") {
|
|
7045
|
-
util.root.AbortController =
|
|
7088
|
+
util.root.AbortController = AbortController__default["default"];
|
|
7046
7089
|
}
|
|
7047
|
-
util.root.fetch.__rejectUnauthorizedAgent = new
|
|
7090
|
+
util.root.fetch.__rejectUnauthorizedAgent = new https__namespace.Agent({
|
|
7048
7091
|
rejectUnauthorized: false
|
|
7049
7092
|
});
|
|
7050
7093
|
var globalCA = "";
|
|
7051
|
-
if (
|
|
7052
|
-
if (Array.isArray(
|
|
7053
|
-
if (typeof
|
|
7054
|
-
globalCA =
|
|
7094
|
+
if (https__namespace.globalAgent.options.ca !== undefined) {
|
|
7095
|
+
if (Array.isArray(https__namespace.globalAgent.options.ca) && https__namespace.globalAgent.options.ca.length) {
|
|
7096
|
+
if (typeof https__namespace.globalAgent.options.ca[0] === "string") {
|
|
7097
|
+
globalCA = https__namespace.globalAgent.options.ca.join("\n");
|
|
7055
7098
|
}
|
|
7056
|
-
else if (
|
|
7057
|
-
globalCA =
|
|
7099
|
+
else if (https__namespace.globalAgent.options.ca[0] instanceof safeBuffer.Buffer) {
|
|
7100
|
+
globalCA = https__namespace.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
|
|
7058
7101
|
}
|
|
7059
7102
|
}
|
|
7060
|
-
else if (typeof
|
|
7061
|
-
globalCA =
|
|
7103
|
+
else if (typeof https__namespace.globalAgent.options.ca === "string") {
|
|
7104
|
+
globalCA = https__namespace.globalAgent.options.ca;
|
|
7062
7105
|
}
|
|
7063
|
-
else if (
|
|
7064
|
-
globalCA =
|
|
7106
|
+
else if (https__namespace.globalAgent.options.ca instanceof safeBuffer.Buffer) {
|
|
7107
|
+
globalCA = https__namespace.globalAgent.options.ca.toString();
|
|
7065
7108
|
}
|
|
7066
7109
|
globalCA += "\n";
|
|
7067
7110
|
}
|
|
7068
|
-
util.root.fetch.__trustwaveAgent = new
|
|
7111
|
+
util.root.fetch.__trustwaveAgent = new https__namespace.Agent({
|
|
7069
7112
|
ca: globalCA + trustwave
|
|
7070
7113
|
});
|
|
7071
7114
|
if (typeof util.root.btoa === "undefined") {
|
|
@@ -7169,5 +7212,5 @@ exports.send = send;
|
|
|
7169
7212
|
exports.serializeRequest = serializeRequest;
|
|
7170
7213
|
exports.setTransportFactory = setTransportFactory;
|
|
7171
7214
|
exports.targetClusters = targetClusters;
|
|
7172
|
-
exports.walkXmlJson = walkXmlJson
|
|
7215
|
+
exports.walkXmlJson = walkXmlJson;
|
|
7173
7216
|
//# sourceMappingURL=index.node.js.map
|