@hpcc-js/comms 2.72.0 → 2.74.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/index.es6.js +316 -311
  2. package/dist/index.es6.js.map +1 -1
  3. package/dist/index.js +240 -212
  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 +337 -291
  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/__package__.js.map +1 -1
  13. package/lib-es6/__tests__/https.js +2 -2
  14. package/lib-es6/__tests__/https.js.map +1 -1
  15. package/lib-es6/__tests__/workunit.js +1 -1
  16. package/lib-es6/__tests__/workunit.js.map +1 -1
  17. package/lib-es6/clienttools/eclMeta.js +4 -4
  18. package/lib-es6/clienttools/eclMeta.js.map +1 -1
  19. package/lib-es6/clienttools/eclcc.js +18 -19
  20. package/lib-es6/clienttools/eclcc.js.map +1 -1
  21. package/lib-es6/connection.js +6 -6
  22. package/lib-es6/connection.js.map +1 -1
  23. package/lib-es6/ecl/graph.js +5 -5
  24. package/lib-es6/ecl/graph.js.map +1 -1
  25. package/lib-es6/ecl/logicalFile.js +2 -2
  26. package/lib-es6/ecl/logicalFile.js.map +1 -1
  27. package/lib-es6/ecl/machine.js +3 -3
  28. package/lib-es6/ecl/machine.js.map +1 -1
  29. package/lib-es6/ecl/result.js +1 -1
  30. package/lib-es6/ecl/result.js.map +1 -1
  31. package/lib-es6/ecl/scope.js +5 -5
  32. package/lib-es6/ecl/scope.js.map +1 -1
  33. package/lib-es6/ecl/store.js +4 -4
  34. package/lib-es6/ecl/store.js.map +1 -1
  35. package/lib-es6/ecl/targetCluster.js +6 -6
  36. package/lib-es6/ecl/targetCluster.js.map +1 -1
  37. package/lib-es6/ecl/topology.js +1 -1
  38. package/lib-es6/ecl/topology.js.map +1 -1
  39. package/lib-es6/ecl/workunit.js +4 -4
  40. package/lib-es6/ecl/workunit.js.map +1 -1
  41. package/lib-es6/espConnection.js +1 -1
  42. package/lib-es6/espConnection.js.map +1 -1
  43. package/lib-es6/services/wsAccess.js +7 -7
  44. package/lib-es6/services/wsAccess.js.map +1 -1
  45. package/lib-es6/services/wsDali.js +11 -0
  46. package/lib-es6/services/wsDali.js.map +1 -0
  47. package/lib-es6/services/wsEcl.js +3 -3
  48. package/lib-es6/services/wsEcl.js.map +1 -1
  49. package/lib-es6/services/wsLogaccess.js +7 -7
  50. package/lib-es6/services/wsLogaccess.js.map +1 -1
  51. package/lib-es6/services/wsMachine.js +13 -9
  52. package/lib-es6/services/wsMachine.js.map +1 -1
  53. package/lib-es6/services/wsResources.js +7 -7
  54. package/lib-es6/services/wsResources.js.map +1 -1
  55. package/lib-es6/services/wsdl/WsDali/v1.04/WsDali.js +68 -0
  56. package/lib-es6/services/wsdl/WsDali/v1.04/WsDali.js.map +1 -0
  57. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js +8 -8
  58. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js.map +1 -1
  59. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js +58 -58
  60. package/lib-es6/services/wsdl/ws_access/v1.16/ws_access.js.map +1 -1
  61. package/lib-es6/services/wsdl/{WsLogaccess/v1/WsLogaccess.js → ws_logaccess/v1/ws_logaccess.js} +10 -10
  62. package/lib-es6/services/wsdl/ws_logaccess/v1/ws_logaccess.js.map +1 -0
  63. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js +15 -15
  64. package/lib-es6/services/wsdl/ws_machine/v1.17/ws_machine.js.map +1 -1
  65. package/package.json +17 -35
  66. package/src/__package__.ts +2 -2
  67. package/src/__tests__/https.ts +2 -2
  68. package/src/__tests__/workunit.ts +1 -1
  69. package/src/clienttools/eclcc.ts +0 -1
  70. package/src/ecl/graph.ts +5 -5
  71. package/src/ecl/machine.ts +6 -6
  72. package/src/ecl/targetCluster.ts +5 -5
  73. package/src/ecl/topology.ts +1 -1
  74. package/src/services/wsAccess.ts +2 -2
  75. package/src/services/wsDali.ts +8 -0
  76. package/src/services/wsLogaccess.ts +2 -2
  77. package/src/services/wsMachine.ts +7 -4
  78. package/src/services/wsResources.ts +2 -2
  79. package/src/services/wsdl/WsDali/v1.04/WsDali.ts +213 -0
  80. package/src/services/wsdl/WsResources/v1.01/WsResources.ts +1 -1
  81. package/src/services/wsdl/ws_access/v1.16/ws_access.ts +1 -1
  82. package/src/services/wsdl/{WsLogaccess/v1/WsLogaccess.ts → ws_logaccess/v1/ws_logaccess.ts} +3 -3
  83. package/src/services/wsdl/ws_machine/v1.17/ws_machine.ts +1 -1
  84. package/types/__package__.d.ts +2 -2
  85. package/types/__package__.d.ts.map +1 -1
  86. package/types/clienttools/eclcc.d.ts.map +1 -1
  87. package/types/ecl/activity.d.ts +1 -1
  88. package/types/ecl/activity.d.ts.map +1 -1
  89. package/types/ecl/machine.d.ts +3 -3
  90. package/types/ecl/machine.d.ts.map +1 -1
  91. package/types/ecl/targetCluster.d.ts +2 -2
  92. package/types/ecl/targetCluster.d.ts.map +1 -1
  93. package/types/ecl/topology.d.ts.map +1 -1
  94. package/types/services/wsAccess.d.ts +2 -2
  95. package/types/services/wsAccess.d.ts.map +1 -1
  96. package/types/services/wsDali.d.ts +5 -0
  97. package/types/services/wsDali.d.ts.map +1 -0
  98. package/types/services/wsLogaccess.d.ts +2 -2
  99. package/types/services/wsLogaccess.d.ts.map +1 -1
  100. package/types/services/wsMachine.d.ts +3 -3
  101. package/types/services/wsMachine.d.ts.map +1 -1
  102. package/types/services/wsResources.d.ts +2 -2
  103. package/types/services/wsResources.d.ts.map +1 -1
  104. package/types/services/wsdl/WsDali/v1.04/WsDali.d.ts +122 -0
  105. package/types/services/wsdl/WsDali/v1.04/WsDali.d.ts.map +1 -0
  106. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts +1 -1
  107. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts.map +1 -1
  108. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts +1 -1
  109. package/types/services/wsdl/ws_access/v1.16/ws_access.d.ts.map +1 -1
  110. package/types/services/wsdl/{WsLogaccess/v1/WsLogaccess.d.ts → ws_logaccess/v1/ws_logaccess.d.ts} +3 -3
  111. package/types/services/wsdl/ws_logaccess/v1/ws_logaccess.d.ts.map +1 -0
  112. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +1 -1
  113. package/types/services/wsdl/ws_machine/v1.17/ws_machine.d.ts.map +1 -1
  114. package/types-3.4/__package__.d.ts +2 -2
  115. package/types-3.4/ecl/activity.d.ts +1 -1
  116. package/types-3.4/ecl/machine.d.ts +3 -3
  117. package/types-3.4/ecl/targetCluster.d.ts +2 -2
  118. package/types-3.4/services/wsAccess.d.ts +2 -2
  119. package/types-3.4/services/wsDali.d.ts +5 -0
  120. package/types-3.4/services/wsLogaccess.d.ts +2 -2
  121. package/types-3.4/services/wsMachine.d.ts +3 -3
  122. package/types-3.4/services/wsResources.d.ts +2 -2
  123. package/types-3.4/services/wsdl/WsDali/v1.04/WsDali.d.ts +122 -0
  124. package/types-3.4/services/wsdl/WsResources/v1.01/WsResources.d.ts +1 -1
  125. package/types-3.4/services/wsdl/ws_access/v1.16/ws_access.d.ts +1 -1
  126. package/types-3.4/services/wsdl/{WsLogaccess/v1/WsLogaccess.d.ts → ws_logaccess/v1/ws_logaccess.d.ts} +3 -3
  127. package/types-3.4/services/wsdl/ws_machine/v1.17/ws_machine.d.ts +1 -1
  128. package/lib-es6/services/wsdl/WsLogaccess/v1/WsLogaccess.js.map +0 -1
  129. package/types/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts.map +0 -1
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.72.0";
17
- var BUILD_VERSION = "2.101.2";
16
+ var PKG_VERSION = "2.74.0";
17
+ var BUILD_VERSION = "2.102.11";
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 = "";
@@ -524,180 +524,180 @@ var ResourceSortBy;
524
524
  (function (ResourceSortBy) {
525
525
  ResourceSortBy["Name"] = "Name";
526
526
  })(ResourceSortBy || (ResourceSortBy = {}));
