@hpcc-js/comms 2.69.0 → 2.73.4

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.
Files changed (118) hide show
  1. package/dist/index.es6.js +524 -216
  2. package/dist/index.es6.js.map +1 -1
  3. package/dist/index.js +447 -114
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist/index.node.js +544 -192
  8. package/dist/index.node.js.map +1 -1
  9. package/dist/index.node.min.js +1 -1
  10. package/dist/index.node.min.js.map +1 -1
  11. package/lib-es6/__package__.js +2 -2
  12. package/lib-es6/clienttools/eclMeta.js +4 -4
  13. package/lib-es6/clienttools/eclMeta.js.map +1 -1
  14. package/lib-es6/clienttools/eclcc.js +18 -18
  15. package/lib-es6/clienttools/eclcc.js.map +1 -1
  16. package/lib-es6/connection.js +6 -6
  17. package/lib-es6/connection.js.map +1 -1
  18. package/lib-es6/ecl/graph.js +5 -5
  19. package/lib-es6/ecl/graph.js.map +1 -1
  20. package/lib-es6/ecl/logicalFile.js +2 -2
  21. package/lib-es6/ecl/logicalFile.js.map +1 -1
  22. package/lib-es6/ecl/machine.js +10 -0
  23. package/lib-es6/ecl/machine.js.map +1 -1
  24. package/lib-es6/ecl/result.js +1 -1
  25. package/lib-es6/ecl/result.js.map +1 -1
  26. package/lib-es6/ecl/scope.js +5 -5
  27. package/lib-es6/ecl/scope.js.map +1 -1
  28. package/lib-es6/ecl/store.js +4 -4
  29. package/lib-es6/ecl/store.js.map +1 -1
  30. package/lib-es6/ecl/targetCluster.js +3 -3
  31. package/lib-es6/ecl/targetCluster.js.map +1 -1
  32. package/lib-es6/ecl/topology.js +1 -1
  33. package/lib-es6/ecl/topology.js.map +1 -1
  34. package/lib-es6/ecl/workunit.js +7 -4
  35. package/lib-es6/ecl/workunit.js.map +1 -1
  36. package/lib-es6/espConnection.js +1 -1
  37. package/lib-es6/espConnection.js.map +1 -1
  38. package/lib-es6/index-common.js +3 -0
  39. package/lib-es6/index-common.js.map +1 -1
  40. package/lib-es6/services/wsAccess.js +11 -0
  41. package/lib-es6/services/wsAccess.js.map +1 -0
  42. package/lib-es6/services/wsDFU.js +1 -1
  43. package/lib-es6/services/wsDFU.js.map +1 -1
  44. package/lib-es6/services/wsEcl.js +3 -3
  45. package/lib-es6/services/wsEcl.js.map +1 -1
  46. package/lib-es6/services/wsLogaccess.js +11 -0
  47. package/lib-es6/services/wsLogaccess.js.map +1 -0
  48. package/lib-es6/services/wsMachine.js +10 -21
  49. package/lib-es6/services/wsMachine.js.map +1 -1
  50. package/lib-es6/services/wsResources.js +11 -0
  51. package/lib-es6/services/wsResources.js.map +1 -0
  52. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js +20 -0
  53. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js.map +1 -0
  54. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js +203 -0
  55. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js.map +1 -0
  56. package/lib-es6/services/wsdl/ws_logaccess/v1/ws_logaccess.js +28 -0
  57. package/lib-es6/services/wsdl/ws_logaccess/v1/ws_logaccess.js.map +1 -0
  58. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js +41 -0
  59. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js.map +1 -0
  60. package/package.json +30 -35
  61. package/src/__package__.ts +2 -2
  62. package/src/ecl/machine.ts +11 -9
  63. package/src/ecl/targetCluster.ts +7 -7
  64. package/src/ecl/topology.ts +1 -1
  65. package/src/ecl/workunit.ts +3 -0
  66. package/src/index-common.ts +3 -0
  67. package/src/services/wsAccess.ts +8 -0
  68. package/src/services/wsDFU.ts +3 -2
  69. package/src/services/wsLogaccess.ts +8 -0
  70. package/src/services/wsMachine.ts +17 -293
  71. package/src/services/wsResources.ts +8 -0
  72. package/src/services/wsdl/WsResources/v1.01/WsResources.ts +119 -0
  73. package/src/services/wsdl/ws_access/v1.16/ws_access.ts +1086 -0
  74. package/src/services/wsdl/ws_logaccess/v1/ws_logaccess.ts +78 -0
  75. package/src/services/wsdl/ws_machine/v1.17/ws_machine.ts +567 -0
  76. package/types/__package__.d.ts +2 -2
  77. package/types/ecl/activity.d.ts +1 -1
  78. package/types/ecl/activity.d.ts.map +1 -1
  79. package/types/ecl/machine.d.ts +11 -9
  80. package/types/ecl/machine.d.ts.map +1 -1
  81. package/types/ecl/targetCluster.d.ts +5 -5
  82. package/types/ecl/targetCluster.d.ts.map +1 -1
  83. package/types/ecl/topology.d.ts.map +1 -1
  84. package/types/ecl/workunit.d.ts.map +1 -1
  85. package/types/index-common.d.ts +3 -0
  86. package/types/index-common.d.ts.map +1 -1
  87. package/types/services/wsAccess.d.ts +5 -0
  88. package/types/services/wsAccess.d.ts.map +1 -0
  89. package/types/services/wsDFU.d.ts +2 -1
  90. package/types/services/wsDFU.d.ts.map +1 -1
  91. package/types/services/wsLogaccess.d.ts +5 -0
  92. package/types/services/wsLogaccess.d.ts.map +1 -0
  93. package/types/services/wsMachine.d.ts +9 -235
  94. package/types/services/wsMachine.d.ts.map +1 -1
  95. package/types/services/wsResources.d.ts +5 -0
  96. package/types/services/wsResources.d.ts.map +1 -0
  97. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
  98. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts.map +1 -0
  99. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts +778 -0
  100. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts.map +1 -0
  101. package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts +51 -0
  102. package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts.map +1 -0
  103. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +470 -0
  104. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts.map +1 -0
  105. package/types-3.4/__package__.d.ts +2 -2
  106. package/types-3.4/ecl/activity.d.ts +1 -1
  107. package/types-3.4/ecl/machine.d.ts +11 -9
  108. package/types-3.4/ecl/targetCluster.d.ts +5 -5
  109. package/types-3.4/index-common.d.ts +3 -0
  110. package/types-3.4/services/wsAccess.d.ts +5 -0
  111. package/types-3.4/services/wsDFU.d.ts +2 -1
  112. package/types-3.4/services/wsLogaccess.d.ts +5 -0
  113. package/types-3.4/services/wsMachine.d.ts +9 -235
  114. package/types-3.4/services/wsResources.d.ts +5 -0
  115. package/types-3.4/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
  116. package/types-3.4/services/wsdl/ws_access/v1.16/ws_access.d.ts +778 -0
  117. package/types-3.4/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts +51 -0
  118. package/types-3.4/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +470 -0
package/dist/index.es6.js CHANGED
@@ -2,19 +2,19 @@ import { scopedLogger, join, promiseTimeout, exists, deepMixin, xml2json, StateO
2
2
  import { DOMParser } from '@xmldom/xmldom';
3
3
  import fetch$1 from 'node-fetch';
4
4
  import AbortController from 'abort-controller';
5
- import { Agent, globalAgent } from 'https';
5
+ import * as https from 'https';
6
6
  import { Buffer } from 'safe-buffer';
7
- import { spawn } from 'child_process';
8
- import { readdirSync, lstatSync, existsSync, accessSync, readFileSync, unlink, statSync } from 'fs';
9
- import { type, EOL } from 'os';
10
- import { join as join$1, basename, extname, parse, relative, sep, dirname, normalize } from 'path';
11
- import { tmpNameSync } from 'tmp';
7
+ import * as cp from 'child_process';
8
+ import * as fs from 'fs';
9
+ import * as os from 'os';
10
+ import * as path from 'path';
11
+ import * as tmp from 'tmp';
12
12
 
13
13
  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";
14
14
 
15
15
  var PKG_NAME = "@hpcc-js/comms";
16
- var PKG_VERSION = "2.69.0";
17
- var BUILD_VERSION = "2.100.0";
16
+ var PKG_VERSION = "2.73.4";
17
+ var BUILD_VERSION = "2.102.4";
18
18
 
19
19
  /*! *****************************************************************************
20
20
  Copyright (c) Microsoft Corporation.
@@ -103,10 +103,10 @@ function __spreadArray(to, from, pack) {
103
103
  ar[i] = from[i];
104
104
  }
105
105
  }
106
- return to.concat(ar || from);
106
+ return to.concat(ar || Array.prototype.slice.call(from));
107
107
  }
108
108
 
109
- var logger = scopedLogger("comms/connection.ts");
109
+ var logger$2 = scopedLogger("comms/connection.ts");
110
110
  function instanceOfIOptions(object) {
111
111
  return "baseUrl" in object;
112
112
  }
@@ -145,20 +145,20 @@ function serializeRequest(obj, encodeRequest, prefix) {
145
145
  obj[key].forEach(function (row, i) {
146
146
  if (typeof row === "object") {
147
147
  includeItemCount_1 = true;
148
- str.push(serializeRequest(row, encodeRequest, prefix + encode(key + "." + i, encodeRequest)));
148
+ str.push(serializeRequest(row, encodeRequest, prefix + encode("".concat(key, ".").concat(i), encodeRequest)));
149
149
  }
150
150
  else {
151
- str.push(prefix + encode(key + "_i" + i, encodeRequest) + "=" + serializeRequest(row, encodeRequest));
151
+ str.push(prefix + encode("".concat(key, "_i").concat(i), encodeRequest) + "=" + serializeRequest(row, encodeRequest));
152
152
  }
153
153
  });
154
154
  if (includeItemCount_1) {
155
- str.push(prefix + encode(key + ".itemcount", encodeRequest) + "=" + obj[key].length);
155
+ str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key].length);
156
156
  }
157
157
  }
158
158
  else if (typeof obj[key] === "object") {
159
159
  if (obj[key] && obj[key]["Item"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?
160
160
  str.push(serializeRequest(obj[key]["Item"], encodeRequest, prefix + encode(key, encodeRequest)));
161
- str.push(prefix + encode(key + ".itemcount", encodeRequest) + "=" + obj[key]["Item"].length);
161
+ str.push(prefix + encode("".concat(key, ".itemcount"), encodeRequest) + "=" + obj[key]["Item"].length);
162
162
  }
163
163
  else {
164
164
  str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));
@@ -208,12 +208,12 @@ function jsonp(opts, action, request, responseType, header) {
208
208
  respondedTimeout -= respondedTick;
209
209
  if (respondedTimeout <= 0) {
210
210
  clearInterval(progress);
211
- logger.error("Request timeout: " + script.src);
211
+ logger$2.error("Request timeout: " + script.src);
212
212
  doCallback();
213
213
  reject(Error("Request timeout: " + script.src));
214
214
  }
215
215
  else {
216
- logger.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
216
+ logger$2.debug("Request pending (" + respondedTimeout / 1000 + " sec): " + script.src);
217
217
  }
218
218
  }
219
219
  }, respondedTick);
@@ -224,7 +224,7 @@ function jsonp(opts, action, request, responseType, header) {
224
224
  });
225
225
  }
226
226
  function authHeader(opts) {
227
- return opts.userID ? { Authorization: "Basic " + btoa(opts.userID + ":" + opts.password) } : {};
227
+ return opts.userID ? { Authorization: "Basic ".concat(btoa("".concat(opts.userID, ":").concat(opts.password))) } : {};
228
228
  }
229
229
  // _omitMap is a workaround for older HPCC-Platform instances without credentials ---
230
230
  var _omitMap = {};
@@ -283,7 +283,7 @@ function get(opts, action, request, responseType, header) {
283
283
  abortSignal = request.abortSignal_;
284
284
  delete request.abortSignal_;
285
285
  }
286
- return doFetch(opts, action + "?" + serializeRequest(request, opts.encodeRequest), {
286
+ return doFetch(opts, "".concat(action, "?").concat(serializeRequest(request, opts.encodeRequest)), {
287
287
  method: "get",
288
288
  signal: abortSignal
289
289
  }, __assign({}, header), responseType);
@@ -362,7 +362,7 @@ var ESPExceptions = /** @class */ (function (_super) {
362
362
  _this.Source = exceptions.Source;
363
363
  _this.Exception = exceptions.Exception;
364
364
  if (exceptions.Exception.length) {
365
- _this.message = exceptions.Exception[0].Code + ": " + exceptions.Exception[0].Message;
365
+ _this.message = "".concat(exceptions.Exception[0].Code, ": ").concat(exceptions.Exception[0].Message);
366
366
  }
367
367
  else {
368
368
  _this.message = "";
@@ -491,6 +491,214 @@ var Service = /** @class */ (function () {
491
491
  return Service;
492
492
  }());
493
493
 
494
+ var ViewMemberType;
495
+ (function (ViewMemberType) {
496
+ ViewMemberType["User"] = "User";
497
+ ViewMemberType["Group"] = "Group";
498
+ })(ViewMemberType || (ViewMemberType = {}));
499
+ var UserSortBy;
500
+ (function (UserSortBy) {
501
+ UserSortBy["Username"] = "Username";
502
+ UserSortBy["Fullname"] = "Fullname";
503
+ UserSortBy["Passwordexpiration"] = "Passwordexpiration";
504
+ UserSortBy["EmployeeID"] = "EmployeeID";
505
+ UserSortBy["EmployeeNumber"] = "EmployeeNumber";
506
+ })(UserSortBy || (UserSortBy = {}));
507
+ var GroupSortBy;
508
+ (function (GroupSortBy) {
509
+ GroupSortBy["Name"] = "Name";
510
+ GroupSortBy["ManagedBy"] = "ManagedBy";
511
+ })(GroupSortBy || (GroupSortBy = {}));
512
+ var AccountTypeReq;
513
+ (function (AccountTypeReq) {
514
+ AccountTypeReq["Any"] = "Any";
515
+ AccountTypeReq["User"] = "User";
516
+ AccountTypeReq["Group"] = "Group";
517
+ })(AccountTypeReq || (AccountTypeReq = {}));
518
+ var ResourcePermissionSortBy;
519
+ (function (ResourcePermissionSortBy) {
520
+ ResourcePermissionSortBy["Name"] = "Name";
521
+ ResourcePermissionSortBy["Type"] = "Type";
522
+ })(ResourcePermissionSortBy || (ResourcePermissionSortBy = {}));
523
+ var ResourceSortBy;
524
+ (function (ResourceSortBy) {
525
+ ResourceSortBy["Name"] = "Name";
526
+ })(ResourceSortBy || (ResourceSortBy = {}));
527
+ var AccessServiceBase = /** @class */ (function (_super) {
528
+ __extends(AccessServiceBase, _super);
529
+ function AccessServiceBase(optsConnection) {
530
+ return _super.call(this, optsConnection, "ws_access", "1.16") || this;
531
+ }
532
+ AccessServiceBase.prototype.AccountPermissions = function (request) {
533
+ return this._connection.send("AccountPermissions", request);
534
+ };
535
+ AccessServiceBase.prototype.AddUser = function (request) {
536
+ return this._connection.send("AddUser", request);
537
+ };
538
+ AccessServiceBase.prototype.AddView = function (request) {
539
+ return this._connection.send("AddView", request);
540
+ };
541
+ AccessServiceBase.prototype.AddViewColumn = function (request) {
542
+ return this._connection.send("AddViewColumn", request);
543
+ };
544
+ AccessServiceBase.prototype.AddViewMember = function (request) {
545
+ return this._connection.send("AddViewMember", request);
546
+ };
547
+ AccessServiceBase.prototype.ClearPermissionsCache = function (request) {
548
+ return this._connection.send("ClearPermissionsCache", request);
549
+ };
550
+ AccessServiceBase.prototype.DeleteView = function (request) {
551
+ return this._connection.send("DeleteView", request);
552
+ };
553
+ AccessServiceBase.prototype.DeleteViewColumn = function (request) {
554
+ return this._connection.send("DeleteViewColumn", request);
555
+ };
556
+ AccessServiceBase.prototype.DeleteViewMember = function (request) {
557
+ return this._connection.send("DeleteViewMember", request);
558
+ };
559
+ AccessServiceBase.prototype.DisableScopeScans = function (request) {
560
+ return this._connection.send("DisableScopeScans", request);
561
+ };
562
+ AccessServiceBase.prototype.EnableScopeScans = function (request) {
563
+ return this._connection.send("EnableScopeScans", request);
564
+ };
565
+ AccessServiceBase.prototype.FilePermission = function (request) {
566
+ return this._connection.send("FilePermission", request);
567
+ };
568
+ AccessServiceBase.prototype.GroupAction = function (request) {
569
+ return this._connection.send("GroupAction", request);
570
+ };
571
+ AccessServiceBase.prototype.GroupAdd = function (request) {
572
+ return this._connection.send("GroupAdd", request);
573
+ };
574
+ AccessServiceBase.prototype.GroupEdit = function (request) {
575
+ return this._connection.send("GroupEdit", request);
576
+ };
577
+ AccessServiceBase.prototype.GroupMemberEdit = function (request) {
578
+ return this._connection.send("GroupMemberEdit", request);
579
+ };
580
+ AccessServiceBase.prototype.GroupMemberEditInput = function (request) {
581
+ return this._connection.send("GroupMemberEditInput", request);
582
+ };
583
+ AccessServiceBase.prototype.GroupMemberQuery = function (request) {
584
+ return this._connection.send("GroupMemberQuery", request);
585
+ };
586
+ AccessServiceBase.prototype.GroupQuery = function (request) {
587
+ return this._connection.send("GroupQuery", request);
588
+ };
589
+ AccessServiceBase.prototype.Groups = function (request) {
590
+ return this._connection.send("Groups", request);
591
+ };
592
+ AccessServiceBase.prototype.PermissionAction = function (request) {
593
+ return this._connection.send("PermissionAction", request);
594
+ };
595
+ AccessServiceBase.prototype.PermissionAddInput = function (request) {
596
+ return this._connection.send("PermissionAddInput", request);
597
+ };
598
+ AccessServiceBase.prototype.Permissions = function (request) {
599
+ return this._connection.send("Permissions", request);
600
+ };
601
+ AccessServiceBase.prototype.PermissionsReset = function (request) {
602
+ return this._connection.send("PermissionsReset", request);
603
+ };
604
+ AccessServiceBase.prototype.PermissionsResetInput = function (request) {
605
+ return this._connection.send("PermissionsResetInput", request);
606
+ };
607
+ AccessServiceBase.prototype.Ping = function (request) {
608
+ return this._connection.send("Ping", request);
609
+ };
610
+ AccessServiceBase.prototype.QueryScopeScansEnabled = function (request) {
611
+ return this._connection.send("QueryScopeScansEnabled", request);
612
+ };
613
+ AccessServiceBase.prototype.QueryUserViewColumns = function (request) {
614
+ return this._connection.send("QueryUserViewColumns", request);
615
+ };
616
+ AccessServiceBase.prototype.QueryViewColumns = function (request) {
617
+ return this._connection.send("QueryViewColumns", request);
618
+ };
619
+ AccessServiceBase.prototype.QueryViewMembers = function (request) {
620
+ return this._connection.send("QueryViewMembers", request);
621
+ };
622
+ AccessServiceBase.prototype.QueryViews = function (request) {
623
+ return this._connection.send("QueryViews", request);
624
+ };
625
+ AccessServiceBase.prototype.ResourceAdd = function (request) {
626
+ return this._connection.send("ResourceAdd", request);
627
+ };
628
+ AccessServiceBase.prototype.ResourceAddInput = function (request) {
629
+ return this._connection.send("ResourceAddInput", request);
630
+ };
631
+ AccessServiceBase.prototype.ResourceDelete = function (request) {
632
+ return this._connection.send("ResourceDelete", request);
633
+ };
634
+ AccessServiceBase.prototype.ResourcePermissionQuery = function (request) {
635
+ return this._connection.send("ResourcePermissionQuery", request);
636
+ };
637
+ AccessServiceBase.prototype.ResourcePermissions = function (request) {
638
+ return this._connection.send("ResourcePermissions", request);
639
+ };
640
+ AccessServiceBase.prototype.ResourceQuery = function (request) {
641
+ return this._connection.send("ResourceQuery", request);
642
+ };
643
+ AccessServiceBase.prototype.Resources = function (request) {
644
+ return this._connection.send("Resources", request);
645
+ };
646
+ AccessServiceBase.prototype.UserAccountExport = function (request) {
647
+ return this._connection.send("UserAccountExport", request);
648
+ };
649
+ AccessServiceBase.prototype.UserAction = function (request) {
650
+ return this._connection.send("UserAction", request);
651
+ };
652
+ AccessServiceBase.prototype.UserEdit = function (request) {
653
+ return this._connection.send("UserEdit", request);
654
+ };
655
+ AccessServiceBase.prototype.UserGroupEdit = function (request) {
656
+ return this._connection.send("UserGroupEdit", request);
657
+ };
658
+ AccessServiceBase.prototype.UserGroupEditInput = function (request) {
659
+ return this._connection.send("UserGroupEditInput", request);
660
+ };
661
+ AccessServiceBase.prototype.UserInfoEdit = function (request) {
662
+ return this._connection.send("UserInfoEdit", request);
663
+ };
664
+ AccessServiceBase.prototype.UserInfoEditInput = function (request) {
665
+ return this._connection.send("UserInfoEditInput", request);
666
+ };
667
+ AccessServiceBase.prototype.UserPosix = function (request) {
668
+ return this._connection.send("UserPosix", request);
669
+ };
670
+ AccessServiceBase.prototype.UserPosixInput = function (request) {
671
+ return this._connection.send("UserPosixInput", request);
672
+ };
673
+ AccessServiceBase.prototype.UserQuery = function (request) {
674
+ return this._connection.send("UserQuery", request);
675
+ };
676
+ AccessServiceBase.prototype.UserResetPass = function (request) {
677
+ return this._connection.send("UserResetPass", request);
678
+ };
679
+ AccessServiceBase.prototype.UserResetPassInput = function (request) {
680
+ return this._connection.send("UserResetPassInput", request);
681
+ };
682
+ AccessServiceBase.prototype.UserSudoers = function (request) {
683
+ return this._connection.send("UserSudoers", request);
684
+ };
685
+ AccessServiceBase.prototype.UserSudoersInput = function (request) {
686
+ return this._connection.send("UserSudoersInput", request);
687
+ };
688
+ AccessServiceBase.prototype.Users = function (request) {
689
+ return this._connection.send("Users", request);
690
+ };
691
+ return AccessServiceBase;
692
+ }(Service));
693
+
694
+ var AccessService = /** @class */ (function (_super) {
695
+ __extends(AccessService, _super);
696
+ function AccessService() {
697
+ return _super !== null && _super.apply(this, arguments) || this;
698
+ }
699
+ return AccessService;
700
+ }(AccessServiceBase));
701
+
494
702
  var AccountService = /** @class */ (function () {
495
703
  function AccountService(optsConnection) {
496
704
  this._connection = new ESPConnection(optsConnection, "Ws_Account", "1.05");
@@ -552,7 +760,7 @@ var CodesignService = /** @class */ (function () {
552
760
  var DFUService = /** @class */ (function (_super) {
553
761
  __extends(DFUService, _super);
554
762
  function DFUService(optsConnection) {
555
- return _super.call(this, optsConnection, "WsDfu", "1.60") || this;
763
+ return _super.call(this, optsConnection, "WsDfu", "1.62") || this;
556
764
  }
557
765
  DFUService.prototype.DFUQuery = function (request) {
558
766
  return this._connection.send("DFUQuery", request);
@@ -682,7 +890,7 @@ var EclService = /** @class */ (function (_super) {
682
890
  };
683
891
  EclService.prototype.requestJson = function (querySet, queryId) {
684
892
  // http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display
685
- return this._connection.send("example/request/query/" + querySet + "/" + queryId + "/json", {}, "text").then(function (response) {
893
+ return this._connection.send("example/request/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
686
894
  var requestSchema = JSON.parse(response);
687
895
  for (var key in requestSchema) {
688
896
  return requestSchema[key];
@@ -692,7 +900,7 @@ var EclService = /** @class */ (function (_super) {
692
900
  };
693
901
  EclService.prototype.responseJson = function (querySet, queryId) {
694
902
  // http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display
695
- return this._connection.send("example/response/query/" + querySet + "/" + queryId + "/json", {}, "text").then(function (response) {
903
+ return this._connection.send("example/response/query/".concat(querySet, "/").concat(queryId, "/json"), {}, "text").then(function (response) {
696
904
  var responseSchema = JSON.parse(response);
697
905
  for (var key in responseSchema) {
698
906
  return responseSchema[key].Results;
@@ -708,7 +916,7 @@ var EclService = /** @class */ (function (_super) {
708
916
  };
709
917
  EclService.prototype.submit = function (querySet, queryId, request) {
710
918
  // http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json
711
- var action = "submit/query/" + querySet + "/" + queryId;
919
+ var action = "submit/query/".concat(querySet, "/").concat(queryId);
712
920
  return this._connection.send(action, request, "json2").then(function (response) {
713
921
  if (response.Results && response.Results.Exception) {
714
922
  throw new ESPExceptions(action, request, {
@@ -722,6 +930,39 @@ var EclService = /** @class */ (function (_super) {
722
930
  return EclService;
723
931
  }(Service));
724
932
 
933
+ var LogAccessType;
934
+ (function (LogAccessType) {
935
+ LogAccessType[LogAccessType["All"] = 0] = "All";
936
+ LogAccessType[LogAccessType["ByJobIdID"] = 1] = "ByJobIdID";
937
+ LogAccessType[LogAccessType["ByComponent"] = 2] = "ByComponent";
938
+ LogAccessType[LogAccessType["ByLogType"] = 3] = "ByLogType";
939
+ LogAccessType[LogAccessType["ByTargetAudience"] = 4] = "ByTargetAudience";
940
+ })(LogAccessType || (LogAccessType = {}));
941
+ var LogaccessServiceBase = /** @class */ (function (_super) {
942
+ __extends(LogaccessServiceBase, _super);
943
+ function LogaccessServiceBase(optsConnection) {
944
+ return _super.call(this, optsConnection, "ws_logaccess", "1") || this;
945
+ }
946
+ LogaccessServiceBase.prototype.GetLogAccessInfo = function (request) {
947
+ return this._connection.send("GetLogAccessInfo", request);
948
+ };
949
+ LogaccessServiceBase.prototype.GetLogs = function (request) {
950
+ return this._connection.send("GetLogs", request);
951
+ };
952
+ LogaccessServiceBase.prototype.Ping = function (request) {
953
+ return this._connection.send("Ping", request);
954
+ };
955
+ return LogaccessServiceBase;
956
+ }(Service));
957
+
958
+ var LogaccessService = /** @class */ (function (_super) {
959
+ __extends(LogaccessService, _super);
960
+ function LogaccessService() {
961
+ return _super !== null && _super.apply(this, arguments) || this;
962
+ }
963
+ return LogaccessService;
964
+ }(LogaccessServiceBase));
965
+
725
966
  function ascending(a, b) {
726
967
  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
727
968
  }
@@ -758,7 +999,7 @@ function ascendingComparator(f) {
758
999
  };
759
1000
  }
760
1001
 
761
- var ascendingBisect = bisector(ascending);
1002
+ bisector(ascending);
762
1003
 
763
1004
  function number(x) {
764
1005
  return x === null ? NaN : +x;
@@ -823,26 +1064,53 @@ function d3Mean(values, valueof) {
823
1064
  if (m) return sum / m;
824
1065
  }
825
1066
 
826
- var MachineService = /** @class */ (function () {
827
- function MachineService(optsConnection) {
828
- this._connection = new ESPConnection(optsConnection, "ws_machine", "1.13");
1067
+ var MachineServiceBase = /** @class */ (function (_super) {
1068
+ __extends(MachineServiceBase, _super);
1069
+ function MachineServiceBase(optsConnection) {
1070
+ return _super.call(this, optsConnection, "ws_machine", "1.17") || this;
829
1071
  }
830
- MachineService.prototype.GetTargetClusterInfo = function (request) {
831
- if (request === void 0) { request = {}; }
1072
+ MachineServiceBase.prototype.GetComponentStatus = function (request) {
1073
+ return this._connection.send("GetComponentStatus", request);
1074
+ };
1075
+ MachineServiceBase.prototype.GetComponentUsage = function (request) {
1076
+ return this._connection.send("GetComponentUsage", request);
1077
+ };
1078
+ MachineServiceBase.prototype.GetMachineInfo = function (request) {
1079
+ return this._connection.send("GetMachineInfo", request);
1080
+ };
1081
+ MachineServiceBase.prototype.GetMachineInfoEx = function (request) {
1082
+ return this._connection.send("GetMachineInfoEx", request);
1083
+ };
1084
+ MachineServiceBase.prototype.GetMetrics = function (request) {
1085
+ return this._connection.send("GetMetrics", request);
1086
+ };
1087
+ MachineServiceBase.prototype.GetNodeGroupUsage = function (request) {
1088
+ return this._connection.send("GetNodeGroupUsage", request);
1089
+ };
1090
+ MachineServiceBase.prototype.GetTargetClusterInfo = function (request) {
832
1091
  return this._connection.send("GetTargetClusterInfo", request);
833
1092
  };
834
- MachineService.prototype.GetTargetClusterUsage = function (targetClusters, bypassCachedResult) {
835
- if (bypassCachedResult === void 0) { bypassCachedResult = false; }
836
- return this._connection.send("GetTargetClusterUsage", {
837
- TargetClusters: targetClusters ? { Item: targetClusters } : {},
838
- BypassCachedResult: bypassCachedResult
839
- }).then(function (response) {
840
- return exists("TargetClusterUsages.TargetClusterUsage", response) ? response.TargetClusterUsages.TargetClusterUsage : [];
841
- });
1093
+ MachineServiceBase.prototype.GetTargetClusterUsage = function (request) {
1094
+ return this._connection.send("GetTargetClusterUsage", request);
1095
+ };
1096
+ MachineServiceBase.prototype.Ping = function (request) {
1097
+ return this._connection.send("Ping", request);
842
1098
  };
843
- MachineService.prototype.GetTargetClusterUsageEx = function (targetClusters, bypassCachedResult) {
844
- if (bypassCachedResult === void 0) { bypassCachedResult = false; }
845
- return this.GetTargetClusterUsage(targetClusters, bypassCachedResult).then(function (response) {
1099
+ MachineServiceBase.prototype.UpdateComponentStatus = function (request) {
1100
+ return this._connection.send("UpdateComponentStatus", request);
1101
+ };
1102
+ return MachineServiceBase;
1103
+ }(Service));
1104
+
1105
+ var MachineService = /** @class */ (function (_super) {
1106
+ __extends(MachineService, _super);
1107
+ function MachineService() {
1108
+ return _super !== null && _super.apply(this, arguments) || this;
1109
+ }
1110
+ MachineService.prototype.GetTargetClusterUsageEx = function (request) {
1111
+ return this._connection.send("GetTargetClusterUsage", request).then(function (response) {
1112
+ return exists("TargetClusterUsages.TargetClusterUsage", response) ? response.TargetClusterUsages.TargetClusterUsage : [];
1113
+ }).then(function (response) {
846
1114
  return response.filter(function (tcu) { return !!tcu.ComponentUsages; }).map(function (tcu) {
847
1115
  var ComponentUsages = tcu.ComponentUsages.ComponentUsage.map(function (cu) {
848
1116
  var MachineUsages = (cu.MachineUsages && cu.MachineUsages.MachineUsage ? cu.MachineUsages.MachineUsage : []).map(function (mu) {
@@ -880,7 +1148,32 @@ var MachineService = /** @class */ (function () {
880
1148
  });
881
1149
  };
882
1150
  return MachineService;
883
- }());
1151
+ }(MachineServiceBase));
1152
+
1153
+ var ResourcesServiceBase = /** @class */ (function (_super) {
1154
+ __extends(ResourcesServiceBase, _super);
1155
+ function ResourcesServiceBase(optsConnection) {
1156
+ return _super.call(this, optsConnection, "WsResources", "1.01") || this;
1157
+ }
1158
+ ResourcesServiceBase.prototype.Ping = function (request) {
1159
+ return this._connection.send("Ping", request);
1160
+ };
1161
+ ResourcesServiceBase.prototype.ServiceQuery = function (request) {
1162
+ return this._connection.send("ServiceQuery", request);
1163
+ };
1164
+ ResourcesServiceBase.prototype.WebLinksQuery = function (request) {
1165
+ return this._connection.send("WebLinksQuery", request);
1166
+ };
1167
+ return ResourcesServiceBase;
1168
+ }(Service));
1169
+
1170
+ var ResourcesService = /** @class */ (function (_super) {
1171
+ __extends(ResourcesService, _super);
1172
+ function ResourcesService() {
1173
+ return _super !== null && _super.apply(this, arguments) || this;
1174
+ }
1175
+ return ResourcesService;
1176
+ }(ResourcesServiceBase));
884
1177
 
885
1178
  var SMCService = /** @class */ (function () {
886
1179
  function SMCService(optsConnection) {
@@ -986,12 +1279,11 @@ var StoreService = /** @class */ (function (_super) {
986
1279
  */
987
1280
  var TpLogicalClusterQuery;
988
1281
  (function (TpLogicalClusterQuery) {
989
- var RoxieQueueFilter;
990
1282
  (function (RoxieQueueFilter) {
991
1283
  RoxieQueueFilter["All"] = "All";
992
1284
  RoxieQueueFilter["QueriesOnly"] = "QueriesOnly";
993
1285
  RoxieQueueFilter["WorkunitsOnly"] = "WorkunitsOnly";
994
- })(RoxieQueueFilter = TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1286
+ })(TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
995
1287
  })(TpLogicalClusterQuery || (TpLogicalClusterQuery = {}));
996
1288
  var TopologyService = /** @class */ (function (_super) {
997
1289
  __extends(TopologyService, _super);
@@ -1053,7 +1345,7 @@ var TopologyService = /** @class */ (function (_super) {
1053
1345
  * http://localhost:8010/WsWorkunits/WUInfo?respjson_
1054
1346
  * http://json2ts.com/
1055
1347
  */
1056
- var WUStateID;
1348
+ var WUStateID$1;
1057
1349
  (function (WUStateID) {
1058
1350
  WUStateID[WUStateID["Unknown"] = 0] = "Unknown";
1059
1351
  WUStateID[WUStateID["Compiled"] = 1] = "Compiled";
@@ -1074,13 +1366,12 @@ var WUStateID;
1074
1366
  WUStateID[WUStateID["Paused"] = 16] = "Paused";
1075
1367
  WUStateID[WUStateID["LAST"] = 17] = "LAST";
1076
1368
  WUStateID[WUStateID["NotFound"] = 999] = "NotFound";
1077
- })(WUStateID || (WUStateID = {}));
1369
+ })(WUStateID$1 || (WUStateID$1 = {}));
1078
1370
  function isECLResult(_) {
1079
1371
  return typeof _.Name === "string";
1080
1372
  }
1081
1373
  var WUUpdate;
1082
1374
  (function (WUUpdate) {
1083
- var Action;
1084
1375
  (function (Action) {
1085
1376
  Action[Action["Unknown"] = 0] = "Unknown";
1086
1377
  Action[Action["Compile"] = 1] = "Compile";
@@ -1092,7 +1383,7 @@ var WUUpdate;
1092
1383
  Action[Action["Resume"] = 7] = "Resume";
1093
1384
  Action[Action["Debug"] = 8] = "Debug";
1094
1385
  Action[Action["__size"] = 9] = "__size";
1095
- })(Action = WUUpdate.Action || (WUUpdate.Action = {}));
1386
+ })(WUUpdate.Action || (WUUpdate.Action = {}));
1096
1387
  })(WUUpdate || (WUUpdate = {}));
1097
1388
  function isWUQueryECLWorkunit(_) {
1098
1389
  return _.TotalClusterTime !== undefined;
@@ -1294,6 +1585,8 @@ var day = newInterval(function(date) {
1294
1585
  return date.getDate() - 1;
1295
1586
  });
1296
1587
 
1588
+ var timeDay = day;
1589
+
1297
1590
  function weekday(i) {
1298
1591
  return newInterval(function(date) {
1299
1592
  date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
@@ -1307,11 +1600,11 @@ function weekday(i) {
1307
1600
 
1308
1601
  var sunday = weekday(0);
1309
1602
  var monday = weekday(1);
1310
- var tuesday = weekday(2);
1311
- var wednesday = weekday(3);
1603
+ weekday(2);
1604
+ weekday(3);
1312
1605
  var thursday = weekday(4);
1313
- var friday = weekday(5);
1314
- var saturday = weekday(6);
1606
+ weekday(5);
1607
+ weekday(6);
1315
1608
 
1316
1609
  var year = newInterval(function(date) {
1317
1610
  date.setMonth(0, 1);
@@ -1335,6 +1628,8 @@ year.every = function(k) {
1335
1628
  });
1336
1629
  };
1337
1630
 
1631
+ var timeYear = year;
1632
+
1338
1633
  var utcDay = newInterval(function(date) {
1339
1634
  date.setUTCHours(0, 0, 0, 0);
1340
1635
  }, function(date, step) {
@@ -1345,6 +1640,8 @@ var utcDay = newInterval(function(date) {
1345
1640
  return date.getUTCDate() - 1;
1346
1641
  });
1347
1642
 
1643
+ var utcDay$1 = utcDay;
1644
+
1348
1645
  function utcWeekday(i) {
1349
1646
  return newInterval(function(date) {
1350
1647
  date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
@@ -1358,11 +1655,11 @@ function utcWeekday(i) {
1358
1655
 
1359
1656
  var utcSunday = utcWeekday(0);
1360
1657
  var utcMonday = utcWeekday(1);
1361
- var utcTuesday = utcWeekday(2);
1362
- var utcWednesday = utcWeekday(3);
1658
+ utcWeekday(2);
1659
+ utcWeekday(3);
1363
1660
  var utcThursday = utcWeekday(4);
1364
- var utcFriday = utcWeekday(5);
1365
- var utcSaturday = utcWeekday(6);
1661
+ utcWeekday(5);
1662
+ utcWeekday(6);
1366
1663
 
1367
1664
  var utcYear = newInterval(function(date) {
1368
1665
  date.setUTCMonth(0, 1);
@@ -1386,6 +1683,8 @@ utcYear.every = function(k) {
1386
1683
  });
1387
1684
  };
1388
1685
 
1686
+ var utcYear$1 = utcYear;
1687
+
1389
1688
  function localDate(d) {
1390
1689
  if (0 <= d.y && d.y < 100) {
1391
1690
  var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
@@ -1574,7 +1873,7 @@ function formatLocale(locale) {
1574
1873
  return function(string) {
1575
1874
  var d = newDate(1900, undefined, 1),
1576
1875
  i = parseSpecifier(d, specifier, string += "", 0),
1577
- week, day$1;
1876
+ week, day;
1578
1877
  if (i != string.length) return null;
1579
1878
 
1580
1879
  // If a UNIX timestamp is specified, return it.
@@ -1595,25 +1894,25 @@ function formatLocale(locale) {
1595
1894
  if (d.V < 1 || d.V > 53) return null;
1596
1895
  if (!("w" in d)) d.w = 1;
1597
1896
  if ("Z" in d) {
1598
- week = utcDate(newDate(d.y, 0, 1)), day$1 = week.getUTCDay();
1599
- week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week);
1600
- week = utcDay.offset(week, (d.V - 1) * 7);
1897
+ week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
1898
+ week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
1899
+ week = utcDay$1.offset(week, (d.V - 1) * 7);
1601
1900
  d.y = week.getUTCFullYear();
1602
1901
  d.m = week.getUTCMonth();
1603
1902
  d.d = week.getUTCDate() + (d.w + 6) % 7;
1604
1903
  } else {
1605
- week = localDate(newDate(d.y, 0, 1)), day$1 = week.getDay();
1606
- week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week);
1607
- week = day.offset(week, (d.V - 1) * 7);
1904
+ week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
1905
+ week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
1906
+ week = timeDay.offset(week, (d.V - 1) * 7);
1608
1907
  d.y = week.getFullYear();
1609
1908
  d.m = week.getMonth();
1610
1909
  d.d = week.getDate() + (d.w + 6) % 7;
1611
1910
  }
1612
1911
  } else if ("W" in d || "U" in d) {
1613
1912
  if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
1614
- day$1 = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1913
+ day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1615
1914
  d.m = 0;
1616
- d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day$1 + 5) % 7 : d.w + d.U * 7 - (day$1 + 6) % 7;
1915
+ d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
1617
1916
  }
1618
1917
 
1619
1918
  // If a time zone is specified, all fields are interpreted as UTC and then
@@ -1899,7 +2198,7 @@ function formatHour12(d, p) {
1899
2198
  }
1900
2199
 
1901
2200
  function formatDayOfYear(d, p) {
1902
- return pad(1 + day.count(year(d), d), p, 3);
2201
+ return pad(1 + timeDay.count(timeYear(d), d), p, 3);
1903
2202
  }
1904
2203
 
1905
2204
  function formatMilliseconds(d, p) {
@@ -1928,7 +2227,7 @@ function formatWeekdayNumberMonday(d) {
1928
2227
  }
1929
2228
 
1930
2229
  function formatWeekNumberSunday(d, p) {
1931
- return pad(sunday.count(year(d) - 1, d), p, 2);
2230
+ return pad(sunday.count(timeYear(d) - 1, d), p, 2);
1932
2231
  }
1933
2232
 
1934
2233
  function dISO(d) {
@@ -1938,7 +2237,7 @@ function dISO(d) {
1938
2237
 
1939
2238
  function formatWeekNumberISO(d, p) {
1940
2239
  d = dISO(d);
1941
- return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
2240
+ return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
1942
2241
  }
1943
2242
 
1944
2243
  function formatWeekdayNumberSunday(d) {
@@ -1946,7 +2245,7 @@ function formatWeekdayNumberSunday(d) {
1946
2245
  }
1947
2246
 
1948
2247
  function formatWeekNumberMonday(d, p) {
1949
- return pad(monday.count(year(d) - 1, d), p, 2);
2248
+ return pad(monday.count(timeYear(d) - 1, d), p, 2);
1950
2249
  }
1951
2250
 
1952
2251
  function formatYear(d, p) {
@@ -1988,7 +2287,7 @@ function formatUTCHour12(d, p) {
1988
2287
  }
1989
2288
 
1990
2289
  function formatUTCDayOfYear(d, p) {
1991
- return pad(1 + utcDay.count(utcYear(d), d), p, 3);
2290
+ return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
1992
2291
  }
1993
2292
 
1994
2293
  function formatUTCMilliseconds(d, p) {
@@ -2017,7 +2316,7 @@ function formatUTCWeekdayNumberMonday(d) {
2017
2316
  }
2018
2317
 
2019
2318
  function formatUTCWeekNumberSunday(d, p) {
2020
- return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);
2319
+ return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
2021
2320
  }
2022
2321
 
2023
2322
  function UTCdISO(d) {
@@ -2027,7 +2326,7 @@ function UTCdISO(d) {
2027
2326
 
2028
2327
  function formatUTCWeekNumberISO(d, p) {
2029
2328
  d = UTCdISO(d);
2030
- return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
2329
+ return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
2031
2330
  }
2032
2331
 
2033
2332
  function formatUTCWeekdayNumberSunday(d) {
@@ -2035,7 +2334,7 @@ function formatUTCWeekdayNumberSunday(d) {
2035
2334
  }
2036
2335
 
2037
2336
  function formatUTCWeekNumberMonday(d, p) {
2038
- return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);
2337
+ return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
2039
2338
  }
2040
2339
 
2041
2340
  function formatUTCYear(d, p) {
@@ -2074,8 +2373,6 @@ function formatUnixTimestampSeconds(d) {
2074
2373
  }
2075
2374
 
2076
2375
  var locale;
2077
- var timeFormat;
2078
- var timeParse;
2079
2376
  var utcFormat;
2080
2377
  var utcParse;
2081
2378
 
@@ -2092,8 +2389,6 @@ defaultLocale({
2092
2389
 
2093
2390
  function defaultLocale(definition) {
2094
2391
  locale = formatLocale(definition);
2095
- timeFormat = locale.format;
2096
- timeParse = locale.parse;
2097
2392
  utcFormat = locale.utcFormat;
2098
2393
  utcParse = locale.utcParse;
2099
2394
  return locale;
@@ -2191,12 +2486,12 @@ var GraphCache = /** @class */ (function (_super) {
2191
2486
  }
2192
2487
  return GraphCache;
2193
2488
  }(Cache));
2194
- function walkXmlJson(node, callback, stack) {
2489
+ function walkXmlJson$1(node, callback, stack) {
2195
2490
  stack = stack || [];
2196
2491
  stack.push(node);
2197
2492
  callback(node.name, node.$, node.children(), stack);
2198
2493
  node.children().forEach(function (childNode) {
2199
- walkXmlJson(childNode, callback, stack);
2494
+ walkXmlJson$1(childNode, callback, stack);
2200
2495
  });
2201
2496
  stack.pop();
2202
2497
  }
@@ -2245,7 +2540,7 @@ function createXGMMLGraph(id, graphs) {
2245
2540
  return item._["id"];
2246
2541
  });
2247
2542
  var stack = [graph.root];
2248
- walkXmlJson(graphs, function (tag, attributes, childNodes, _stack) {
2543
+ walkXmlJson$1(graphs, function (tag, attributes, childNodes, _stack) {
2249
2544
  var top = stack[stack.length - 1];
2250
2545
  switch (tag) {
2251
2546
  case "graph":
@@ -2320,7 +2615,7 @@ function createGraph(scopes) {
2320
2615
  scopeStack.pop();
2321
2616
  }
2322
2617
  if (!scopeParent1) {
2323
- console.log("Missing SG:Parent (" + scope.Id + "): " + scope.parentScope());
2618
+ console.log("Missing SG:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2324
2619
  }
2325
2620
  else {
2326
2621
  var parent1 = scopeParent1;
@@ -2330,7 +2625,7 @@ function createGraph(scopes) {
2330
2625
  case "activity":
2331
2626
  var scopeParent2 = subgraphs[scope.parentScope()];
2332
2627
  if (!scopeParent2) {
2333
- console.log("Missing A:Parent (" + scope.Id + "): " + scope.parentScope());
2628
+ console.log("Missing A:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2334
2629
  }
2335
2630
  else {
2336
2631
  vertices[scope.ScopeName] = scopeParent2.createVertex(scope);
@@ -2342,7 +2637,7 @@ function createGraph(scopes) {
2342
2637
  case "function":
2343
2638
  var scopeParent3 = vertices[scope.parentScope()];
2344
2639
  if (!scopeParent3) {
2345
- console.log("Missing F:Parent (" + scope.Id + "): " + scope.parentScope());
2640
+ console.log("Missing F:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2346
2641
  }
2347
2642
  else {
2348
2643
  scopeParent3._.children().push(scope);
@@ -2354,7 +2649,7 @@ function createGraph(scopes) {
2354
2649
  var scope = edges[id];
2355
2650
  var scopeParent3 = subgraphs[scope.parentScope()];
2356
2651
  if (!scopeParent3) {
2357
- console.log("Missing E:Parent (" + scope.Id + "): " + scope.parentScope());
2652
+ console.log("Missing E:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2358
2653
  }
2359
2654
  else {
2360
2655
  var parent3 = scopeParent3;
@@ -2366,7 +2661,7 @@ function createGraph(scopes) {
2366
2661
  catch (e) {
2367
2662
  // const sourceIndex = scope.attr("SourceIndex").RawValue;
2368
2663
  // const targetIndex = scope.attr("TargetIndex").RawValue;
2369
- console.log("Invalid Edge: " + id);
2664
+ console.log("Invalid Edge: ".concat(id));
2370
2665
  }
2371
2666
  }
2372
2667
  }
@@ -2659,7 +2954,7 @@ var GlobalResultCache = /** @class */ (function (_super) {
2659
2954
  __extends(GlobalResultCache, _super);
2660
2955
  function GlobalResultCache() {
2661
2956
  return _super.call(this, function (obj) {
2662
- return obj.BaseUrl + "-" + obj.Wuid + "-" + obj.ResultName;
2957
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid, "-").concat(obj.ResultName);
2663
2958
  }) || this;
2664
2959
  }
2665
2960
  return GlobalResultCache;
@@ -3130,21 +3425,21 @@ var BaseScope = /** @class */ (function (_super) {
3130
3425
  var label = "";
3131
3426
  var rows = [];
3132
3427
  label = this.Id;
3133
- rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">" + this.Id + "</td></tr>");
3428
+ rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">".concat(this.Id, "</td></tr>"));
3134
3429
  if (parentScope) {
3135
- rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">" + parentScope.Id + "</td></tr>");
3430
+ rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">".concat(parentScope.Id, "</td></tr>"));
3136
3431
  }
3137
- rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">" + this.ScopeName + "</td></tr>");
3432
+ rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">".concat(this.ScopeName, "</td></tr>"));
3138
3433
  var attrs = this.formattedAttrs();
3139
3434
  for (var key in attrs) {
3140
3435
  if (key === "Label") {
3141
3436
  label = attrs[key];
3142
3437
  }
3143
3438
  else {
3144
- rows.push("<tr><td class=\"key\">" + key + "</td><td class=\"value\">" + attrs[key] + "</td></tr>");
3439
+ rows.push("<tr><td class=\"key\">".concat(key, "</td><td class=\"value\">").concat(attrs[key], "</td></tr>"));
3145
3440
  }
3146
3441
  }
3147
- return "<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">" + label + "</h4>\n <table>\n " + rows.join("") + "\n </table>\n </div>";
3442
+ 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>");
3148
3443
  };
3149
3444
  return BaseScope;
3150
3445
  }(StateObject));
@@ -3279,12 +3574,12 @@ var Timer = /** @class */ (function (_super) {
3279
3574
  var formatter = utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");
3280
3575
  var parser = utcParse("%Y-%m-%dT%H:%M:%S.%LZ");
3281
3576
  var logger$1 = scopedLogger("workunit.ts");
3282
- var WUStateID$1 = WUStateID;
3577
+ var WUStateID = WUStateID$1;
3283
3578
  var WorkunitCache = /** @class */ (function (_super) {
3284
3579
  __extends(WorkunitCache, _super);
3285
3580
  function WorkunitCache() {
3286
3581
  return _super.call(this, function (obj) {
3287
- return obj.BaseUrl + "-" + obj.Wuid;
3582
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid);
3288
3583
  }) || this;
3289
3584
  }
3290
3585
  return WorkunitCache;
@@ -3345,12 +3640,12 @@ var Workunit = /** @class */ (function (_super) {
3345
3640
  configurable: true
3346
3641
  });
3347
3642
  Object.defineProperty(Workunit.prototype, "StateID", {
3348
- get: function () { return this.get("StateID", WUStateID.Unknown); },
3643
+ get: function () { return this.get("StateID", WUStateID$1.Unknown); },
3349
3644
  enumerable: false,
3350
3645
  configurable: true
3351
3646
  });
3352
3647
  Object.defineProperty(Workunit.prototype, "State", {
3353
- get: function () { return this.get("State") || WUStateID[this.StateID]; },
3648
+ get: function () { return this.get("State") || WUStateID$1[this.StateID]; },
3354
3649
  enumerable: false,
3355
3650
  configurable: true
3356
3651
  });
@@ -3805,7 +4100,7 @@ var Workunit = /** @class */ (function (_super) {
3805
4100
  Workunit.prototype.clearState = function (wuid) {
3806
4101
  this.clear({
3807
4102
  Wuid: wuid,
3808
- StateID: WUStateID$1.Unknown
4103
+ StateID: WUStateID.Unknown
3809
4104
  });
3810
4105
  };
3811
4106
  Workunit.prototype.update = function (request) {
@@ -3863,47 +4158,47 @@ var Workunit = /** @class */ (function (_super) {
3863
4158
  };
3864
4159
  Workunit.prototype.isComplete = function () {
3865
4160
  switch (this.StateID) {
3866
- case WUStateID$1.Compiled:
4161
+ case WUStateID.Compiled:
3867
4162
  return this.ActionEx === "compile" || this._submitAction === WUUpdate.Action.Compile;
3868
- case WUStateID$1.Completed:
3869
- case WUStateID$1.Failed:
3870
- case WUStateID$1.Aborted:
3871
- case WUStateID$1.NotFound:
4163
+ case WUStateID.Completed:
4164
+ case WUStateID.Failed:
4165
+ case WUStateID.Aborted:
4166
+ case WUStateID.NotFound:
3872
4167
  return true;
3873
4168
  }
3874
4169
  return false;
3875
4170
  };
3876
4171
  Workunit.prototype.isFailed = function () {
3877
4172
  switch (this.StateID) {
3878
- case WUStateID$1.Aborted:
3879
- case WUStateID$1.Failed:
4173
+ case WUStateID.Aborted:
4174
+ case WUStateID.Failed:
3880
4175
  return true;
3881
4176
  }
3882
4177
  return false;
3883
4178
  };
3884
4179
  Workunit.prototype.isDeleted = function () {
3885
4180
  switch (this.StateID) {
3886
- case WUStateID$1.NotFound:
4181
+ case WUStateID.NotFound:
3887
4182
  return true;
3888
4183
  }
3889
4184
  return false;
3890
4185
  };
3891
4186
  Workunit.prototype.isDebugging = function () {
3892
4187
  switch (this.StateID) {
3893
- case WUStateID$1.DebugPaused:
3894
- case WUStateID$1.DebugRunning:
4188
+ case WUStateID.DebugPaused:
4189
+ case WUStateID.DebugRunning:
3895
4190
  return true;
3896
4191
  }
3897
4192
  return this._debugMode;
3898
4193
  };
3899
4194
  Workunit.prototype.isRunning = function () {
3900
4195
  switch (this.StateID) {
3901
- case WUStateID$1.Compiled:
3902
- case WUStateID$1.Running:
3903
- case WUStateID$1.Aborting:
3904
- case WUStateID$1.Blocked:
3905
- case WUStateID$1.DebugPaused:
3906
- case WUStateID$1.DebugRunning:
4196
+ case WUStateID.Compiled:
4197
+ case WUStateID.Running:
4198
+ case WUStateID.Aborting:
4199
+ case WUStateID.Blocked:
4200
+ case WUStateID.DebugPaused:
4201
+ case WUStateID.DebugRunning:
3907
4202
  return true;
3908
4203
  }
3909
4204
  return false;
@@ -4132,6 +4427,9 @@ var Workunit = /** @class */ (function (_super) {
4132
4427
  case "cnt":
4133
4428
  props[scopeProperty.Name] = +scopeProperty.RawValue;
4134
4429
  break;
4430
+ case "cost":
4431
+ props[scopeProperty.Name] = +scopeProperty.RawValue / 1000000;
4432
+ break;
4135
4433
  case "cpu":
4136
4434
  case "skw":
4137
4435
  case "node":
@@ -4380,7 +4678,7 @@ var Workunit = /** @class */ (function (_super) {
4380
4678
  var wuMissing = e.Exception.some(function (exception) {
4381
4679
  if (exception.Code === 20081) {
4382
4680
  _this.clearState(_this.Wuid);
4383
- _this.set("StateID", WUStateID$1.NotFound);
4681
+ _this.set("StateID", WUStateID.NotFound);
4384
4682
  return true;
4385
4683
  }
4386
4684
  return false;
@@ -4417,7 +4715,7 @@ var Workunit = /** @class */ (function (_super) {
4417
4715
  var wuMissing = e.Exception.some(function (exception) {
4418
4716
  if (exception.Code === 20080) {
4419
4717
  _this.clearState(_this.Wuid);
4420
- _this.set("StateID", WUStateID$1.NotFound);
4718
+ _this.set("StateID", WUStateID.NotFound);
4421
4719
  return true;
4422
4720
  }
4423
4721
  return false;
@@ -4491,12 +4789,12 @@ var Workunit = /** @class */ (function (_super) {
4491
4789
  var optsStr = "";
4492
4790
  for (var key in opts) {
4493
4791
  if (opts.hasOwnProperty(key)) {
4494
- optsStr += " " + key + "='" + opts[key] + "'";
4792
+ optsStr += " ".concat(key, "='").concat(opts[key], "'");
4495
4793
  }
4496
4794
  }
4497
4795
  return this.connection.WUCDebug({
4498
4796
  Wuid: this.Wuid,
4499
- Command: "<debug:" + command + " uid='" + this.Wuid + "'" + optsStr + "/>"
4797
+ Command: "<debug:".concat(command, " uid='").concat(this.Wuid, "'").concat(optsStr, "/>")
4500
4798
  }).then(function (response) {
4501
4799
  return response;
4502
4800
  });
@@ -4627,7 +4925,7 @@ function getECLDefinition(vertex) {
4627
4925
  column: +_col
4628
4926
  };
4629
4927
  }
4630
- throw new Error("Bad definition: " + vertex._[ATTR_DEFINITION]);
4928
+ throw new Error("Bad definition: ".concat(vertex._[ATTR_DEFINITION]));
4631
4929
  }
4632
4930
  function breakpointLocations(graph, path) {
4633
4931
  var retVal = [];
@@ -4816,12 +5114,12 @@ var LogicalFileCache = /** @class */ (function (_super) {
4816
5114
  __extends(LogicalFileCache, _super);
4817
5115
  function LogicalFileCache() {
4818
5116
  return _super.call(this, function (obj) {
4819
- return obj.BaseUrl + "-" + obj.Cluster + "-" + obj.Name;
5117
+ return "".concat(obj.BaseUrl, "-").concat(obj.Cluster, "-").concat(obj.Name);
4820
5118
  }) || this;
4821
5119
  }
4822
5120
  return LogicalFileCache;
4823
5121
  }(Cache));
4824
- var _store = new LogicalFileCache();
5122
+ var _store$1 = new LogicalFileCache();
4825
5123
  var LogicalFile = /** @class */ (function (_super) {
4826
5124
  __extends(LogicalFile, _super);
4827
5125
  function LogicalFile(optsConnection, Cluster, Name) {
@@ -5104,14 +5402,14 @@ var LogicalFile = /** @class */ (function (_super) {
5104
5402
  configurable: true
5105
5403
  });
5106
5404
  LogicalFile.attach = function (optsConnection, Cluster, Name) {
5107
- var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5405
+ var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5108
5406
  return new LogicalFile(optsConnection, Cluster, Name);
5109
5407
  });
5110
5408
  return retVal;
5111
5409
  };
5112
5410
  LogicalFile.prototype.filePartsOnCluster = function () {
5113
5411
  var _a;
5114
- return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []));
5412
+ return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []), true);
5115
5413
  };
5116
5414
  LogicalFile.prototype.fileParts = function () {
5117
5415
  var _a, _b;
@@ -5264,6 +5562,11 @@ var Machine = /** @class */ (function (_super) {
5264
5562
  enumerable: false,
5265
5563
  configurable: true
5266
5564
  });
5565
+ Object.defineProperty(Machine.prototype, "Channels", {
5566
+ get: function () { return this.get("Channels"); },
5567
+ enumerable: false,
5568
+ configurable: true
5569
+ });
5267
5570
  Object.defineProperty(Machine.prototype, "Processors", {
5268
5571
  get: function () { return this.get("Processors"); },
5269
5572
  enumerable: false,
@@ -5294,6 +5597,11 @@ var Machine = /** @class */ (function (_super) {
5294
5597
  enumerable: false,
5295
5598
  configurable: true
5296
5599
  });
5600
+ Object.defineProperty(Machine.prototype, "Exception", {
5601
+ get: function () { return this.get("Exception"); },
5602
+ enumerable: false,
5603
+ configurable: true
5604
+ });
5297
5605
  Machine.attach = function (optsConnection, address, state) {
5298
5606
  var retVal = _machines.get({ Address: address }, function () {
5299
5607
  return new Machine(optsConnection);
@@ -5558,12 +5866,12 @@ var StoreCache = /** @class */ (function (_super) {
5558
5866
  __extends(StoreCache, _super);
5559
5867
  function StoreCache() {
5560
5868
  return _super.call(this, function (obj) {
5561
- return obj.BaseUrl + "-" + obj.Name + ":" + obj.UserSpecific + "-" + obj.Namespace;
5869
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
5562
5870
  }) || this;
5563
5871
  }
5564
5872
  return StoreCache;
5565
5873
  }(Cache));
5566
- var _store$1 = new StoreCache();
5874
+ var _store = new StoreCache();
5567
5875
  var ValueChangedMessage = /** @class */ (function (_super) {
5568
5876
  __extends(ValueChangedMessage, _super);
5569
5877
  function ValueChangedMessage(key, value, oldValue) {
@@ -5612,7 +5920,7 @@ var Store = /** @class */ (function () {
5612
5920
  Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
5613
5921
  if (Name === void 0) { Name = "HPCCApps"; }
5614
5922
  if (UserSpecific === void 0) { UserSpecific = true; }
5615
- var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5923
+ var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5616
5924
  return new Store(optsConnection, Name, Namespace, UserSpecific);
5617
5925
  });
5618
5926
  return retVal;
@@ -5636,7 +5944,7 @@ var Store = /** @class */ (function () {
5636
5944
  _this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
5637
5945
  }
5638
5946
  }).catch(function (e) {
5639
- console.error("Store.set(\"" + key + "\", \"" + value + "\") failed:", e);
5947
+ console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
5640
5948
  });
5641
5949
  };
5642
5950
  Store.prototype.get = function (key, broadcast) {
@@ -5655,7 +5963,7 @@ var Store = /** @class */ (function () {
5655
5963
  }
5656
5964
  return response.Value;
5657
5965
  }).catch(function (e) {
5658
- console.error("Store.get(" + key + ") failed:", e);
5966
+ console.error("Store.get(".concat(key, ") failed:"), e);
5659
5967
  return undefined;
5660
5968
  });
5661
5969
  };
@@ -5705,7 +6013,7 @@ var Store = /** @class */ (function () {
5705
6013
  _this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
5706
6014
  }
5707
6015
  }).catch(function (e) {
5708
- console.error("Store.delete(" + key + ") failed:", e);
6016
+ console.error("Store.delete(".concat(key, ") failed:"), e);
5709
6017
  });
5710
6018
  };
5711
6019
  Store.prototype.monitor = function (callback) {
@@ -5718,7 +6026,7 @@ var TargetClusterCache = /** @class */ (function (_super) {
5718
6026
  __extends(TargetClusterCache, _super);
5719
6027
  function TargetClusterCache() {
5720
6028
  return _super.call(this, function (obj) {
5721
- return obj.BaseUrl + "-" + obj.Name;
6029
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name);
5722
6030
  }) || this;
5723
6031
  }
5724
6032
  return TargetClusterCache;
@@ -5817,7 +6125,7 @@ var TargetCluster = /** @class */ (function (_super) {
5817
6125
  var _this = this;
5818
6126
  if (request === void 0) { request = {}; }
5819
6127
  return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
5820
- Item: [this.Type + ":" + this.Name]
6128
+ Item: ["".concat(this.Type, ":").concat(this.Name)]
5821
6129
  } }, request)).then(function (response) {
5822
6130
  var retVal = [];
5823
6131
  for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
@@ -5853,7 +6161,7 @@ var TargetCluster = /** @class */ (function (_super) {
5853
6161
  };
5854
6162
  };
5855
6163
  TargetCluster.prototype.fetchUsage = function () {
5856
- return this.machineConnection.GetTargetClusterUsageEx([this.Name]);
6164
+ return this.machineConnection.GetTargetClusterUsageEx({ TargetClusters: { Item: [this.Name] } });
5857
6165
  };
5858
6166
  return TargetCluster;
5859
6167
  }(StateObject));
@@ -5983,7 +6291,7 @@ var Topology = /** @class */ (function (_super) {
5983
6291
  }
5984
6292
  }
5985
6293
  }
5986
- return rootProtocol + "//" + ip + ":" + port + "/";
6294
+ return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
5987
6295
  });
5988
6296
  };
5989
6297
  Topology.prototype.fetchTargetClusters = function () {
@@ -6049,7 +6357,7 @@ var Topology = /** @class */ (function (_super) {
6049
6357
  return Topology;
6050
6358
  }(StateObject));
6051
6359
 
6052
- var logger$2 = scopedLogger("clienttools/eclmeta");
6360
+ scopedLogger("clienttools/eclmeta");
6053
6361
  var Attr = /** @class */ (function () {
6054
6362
  function Attr(xmlAttr) {
6055
6363
  this.__attrs = xmlAttr.$;
@@ -6081,7 +6389,7 @@ var ECLScope = /** @class */ (function () {
6081
6389
  if (end === void 0) { end = Number.MAX_VALUE; }
6082
6390
  this.name = name;
6083
6391
  this.type = type;
6084
- this.sourcePath = normalize(sourcePath);
6392
+ this.sourcePath = path.normalize(sourcePath);
6085
6393
  this.line = +line - 1;
6086
6394
  this.start = +start;
6087
6395
  this.body = +body;
@@ -6206,7 +6514,7 @@ var Source = /** @class */ (function (_super) {
6206
6514
  fakeNode.appendAttribute("ref", nameParts.join("."));
6207
6515
  _this.imports = __spreadArray([
6208
6516
  new Import(fakeNode)
6209
- ], _this.parseImports(xmlSource.children("Import")));
6517
+ ], _this.parseImports(xmlSource.children("Import")), true);
6210
6518
  return _this;
6211
6519
  }
6212
6520
  Source.prototype.parseImports = function (imports) {
@@ -6234,10 +6542,10 @@ var Source = /** @class */ (function (_super) {
6234
6542
  };
6235
6543
  return Source;
6236
6544
  }(ECLScope));
6237
- var isHiddenDirectory = function (source) { return basename(source).indexOf(".") === 0; };
6238
- var isDirectory = function (source) { return lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6239
- var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(extname(source).toLowerCase()) >= 0; };
6240
- var modAttrs = function (source) { return readdirSync(source).map(function (name) { return join$1(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6545
+ var isHiddenDirectory = function (source) { return path.basename(source).indexOf(".") === 0; };
6546
+ var isDirectory = function (source) { return fs.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6547
+ var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path.extname(source).toLowerCase()) >= 0; };
6548
+ var modAttrs = function (source) { return fs.readdirSync(source).map(function (name) { return path.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6241
6549
  var File = /** @class */ (function (_super) {
6242
6550
  __extends(File, _super);
6243
6551
  function File(name, sourcePath) {
@@ -6256,7 +6564,7 @@ var Folder = /** @class */ (function (_super) {
6256
6564
  Folder.prototype.suggestions = function () {
6257
6565
  return modAttrs(this.sourcePath).map(function (folder) {
6258
6566
  return {
6259
- name: basename(folder, ".ecl"),
6567
+ name: path.basename(folder, ".ecl"),
6260
6568
  type: "folder"
6261
6569
  };
6262
6570
  });
@@ -6283,7 +6591,7 @@ var Workspace = /** @class */ (function () {
6283
6591
  }).then(function (paths) {
6284
6592
  for (var _i = 0, _a = ["ECLCC_ECLLIBRARY_PATH", "ECLCC_PLUGIN_PATH"]; _i < _a.length; _i++) {
6285
6593
  var knownFolder = _a[_i];
6286
- if (paths[knownFolder] && existsSync(paths[knownFolder])) {
6594
+ if (paths[knownFolder] && fs.existsSync(paths[knownFolder])) {
6287
6595
  _this.walkChildFolders(paths[knownFolder], paths[knownFolder]);
6288
6596
  }
6289
6597
  }
@@ -6291,7 +6599,7 @@ var Workspace = /** @class */ (function () {
6291
6599
  });
6292
6600
  };
6293
6601
  Workspace.prototype.primeWorkspace = function () {
6294
- if (existsSync(this._workspacePath)) {
6602
+ if (fs.existsSync(this._workspacePath)) {
6295
6603
  this.visitFolder(this._workspacePath, this._workspacePath);
6296
6604
  }
6297
6605
  };
@@ -6309,16 +6617,16 @@ var Workspace = /** @class */ (function () {
6309
6617
  };
6310
6618
  Workspace.prototype.visitFile = function (filePath, refPath, force) {
6311
6619
  if (force === void 0) { force = false; }
6312
- var filePathInfo = parse(filePath);
6313
- var pathNoExt = join$1(filePathInfo.dir, filePathInfo.name);
6314
- var name = relative(refPath, pathNoExt).split(sep).join(".");
6620
+ var filePathInfo = path.parse(filePath);
6621
+ var pathNoExt = path.join(filePathInfo.dir, filePathInfo.name);
6622
+ var name = path.relative(refPath, pathNoExt).split(path.sep).join(".");
6315
6623
  if (force || !this._test.has(name)) {
6316
6624
  this._test.set(name, new File("", filePath));
6317
6625
  }
6318
6626
  };
6319
6627
  Workspace.prototype.visitFolder = function (folderPath, refPath, force) {
6320
6628
  if (force === void 0) { force = false; }
6321
- var name = relative(refPath, folderPath).split(sep).join(".");
6629
+ var name = path.relative(refPath, folderPath).split(path.sep).join(".");
6322
6630
  if (force || !this._test.has(name)) {
6323
6631
  this._test.set(name, new Folder(name, folderPath));
6324
6632
  this.walkChildFolders(folderPath, refPath, force);
@@ -6329,7 +6637,7 @@ var Workspace = /** @class */ (function () {
6329
6637
  if (removeDupID && parentStack[parentStack.length - 1] === nameStack[0]) {
6330
6638
  nameStack.shift();
6331
6639
  }
6332
- var stack = __spreadArray(__spreadArray([], parentStack), nameStack);
6640
+ var stack = __spreadArray(__spreadArray([], parentStack, true), nameStack, true);
6333
6641
  var qid = stack.join(".");
6334
6642
  return {
6335
6643
  stack: stack,
@@ -6378,10 +6686,10 @@ var Workspace = /** @class */ (function () {
6378
6686
  if (depth > 1) {
6379
6687
  var sourcePath = source.sourcePath;
6380
6688
  while (depth > 1) {
6381
- sourcePath = dirname(sourcePath);
6689
+ sourcePath = path.dirname(sourcePath);
6382
6690
  --depth;
6383
6691
  }
6384
- this.visitFolder(sourcePath, dirname(sourcePath));
6692
+ this.visitFolder(sourcePath, path.dirname(sourcePath));
6385
6693
  }
6386
6694
  }
6387
6695
  this.walkSource(source);
@@ -6392,7 +6700,7 @@ var Workspace = /** @class */ (function () {
6392
6700
  var metaParser = new MetaParser();
6393
6701
  metaParser.parse(metaXML);
6394
6702
  this.parseSources(metaParser.sources);
6395
- return metaParser.sources.map(function (source) { return normalize(source.$.sourcePath); });
6703
+ return metaParser.sources.map(function (source) { return path.normalize(source.$.sourcePath); });
6396
6704
  };
6397
6705
  Workspace.prototype.resolveQualifiedID = function (filePath, qualifiedID, charOffset) {
6398
6706
  var retVal;
@@ -6420,7 +6728,7 @@ var Workspace = /** @class */ (function () {
6420
6728
  retVal = this._test.get(realQID).scope;
6421
6729
  }
6422
6730
  if (!retVal) {
6423
- realQID = __spreadArray(__spreadArray([], eclSource.name.split(".")), qualifiedIDParts).join(".");
6731
+ realQID = __spreadArray(__spreadArray([], eclSource.name.split("."), true), qualifiedIDParts, true).join(".");
6424
6732
  if (this._test.has(realQID)) {
6425
6733
  retVal = this._test.get(realQID).scope;
6426
6734
  }
@@ -6439,7 +6747,7 @@ var Workspace = /** @class */ (function () {
6439
6747
  }());
6440
6748
  var workspaceCache = new Dictionary();
6441
6749
  function attachWorkspace(_workspacePath, eclccPath) {
6442
- var workspacePath = normalize(_workspacePath);
6750
+ var workspacePath = path.normalize(_workspacePath);
6443
6751
  if (!workspaceCache.has(workspacePath)) {
6444
6752
  var workspace = new Workspace(workspacePath, eclccPath);
6445
6753
  workspaceCache.set(workspacePath, workspace);
@@ -6477,8 +6785,8 @@ var MetaParser = /** @class */ (function (_super) {
6477
6785
  return MetaParser;
6478
6786
  }(SAXStackParser));
6479
6787
 
6480
- var logger$3 = scopedLogger("clienttools/eclcc");
6481
- var exeExt = type() === "Windows_NT" ? ".exe" : "";
6788
+ var logger = scopedLogger("clienttools/eclcc");
6789
+ var exeExt = os.type() === "Windows_NT" ? ".exe" : "";
6482
6790
  function tidyCRLF(inStr) {
6483
6791
  return inStr.split("\r\n").join("\n").split("\r").join("\n");
6484
6792
  }
@@ -6524,7 +6832,7 @@ var Version = /** @class */ (function () {
6524
6832
  return this.postfix.localeCompare(other.postfix);
6525
6833
  };
6526
6834
  Version.prototype.toString = function () {
6527
- return this.prefix + "_" + this.major + "." + this.minor + "." + this.patch + "-" + this.postfix;
6835
+ return "".concat(this.prefix, "_").concat(this.major, ".").concat(this.minor, ".").concat(this.patch, "-").concat(this.postfix);
6528
6836
  };
6529
6837
  return Version;
6530
6838
  }());
@@ -6573,7 +6881,7 @@ var EclccErrors = /** @class */ (function (_super) {
6573
6881
  function EclccErrors(stdErr, checked) {
6574
6882
  var _this = _super.call(this, checked) || this;
6575
6883
  if (stdErr && stdErr.length) {
6576
- for (var _i = 0, _a = stdErr.split(EOL); _i < _a.length; _i++) {
6884
+ for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6577
6885
  var errLine = _a[_i];
6578
6886
  var match = /([a-zA-Z]:\\(?:[- \w\.\d]+\\)*(?:[- \w\.\d]+)?|(?:\/[\w\.\-]+)+)\((\d*),(\d*)\) ?: ?(error|warning|info) C(\d*) ?: ?(.*)/.exec(errLine);
6579
6887
  if (match) {
@@ -6594,7 +6902,7 @@ var EclccErrors = /** @class */ (function (_super) {
6594
6902
  if (match) {
6595
6903
  continue;
6596
6904
  }
6597
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6905
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6598
6906
  _this.errOther.push(errLine);
6599
6907
  }
6600
6908
  }
@@ -6607,16 +6915,16 @@ var EnvchkErrors = /** @class */ (function (_super) {
6607
6915
  __extends(EnvchkErrors, _super);
6608
6916
  function EnvchkErrors(filePath, stdErr, checked) {
6609
6917
  var _this = _super.call(this, checked) || this;
6610
- var content = readFileSync(filePath, "utf8");
6918
+ var content = fs.readFileSync(filePath, "utf8");
6611
6919
  content = content.replace(/\r\n/g, "\n");
6612
6920
  _this._lines = content.split("\n");
6613
6921
  if (stdErr && stdErr.length) {
6614
- for (var _i = 0, _a = stdErr.split(EOL); _i < _a.length; _i++) {
6922
+ for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6615
6923
  var errLine = _a[_i];
6616
6924
  var match = /(Warning|Error) : Path\=(\S*?)(\[\S*\])? Message\=(.*)/.exec(errLine);
6617
6925
  if (match) {
6618
6926
  var severity = match[1], _path = match[2], _attr = match[3], _msg = match[4];
6619
- var msg = _path + " " + (_attr ? _attr : "") + ": " + _msg;
6927
+ var msg = "".concat(_path, " ").concat(_attr ? _attr : "", ": ").concat(_msg);
6620
6928
  var _b = _this.locate(_path), line = _b[0], col = _b[1];
6621
6929
  _this.errWarn.push({ filePath: filePath, line: line, col: col, msg: msg, severity: severity });
6622
6930
  continue;
@@ -6624,7 +6932,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6624
6932
  if (match) {
6625
6933
  continue;
6626
6934
  }
6627
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6935
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6628
6936
  _this.errOther.push(errLine);
6629
6937
  }
6630
6938
  }
@@ -6655,7 +6963,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6655
6963
  };
6656
6964
  return EnvchkErrors;
6657
6965
  }(Errors));
6658
- function walkXmlJson$1(node, callback, stack) {
6966
+ function walkXmlJson(node, callback, stack) {
6659
6967
  stack = stack || [];
6660
6968
  stack.push(node);
6661
6969
  for (var key in node) {
@@ -6664,11 +6972,11 @@ function walkXmlJson$1(node, callback, stack) {
6664
6972
  callback(key, childNode, stack);
6665
6973
  if (childNode instanceof Array) {
6666
6974
  childNode.forEach(function (child) {
6667
- walkXmlJson$1(child, callback, stack);
6975
+ walkXmlJson(child, callback, stack);
6668
6976
  });
6669
6977
  }
6670
6978
  else if (typeof childNode === "object") {
6671
- walkXmlJson$1(childNode, callback, stack);
6979
+ walkXmlJson(childNode, callback, stack);
6672
6980
  }
6673
6981
  }
6674
6982
  }
@@ -6682,7 +6990,7 @@ var LocalWorkunit = /** @class */ (function () {
6682
6990
  var retVal = [];
6683
6991
  if (exists("W_LOCAL.Graphs", this.jsonWU)) {
6684
6992
  var id_1 = "";
6685
- walkXmlJson$1(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6993
+ walkXmlJson(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6686
6994
  if (key === "$" && item.id) {
6687
6995
  id_1 = item.id;
6688
6996
  }
@@ -6711,10 +7019,10 @@ var ClientTools = /** @class */ (function () {
6711
7019
  if (args === void 0) { args = []; }
6712
7020
  this._paths = {};
6713
7021
  this.eclccPath = eclccPath;
6714
- this.binPath = dirname(this.eclccPath);
6715
- this.envchkPath = join$1(this.binPath, "envchk" + exeExt);
6716
- this.eclBundlePath = join$1(this.binPath, "ecl-bundle" + exeExt);
6717
- this.cwd = normalize(cwd || this.binPath);
7022
+ this.binPath = path.dirname(this.eclccPath);
7023
+ this.envchkPath = path.join(this.binPath, "envchk" + exeExt);
7024
+ this.eclBundlePath = path.join(this.binPath, "ecl-bundle" + exeExt);
7025
+ this.cwd = path.normalize(cwd || this.binPath);
6718
7026
  this.includeFolders = includeFolders;
6719
7027
  this._legacyMode = legacyMode;
6720
7028
  this._args = args;
@@ -6727,7 +7035,7 @@ var ClientTools = /** @class */ (function () {
6727
7035
  };
6728
7036
  ClientTools.prototype.exists = function (filePath) {
6729
7037
  try {
6730
- accessSync(filePath);
7038
+ fs.accessSync(filePath);
6731
7039
  return true;
6732
7040
  }
6733
7041
  catch (e) { }
@@ -6735,12 +7043,12 @@ var ClientTools = /** @class */ (function () {
6735
7043
  };
6736
7044
  ClientTools.prototype.args = function (additionalItems) {
6737
7045
  if (additionalItems === void 0) { additionalItems = []; }
6738
- var retVal = __spreadArray([], this._args);
7046
+ var retVal = __spreadArray([], this._args, true);
6739
7047
  if (this._legacyMode) {
6740
7048
  retVal.push("-legacy");
6741
7049
  }
6742
7050
  return retVal.concat(this.includeFolders.map(function (includePath) {
6743
- return "-I" + normalize(includePath);
7051
+ return "-I" + path.normalize(includePath);
6744
7052
  })).concat(additionalItems);
6745
7053
  };
6746
7054
  ClientTools.prototype.version = function () {
@@ -6748,7 +7056,7 @@ var ClientTools = /** @class */ (function () {
6748
7056
  if (this._version) {
6749
7057
  return Promise.resolve(this._version);
6750
7058
  }
6751
- return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7059
+ return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6752
7060
  _this._version = new Version(response.stdout);
6753
7061
  return _this._version;
6754
7062
  });
@@ -6758,7 +7066,7 @@ var ClientTools = /** @class */ (function () {
6758
7066
  };
6759
7067
  ClientTools.prototype.paths = function () {
6760
7068
  var _this = this;
6761
- return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7069
+ return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6762
7070
  if (response && response.stdout && response.stdout.length) {
6763
7071
  var paths = response.stdout.split(/\r?\n/);
6764
7072
  for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
@@ -6774,20 +7082,20 @@ var ClientTools = /** @class */ (function () {
6774
7082
  };
6775
7083
  ClientTools.prototype.loadXMLDoc = function (filePath, removeOnRead) {
6776
7084
  return new Promise(function (resolve, _reject) {
6777
- var fileData = readFileSync(filePath, "ascii");
7085
+ var fileData = fs.readFileSync(filePath, "ascii");
6778
7086
  var retVal = xml2json(fileData);
6779
7087
  if (removeOnRead) {
6780
- unlink(filePath, function (err) { });
7088
+ fs.unlink(filePath, function (err) { });
6781
7089
  }
6782
7090
  resolve(retVal);
6783
7091
  });
6784
7092
  };
6785
7093
  ClientTools.prototype.createWU = function (filename) {
6786
7094
  var _this = this;
6787
- var tmpName = tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
7095
+ var tmpName = tmp.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
6788
7096
  var args = ["-o" + tmpName, "-wu"].concat([filename]);
6789
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (_response) {
6790
- var xmlPath = normalize(tmpName + ".xml");
7097
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (_response) {
7098
+ var xmlPath = path.normalize(tmpName + ".xml");
6791
7099
  var contentPromise = _this.exists(xmlPath) ? _this.loadXMLDoc(xmlPath, true) : Promise.resolve({});
6792
7100
  return contentPromise.then(function (content) {
6793
7101
  return new LocalWorkunit(content);
@@ -6796,7 +7104,7 @@ var ClientTools = /** @class */ (function () {
6796
7104
  };
6797
7105
  ClientTools.prototype.createArchive = function (filename) {
6798
7106
  var args = ["-E"].concat([filename]);
6799
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7107
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
6800
7108
  return {
6801
7109
  content: response.stdout,
6802
7110
  err: new EclccErrors(response.stderr, [])
@@ -6809,7 +7117,7 @@ var ClientTools = /** @class */ (function () {
6809
7117
  ClientTools.prototype.fetchMeta = function (filePath) {
6810
7118
  return Promise.all([
6811
7119
  attachWorkspace(this.cwd),
6812
- this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find " + this.eclccPath)
7120
+ this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find ".concat(this.eclccPath))
6813
7121
  ]).then(function (_a) {
6814
7122
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6815
7123
  if (execFileResponse && execFileResponse.stdout && execFileResponse.stdout.length) {
@@ -6822,7 +7130,7 @@ var ClientTools = /** @class */ (function () {
6822
7130
  if (args === void 0) { args = ["-syntax"]; }
6823
7131
  return Promise.all([
6824
7132
  attachWorkspace(this.cwd),
6825
- this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), ["-M", filePath])), "eclcc", "Cannot find " + this.eclccPath)
7133
+ this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), ["-M", filePath], false)), "eclcc", "Cannot find ".concat(this.eclccPath))
6826
7134
  ]).then(function (_a) {
6827
7135
  var metaWorkspace = _a[0], execFileResponse = _a[1];
6828
7136
  var checked = [];
@@ -6836,9 +7144,9 @@ var ClientTools = /** @class */ (function () {
6836
7144
  if (args === void 0) { args = []; }
6837
7145
  return Promise.all([
6838
7146
  attachWorkspace(this.cwd),
6839
- this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), [filePath])), "envchk", "Cannot find " + this.envchkPath)
7147
+ this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), [filePath], false)), "envchk", "Cannot find ".concat(this.envchkPath))
6840
7148
  ]).then(function (_a) {
6841
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7149
+ _a[0]; var execFileResponse = _a[1];
6842
7150
  return new EnvchkErrors(filePath, execFileResponse ? execFileResponse.stderr : "", []);
6843
7151
  });
6844
7152
  };
@@ -6861,13 +7169,13 @@ var ClientTools = /** @class */ (function () {
6861
7169
  }
6862
7170
  return retVal;
6863
7171
  }),
6864
- this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7172
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6865
7173
  .then(function (installedText) {
6866
7174
  return tidyCRLF(installedText.stdout).split("\n");
6867
7175
  }).then(function (installedItems) {
6868
7176
  var allProps = {};
6869
7177
  return Promise.all(installedItems.filter(function (ii) { return !!ii; }).map(function (ii) {
6870
- return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find " + _this.eclBundlePath)
7178
+ return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find ".concat(_this.eclBundlePath))
6871
7179
  .then(function (infoText) {
6872
7180
  return tidyCRLF(infoText.stdout).split("\n");
6873
7181
  }).then(function (info) {
@@ -6907,25 +7215,25 @@ var ClientTools = /** @class */ (function () {
6907
7215
  ClientTools.prototype.bundleInstall = function (bundleUrl) {
6908
7216
  return Promise.all([
6909
7217
  attachWorkspace(this.cwd),
6910
- this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7218
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6911
7219
  ]).then(function (_a) {
6912
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7220
+ _a[0]; var execFileResponse = _a[1];
6913
7221
  return execFileResponse;
6914
7222
  });
6915
7223
  };
6916
7224
  ClientTools.prototype.bundleUninstall = function (name) {
6917
7225
  return Promise.all([
6918
7226
  attachWorkspace(this.cwd),
6919
- this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7227
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
6920
7228
  ]).then(function (_a) {
6921
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7229
+ _a[0]; var execFileResponse = _a[1];
6922
7230
  return execFileResponse;
6923
7231
  });
6924
7232
  };
6925
7233
  ClientTools.prototype.execFile = function (cmd, cwd, args, _toolName, _notFoundError) {
6926
7234
  return new Promise(function (resolve, _reject) {
6927
- logger$3.debug(cmd + " " + args.join(" "));
6928
- var child = spawn(cmd, args, { cwd: cwd });
7235
+ logger.debug("".concat(cmd, " ").concat(args.join(" ")));
7236
+ var child = cp.spawn(cmd, args, { cwd: cwd });
6929
7237
  var stdOut = "";
6930
7238
  var stdErr = "";
6931
7239
  child.stdout.on("data", function (data) {
@@ -6947,18 +7255,18 @@ var ClientTools = /** @class */ (function () {
6947
7255
  }());
6948
7256
  function locateClientToolsInFolder(rootFolder, clientTools) {
6949
7257
  if (rootFolder) {
6950
- var hpccSystemsFolder_1 = join$1(rootFolder, "HPCCSystems");
6951
- if (existsSync(hpccSystemsFolder_1) && statSync(hpccSystemsFolder_1).isDirectory()) {
6952
- if (type() !== "Windows_NT") {
6953
- var eclccPath = join$1(hpccSystemsFolder_1, "bin", "eclcc");
6954
- if (existsSync(eclccPath)) {
7258
+ var hpccSystemsFolder_1 = path.join(rootFolder, "HPCCSystems");
7259
+ if (fs.existsSync(hpccSystemsFolder_1) && fs.statSync(hpccSystemsFolder_1).isDirectory()) {
7260
+ if (os.type() !== "Windows_NT") {
7261
+ var eclccPath = path.join(hpccSystemsFolder_1, "bin", "eclcc");
7262
+ if (fs.existsSync(eclccPath)) {
6955
7263
  clientTools.push(new ClientTools(eclccPath));
6956
7264
  }
6957
7265
  }
6958
- readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
6959
- var eclccPath = join$1(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
6960
- if (existsSync(eclccPath)) {
6961
- var name_1 = basename(versionFolder);
7266
+ fs.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
7267
+ var eclccPath = path.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
7268
+ if (fs.existsSync(eclccPath)) {
7269
+ var name_1 = path.basename(versionFolder);
6962
7270
  var version = new Version(name_1);
6963
7271
  if (version.exists()) {
6964
7272
  clientTools.push(new ClientTools(eclccPath));
@@ -6973,7 +7281,7 @@ function locateAllClientTools() {
6973
7281
  if (allClientToolsCache)
6974
7282
  return allClientToolsCache;
6975
7283
  var clientTools = [];
6976
- switch (type()) {
7284
+ switch (os.type()) {
6977
7285
  case "Windows_NT":
6978
7286
  var rootFolder86 = process.env["ProgramFiles(x86)"] || "";
6979
7287
  if (rootFolder86) {
@@ -7002,9 +7310,9 @@ function locateAllClientTools() {
7002
7310
  }
7003
7311
  var eclccPathMsg = "";
7004
7312
  function logEclccPath(eclccPath) {
7005
- var msg = "Using eclccPath setting: " + eclccPath;
7313
+ var msg = "Using eclccPath setting: ".concat(eclccPath);
7006
7314
  if (eclccPathMsg !== msg) {
7007
- logger$3.info(msg);
7315
+ logger.info(msg);
7008
7316
  eclccPathMsg = msg;
7009
7317
  }
7010
7318
  }
@@ -7015,7 +7323,7 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7015
7323
  if (includeFolders === void 0) { includeFolders = []; }
7016
7324
  if (legacyMode === void 0) { legacyMode = false; }
7017
7325
  if (args === void 0) { args = []; }
7018
- if (overridePath && existsSync(overridePath)) {
7326
+ if (overridePath && fs.existsSync(overridePath)) {
7019
7327
  logEclccPath(overridePath);
7020
7328
  return Promise.resolve(new ClientTools(overridePath, cwd, includeFolders, legacyMode, args));
7021
7329
  }
@@ -7052,28 +7360,28 @@ if (typeof root.fetch === "undefined") {
7052
7360
  if (typeof root.AbortController === "undefined") {
7053
7361
  root.AbortController = AbortController;
7054
7362
  }
7055
- root.fetch.__rejectUnauthorizedAgent = new Agent({
7363
+ root.fetch.__rejectUnauthorizedAgent = new https.Agent({
7056
7364
  rejectUnauthorized: false
7057
7365
  });
7058
7366
  var globalCA = "";
7059
- if (globalAgent.options.ca !== undefined) {
7060
- if (Array.isArray(globalAgent.options.ca) && globalAgent.options.ca.length) {
7061
- if (typeof globalAgent.options.ca[0] === "string") {
7062
- globalCA = globalAgent.options.ca.join("\n");
7367
+ if (https.globalAgent.options.ca !== undefined) {
7368
+ if (Array.isArray(https.globalAgent.options.ca) && https.globalAgent.options.ca.length) {
7369
+ if (typeof https.globalAgent.options.ca[0] === "string") {
7370
+ globalCA = https.globalAgent.options.ca.join("\n");
7063
7371
  }
7064
- else if (globalAgent.options.ca[0] instanceof Buffer) {
7065
- globalCA = globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7372
+ else if (https.globalAgent.options.ca[0] instanceof Buffer) {
7373
+ globalCA = https.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7066
7374
  }
7067
7375
  }
7068
- else if (typeof globalAgent.options.ca === "string") {
7069
- globalCA = globalAgent.options.ca;
7376
+ else if (typeof https.globalAgent.options.ca === "string") {
7377
+ globalCA = https.globalAgent.options.ca;
7070
7378
  }
7071
- else if (globalAgent.options.ca instanceof Buffer) {
7072
- globalCA = globalAgent.options.ca.toString();
7379
+ else if (https.globalAgent.options.ca instanceof Buffer) {
7380
+ globalCA = https.globalAgent.options.ca.toString();
7073
7381
  }
7074
7382
  globalCA += "\n";
7075
7383
  }
7076
- root.fetch.__trustwaveAgent = new Agent({
7384
+ root.fetch.__trustwaveAgent = new https.Agent({
7077
7385
  ca: globalCA + trustwave
7078
7386
  });
7079
7387
  if (typeof root.btoa === "undefined") {
@@ -7082,5 +7390,5 @@ if (typeof root.btoa === "undefined") {
7082
7390
  };
7083
7391
  }
7084
7392
 
7085
- export { AccountService, Activity, Attr, Attribute, BUILD_VERSION, BaseScope, ClientTools, CodesignService, Connection, DFUService, DFUXRefService, Definition, ECLGraph, ECLScope, ESPConnection, ESPExceptions, EclService, EclccErrors, EnvchkErrors, Errors, Field, File, Folder, GlobalResultCache, GraphCache, Import, LocalWorkunit, LogicalFile, LogicalFileCache, Machine, MachineCache, MachineService, PKG_NAME, PKG_VERSION, Query, Resource, Result, ResultCache, SMCService, Scope, ScopeEdge, ScopeGraph, ScopeSubgraph, ScopeVertex, Service, Source, SourceFile, Store, StoreCache, StoreService, TargetCluster, TargetClusterCache, Timer, Topology, TopologyCache, TopologyService, TpLogicalClusterQuery, ValueChangedMessage, Version, WUStateID, WUUpdate, Workspace, Workunit, WorkunitCache, WorkunitsService, XGMMLEdge, XGMMLGraph, XGMMLSubgraph, XGMMLVertex, XSDNode, XSDSchema, XSDSimpleType, XSDXMLNode, attachWorkspace, createConnection, createGraph, createXGMMLGraph, defaultTargetCluster, deserializeResponse, get, hookSend, instanceOfIConnection, instanceOfIOptions, isArray, isECLResult, isExceptions, isWUInfoWorkunit, isWUQueryECLWorkunit, jsonp, locateAllClientTools, locateClientTools, parseXSD, parseXSD2, post, qualifiedIDBoundary, send, serializeRequest, setTransportFactory, targetClusters, walkXmlJson$1 as walkXmlJson };
7393
+ export { AccessService, AccountService, Activity, Attr, Attribute, BUILD_VERSION, BaseScope, ClientTools, CodesignService, Connection, DFUService, DFUXRefService, Definition, ECLGraph, ECLScope, ESPConnection, ESPExceptions, EclService, EclccErrors, EnvchkErrors, Errors, Field, File, Folder, GlobalResultCache, GraphCache, Import, LocalWorkunit, LogaccessService, LogicalFile, LogicalFileCache, Machine, MachineCache, MachineService, PKG_NAME, PKG_VERSION, Query, Resource, ResourcesService, Result, ResultCache, SMCService, Scope, ScopeEdge, ScopeGraph, ScopeSubgraph, ScopeVertex, Service, Source, SourceFile, Store, StoreCache, StoreService, TargetCluster, TargetClusterCache, Timer, Topology, TopologyCache, TopologyService, TpLogicalClusterQuery, ValueChangedMessage, Version, WUStateID$1 as WUStateID, WUUpdate, Workspace, Workunit, WorkunitCache, WorkunitsService, XGMMLEdge, XGMMLGraph, XGMMLSubgraph, XGMMLVertex, XSDNode, XSDSchema, XSDSimpleType, XSDXMLNode, attachWorkspace, createConnection, createGraph, createXGMMLGraph, defaultTargetCluster, deserializeResponse, get, hookSend, instanceOfIConnection, instanceOfIOptions, isArray, isECLResult, isExceptions, isWUInfoWorkunit, isWUQueryECLWorkunit, jsonp, locateAllClientTools, locateClientTools, parseXSD, parseXSD2, post, qualifiedIDBoundary, send, serializeRequest, setTransportFactory, targetClusters, walkXmlJson };
7086
7394
  //# sourceMappingURL=index.es6.js.map