527
- var AccessService = /** @class */ (function (_super) {
528
- __extends(AccessService, _super);
529
- function AccessService(optsConnection) {
527
+ var AccessServiceBase = /** @class */ (function (_super) {
528
+ __extends(AccessServiceBase, _super);
529
+ function AccessServiceBase(optsConnection) {
530
530
  return _super.call(this, optsConnection, "ws_access", "1.16") || this;
531
531
  }
532
- AccessService.prototype.AccountPermissions = function (request) {
532
+ AccessServiceBase.prototype.AccountPermissions = function (request) {
533
533
  return this._connection.send("AccountPermissions", request);
534
534
  };
535
- AccessService.prototype.AddUser = function (request) {
535
+ AccessServiceBase.prototype.AddUser = function (request) {
536
536
  return this._connection.send("AddUser", request);
537
537
  };
538
- AccessService.prototype.AddView = function (request) {
538
+ AccessServiceBase.prototype.AddView = function (request) {
539
539
  return this._connection.send("AddView", request);
540
540
  };
541
- AccessService.prototype.AddViewColumn = function (request) {
541
+ AccessServiceBase.prototype.AddViewColumn = function (request) {
542
542
  return this._connection.send("AddViewColumn", request);
543
543
  };
544
- AccessService.prototype.AddViewMember = function (request) {
544
+ AccessServiceBase.prototype.AddViewMember = function (request) {
545
545
  return this._connection.send("AddViewMember", request);
546
546
  };
547
- AccessService.prototype.ClearPermissionsCache = function (request) {
547
+ AccessServiceBase.prototype.ClearPermissionsCache = function (request) {
548
548
  return this._connection.send("ClearPermissionsCache", request);
549
549
  };
550
- AccessService.prototype.DeleteView = function (request) {
550
+ AccessServiceBase.prototype.DeleteView = function (request) {
551
551
  return this._connection.send("DeleteView", request);
552
552
  };
553
- AccessService.prototype.DeleteViewColumn = function (request) {
553
+ AccessServiceBase.prototype.DeleteViewColumn = function (request) {
554
554
  return this._connection.send("DeleteViewColumn", request);
555
555
  };
556
- AccessService.prototype.DeleteViewMember = function (request) {
556
+ AccessServiceBase.prototype.DeleteViewMember = function (request) {
557
557
  return this._connection.send("DeleteViewMember", request);
558
558
  };
559
- AccessService.prototype.DisableScopeScans = function (request) {
559
+ AccessServiceBase.prototype.DisableScopeScans = function (request) {
560
560
  return this._connection.send("DisableScopeScans", request);
561
561
  };
562
- AccessService.prototype.EnableScopeScans = function (request) {
562
+ AccessServiceBase.prototype.EnableScopeScans = function (request) {
563
563
  return this._connection.send("EnableScopeScans", request);
564
564
  };
565
- AccessService.prototype.FilePermission = function (request) {
565
+ AccessServiceBase.prototype.FilePermission = function (request) {
566
566
  return this._connection.send("FilePermission", request);
567
567
  };
568
- AccessService.prototype.GroupAction = function (request) {
568
+ AccessServiceBase.prototype.GroupAction = function (request) {
569
569
  return this._connection.send("GroupAction", request);
570
570
  };
571
- AccessService.prototype.GroupAdd = function (request) {
571
+ AccessServiceBase.prototype.GroupAdd = function (request) {
572
572
  return this._connection.send("GroupAdd", request);
573
573
  };
574
- AccessService.prototype.GroupEdit = function (request) {
574
+ AccessServiceBase.prototype.GroupEdit = function (request) {
575
575
  return this._connection.send("GroupEdit", request);
576
576
  };
577
- AccessService.prototype.GroupMemberEdit = function (request) {
577
+ AccessServiceBase.prototype.GroupMemberEdit = function (request) {
578
578
  return this._connection.send("GroupMemberEdit", request);
579
579
  };
580
- AccessService.prototype.GroupMemberEditInput = function (request) {
580
+ AccessServiceBase.prototype.GroupMemberEditInput = function (request) {
581
581
  return this._connection.send("GroupMemberEditInput", request);
582
582
  };
583
- AccessService.prototype.GroupMemberQuery = function (request) {
583
+ AccessServiceBase.prototype.GroupMemberQuery = function (request) {
584
584
  return this._connection.send("GroupMemberQuery", request);
585
585
  };
586
- AccessService.prototype.GroupQuery = function (request) {
586
+ AccessServiceBase.prototype.GroupQuery = function (request) {
587
587
  return this._connection.send("GroupQuery", request);
588
588
  };
589
- AccessService.prototype.Groups = function (request) {
589
+ AccessServiceBase.prototype.Groups = function (request) {
590
590
  return this._connection.send("Groups", request);
591
591
  };
592
- AccessService.prototype.PermissionAction = function (request) {
592
+ AccessServiceBase.prototype.PermissionAction = function (request) {
593
593
  return this._connection.send("PermissionAction", request);
594
594
  };
595
- AccessService.prototype.PermissionAddInput = function (request) {
595
+ AccessServiceBase.prototype.PermissionAddInput = function (request) {
596
596
  return this._connection.send("PermissionAddInput", request);
597
597
  };
598
- AccessService.prototype.Permissions = function (request) {
598
+ AccessServiceBase.prototype.Permissions = function (request) {
599
599
  return this._connection.send("Permissions", request);
600
600
  };
601
- AccessService.prototype.PermissionsReset = function (request) {
601
+ AccessServiceBase.prototype.PermissionsReset = function (request) {
602
602
  return this._connection.send("PermissionsReset", request);
603
603
  };
604
- AccessService.prototype.PermissionsResetInput = function (request) {
604
+ AccessServiceBase.prototype.PermissionsResetInput = function (request) {
605
605
  return this._connection.send("PermissionsResetInput", request);
606
606
  };
607
- AccessService.prototype.Ping = function (request) {
607
+ AccessServiceBase.prototype.Ping = function (request) {
608
608
  return this._connection.send("Ping", request);
609
609
  };
610
- AccessService.prototype.QueryScopeScansEnabled = function (request) {
610
+ AccessServiceBase.prototype.QueryScopeScansEnabled = function (request) {
611
611
  return this._connection.send("QueryScopeScansEnabled", request);
612
612
  };
613
- AccessService.prototype.QueryUserViewColumns = function (request) {
613
+ AccessServiceBase.prototype.QueryUserViewColumns = function (request) {
614
614
  return this._connection.send("QueryUserViewColumns", request);
615
615
  };
616
- AccessService.prototype.QueryViewColumns = function (request) {
616
+ AccessServiceBase.prototype.QueryViewColumns = function (request) {
617
617
  return this._connection.send("QueryViewColumns", request);
618
618
  };
619
- AccessService.prototype.QueryViewMembers = function (request) {
619
+ AccessServiceBase.prototype.QueryViewMembers = function (request) {
620
620
  return this._connection.send("QueryViewMembers", request);
621
621
  };
622
- AccessService.prototype.QueryViews = function (request) {
622
+ AccessServiceBase.prototype.QueryViews = function (request) {
623
623
  return this._connection.send("QueryViews", request);
624
624
  };
625
- AccessService.prototype.ResourceAdd = function (request) {
625
+ AccessServiceBase.prototype.ResourceAdd = function (request) {
626
626
  return this._connection.send("ResourceAdd", request);
627
627
  };
628
- AccessService.prototype.ResourceAddInput = function (request) {
628
+ AccessServiceBase.prototype.ResourceAddInput = function (request) {
629
629
  return this._connection.send("ResourceAddInput", request);
630
630
  };
631
- AccessService.prototype.ResourceDelete = function (request) {
631
+ AccessServiceBase.prototype.ResourceDelete = function (request) {
632
632
  return this._connection.send("ResourceDelete", request);
633
633
  };
634
- AccessService.prototype.ResourcePermissionQuery = function (request) {
634
+ AccessServiceBase.prototype.ResourcePermissionQuery = function (request) {
635
635
  return this._connection.send("ResourcePermissionQuery", request);
636
636
  };
637
- AccessService.prototype.ResourcePermissions = function (request) {
637
+ AccessServiceBase.prototype.ResourcePermissions = function (request) {
638
638
  return this._connection.send("ResourcePermissions", request);
639
639
  };
640
- AccessService.prototype.ResourceQuery = function (request) {
640
+ AccessServiceBase.prototype.ResourceQuery = function (request) {
641
641
  return this._connection.send("ResourceQuery", request);
642
642
  };
643
- AccessService.prototype.Resources = function (request) {
643
+ AccessServiceBase.prototype.Resources = function (request) {
644
644
  return this._connection.send("Resources", request);
645
645
  };
646
- AccessService.prototype.UserAccountExport = function (request) {
646
+ AccessServiceBase.prototype.UserAccountExport = function (request) {
647
647
  return this._connection.send("UserAccountExport", request);
648
648
  };
649
- AccessService.prototype.UserAction = function (request) {
649
+ AccessServiceBase.prototype.UserAction = function (request) {
650
650
  return this._connection.send("UserAction", request);
651
651
  };
652
- AccessService.prototype.UserEdit = function (request) {
652
+ AccessServiceBase.prototype.UserEdit = function (request) {
653
653
  return this._connection.send("UserEdit", request);
654
654
  };
655
- AccessService.prototype.UserGroupEdit = function (request) {
655
+ AccessServiceBase.prototype.UserGroupEdit = function (request) {
656
656
  return this._connection.send("UserGroupEdit", request);
657
657
  };
658
- AccessService.prototype.UserGroupEditInput = function (request) {
658
+ AccessServiceBase.prototype.UserGroupEditInput = function (request) {
659
659
  return this._connection.send("UserGroupEditInput", request);
660
660
  };
661
- AccessService.prototype.UserInfoEdit = function (request) {
661
+ AccessServiceBase.prototype.UserInfoEdit = function (request) {
662
662
  return this._connection.send("UserInfoEdit", request);
663
663
  };
664
- AccessService.prototype.UserInfoEditInput = function (request) {
664
+ AccessServiceBase.prototype.UserInfoEditInput = function (request) {
665
665
  return this._connection.send("UserInfoEditInput", request);
666
666
  };
667
- AccessService.prototype.UserPosix = function (request) {
667
+ AccessServiceBase.prototype.UserPosix = function (request) {
668
668
  return this._connection.send("UserPosix", request);
669
669
  };
670
- AccessService.prototype.UserPosixInput = function (request) {
670
+ AccessServiceBase.prototype.UserPosixInput = function (request) {
671
671
  return this._connection.send("UserPosixInput", request);
672
672
  };
673
- AccessService.prototype.UserQuery = function (request) {
673
+ AccessServiceBase.prototype.UserQuery = function (request) {
674
674
  return this._connection.send("UserQuery", request);
675
675
  };
676
- AccessService.prototype.UserResetPass = function (request) {
676
+ AccessServiceBase.prototype.UserResetPass = function (request) {
677
677
  return this._connection.send("UserResetPass", request);
678
678
  };
679
- AccessService.prototype.UserResetPassInput = function (request) {
679
+ AccessServiceBase.prototype.UserResetPassInput = function (request) {
680
680
  return this._connection.send("UserResetPassInput", request);
681
681
  };
682
- AccessService.prototype.UserSudoers = function (request) {
682
+ AccessServiceBase.prototype.UserSudoers = function (request) {
683
683
  return this._connection.send("UserSudoers", request);
684
684
  };
685
- AccessService.prototype.UserSudoersInput = function (request) {
685
+ AccessServiceBase.prototype.UserSudoersInput = function (request) {
686
686
  return this._connection.send("UserSudoersInput", request);
687
687
  };
688
- AccessService.prototype.Users = function (request) {
688
+ AccessServiceBase.prototype.Users = function (request) {
689
689
  return this._connection.send("Users", request);
690
690
  };
691
- return AccessService;
691
+ return AccessServiceBase;
692
692
  }(Service));
693
693
 
694
- var AccessServiceEx = /** @class */ (function (_super) {
695
- __extends(AccessServiceEx, _super);
696
- function AccessServiceEx() {
694
+ var AccessService = /** @class */ (function (_super) {
695
+ __extends(AccessService, _super);
696
+ function AccessService() {
697
697
  return _super !== null && _super.apply(this, arguments) || this;
698
698
  }
699
- return AccessServiceEx;
700
- }(AccessService));
699
+ return AccessService;
700
+ }(AccessServiceBase));
701
701
 
702
702
  var AccountService = /** @class */ (function () {
703
703
  function AccountService(optsConnection) {
@@ -890,7 +890,7 @@ var EclService = /** @class */ (function (_super) {
890
890
  };
891
891
  EclService.prototype.requestJson = function (querySet, queryId) {
892
892
  // http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display
893
- 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) {
894
894
  var requestSchema = JSON.parse(response);
895
895
  for (var key in requestSchema) {
896
896
  return requestSchema[key];
@@ -900,7 +900,7 @@ var EclService = /** @class */ (function (_super) {
900
900
  };
901
901
  EclService.prototype.responseJson = function (querySet, queryId) {
902
902
  // http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display
903
- 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) {
904
904
  var responseSchema = JSON.parse(response);
905
905
  for (var key in responseSchema) {
906
906
  return responseSchema[key].Results;
@@ -916,7 +916,7 @@ var EclService = /** @class */ (function (_super) {
916
916
  };
917
917
  EclService.prototype.submit = function (querySet, queryId, request) {
918
918
  // http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json
919
- var action = "submit/query/" + querySet + "/" + queryId;
919
+ var action = "submit/query/".concat(querySet, "/").concat(queryId);
920
920
  return this._connection.send(action, request, "json2").then(function (response) {
921
921
  if (response.Results && response.Results.Exception) {
922
922
  throw new ESPExceptions(action, request, {
@@ -938,30 +938,30 @@ var LogAccessType;
938
938
  LogAccessType[LogAccessType["ByLogType"] = 3] = "ByLogType";
939
939
  LogAccessType[LogAccessType["ByTargetAudience"] = 4] = "ByTargetAudience";
940
940
  })(LogAccessType || (LogAccessType = {}));
941
- var LogaccessService = /** @class */ (function (_super) {
942
- __extends(LogaccessService, _super);
943
- function LogaccessService(optsConnection) {
944
- return _super.call(this, optsConnection, "WsLogaccess", "1") || this;
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
945
  }
946
- LogaccessService.prototype.GetLogAccessInfo = function (request) {
946
+ LogaccessServiceBase.prototype.GetLogAccessInfo = function (request) {
947
947
  return this._connection.send("GetLogAccessInfo", request);
948
948
  };
949
- LogaccessService.prototype.GetLogs = function (request) {
949
+ LogaccessServiceBase.prototype.GetLogs = function (request) {
950
950
  return this._connection.send("GetLogs", request);
951
951
  };
952
- LogaccessService.prototype.Ping = function (request) {
952
+ LogaccessServiceBase.prototype.Ping = function (request) {
953
953
  return this._connection.send("Ping", request);
954
954
  };
955
- return LogaccessService;
955
+ return LogaccessServiceBase;
956
956
  }(Service));
957
957
 
958
- var LogaccessServiceEx = /** @class */ (function (_super) {
959
- __extends(LogaccessServiceEx, _super);
960
- function LogaccessServiceEx() {
958
+ var LogaccessService = /** @class */ (function (_super) {
959
+ __extends(LogaccessService, _super);
960
+ function LogaccessService() {
961
961
  return _super !== null && _super.apply(this, arguments) || this;
962
962
  }
963
- return LogaccessServiceEx;
964
- }(LogaccessService));
963
+ return LogaccessService;
964
+ }(LogaccessServiceBase));
965
965
 
966
966
  function ascending(a, b) {
967
967
  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
@@ -999,7 +999,7 @@ function ascendingComparator(f) {
999
999
  };
1000
1000
  }
1001
1001
 
1002
- var ascendingBisect = bisector(ascending);
1002
+ bisector(ascending);
1003
1003
 
1004
1004
  function number(x) {
1005
1005
  return x === null ? NaN : +x;
@@ -1064,51 +1064,55 @@ function d3Mean(values, valueof) {
1064
1064
  if (m) return sum / m;
1065
1065
  }
1066
1066
 
1067
- var MachineService = /** @class */ (function (_super) {
1068
- __extends(MachineService, _super);
1069
- function MachineService(optsConnection) {
1067
+ var MachineServiceBase = /** @class */ (function (_super) {
1068
+ __extends(MachineServiceBase, _super);
1069
+ function MachineServiceBase(optsConnection) {
1070
1070
  return _super.call(this, optsConnection, "ws_machine", "1.17") || this;
1071
1071
  }
1072
- MachineService.prototype.GetComponentStatus = function (request) {
1072
+ MachineServiceBase.prototype.GetComponentStatus = function (request) {
1073
1073
  return this._connection.send("GetComponentStatus", request);
1074
1074
  };
1075
- MachineService.prototype.GetComponentUsage = function (request) {
1075
+ MachineServiceBase.prototype.GetComponentUsage = function (request) {
1076
1076
  return this._connection.send("GetComponentUsage", request);
1077
1077
  };
1078
- MachineService.prototype.GetMachineInfo = function (request) {
1078
+ MachineServiceBase.prototype.GetMachineInfo = function (request) {
1079
1079
  return this._connection.send("GetMachineInfo", request);
1080
1080
  };
1081
- MachineService.prototype.GetMachineInfoEx = function (request) {
1081
+ MachineServiceBase.prototype.GetMachineInfoEx = function (request) {
1082
1082
  return this._connection.send("GetMachineInfoEx", request);
1083
1083
  };
1084
- MachineService.prototype.GetMetrics = function (request) {
1084
+ MachineServiceBase.prototype.GetMetrics = function (request) {
1085
1085
  return this._connection.send("GetMetrics", request);
1086
1086
  };
1087
- MachineService.prototype.GetNodeGroupUsage = function (request) {
1087
+ MachineServiceBase.prototype.GetNodeGroupUsage = function (request) {
1088
1088
  return this._connection.send("GetNodeGroupUsage", request);
1089
1089
  };
1090
- MachineService.prototype.GetTargetClusterInfo = function (request) {
1090
+ MachineServiceBase.prototype.GetTargetClusterInfo = function (request) {
1091
1091
  return this._connection.send("GetTargetClusterInfo", request);
1092
1092
  };
1093
- MachineService.prototype.GetTargetClusterUsage = function (request) {
1093
+ MachineServiceBase.prototype.GetTargetClusterUsage = function (request) {
1094
1094
  return this._connection.send("GetTargetClusterUsage", request);
1095
1095
  };
1096
- MachineService.prototype.Ping = function (request) {
1096
+ MachineServiceBase.prototype.Ping = function (request) {
1097
1097
  return this._connection.send("Ping", request);
1098
1098
  };
1099
- MachineService.prototype.UpdateComponentStatus = function (request) {
1099
+ MachineServiceBase.prototype.UpdateComponentStatus = function (request) {
1100
1100
  return this._connection.send("UpdateComponentStatus", request);
1101
1101
  };
1102
- return MachineService;
1102
+ return MachineServiceBase;
1103
1103
  }(Service));
1104
1104
 
1105
- var MachineServiceEx = /** @class */ (function (_super) {
1106
- __extends(MachineServiceEx, _super);
1107
- function MachineServiceEx() {
1105
+ var MachineService = /** @class */ (function (_super) {
1106
+ __extends(MachineService, _super);
1107
+ function MachineService() {
1108
1108
  return _super !== null && _super.apply(this, arguments) || this;
1109
1109
  }
1110
- MachineServiceEx.prototype.GetTargetClusterUsageEx = function (request) {
1111
- return this._connection.send("GetTargetClusterUsage", request).then(function (response) {
1110
+ MachineService.prototype.GetTargetClusterUsageEx = function (targetClusters, bypassCachedResult) {
1111
+ if (bypassCachedResult === void 0) { bypassCachedResult = false; }
1112
+ return this._connection.send("GetTargetClusterUsage", {
1113
+ TargetClusters: targetClusters ? { Item: targetClusters } : {},
1114
+ BypassCachedResult: bypassCachedResult
1115
+ }).then(function (response) {
1112
1116
  return exists("TargetClusterUsages.TargetClusterUsage", response) ? response.TargetClusterUsages.TargetClusterUsage : [];
1113
1117
  }).then(function (response) {
1114
1118
  return response.filter(function (tcu) { return !!tcu.ComponentUsages; }).map(function (tcu) {
@@ -1147,33 +1151,33 @@ var MachineServiceEx = /** @class */ (function (_super) {
1147
1151
  });
1148
1152
  });
1149
1153
  };
1150
- return MachineServiceEx;
1151
- }(MachineService));
1154
+ return MachineService;
1155
+ }(MachineServiceBase));
1152
1156
 
1153
- var ResourcesService = /** @class */ (function (_super) {
1154
- __extends(ResourcesService, _super);
1155
- function ResourcesService(optsConnection) {
1157
+ var ResourcesServiceBase = /** @class */ (function (_super) {
1158
+ __extends(ResourcesServiceBase, _super);
1159
+ function ResourcesServiceBase(optsConnection) {
1156
1160
  return _super.call(this, optsConnection, "WsResources", "1.01") || this;
1157
1161
  }
1158
- ResourcesService.prototype.Ping = function (request) {
1162
+ ResourcesServiceBase.prototype.Ping = function (request) {
1159
1163
  return this._connection.send("Ping", request);
1160
1164
  };
1161
- ResourcesService.prototype.ServiceQuery = function (request) {
1165
+ ResourcesServiceBase.prototype.ServiceQuery = function (request) {
1162
1166
  return this._connection.send("ServiceQuery", request);
1163
1167
  };
1164
- ResourcesService.prototype.WebLinksQuery = function (request) {
1168
+ ResourcesServiceBase.prototype.WebLinksQuery = function (request) {
1165
1169
  return this._connection.send("WebLinksQuery", request);
1166
1170
  };
1167
- return ResourcesService;
1171
+ return ResourcesServiceBase;
1168
1172
  }(Service));
1169
1173
 
1170
- var ResourcesServiceEx = /** @class */ (function (_super) {
1171
- __extends(ResourcesServiceEx, _super);
1172
- function ResourcesServiceEx() {
1174
+ var ResourcesService = /** @class */ (function (_super) {
1175
+ __extends(ResourcesService, _super);
1176
+ function ResourcesService() {
1173
1177
  return _super !== null && _super.apply(this, arguments) || this;
1174
1178
  }
1175
- return ResourcesServiceEx;
1176
- }(ResourcesService));
1179
+ return ResourcesService;
1180
+ }(ResourcesServiceBase));
1177
1181
 
1178
1182
  var SMCService = /** @class */ (function () {
1179
1183
  function SMCService(optsConnection) {
@@ -1279,12 +1283,11 @@ var StoreService = /** @class */ (function (_super) {
1279
1283
  */
1280
1284
  var TpLogicalClusterQuery;
1281
1285
  (function (TpLogicalClusterQuery) {
1282
- var RoxieQueueFilter;
1283
1286
  (function (RoxieQueueFilter) {
1284
1287
  RoxieQueueFilter["All"] = "All";
1285
1288
  RoxieQueueFilter["QueriesOnly"] = "QueriesOnly";
1286
1289
  RoxieQueueFilter["WorkunitsOnly"] = "WorkunitsOnly";
1287
- })(RoxieQueueFilter = TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1290
+ })(TpLogicalClusterQuery.RoxieQueueFilter || (TpLogicalClusterQuery.RoxieQueueFilter = {}));
1288
1291
  })(TpLogicalClusterQuery || (TpLogicalClusterQuery = {}));
1289
1292
  var TopologyService = /** @class */ (function (_super) {
1290
1293
  __extends(TopologyService, _super);
@@ -1346,7 +1349,7 @@ var TopologyService = /** @class */ (function (_super) {
1346
1349
  * http://localhost:8010/WsWorkunits/WUInfo?respjson_
1347
1350
  * http://json2ts.com/
1348
1351
  */
1349
- var WUStateID;
1352
+ var WUStateID$1;
1350
1353
  (function (WUStateID) {
1351
1354
  WUStateID[WUStateID["Unknown"] = 0] = "Unknown";
1352
1355
  WUStateID[WUStateID["Compiled"] = 1] = "Compiled";
@@ -1367,13 +1370,12 @@ var WUStateID;
1367
1370
  WUStateID[WUStateID["Paused"] = 16] = "Paused";
1368
1371
  WUStateID[WUStateID["LAST"] = 17] = "LAST";
1369
1372
  WUStateID[WUStateID["NotFound"] = 999] = "NotFound";
1370
- })(WUStateID || (WUStateID = {}));
1373
+ })(WUStateID$1 || (WUStateID$1 = {}));
1371
1374
  function isECLResult(_) {
1372
1375
  return typeof _.Name === "string";
1373
1376
  }
1374
1377
  var WUUpdate;
1375
1378
  (function (WUUpdate) {
1376
- var Action;
1377
1379
  (function (Action) {
1378
1380
  Action[Action["Unknown"] = 0] = "Unknown";
1379
1381
  Action[Action["Compile"] = 1] = "Compile";
@@ -1385,7 +1387,7 @@ var WUUpdate;
1385
1387
  Action[Action["Resume"] = 7] = "Resume";
1386
1388
  Action[Action["Debug"] = 8] = "Debug";
1387
1389
  Action[Action["__size"] = 9] = "__size";
1388
- })(Action = WUUpdate.Action || (WUUpdate.Action = {}));
1390
+ })(WUUpdate.Action || (WUUpdate.Action = {}));
1389
1391
  })(WUUpdate || (WUUpdate = {}));
1390
1392
  function isWUQueryECLWorkunit(_) {
1391
1393
  return _.TotalClusterTime !== undefined;
@@ -1587,6 +1589,8 @@ var day = newInterval(function(date) {
1587
1589
  return date.getDate() - 1;
1588
1590
  });
1589
1591
 
1592
+ var timeDay = day;
1593
+
1590
1594
  function weekday(i) {
1591
1595
  return newInterval(function(date) {
1592
1596
  date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);
@@ -1600,11 +1604,11 @@ function weekday(i) {
1600
1604
 
1601
1605
  var sunday = weekday(0);
1602
1606
  var monday = weekday(1);
1603
- var tuesday = weekday(2);
1604
- var wednesday = weekday(3);
1607
+ weekday(2);
1608
+ weekday(3);
1605
1609
  var thursday = weekday(4);
1606
- var friday = weekday(5);
1607
- var saturday = weekday(6);
1610
+ weekday(5);
1611
+ weekday(6);
1608
1612
 
1609
1613
  var year = newInterval(function(date) {
1610
1614
  date.setMonth(0, 1);
@@ -1628,6 +1632,8 @@ year.every = function(k) {
1628
1632
  });
1629
1633
  };
1630
1634
 
1635
+ var timeYear = year;
1636
+
1631
1637
  var utcDay = newInterval(function(date) {
1632
1638
  date.setUTCHours(0, 0, 0, 0);
1633
1639
  }, function(date, step) {
@@ -1638,6 +1644,8 @@ var utcDay = newInterval(function(date) {
1638
1644
  return date.getUTCDate() - 1;
1639
1645
  });
1640
1646
 
1647
+ var utcDay$1 = utcDay;
1648
+
1641
1649
  function utcWeekday(i) {
1642
1650
  return newInterval(function(date) {
1643
1651
  date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);
@@ -1651,11 +1659,11 @@ function utcWeekday(i) {
1651
1659
 
1652
1660
  var utcSunday = utcWeekday(0);
1653
1661
  var utcMonday = utcWeekday(1);
1654
- var utcTuesday = utcWeekday(2);
1655
- var utcWednesday = utcWeekday(3);
1662
+ utcWeekday(2);
1663
+ utcWeekday(3);
1656
1664
  var utcThursday = utcWeekday(4);
1657
- var utcFriday = utcWeekday(5);
1658
- var utcSaturday = utcWeekday(6);
1665
+ utcWeekday(5);
1666
+ utcWeekday(6);
1659
1667
 
1660
1668
  var utcYear = newInterval(function(date) {
1661
1669
  date.setUTCMonth(0, 1);
@@ -1679,6 +1687,8 @@ utcYear.every = function(k) {
1679
1687
  });
1680
1688
  };
1681
1689
 
1690
+ var utcYear$1 = utcYear;
1691
+
1682
1692
  function localDate(d) {
1683
1693
  if (0 <= d.y && d.y < 100) {
1684
1694
  var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);
@@ -1867,7 +1877,7 @@ function formatLocale(locale) {
1867
1877
  return function(string) {
1868
1878
  var d = newDate(1900, undefined, 1),
1869
1879
  i = parseSpecifier(d, specifier, string += "", 0),
1870
- week, day$1;
1880
+ week, day;
1871
1881
  if (i != string.length) return null;
1872
1882
 
1873
1883
  // If a UNIX timestamp is specified, return it.
@@ -1888,25 +1898,25 @@ function formatLocale(locale) {
1888
1898
  if (d.V < 1 || d.V > 53) return null;
1889
1899
  if (!("w" in d)) d.w = 1;
1890
1900
  if ("Z" in d) {
1891
- week = utcDate(newDate(d.y, 0, 1)), day$1 = week.getUTCDay();
1892
- week = day$1 > 4 || day$1 === 0 ? utcMonday.ceil(week) : utcMonday(week);
1893
- week = utcDay.offset(week, (d.V - 1) * 7);
1901
+ week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();
1902
+ week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);
1903
+ week = utcDay$1.offset(week, (d.V - 1) * 7);
1894
1904
  d.y = week.getUTCFullYear();
1895
1905
  d.m = week.getUTCMonth();
1896
1906
  d.d = week.getUTCDate() + (d.w + 6) % 7;
1897
1907
  } else {
1898
- week = localDate(newDate(d.y, 0, 1)), day$1 = week.getDay();
1899
- week = day$1 > 4 || day$1 === 0 ? monday.ceil(week) : monday(week);
1900
- week = day.offset(week, (d.V - 1) * 7);
1908
+ week = localDate(newDate(d.y, 0, 1)), day = week.getDay();
1909
+ week = day > 4 || day === 0 ? monday.ceil(week) : monday(week);
1910
+ week = timeDay.offset(week, (d.V - 1) * 7);
1901
1911
  d.y = week.getFullYear();
1902
1912
  d.m = week.getMonth();
1903
1913
  d.d = week.getDate() + (d.w + 6) % 7;
1904
1914
  }
1905
1915
  } else if ("W" in d || "U" in d) {
1906
1916
  if (!("w" in d)) d.w = "u" in d ? d.u % 7 : "W" in d ? 1 : 0;
1907
- day$1 = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1917
+ day = "Z" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();
1908
1918
  d.m = 0;
1909
- 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;
1919
+ d.d = "W" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;
1910
1920
  }
1911
1921
 
1912
1922
  // If a time zone is specified, all fields are interpreted as UTC and then
@@ -2192,7 +2202,7 @@ function formatHour12(d, p) {
2192
2202
  }
2193
2203
 
2194
2204
  function formatDayOfYear(d, p) {
2195
- return pad(1 + day.count(year(d), d), p, 3);
2205
+ return pad(1 + timeDay.count(timeYear(d), d), p, 3);
2196
2206
  }
2197
2207
 
2198
2208
  function formatMilliseconds(d, p) {
@@ -2221,7 +2231,7 @@ function formatWeekdayNumberMonday(d) {
2221
2231
  }
2222
2232
 
2223
2233
  function formatWeekNumberSunday(d, p) {
2224
- return pad(sunday.count(year(d) - 1, d), p, 2);
2234
+ return pad(sunday.count(timeYear(d) - 1, d), p, 2);
2225
2235
  }
2226
2236
 
2227
2237
  function dISO(d) {
@@ -2231,7 +2241,7 @@ function dISO(d) {
2231
2241
 
2232
2242
  function formatWeekNumberISO(d, p) {
2233
2243
  d = dISO(d);
2234
- return pad(thursday.count(year(d), d) + (year(d).getDay() === 4), p, 2);
2244
+ return pad(thursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);
2235
2245
  }
2236
2246
 
2237
2247
  function formatWeekdayNumberSunday(d) {
@@ -2239,7 +2249,7 @@ function formatWeekdayNumberSunday(d) {
2239
2249
  }
2240
2250
 
2241
2251
  function formatWeekNumberMonday(d, p) {
2242
- return pad(monday.count(year(d) - 1, d), p, 2);
2252
+ return pad(monday.count(timeYear(d) - 1, d), p, 2);
2243
2253
  }
2244
2254
 
2245
2255
  function formatYear(d, p) {
@@ -2281,7 +2291,7 @@ function formatUTCHour12(d, p) {
2281
2291
  }
2282
2292
 
2283
2293
  function formatUTCDayOfYear(d, p) {
2284
- return pad(1 + utcDay.count(utcYear(d), d), p, 3);
2294
+ return pad(1 + utcDay$1.count(utcYear$1(d), d), p, 3);
2285
2295
  }
2286
2296
 
2287
2297
  function formatUTCMilliseconds(d, p) {
@@ -2310,7 +2320,7 @@ function formatUTCWeekdayNumberMonday(d) {
2310
2320
  }
2311
2321
 
2312
2322
  function formatUTCWeekNumberSunday(d, p) {
2313
- return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);
2323
+ return pad(utcSunday.count(utcYear$1(d) - 1, d), p, 2);
2314
2324
  }
2315
2325
 
2316
2326
  function UTCdISO(d) {
@@ -2320,7 +2330,7 @@ function UTCdISO(d) {
2320
2330
 
2321
2331
  function formatUTCWeekNumberISO(d, p) {
2322
2332
  d = UTCdISO(d);
2323
- return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);
2333
+ return pad(utcThursday.count(utcYear$1(d), d) + (utcYear$1(d).getUTCDay() === 4), p, 2);
2324
2334
  }
2325
2335
 
2326
2336
  function formatUTCWeekdayNumberSunday(d) {
@@ -2328,7 +2338,7 @@ function formatUTCWeekdayNumberSunday(d) {
2328
2338
  }
2329
2339
 
2330
2340
  function formatUTCWeekNumberMonday(d, p) {
2331
- return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);
2341
+ return pad(utcMonday.count(utcYear$1(d) - 1, d), p, 2);
2332
2342
  }
2333
2343
 
2334
2344
  function formatUTCYear(d, p) {
@@ -2367,8 +2377,6 @@ function formatUnixTimestampSeconds(d) {
2367
2377
  }
2368
2378
 
2369
2379
  var locale;
2370
- var timeFormat;
2371
- var timeParse;
2372
2380
  var utcFormat;
2373
2381
  var utcParse;
2374
2382
 
@@ -2385,8 +2393,6 @@ defaultLocale({
2385
2393
 
2386
2394
  function defaultLocale(definition) {
2387
2395
  locale = formatLocale(definition);
2388
- timeFormat = locale.format;
2389
- timeParse = locale.parse;
2390
2396
  utcFormat = locale.utcFormat;
2391
2397
  utcParse = locale.utcParse;
2392
2398
  return locale;
@@ -2484,12 +2490,12 @@ var GraphCache = /** @class */ (function (_super) {
2484
2490
  }
2485
2491
  return GraphCache;
2486
2492
  }(Cache));
2487
- function walkXmlJson(node, callback, stack) {
2493
+ function walkXmlJson$1(node, callback, stack) {
2488
2494
  stack = stack || [];
2489
2495
  stack.push(node);
2490
2496
  callback(node.name, node.$, node.children(), stack);
2491
2497
  node.children().forEach(function (childNode) {
2492
- walkXmlJson(childNode, callback, stack);
2498
+ walkXmlJson$1(childNode, callback, stack);
2493
2499
  });
2494
2500
  stack.pop();
2495
2501
  }
@@ -2538,7 +2544,7 @@ function createXGMMLGraph(id, graphs) {
2538
2544
  return item._["id"];
2539
2545
  });
2540
2546
  var stack = [graph.root];
2541
- walkXmlJson(graphs, function (tag, attributes, childNodes, _stack) {
2547
+ walkXmlJson$1(graphs, function (tag, attributes, childNodes, _stack) {
2542
2548
  var top = stack[stack.length - 1];
2543
2549
  switch (tag) {
2544
2550
  case "graph":
@@ -2613,7 +2619,7 @@ function createGraph(scopes) {
2613
2619
  scopeStack.pop();
2614
2620
  }
2615
2621
  if (!scopeParent1) {
2616
- console.log("Missing SG:Parent (" + scope.Id + "): " + scope.parentScope());
2622
+ console.warn("Missing SG:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2617
2623
  }
2618
2624
  else {
2619
2625
  var parent1 = scopeParent1;
@@ -2623,7 +2629,7 @@ function createGraph(scopes) {
2623
2629
  case "activity":
2624
2630
  var scopeParent2 = subgraphs[scope.parentScope()];
2625
2631
  if (!scopeParent2) {
2626
- console.log("Missing A:Parent (" + scope.Id + "): " + scope.parentScope());
2632
+ console.warn("Missing A:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2627
2633
  }
2628
2634
  else {
2629
2635
  vertices[scope.ScopeName] = scopeParent2.createVertex(scope);
@@ -2635,7 +2641,7 @@ function createGraph(scopes) {
2635
2641
  case "function":
2636
2642
  var scopeParent3 = vertices[scope.parentScope()];
2637
2643
  if (!scopeParent3) {
2638
- console.log("Missing F:Parent (" + scope.Id + "): " + scope.parentScope());
2644
+ console.warn("Missing F:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2639
2645
  }
2640
2646
  else {
2641
2647
  scopeParent3._.children().push(scope);
@@ -2647,7 +2653,7 @@ function createGraph(scopes) {
2647
2653
  var scope = edges[id];
2648
2654
  var scopeParent3 = subgraphs[scope.parentScope()];
2649
2655
  if (!scopeParent3) {
2650
- console.log("Missing E:Parent (" + scope.Id + "): " + scope.parentScope());
2656
+ console.warn("Missing E:Parent (".concat(scope.Id, "): ").concat(scope.parentScope()));
2651
2657
  }
2652
2658
  else {
2653
2659
  var parent3 = scopeParent3;
@@ -2659,7 +2665,7 @@ function createGraph(scopes) {
2659
2665
  catch (e) {
2660
2666
  // const sourceIndex = scope.attr("SourceIndex").RawValue;
2661
2667
  // const targetIndex = scope.attr("TargetIndex").RawValue;
2662
- console.log("Invalid Edge: " + id);
2668
+ console.warn("Invalid Edge: ".concat(id));
2663
2669
  }
2664
2670
  }
2665
2671
  }
@@ -2952,7 +2958,7 @@ var GlobalResultCache = /** @class */ (function (_super) {
2952
2958
  __extends(GlobalResultCache, _super);
2953
2959
  function GlobalResultCache() {
2954
2960
  return _super.call(this, function (obj) {
2955
- return obj.BaseUrl + "-" + obj.Wuid + "-" + obj.ResultName;
2961
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid, "-").concat(obj.ResultName);
2956
2962
  }) || this;
2957
2963
  }
2958
2964
  return GlobalResultCache;
@@ -3423,21 +3429,21 @@ var BaseScope = /** @class */ (function (_super) {
3423
3429
  var label = "";
3424
3430
  var rows = [];
3425
3431
  label = this.Id;
3426
- rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">" + this.Id + "</td></tr>");
3432
+ rows.push("<tr><td class=\"key\">ID:</td><td class=\"value\">".concat(this.Id, "</td></tr>"));
3427
3433
  if (parentScope) {
3428
- rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">" + parentScope.Id + "</td></tr>");
3434
+ rows.push("<tr><td class=\"key\">Parent ID:</td><td class=\"value\">".concat(parentScope.Id, "</td></tr>"));
3429
3435
  }
3430
- rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">" + this.ScopeName + "</td></tr>");
3436
+ rows.push("<tr><td class=\"key\">Scope:</td><td class=\"value\">".concat(this.ScopeName, "</td></tr>"));
3431
3437
  var attrs = this.formattedAttrs();
3432
3438
  for (var key in attrs) {
3433
3439
  if (key === "Label") {
3434
3440
  label = attrs[key];
3435
3441
  }
3436
3442
  else {
3437
- rows.push("<tr><td class=\"key\">" + key + "</td><td class=\"value\">" + attrs[key] + "</td></tr>");
3443
+ rows.push("<tr><td class=\"key\">".concat(key, "</td><td class=\"value\">").concat(attrs[key], "</td></tr>"));
3438
3444
  }
3439
3445
  }
3440
- 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>";
3446
+ 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>");
3441
3447
  };
3442
3448
  return BaseScope;
3443
3449
  }(StateObject));
@@ -3572,12 +3578,12 @@ var Timer = /** @class */ (function (_super) {
3572
3578
  var formatter = utcFormat("%Y-%m-%dT%H:%M:%S.%LZ");
3573
3579
  var parser = utcParse("%Y-%m-%dT%H:%M:%S.%LZ");
3574
3580
  var logger$1 = scopedLogger("workunit.ts");
3575
- var WUStateID$1 = WUStateID;
3581
+ var WUStateID = WUStateID$1;
3576
3582
  var WorkunitCache = /** @class */ (function (_super) {
3577
3583
  __extends(WorkunitCache, _super);
3578
3584
  function WorkunitCache() {
3579
3585
  return _super.call(this, function (obj) {
3580
- return obj.BaseUrl + "-" + obj.Wuid;
3586
+ return "".concat(obj.BaseUrl, "-").concat(obj.Wuid);
3581
3587
  }) || this;
3582
3588
  }
3583
3589
  return WorkunitCache;
@@ -3638,12 +3644,12 @@ var Workunit = /** @class */ (function (_super) {
3638
3644
  configurable: true
3639
3645
  });
3640
3646
  Object.defineProperty(Workunit.prototype, "StateID", {
3641
- get: function () { return this.get("StateID", WUStateID.Unknown); },
3647
+ get: function () { return this.get("StateID", WUStateID$1.Unknown); },
3642
3648
  enumerable: false,
3643
3649
  configurable: true
3644
3650
  });
3645
3651
  Object.defineProperty(Workunit.prototype, "State", {
3646
- get: function () { return this.get("State") || WUStateID[this.StateID]; },
3652
+ get: function () { return this.get("State") || WUStateID$1[this.StateID]; },
3647
3653
  enumerable: false,
3648
3654
  configurable: true
3649
3655
  });
@@ -4098,7 +4104,7 @@ var Workunit = /** @class */ (function (_super) {
4098
4104
  Workunit.prototype.clearState = function (wuid) {
4099
4105
  this.clear({
4100
4106
  Wuid: wuid,
4101
- StateID: WUStateID$1.Unknown
4107
+ StateID: WUStateID.Unknown
4102
4108
  });
4103
4109
  };
4104
4110
  Workunit.prototype.update = function (request) {
@@ -4156,47 +4162,47 @@ var Workunit = /** @class */ (function (_super) {
4156
4162
  };
4157
4163
  Workunit.prototype.isComplete = function () {
4158
4164
  switch (this.StateID) {
4159
- case WUStateID$1.Compiled:
4165
+ case WUStateID.Compiled:
4160
4166
  return this.ActionEx === "compile" || this._submitAction === WUUpdate.Action.Compile;
4161
- case WUStateID$1.Completed:
4162
- case WUStateID$1.Failed:
4163
- case WUStateID$1.Aborted:
4164
- case WUStateID$1.NotFound:
4167
+ case WUStateID.Completed:
4168
+ case WUStateID.Failed:
4169
+ case WUStateID.Aborted:
4170
+ case WUStateID.NotFound:
4165
4171
  return true;
4166
4172
  }
4167
4173
  return false;
4168
4174
  };
4169
4175
  Workunit.prototype.isFailed = function () {
4170
4176
  switch (this.StateID) {
4171
- case WUStateID$1.Aborted:
4172
- case WUStateID$1.Failed:
4177
+ case WUStateID.Aborted:
4178
+ case WUStateID.Failed:
4173
4179
  return true;
4174
4180
  }
4175
4181
  return false;
4176
4182
  };
4177
4183
  Workunit.prototype.isDeleted = function () {
4178
4184
  switch (this.StateID) {
4179
- case WUStateID$1.NotFound:
4185
+ case WUStateID.NotFound:
4180
4186
  return true;
4181
4187
  }
4182
4188
  return false;
4183
4189
  };
4184
4190
  Workunit.prototype.isDebugging = function () {
4185
4191
  switch (this.StateID) {
4186
- case WUStateID$1.DebugPaused:
4187
- case WUStateID$1.DebugRunning:
4192
+ case WUStateID.DebugPaused:
4193
+ case WUStateID.DebugRunning:
4188
4194
  return true;
4189
4195
  }
4190
4196
  return this._debugMode;
4191
4197
  };
4192
4198
  Workunit.prototype.isRunning = function () {
4193
4199
  switch (this.StateID) {
4194
- case WUStateID$1.Compiled:
4195
- case WUStateID$1.Running:
4196
- case WUStateID$1.Aborting:
4197
- case WUStateID$1.Blocked:
4198
- case WUStateID$1.DebugPaused:
4199
- case WUStateID$1.DebugRunning:
4200
+ case WUStateID.Compiled:
4201
+ case WUStateID.Running:
4202
+ case WUStateID.Aborting:
4203
+ case WUStateID.Blocked:
4204
+ case WUStateID.DebugPaused:
4205
+ case WUStateID.DebugRunning:
4200
4206
  return true;
4201
4207
  }
4202
4208
  return false;
@@ -4676,7 +4682,7 @@ var Workunit = /** @class */ (function (_super) {
4676
4682
  var wuMissing = e.Exception.some(function (exception) {
4677
4683
  if (exception.Code === 20081) {
4678
4684
  _this.clearState(_this.Wuid);
4679
- _this.set("StateID", WUStateID$1.NotFound);
4685
+ _this.set("StateID", WUStateID.NotFound);
4680
4686
  return true;
4681
4687
  }
4682
4688
  return false;
@@ -4713,7 +4719,7 @@ var Workunit = /** @class */ (function (_super) {
4713
4719
  var wuMissing = e.Exception.some(function (exception) {
4714
4720
  if (exception.Code === 20080) {
4715
4721
  _this.clearState(_this.Wuid);
4716
- _this.set("StateID", WUStateID$1.NotFound);
4722
+ _this.set("StateID", WUStateID.NotFound);
4717
4723
  return true;
4718
4724
  }
4719
4725
  return false;
@@ -4787,12 +4793,12 @@ var Workunit = /** @class */ (function (_super) {
4787
4793
  var optsStr = "";
4788
4794
  for (var key in opts) {
4789
4795
  if (opts.hasOwnProperty(key)) {
4790
- optsStr += " " + key + "='" + opts[key] + "'";
4796
+ optsStr += " ".concat(key, "='").concat(opts[key], "'");
4791
4797
  }
4792
4798
  }
4793
4799
  return this.connection.WUCDebug({
4794
4800
  Wuid: this.Wuid,
4795
- Command: "<debug:" + command + " uid='" + this.Wuid + "'" + optsStr + "/>"
4801
+ Command: "<debug:".concat(command, " uid='").concat(this.Wuid, "'").concat(optsStr, "/>")
4796
4802
  }).then(function (response) {
4797
4803
  return response;
4798
4804
  });
@@ -4923,7 +4929,7 @@ function getECLDefinition(vertex) {
4923
4929
  column: +_col
4924
4930
  };
4925
4931
  }
4926
- throw new Error("Bad definition: " + vertex._[ATTR_DEFINITION]);
4932
+ throw new Error("Bad definition: ".concat(vertex._[ATTR_DEFINITION]));
4927
4933
  }
4928
4934
  function breakpointLocations(graph, path) {
4929
4935
  var retVal = [];
@@ -5112,12 +5118,12 @@ var LogicalFileCache = /** @class */ (function (_super) {
5112
5118
  __extends(LogicalFileCache, _super);
5113
5119
  function LogicalFileCache() {
5114
5120
  return _super.call(this, function (obj) {
5115
- return obj.BaseUrl + "-" + obj.Cluster + "-" + obj.Name;
5121
+ return "".concat(obj.BaseUrl, "-").concat(obj.Cluster, "-").concat(obj.Name);
5116
5122
  }) || this;
5117
5123
  }
5118
5124
  return LogicalFileCache;
5119
5125
  }(Cache));
5120
- var _store = new LogicalFileCache();
5126
+ var _store$1 = new LogicalFileCache();
5121
5127
  var LogicalFile = /** @class */ (function (_super) {
5122
5128
  __extends(LogicalFile, _super);
5123
5129
  function LogicalFile(optsConnection, Cluster, Name) {
@@ -5400,14 +5406,14 @@ var LogicalFile = /** @class */ (function (_super) {
5400
5406
  configurable: true
5401
5407
  });
5402
5408
  LogicalFile.attach = function (optsConnection, Cluster, Name) {
5403
- var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5409
+ var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Cluster: Cluster, Name: Name }, function () {
5404
5410
  return new LogicalFile(optsConnection, Cluster, Name);
5405
5411
  });
5406
5412
  return retVal;
5407
5413
  };
5408
5414
  LogicalFile.prototype.filePartsOnCluster = function () {
5409
5415
  var _a;
5410
- return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []));
5416
+ return __spreadArray([], (((_a = this.DFUFilePartsOnClusters) === null || _a === void 0 ? void 0 : _a.DFUFilePartsOnCluster) || []), true);
5411
5417
  };
5412
5418
  LogicalFile.prototype.fileParts = function () {
5413
5419
  var _a, _b;
@@ -5472,11 +5478,11 @@ var Machine = /** @class */ (function (_super) {
5472
5478
  __extends(Machine, _super);
5473
5479
  function Machine(optsConnection) {
5474
5480
  var _this = _super.call(this) || this;
5475
- if (optsConnection instanceof MachineServiceEx) {
5481
+ if (optsConnection instanceof MachineService) {
5476
5482
  _this.connection = optsConnection;
5477
5483
  }
5478
5484
  else {
5479
- _this.connection = new MachineServiceEx(optsConnection);
5485
+ _this.connection = new MachineService(optsConnection);
5480
5486
  }
5481
5487
  return _this;
5482
5488
  }
@@ -5864,12 +5870,12 @@ var StoreCache = /** @class */ (function (_super) {
5864
5870
  __extends(StoreCache, _super);
5865
5871
  function StoreCache() {
5866
5872
  return _super.call(this, function (obj) {
5867
- return obj.BaseUrl + "-" + obj.Name + ":" + obj.UserSpecific + "-" + obj.Namespace;
5873
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name, ":").concat(obj.UserSpecific, "-").concat(obj.Namespace);
5868
5874
  }) || this;
5869
5875
  }
5870
5876
  return StoreCache;
5871
5877
  }(Cache));
5872
- var _store$1 = new StoreCache();
5878
+ var _store = new StoreCache();
5873
5879
  var ValueChangedMessage = /** @class */ (function (_super) {
5874
5880
  __extends(ValueChangedMessage, _super);
5875
5881
  function ValueChangedMessage(key, value, oldValue) {
@@ -5918,7 +5924,7 @@ var Store = /** @class */ (function () {
5918
5924
  Store.attach = function (optsConnection, Name, Namespace, UserSpecific) {
5919
5925
  if (Name === void 0) { Name = "HPCCApps"; }
5920
5926
  if (UserSpecific === void 0) { UserSpecific = true; }
5921
- var retVal = _store$1.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5927
+ var retVal = _store.get({ BaseUrl: optsConnection.baseUrl, Name: Name, UserSpecific: UserSpecific, Namespace: Namespace }, function () {
5922
5928
  return new Store(optsConnection, Name, Namespace, UserSpecific);
5923
5929
  });
5924
5930
  return retVal;
@@ -5942,7 +5948,7 @@ var Store = /** @class */ (function () {
5942
5948
  _this._dispatch.post(new ValueChangedMessage(key, value, oldValue));
5943
5949
  }
5944
5950
  }).catch(function (e) {
5945
- console.error("Store.set(\"" + key + "\", \"" + value + "\") failed:", e);
5951
+ console.error("Store.set(\"".concat(key, "\", \"").concat(value, "\") failed:"), e);
5946
5952
  });
5947
5953
  };
5948
5954
  Store.prototype.get = function (key, broadcast) {
@@ -5961,7 +5967,7 @@ var Store = /** @class */ (function () {
5961
5967
  }
5962
5968
  return response.Value;
5963
5969
  }).catch(function (e) {
5964
- console.error("Store.get(" + key + ") failed:", e);
5970
+ console.error("Store.get(".concat(key, ") failed:"), e);
5965
5971
  return undefined;
5966
5972
  });
5967
5973
  };
@@ -6011,7 +6017,7 @@ var Store = /** @class */ (function () {
6011
6017
  _this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));
6012
6018
  }
6013
6019
  }).catch(function (e) {
6014
- console.error("Store.delete(" + key + ") failed:", e);
6020
+ console.error("Store.delete(".concat(key, ") failed:"), e);
6015
6021
  });
6016
6022
  };
6017
6023
  Store.prototype.monitor = function (callback) {
@@ -6024,7 +6030,7 @@ var TargetClusterCache = /** @class */ (function (_super) {
6024
6030
  __extends(TargetClusterCache, _super);
6025
6031
  function TargetClusterCache() {
6026
6032
  return _super.call(this, function (obj) {
6027
- return obj.BaseUrl + "-" + obj.Name;
6033
+ return "".concat(obj.BaseUrl, "-").concat(obj.Name);
6028
6034
  }) || this;
6029
6035
  }
6030
6036
  return TargetClusterCache;
@@ -6036,11 +6042,11 @@ var TargetCluster = /** @class */ (function (_super) {
6036
6042
  var _this = _super.call(this) || this;
6037
6043
  if (optsConnection instanceof TopologyService) {
6038
6044
  _this.connection = optsConnection;
6039
- _this.machineConnection = new MachineServiceEx(optsConnection.connectionOptions());
6045
+ _this.machineConnection = new MachineService(optsConnection.connectionOptions());
6040
6046
  }
6041
6047
  else {
6042
6048
  _this.connection = new TopologyService(optsConnection);
6043
- _this.machineConnection = new MachineServiceEx(optsConnection);
6049
+ _this.machineConnection = new MachineService(optsConnection);
6044
6050
  }
6045
6051
  _this.clear({
6046
6052
  Name: name
@@ -6123,7 +6129,7 @@ var TargetCluster = /** @class */ (function (_super) {
6123
6129
  var _this = this;
6124
6130
  if (request === void 0) { request = {}; }
6125
6131
  return this.machineConnection.GetTargetClusterInfo(__assign({ TargetClusters: {
6126
- Item: [this.Type + ":" + this.Name]
6132
+ Item: ["".concat(this.Type, ":").concat(this.Name)]
6127
6133
  } }, request)).then(function (response) {
6128
6134
  var retVal = [];
6129
6135
  for (var _i = 0, _a = response.TargetClusterInfoList.TargetClusterInfo; _i < _a.length; _i++) {
@@ -6159,7 +6165,7 @@ var TargetCluster = /** @class */ (function (_super) {
6159
6165
  };
6160
6166
  };
6161
6167
  TargetCluster.prototype.fetchUsage = function () {
6162
- return this.machineConnection.GetTargetClusterUsageEx({ TargetClusters: { Item: [this.Name] } });
6168
+ return this.machineConnection.GetTargetClusterUsageEx([this.Name]);
6163
6169
  };
6164
6170
  return TargetCluster;
6165
6171
  }(StateObject));
@@ -6289,7 +6295,7 @@ var Topology = /** @class */ (function (_super) {
6289
6295
  }
6290
6296
  }
6291
6297
  }
6292
- return rootProtocol + "//" + ip + ":" + port + "/";
6298
+ return "".concat(rootProtocol, "//").concat(ip, ":").concat(port, "/");
6293
6299
  });
6294
6300
  };
6295
6301
  Topology.prototype.fetchTargetClusters = function () {
@@ -6355,7 +6361,7 @@ var Topology = /** @class */ (function (_super) {
6355
6361
  return Topology;
6356
6362
  }(StateObject));
6357
6363
 
6358
- var logger$2 = scopedLogger("clienttools/eclmeta");
6364
+ scopedLogger("clienttools/eclmeta");
6359
6365
  var Attr = /** @class */ (function () {
6360
6366
  function Attr(xmlAttr) {
6361
6367
  this.__attrs = xmlAttr.$;
@@ -6387,7 +6393,7 @@ var ECLScope = /** @class */ (function () {
6387
6393
  if (end === void 0) { end = Number.MAX_VALUE; }
6388
6394
  this.name = name;
6389
6395
  this.type = type;
6390
- this.sourcePath = normalize(sourcePath);
6396
+ this.sourcePath = path.normalize(sourcePath);
6391
6397
  this.line = +line - 1;
6392
6398
  this.start = +start;
6393
6399
  this.body = +body;
@@ -6512,7 +6518,7 @@ var Source = /** @class */ (function (_super) {
6512
6518
  fakeNode.appendAttribute("ref", nameParts.join("."));
6513
6519
  _this.imports = __spreadArray([
6514
6520
  new Import(fakeNode)
6515
- ], _this.parseImports(xmlSource.children("Import")));
6521
+ ], _this.parseImports(xmlSource.children("Import")), true);
6516
6522
  return _this;
6517
6523
  }
6518
6524
  Source.prototype.parseImports = function (imports) {
@@ -6540,10 +6546,10 @@ var Source = /** @class */ (function (_super) {
6540
6546
  };
6541
6547
  return Source;
6542
6548
  }(ECLScope));
6543
- var isHiddenDirectory = function (source) { return basename(source).indexOf(".") === 0; };
6544
- var isDirectory = function (source) { return lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6545
- var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(extname(source).toLowerCase()) >= 0; };
6546
- var modAttrs = function (source) { return readdirSync(source).map(function (name) { return join$1(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6549
+ var isHiddenDirectory = function (source) { return path.basename(source).indexOf(".") === 0; };
6550
+ var isDirectory = function (source) { return fs.lstatSync(source).isDirectory() && !isHiddenDirectory(source); };
6551
+ var isEcl = function (source) { return [".ecl", ".ecllib"].indexOf(path.extname(source).toLowerCase()) >= 0; };
6552
+ var modAttrs = function (source) { return fs.readdirSync(source).map(function (name) { return path.join(source, name); }).filter(function (path) { return isDirectory(path) || isEcl(path); }); };
6547
6553
  var File = /** @class */ (function (_super) {
6548
6554
  __extends(File, _super);
6549
6555
  function File(name, sourcePath) {
@@ -6562,7 +6568,7 @@ var Folder = /** @class */ (function (_super) {
6562
6568
  Folder.prototype.suggestions = function () {
6563
6569
  return modAttrs(this.sourcePath).map(function (folder) {
6564
6570
  return {
6565
- name: basename(folder, ".ecl"),
6571
+ name: path.basename(folder, ".ecl"),
6566
6572
  type: "folder"
6567
6573
  };
6568
6574
  });
@@ -6589,7 +6595,7 @@ var Workspace = /** @class */ (function () {
6589
6595
  }).then(function (paths) {
6590
6596
  for (var _i = 0, _a = ["ECLCC_ECLLIBRARY_PATH", "ECLCC_PLUGIN_PATH"]; _i < _a.length; _i++) {
6591
6597
  var knownFolder = _a[_i];
6592
- if (paths[knownFolder] && existsSync(paths[knownFolder])) {
6598
+ if (paths[knownFolder] && fs.existsSync(paths[knownFolder])) {
6593
6599
  _this.walkChildFolders(paths[knownFolder], paths[knownFolder]);
6594
6600
  }
6595
6601
  }
@@ -6597,7 +6603,7 @@ var Workspace = /** @class */ (function () {
6597
6603
  });
6598
6604
  };
6599
6605
  Workspace.prototype.primeWorkspace = function () {
6600
- if (existsSync(this._workspacePath)) {
6606
+ if (fs.existsSync(this._workspacePath)) {
6601
6607
  this.visitFolder(this._workspacePath, this._workspacePath);
6602
6608
  }
6603
6609
  };
@@ -6615,16 +6621,16 @@ var Workspace = /** @class */ (function () {
6615
6621
  };
6616
6622
  Workspace.prototype.visitFile = function (filePath, refPath, force) {
6617
6623
  if (force === void 0) { force = false; }
6618
- var filePathInfo = parse(filePath);
6619
- var pathNoExt = join$1(filePathInfo.dir, filePathInfo.name);
6620
- var name = relative(refPath, pathNoExt).split(sep).join(".");
6624
+ var filePathInfo = path.parse(filePath);
6625
+ var pathNoExt = path.join(filePathInfo.dir, filePathInfo.name);
6626
+ var name = path.relative(refPath, pathNoExt).split(path.sep).join(".");
6621
6627
  if (force || !this._test.has(name)) {
6622
6628
  this._test.set(name, new File("", filePath));
6623
6629
  }
6624
6630
  };
6625
6631
  Workspace.prototype.visitFolder = function (folderPath, refPath, force) {
6626
6632
  if (force === void 0) { force = false; }
6627
- var name = relative(refPath, folderPath).split(sep).join(".");
6633
+ var name = path.relative(refPath, folderPath).split(path.sep).join(".");
6628
6634
  if (force || !this._test.has(name)) {
6629
6635
  this._test.set(name, new Folder(name, folderPath));
6630
6636
  this.walkChildFolders(folderPath, refPath, force);
@@ -6635,7 +6641,7 @@ var Workspace = /** @class */ (function () {
6635
6641
  if (removeDupID && parentStack[parentStack.length - 1] === nameStack[0]) {
6636
6642
  nameStack.shift();
6637
6643
  }
6638
- var stack = __spreadArray(__spreadArray([], parentStack), nameStack);
6644
+ var stack = __spreadArray(__spreadArray([], parentStack, true), nameStack, true);
6639
6645
  var qid = stack.join(".");
6640
6646
  return {
6641
6647
  stack: stack,
@@ -6684,10 +6690,10 @@ var Workspace = /** @class */ (function () {
6684
6690
  if (depth > 1) {
6685
6691
  var sourcePath = source.sourcePath;
6686
6692
  while (depth > 1) {
6687
- sourcePath = dirname(sourcePath);
6693
+ sourcePath = path.dirname(sourcePath);
6688
6694
  --depth;
6689
6695
  }
6690
- this.visitFolder(sourcePath, dirname(sourcePath));
6696
+ this.visitFolder(sourcePath, path.dirname(sourcePath));
6691
6697
  }
6692
6698
  }
6693
6699
  this.walkSource(source);
@@ -6698,7 +6704,7 @@ var Workspace = /** @class */ (function () {
6698
6704
  var metaParser = new MetaParser();
6699
6705
  metaParser.parse(metaXML);
6700
6706
  this.parseSources(metaParser.sources);
6701
- return metaParser.sources.map(function (source) { return normalize(source.$.sourcePath); });
6707
+ return metaParser.sources.map(function (source) { return path.normalize(source.$.sourcePath); });
6702
6708
  };
6703
6709
  Workspace.prototype.resolveQualifiedID = function (filePath, qualifiedID, charOffset) {
6704
6710
  var retVal;
@@ -6726,7 +6732,7 @@ var Workspace = /** @class */ (function () {
6726
6732
  retVal = this._test.get(realQID).scope;
6727
6733
  }
6728
6734
  if (!retVal) {
6729
- realQID = __spreadArray(__spreadArray([], eclSource.name.split(".")), qualifiedIDParts).join(".");
6735
+ realQID = __spreadArray(__spreadArray([], eclSource.name.split("."), true), qualifiedIDParts, true).join(".");
6730
6736
  if (this._test.has(realQID)) {
6731
6737
  retVal = this._test.get(realQID).scope;
6732
6738
  }
@@ -6745,7 +6751,7 @@ var Workspace = /** @class */ (function () {
6745
6751
  }());
6746
6752
  var workspaceCache = new Dictionary();
6747
6753
  function attachWorkspace(_workspacePath, eclccPath) {
6748
- var workspacePath = normalize(_workspacePath);
6754
+ var workspacePath = path.normalize(_workspacePath);
6749
6755
  if (!workspaceCache.has(workspacePath)) {
6750
6756
  var workspace = new Workspace(workspacePath, eclccPath);
6751
6757
  workspaceCache.set(workspacePath, workspace);
@@ -6783,8 +6789,8 @@ var MetaParser = /** @class */ (function (_super) {
6783
6789
  return MetaParser;
6784
6790
  }(SAXStackParser));
6785
6791
 
6786
- var logger$3 = scopedLogger("clienttools/eclcc");
6787
- var exeExt = type() === "Windows_NT" ? ".exe" : "";
6792
+ var logger = scopedLogger("clienttools/eclcc");
6793
+ var exeExt = os.type() === "Windows_NT" ? ".exe" : "";
6788
6794
  function tidyCRLF(inStr) {
6789
6795
  return inStr.split("\r\n").join("\n").split("\r").join("\n");
6790
6796
  }
@@ -6830,7 +6836,7 @@ var Version = /** @class */ (function () {
6830
6836
  return this.postfix.localeCompare(other.postfix);
6831
6837
  };
6832
6838
  Version.prototype.toString = function () {
6833
- return this.prefix + "_" + this.major + "." + this.minor + "." + this.patch + "-" + this.postfix;
6839
+ return "".concat(this.prefix, "_").concat(this.major, ".").concat(this.minor, ".").concat(this.patch, "-").concat(this.postfix);
6834
6840
  };
6835
6841
  return Version;
6836
6842
  }());
@@ -6879,7 +6885,7 @@ var EclccErrors = /** @class */ (function (_super) {
6879
6885
  function EclccErrors(stdErr, checked) {
6880
6886
  var _this = _super.call(this, checked) || this;
6881
6887
  if (stdErr && stdErr.length) {
6882
- for (var _i = 0, _a = stdErr.split(EOL); _i < _a.length; _i++) {
6888
+ for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6883
6889
  var errLine = _a[_i];
6884
6890
  var match = /([a-zA-Z]:\\(?:[- \w\.\d]+\\)*(?:[- \w\.\d]+)?|(?:\/[\w\.\-]+)+)\((\d*),(\d*)\) ?: ?(error|warning|info) C(\d*) ?: ?(.*)/.exec(errLine);
6885
6891
  if (match) {
@@ -6900,7 +6906,7 @@ var EclccErrors = /** @class */ (function (_super) {
6900
6906
  if (match) {
6901
6907
  continue;
6902
6908
  }
6903
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6909
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6904
6910
  _this.errOther.push(errLine);
6905
6911
  }
6906
6912
  }
@@ -6913,16 +6919,16 @@ var EnvchkErrors = /** @class */ (function (_super) {
6913
6919
  __extends(EnvchkErrors, _super);
6914
6920
  function EnvchkErrors(filePath, stdErr, checked) {
6915
6921
  var _this = _super.call(this, checked) || this;
6916
- var content = readFileSync(filePath, "utf8");
6922
+ var content = fs.readFileSync(filePath, "utf8");
6917
6923
  content = content.replace(/\r\n/g, "\n");
6918
6924
  _this._lines = content.split("\n");
6919
6925
  if (stdErr && stdErr.length) {
6920
- for (var _i = 0, _a = stdErr.split(EOL); _i < _a.length; _i++) {
6926
+ for (var _i = 0, _a = stdErr.split(os.EOL); _i < _a.length; _i++) {
6921
6927
  var errLine = _a[_i];
6922
6928
  var match = /(Warning|Error) : Path\=(\S*?)(\[\S*\])? Message\=(.*)/.exec(errLine);
6923
6929
  if (match) {
6924
6930
  var severity = match[1], _path = match[2], _attr = match[3], _msg = match[4];
6925
- var msg = _path + " " + (_attr ? _attr : "") + ": " + _msg;
6931
+ var msg = "".concat(_path, " ").concat(_attr ? _attr : "", ": ").concat(_msg);
6926
6932
  var _b = _this.locate(_path), line = _b[0], col = _b[1];
6927
6933
  _this.errWarn.push({ filePath: filePath, line: line, col: col, msg: msg, severity: severity });
6928
6934
  continue;
@@ -6930,7 +6936,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6930
6936
  if (match) {
6931
6937
  continue;
6932
6938
  }
6933
- logger$3.warning("parseECLErrors: Unable to parse \"" + errLine + "\"");
6939
+ logger.warning("parseECLErrors: Unable to parse \"".concat(errLine, "\""));
6934
6940
  _this.errOther.push(errLine);
6935
6941
  }
6936
6942
  }
@@ -6948,7 +6954,6 @@ var EnvchkErrors = /** @class */ (function (_super) {
6948
6954
  var line = _a[_i];
6949
6955
  var testStr = "<" + pathParts[0];
6950
6956
  if (line.indexOf(testStr + " ") >= 0 || line.indexOf(testStr + ">") >= 0) {
6951
- console.log(lineIdx, testStr);
6952
6957
  pathParts.shift();
6953
6958
  if (pathParts.length === 0) {
6954
6959
  return [lineIdx + 1, line.indexOf(testStr) + 1];
@@ -6961,7 +6966,7 @@ var EnvchkErrors = /** @class */ (function (_super) {
6961
6966
  };
6962
6967
  return EnvchkErrors;
6963
6968
  }(Errors));
6964
- function walkXmlJson$1(node, callback, stack) {
6969
+ function walkXmlJson(node, callback, stack) {
6965
6970
  stack = stack || [];
6966
6971
  stack.push(node);
6967
6972
  for (var key in node) {
@@ -6970,11 +6975,11 @@ function walkXmlJson$1(node, callback, stack) {
6970
6975
  callback(key, childNode, stack);
6971
6976
  if (childNode instanceof Array) {
6972
6977
  childNode.forEach(function (child) {
6973
- walkXmlJson$1(child, callback, stack);
6978
+ walkXmlJson(child, callback, stack);
6974
6979
  });
6975
6980
  }
6976
6981
  else if (typeof childNode === "object") {
6977
- walkXmlJson$1(childNode, callback, stack);
6982
+ walkXmlJson(childNode, callback, stack);
6978
6983
  }
6979
6984
  }
6980
6985
  }
@@ -6988,7 +6993,7 @@ var LocalWorkunit = /** @class */ (function () {
6988
6993
  var retVal = [];
6989
6994
  if (exists("W_LOCAL.Graphs", this.jsonWU)) {
6990
6995
  var id_1 = "";
6991
- walkXmlJson$1(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6996
+ walkXmlJson(this.jsonWU.W_LOCAL.Graphs, function (key, item, _stack) {
6992
6997
  if (key === "$" && item.id) {
6993
6998
  id_1 = item.id;
6994
6999
  }
@@ -7017,10 +7022,10 @@ var ClientTools = /** @class */ (function () {
7017
7022
  if (args === void 0) { args = []; }
7018
7023
  this._paths = {};
7019
7024
  this.eclccPath = eclccPath;
7020
- this.binPath = dirname(this.eclccPath);
7021
- this.envchkPath = join$1(this.binPath, "envchk" + exeExt);
7022
- this.eclBundlePath = join$1(this.binPath, "ecl-bundle" + exeExt);
7023
- this.cwd = normalize(cwd || this.binPath);
7025
+ this.binPath = path.dirname(this.eclccPath);
7026
+ this.envchkPath = path.join(this.binPath, "envchk" + exeExt);
7027
+ this.eclBundlePath = path.join(this.binPath, "ecl-bundle" + exeExt);
7028
+ this.cwd = path.normalize(cwd || this.binPath);
7024
7029
  this.includeFolders = includeFolders;
7025
7030
  this._legacyMode = legacyMode;
7026
7031
  this._args = args;
@@ -7033,7 +7038,7 @@ var ClientTools = /** @class */ (function () {
7033
7038
  };
7034
7039
  ClientTools.prototype.exists = function (filePath) {
7035
7040
  try {
7036
- accessSync(filePath);
7041
+ fs.accessSync(filePath);
7037
7042
  return true;
7038
7043
  }
7039
7044
  catch (e) { }
@@ -7041,12 +7046,12 @@ var ClientTools = /** @class */ (function () {
7041
7046
  };
7042
7047
  ClientTools.prototype.args = function (additionalItems) {
7043
7048
  if (additionalItems === void 0) { additionalItems = []; }
7044
- var retVal = __spreadArray([], this._args);
7049
+ var retVal = __spreadArray([], this._args, true);
7045
7050
  if (this._legacyMode) {
7046
7051
  retVal.push("-legacy");
7047
7052
  }
7048
7053
  return retVal.concat(this.includeFolders.map(function (includePath) {
7049
- return "-I" + normalize(includePath);
7054
+ return "-I" + path.normalize(includePath);
7050
7055
  })).concat(additionalItems);
7051
7056
  };
7052
7057
  ClientTools.prototype.version = function () {
@@ -7054,7 +7059,7 @@ var ClientTools = /** @class */ (function () {
7054
7059
  if (this._version) {
7055
7060
  return Promise.resolve(this._version);
7056
7061
  }
7057
- return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7062
+ return this.execFile(this.eclccPath, this.binPath, this.args(["--version"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
7058
7063
  _this._version = new Version(response.stdout);
7059
7064
  return _this._version;
7060
7065
  });
@@ -7064,7 +7069,7 @@ var ClientTools = /** @class */ (function () {
7064
7069
  };
7065
7070
  ClientTools.prototype.paths = function () {
7066
7071
  var _this = this;
7067
- return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7072
+ return this.execFile(this.eclccPath, this.cwd, this.args(["-showpaths"]), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
7068
7073
  if (response && response.stdout && response.stdout.length) {
7069
7074
  var paths = response.stdout.split(/\r?\n/);
7070
7075
  for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
@@ -7080,20 +7085,20 @@ var ClientTools = /** @class */ (function () {
7080
7085
  };
7081
7086
  ClientTools.prototype.loadXMLDoc = function (filePath, removeOnRead) {
7082
7087
  return new Promise(function (resolve, _reject) {
7083
- var fileData = readFileSync(filePath, "ascii");
7088
+ var fileData = fs.readFileSync(filePath, "ascii");
7084
7089
  var retVal = xml2json(fileData);
7085
7090
  if (removeOnRead) {
7086
- unlink(filePath, function (err) { });
7091
+ fs.unlink(filePath, function (err) { });
7087
7092
  }
7088
7093
  resolve(retVal);
7089
7094
  });
7090
7095
  };
7091
7096
  ClientTools.prototype.createWU = function (filename) {
7092
7097
  var _this = this;
7093
- var tmpName = tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
7098
+ var tmpName = tmp.tmpNameSync({ prefix: "eclcc-wu-tmp", postfix: "" });
7094
7099
  var args = ["-o" + tmpName, "-wu"].concat([filename]);
7095
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (_response) {
7096
- var xmlPath = normalize(tmpName + ".xml");
7100
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (_response) {
7101
+ var xmlPath = path.normalize(tmpName + ".xml");
7097
7102
  var contentPromise = _this.exists(xmlPath) ? _this.loadXMLDoc(xmlPath, true) : Promise.resolve({});
7098
7103
  return contentPromise.then(function (content) {
7099
7104
  return new LocalWorkunit(content);
@@ -7102,7 +7107,7 @@ var ClientTools = /** @class */ (function () {
7102
7107
  };
7103
7108
  ClientTools.prototype.createArchive = function (filename) {
7104
7109
  var args = ["-E"].concat([filename]);
7105
- return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find " + this.eclccPath).then(function (response) {
7110
+ return this.execFile(this.eclccPath, this.cwd, this.args(args), "eclcc", "Cannot find ".concat(this.eclccPath)).then(function (response) {
7106
7111
  return {
7107
7112
  content: response.stdout,
7108
7113
  err: new EclccErrors(response.stderr, [])
@@ -7115,7 +7120,7 @@ var ClientTools = /** @class */ (function () {
7115
7120
  ClientTools.prototype.fetchMeta = function (filePath) {
7116
7121
  return Promise.all([
7117
7122
  attachWorkspace(this.cwd),
7118
- this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find " + this.eclccPath)
7123
+ this.execFile(this.eclccPath, this.cwd, this.args(["-M", filePath]), "eclcc", "Cannot find ".concat(this.eclccPath))
7119
7124
  ]).then(function (_a) {
7120
7125
  var metaWorkspace = _a[0], execFileResponse = _a[1];
7121
7126
  if (execFileResponse && execFileResponse.stdout && execFileResponse.stdout.length) {
@@ -7128,7 +7133,7 @@ var ClientTools = /** @class */ (function () {
7128
7133
  if (args === void 0) { args = ["-syntax"]; }
7129
7134
  return Promise.all([
7130
7135
  attachWorkspace(this.cwd),
7131
- this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), ["-M", filePath])), "eclcc", "Cannot find " + this.eclccPath)
7136
+ this.execFile(this.eclccPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), ["-M", filePath], false)), "eclcc", "Cannot find ".concat(this.eclccPath))
7132
7137
  ]).then(function (_a) {
7133
7138
  var metaWorkspace = _a[0], execFileResponse = _a[1];
7134
7139
  var checked = [];
@@ -7142,9 +7147,9 @@ var ClientTools = /** @class */ (function () {
7142
7147
  if (args === void 0) { args = []; }
7143
7148
  return Promise.all([
7144
7149
  attachWorkspace(this.cwd),
7145
- this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args), [filePath])), "envchk", "Cannot find " + this.envchkPath)
7150
+ this.execFile(this.envchkPath, this.cwd, this.args(__spreadArray(__spreadArray([], args, true), [filePath], false)), "envchk", "Cannot find ".concat(this.envchkPath))
7146
7151
  ]).then(function (_a) {
7147
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7152
+ _a[0]; var execFileResponse = _a[1];
7148
7153
  return new EnvchkErrors(filePath, execFileResponse ? execFileResponse.stderr : "", []);
7149
7154
  });
7150
7155
  };
@@ -7167,13 +7172,13 @@ var ClientTools = /** @class */ (function () {
7167
7172
  }
7168
7173
  return retVal;
7169
7174
  }),
7170
- this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7175
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["list"]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
7171
7176
  .then(function (installedText) {
7172
7177
  return tidyCRLF(installedText.stdout).split("\n");
7173
7178
  }).then(function (installedItems) {
7174
7179
  var allProps = {};
7175
7180
  return Promise.all(installedItems.filter(function (ii) { return !!ii; }).map(function (ii) {
7176
- return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find " + _this.eclBundlePath)
7181
+ return _this.execFile(_this.eclBundlePath, _this.cwd, _this.args(["info", ii]), "ecl-bundle", "Cannot find ".concat(_this.eclBundlePath))
7177
7182
  .then(function (infoText) {
7178
7183
  return tidyCRLF(infoText.stdout).split("\n");
7179
7184
  }).then(function (info) {
@@ -7213,25 +7218,25 @@ var ClientTools = /** @class */ (function () {
7213
7218
  ClientTools.prototype.bundleInstall = function (bundleUrl) {
7214
7219
  return Promise.all([
7215
7220
  attachWorkspace(this.cwd),
7216
- this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7221
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["install", bundleUrl]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
7217
7222
  ]).then(function (_a) {
7218
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7223
+ _a[0]; var execFileResponse = _a[1];
7219
7224
  return execFileResponse;
7220
7225
  });
7221
7226
  };
7222
7227
  ClientTools.prototype.bundleUninstall = function (name) {
7223
7228
  return Promise.all([
7224
7229
  attachWorkspace(this.cwd),
7225
- this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find " + this.eclBundlePath)
7230
+ this.execFile(this.eclBundlePath, this.cwd, this.args(["uninstall", name]), "ecl-bundle", "Cannot find ".concat(this.eclBundlePath))
7226
7231
  ]).then(function (_a) {
7227
- var metaWorkspace = _a[0], execFileResponse = _a[1];
7232
+ _a[0]; var execFileResponse = _a[1];
7228
7233
  return execFileResponse;
7229
7234
  });
7230
7235
  };
7231
7236
  ClientTools.prototype.execFile = function (cmd, cwd, args, _toolName, _notFoundError) {
7232
7237
  return new Promise(function (resolve, _reject) {
7233
- logger$3.debug(cmd + " " + args.join(" "));
7234
- var child = spawn(cmd, args, { cwd: cwd });
7238
+ logger.debug("".concat(cmd, " ").concat(args.join(" ")));
7239
+ var child = cp.spawn(cmd, args, { cwd: cwd });
7235
7240
  var stdOut = "";
7236
7241
  var stdErr = "";
7237
7242
  child.stdout.on("data", function (data) {
@@ -7253,18 +7258,18 @@ var ClientTools = /** @class */ (function () {
7253
7258
  }());
7254
7259
  function locateClientToolsInFolder(rootFolder, clientTools) {
7255
7260
  if (rootFolder) {
7256
- var hpccSystemsFolder_1 = join$1(rootFolder, "HPCCSystems");
7257
- if (existsSync(hpccSystemsFolder_1) && statSync(hpccSystemsFolder_1).isDirectory()) {
7258
- if (type() !== "Windows_NT") {
7259
- var eclccPath = join$1(hpccSystemsFolder_1, "bin", "eclcc");
7260
- if (existsSync(eclccPath)) {
7261
+ var hpccSystemsFolder_1 = path.join(rootFolder, "HPCCSystems");
7262
+ if (fs.existsSync(hpccSystemsFolder_1) && fs.statSync(hpccSystemsFolder_1).isDirectory()) {
7263
+ if (os.type() !== "Windows_NT") {
7264
+ var eclccPath = path.join(hpccSystemsFolder_1, "bin", "eclcc");
7265
+ if (fs.existsSync(eclccPath)) {
7261
7266
  clientTools.push(new ClientTools(eclccPath));
7262
7267
  }
7263
7268
  }
7264
- readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
7265
- var eclccPath = join$1(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
7266
- if (existsSync(eclccPath)) {
7267
- var name_1 = basename(versionFolder);
7269
+ fs.readdirSync(hpccSystemsFolder_1).forEach(function (versionFolder) {
7270
+ var eclccPath = path.join(hpccSystemsFolder_1, versionFolder, "clienttools", "bin", "eclcc" + exeExt);
7271
+ if (fs.existsSync(eclccPath)) {
7272
+ var name_1 = path.basename(versionFolder);
7268
7273
  var version = new Version(name_1);
7269
7274
  if (version.exists()) {
7270
7275
  clientTools.push(new ClientTools(eclccPath));
@@ -7279,7 +7284,7 @@ function locateAllClientTools() {
7279
7284
  if (allClientToolsCache)
7280
7285
  return allClientToolsCache;
7281
7286
  var clientTools = [];
7282
- switch (type()) {
7287
+ switch (os.type()) {
7283
7288
  case "Windows_NT":
7284
7289
  var rootFolder86 = process.env["ProgramFiles(x86)"] || "";
7285
7290
  if (rootFolder86) {
@@ -7308,9 +7313,9 @@ function locateAllClientTools() {
7308
7313
  }
7309
7314
  var eclccPathMsg = "";
7310
7315
  function logEclccPath(eclccPath) {
7311
- var msg = "Using eclccPath setting: " + eclccPath;
7316
+ var msg = "Using eclccPath setting: ".concat(eclccPath);
7312
7317
  if (eclccPathMsg !== msg) {
7313
- logger$3.info(msg);
7318
+ logger.info(msg);
7314
7319
  eclccPathMsg = msg;
7315
7320
  }
7316
7321
  }
@@ -7321,7 +7326,7 @@ function locateClientTools(overridePath, build, cwd, includeFolders, legacyMode,
7321
7326
  if (includeFolders === void 0) { includeFolders = []; }
7322
7327
  if (legacyMode === void 0) { legacyMode = false; }
7323
7328
  if (args === void 0) { args = []; }
7324
- if (overridePath && existsSync(overridePath)) {
7329
+ if (overridePath && fs.existsSync(overridePath)) {
7325
7330
  logEclccPath(overridePath);
7326
7331
  return Promise.resolve(new ClientTools(overridePath, cwd, includeFolders, legacyMode, args));
7327
7332
  }
@@ -7358,28 +7363,28 @@ if (typeof root.fetch === "undefined") {
7358
7363
  if (typeof root.AbortController === "undefined") {
7359
7364
  root.AbortController = AbortController;
7360
7365
  }
7361
- root.fetch.__rejectUnauthorizedAgent = new Agent({
7366
+ root.fetch.__rejectUnauthorizedAgent = new https.Agent({
7362
7367
  rejectUnauthorized: false
7363
7368
  });
7364
7369
  var globalCA = "";
7365
- if (globalAgent.options.ca !== undefined) {
7366
- if (Array.isArray(globalAgent.options.ca) && globalAgent.options.ca.length) {
7367
- if (typeof globalAgent.options.ca[0] === "string") {
7368
- globalCA = globalAgent.options.ca.join("\n");
7370
+ if (https.globalAgent.options.ca !== undefined) {
7371
+ if (Array.isArray(https.globalAgent.options.ca) && https.globalAgent.options.ca.length) {
7372
+ if (typeof https.globalAgent.options.ca[0] === "string") {
7373
+ globalCA = https.globalAgent.options.ca.join("\n");
7369
7374
  }
7370
- else if (globalAgent.options.ca[0] instanceof Buffer) {
7371
- globalCA = globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7375
+ else if (https.globalAgent.options.ca[0] instanceof Buffer) {
7376
+ globalCA = https.globalAgent.options.ca.map(function (row) { return row.toString(); }).join("\n");
7372
7377
  }
7373
7378
  }
7374
- else if (typeof globalAgent.options.ca === "string") {
7375
- globalCA = globalAgent.options.ca;
7379
+ else if (typeof https.globalAgent.options.ca === "string") {
7380
+ globalCA = https.globalAgent.options.ca;
7376
7381
  }
7377
- else if (globalAgent.options.ca instanceof Buffer) {
7378
- globalCA = globalAgent.options.ca.toString();
7382
+ else if (https.globalAgent.options.ca instanceof Buffer) {
7383
+ globalCA = https.globalAgent.options.ca.toString();
7379
7384
  }
7380
7385
  globalCA += "\n";
7381
7386
  }
7382
- root.fetch.__trustwaveAgent = new Agent({
7387
+ root.fetch.__trustwaveAgent = new https.Agent({
7383
7388
  ca: globalCA + trustwave
7384
7389
  });
7385
7390
  if (typeof root.btoa === "undefined") {
@@ -7388,5 +7393,5 @@ if (typeof root.btoa === "undefined") {
7388
7393
  };
7389
7394
  }
7390
7395
 
7391
- export { AccessServiceEx, 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, LogaccessServiceEx, LogicalFile, LogicalFileCache, Machine, MachineCache, MachineServiceEx, PKG_NAME, PKG_VERSION, Query, Resource, ResourcesServiceEx, 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 };
7396
+ 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 };
7392
7397
  //# sourceMappingURL=index.es6.js.map