scanoss 0.16.4 → 0.17.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 (46) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/main/cli/bin/cli-bin.js +2 -2
  3. package/build/main/cli/commands/crypto.js +1 -1
  4. package/build/main/cli/commands/scan.js +33 -34
  5. package/build/main/sdk/BaseConfig.d.ts +38 -7
  6. package/build/main/sdk/BaseConfig.js +87 -9
  7. package/build/main/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +5 -2
  8. package/build/main/sdk/Cryptography/CryptoCfg.d.ts +7 -13
  9. package/build/main/sdk/Cryptography/CryptoCfg.js +7 -14
  10. package/build/main/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +5 -2
  11. package/build/main/sdk/Dependencies/DependencyScanner.d.ts +1 -0
  12. package/build/main/sdk/Dependencies/DependencyScanner.js +6 -13
  13. package/build/main/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -1
  14. package/build/main/sdk/Dependencies/DependencyScannerCfg.js +1 -5
  15. package/build/main/sdk/Services/Grpc/BaseService.d.ts +26 -4
  16. package/build/main/sdk/Services/Grpc/BaseService.js +92 -21
  17. package/build/main/sdk/Services/Grpc/CryptographyService.d.ts +9 -1
  18. package/build/main/sdk/Services/Grpc/CryptographyService.js +19 -12
  19. package/build/main/sdk/Services/Grpc/DependencyService.d.ts +10 -3
  20. package/build/main/sdk/Services/Grpc/DependencyService.js +19 -7
  21. package/build/main/sdk/scanner/ScannerCfg.d.ts +0 -2
  22. package/build/main/sdk/scanner/ScannerCfg.js +1 -4
  23. package/build/main/tsconfig.tsbuildinfo +1 -1
  24. package/build/module/cli/bin/cli-bin.js +2 -2
  25. package/build/module/cli/commands/crypto.js +1 -1
  26. package/build/module/cli/commands/scan.js +33 -34
  27. package/build/module/sdk/BaseConfig.d.ts +38 -7
  28. package/build/module/sdk/BaseConfig.js +84 -7
  29. package/build/module/sdk/Cryptography/Algorithm/Components/ComponentAlgorithmScanner.js +5 -2
  30. package/build/module/sdk/Cryptography/CryptoCfg.d.ts +7 -13
  31. package/build/module/sdk/Cryptography/CryptoCfg.js +7 -15
  32. package/build/module/sdk/Cryptography/Hint/Components/ComponentHintScanner.js +5 -2
  33. package/build/module/sdk/Dependencies/DependencyScanner.d.ts +1 -0
  34. package/build/module/sdk/Dependencies/DependencyScanner.js +6 -13
  35. package/build/module/sdk/Dependencies/DependencyScannerCfg.d.ts +0 -1
  36. package/build/module/sdk/Dependencies/DependencyScannerCfg.js +1 -2
  37. package/build/module/sdk/Services/Grpc/BaseService.d.ts +26 -4
  38. package/build/module/sdk/Services/Grpc/BaseService.js +92 -20
  39. package/build/module/sdk/Services/Grpc/CryptographyService.d.ts +9 -1
  40. package/build/module/sdk/Services/Grpc/CryptographyService.js +19 -12
  41. package/build/module/sdk/Services/Grpc/DependencyService.d.ts +10 -3
  42. package/build/module/sdk/Services/Grpc/DependencyService.js +20 -9
  43. package/build/module/sdk/scanner/ScannerCfg.d.ts +0 -2
  44. package/build/module/sdk/scanner/ScannerCfg.js +1 -4
  45. package/build/module/tsconfig.module.tsbuildinfo +1 -1
  46. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [0.17.0] (2025-06-10)
6
+ ### Fixed
7
+ - Fixed ca-certs on gRPC protocol
8
+ ### Changed
9
+ - Improved validation on scanner config
10
+
11
+ ## [0.16.5] (2025-05-28)
12
+ ### Fixed
13
+ - Fixed ca-certs on grpc dependency service
14
+
15
+ ## [0.16.5] (2025-05-28)
16
+ ### Fixed
17
+ - Fixed ca-certs on grpc dependency service
18
+
5
19
  ## [0.16.3] (2025-04-30)
6
20
  ### Fixed
7
21
  - Corrected slash encoding in npm parser for package identifiers
@@ -71,3 +85,5 @@ All notable changes to this project will be documented in this file. See [standa
71
85
  ### [0.16.1](https://github.com/scanoss/scanoss.js/compare/v0.15.7...v0.16.1) (2025-04-24)
72
86
  ### [0.16.2](https://github.com/scanoss/scanoss.js/compare/v0.16.1...v0.16.2) (2025-04-25)
73
87
  ### [0.16.3](https://github.com/scanoss/scanoss.js/compare/v0.16.2...v0.16.3) (2025-04-30)
88
+ ### [0.16.5](https://github.com/scanoss/scanoss.js/compare/v0.16.3...v0.16.5) (2025-05-28)
89
+ ### [0.17.0](https://github.com/scanoss/scanoss.js/compare/v0.16.5...v0.17.0) (2025-06-10)
@@ -41,7 +41,7 @@ async function main() {
41
41
  scan.addOption(new commander_1.Option("-k, --key <key>", "SCANOSS API Key token (optional - not required for default OSSKB URL)"));
42
42
  scan.addOption(new commander_1.Option(" --ignore-cert-errors", "Ignore self signed certificate errors"));
43
43
  scan.addOption(new commander_1.Option(" --ca-cert <cert>", "Specify a path for a cert used in SSL/TLS connection"));
44
- scan.addOption(new commander_1.Option(" --proxy <proxy>", "Proxy URL to use for connections (optional). Can also use the environment variable \"HTTPS_PROXY=[ip]:[port]\" and \"grcp_proxy=[ip]:[port]\" for gRPC"));
44
+ scan.addOption(new commander_1.Option(" --proxy <proxy>", "Proxy URL to use for connections (optional). Can also use the environment variable \"HTTPS_PROXY=[protocol]://[ip]:[port]\" and \"grcp_proxy=[protocol]://[ip]:[port]\" for gRPC"));
45
45
  scan.addOption(new commander_1.Option(" --grpc_proxy <grpc_proxy>", "GRPC Proxy URL to use for connections (optional)."));
46
46
  scan.addOption(new commander_1.Option("-v, --verbose", "Makes scan operation verbose"));
47
47
  scan.addOption(new commander_1.Option("-st, --settings <filename>", "Settings file to use for scanning (optional - default scanoss.json)"));
@@ -102,4 +102,4 @@ catch (e) {
102
102
  console.error(e);
103
103
  process.exit(1);
104
104
  }
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvYmluL2NsaS1iaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXNEO0FBRXRELGlEQUE4QztBQUM5Qyx5Q0FBNkM7QUFDN0MsMkNBQStDO0FBQy9DLHlDQUE2QztBQUM3QywrQ0FBbUQ7QUFFbkQsU0FBUyxlQUFlLENBQUMsQ0FBUTtJQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsS0FBSyxVQUFVLElBQUk7SUFFakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxtQkFBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxvQkFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLGlFQUFpRSxDQUFDLENBQUM7SUFFN0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsV0FBVyxFQUFFLHNDQUFzQyxDQUFDLENBQUMsQ0FBQztJQUNoRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyxZQUFZLEVBQUUsOENBQThDLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLGVBQWUsRUFBRSw2RUFBNkUsQ0FBQyxDQUFDLENBQUM7SUFDM0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsd0JBQXdCLEVBQUUsK0NBQStDLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLElBQUks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
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvYmluL2NsaS1iaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXNEO0FBRXRELGlEQUE4QztBQUM5Qyx5Q0FBNkM7QUFDN0MsMkNBQStDO0FBQy9DLHlDQUE2QztBQUM3QywrQ0FBbUQ7QUFFbkQsU0FBUyxlQUFlLENBQUMsQ0FBUTtJQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsS0FBSyxVQUFVLElBQUk7SUFFakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxtQkFBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxvQkFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLGlFQUFpRSxDQUFDLENBQUM7SUFFN0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsV0FBVyxFQUFFLHNDQUFzQyxDQUFDLENBQUMsQ0FBQztJQUNoRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyxZQUFZLEVBQUUsOENBQThDLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLGVBQWUsRUFBRSw2RUFBNkUsQ0FBQyxDQUFDLENBQUM7SUFDM0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsd0JBQXdCLEVBQUUsK0NBQStDLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLDRCQUE0QixFQUFFLGlDQUFpQyxDQUFDLENBQUMsQ0FBQztJQUM1RixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyw4QkFBOEIsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7SUFDOUYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsNEJBQTRCLEVBQUUsK0VBQStFLENBQUMsQ0FBQyxDQUFDO0lBQzFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLHVCQUF1QixFQUFFLDhDQUE4QyxDQUFDLENBQUMsQ0FBQztJQUNwRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyx5QkFBeUIsRUFBRSxxREFBcUQsQ0FBQyxDQUFDLENBQUM7SUFDN0csSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsdUJBQXVCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLHFCQUFxQixFQUFFLG1SQUFtUixDQUFDLENBQUMsQ0FBQztJQUN2VSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQywyQkFBMkIsRUFBRSxpRkFBaUYsQ0FBQyxDQUFDLENBQUM7SUFDM0ksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMseUJBQXlCLEVBQUUsMkRBQTJELENBQUMsQ0FBQyxDQUFDO0lBQ25ILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLHlCQUF5QixFQUFFLG9FQUFvRSxDQUFDLENBQUMsQ0FBQztJQUM1SCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsb0JBQW9CLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLG9CQUFvQixFQUFFLDJCQUEyQixDQUFDLENBQUMsQ0FBQztJQUM5RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQywwQ0FBMEMsRUFBRSxrREFBa0QsQ0FBQyxDQUFDLENBQUM7SUFDM0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsc0NBQXNDLEVBQUUsK0NBQStDLENBQUMsQ0FBQyxDQUFDO0lBQ3BILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLHVCQUF1QixFQUFFLHlFQUF5RSxDQUFDLENBQUMsQ0FBQztJQUMvSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyx5QkFBeUIsRUFBRSxvRUFBb0UsQ0FBQyxDQUFDLENBQUM7SUFDNUgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsaUJBQWlCLEVBQUUsdUVBQXVFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLDBCQUEwQixFQUFFLHVDQUF1QyxDQUFDLENBQUMsQ0FBQztJQUNoRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyxzQkFBc0IsRUFBRSxzREFBc0QsQ0FBQyxDQUFDLENBQUM7SUFDM0csSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMscUJBQXFCLEVBQUUsa0xBQWtMLENBQUMsQ0FBQyxDQUFDO0lBQ3RPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLCtCQUErQixFQUFFLG1EQUFtRCxDQUFFLENBQUMsQ0FBQztJQUNsSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUMsQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLDRCQUE0QixFQUFFLHFFQUFxRSxDQUFDLENBQUMsQ0FBQztJQUNoSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyw0QkFBNEIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7SUFFaEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUM5QixJQUFBLGtCQUFXLEVBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBR0gsTUFBTSxZQUFZLEdBQUcsSUFBSSxtQkFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLFlBQVksQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNsRCxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksb0JBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRW5ELFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLHlCQUF5QixFQUFFLHFEQUFxRCxDQUFDLENBQUMsQ0FBQztJQUNySCxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyx3QkFBd0IsRUFBRSw2REFBNkQsQ0FBQyxDQUFDLENBQUM7SUFFNUgsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN0QyxJQUFBLGdCQUFVLEVBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBR0gsTUFBTSxXQUFXLEdBQUcsSUFBSSxtQkFBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxvQkFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFHbEQsV0FBVyxDQUFDLFdBQVcsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO0lBQ3BFLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLFlBQVksRUFBRSw4Q0FBOEMsQ0FBQyxDQUFDLENBQUM7SUFDaEcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUMsQ0FBQztJQUMzRSxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyx5QkFBeUIsRUFBRSxxREFBcUQsQ0FBQyxDQUFDLENBQUM7SUFDcEgsV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMseUJBQXlCLEVBQUUseUVBQXlFLENBQUMsQ0FBQyxDQUFDO0lBRXhJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDckMsSUFBQSxnQkFBVSxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0QyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUdILE1BQU0sWUFBWSxHQUFHLElBQUksbUJBQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxZQUFZLENBQUMsV0FBVyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDcEQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLG9CQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUVuRCxVQUFVO0lBQ1YsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMsMENBQTBDLEVBQUUsa0RBQWtELENBQUMsQ0FBQyxDQUFDO0lBQ25JLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxrQkFBTSxDQUFDLHNDQUFzQyxFQUFFLCtDQUErQyxDQUFDLENBQUMsQ0FBQztJQUM1SCxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksa0JBQU0sQ0FBQyx5QkFBeUIsRUFBRSxxREFBcUQsQ0FBQyxDQUFDLENBQUM7SUFDckgsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLGtCQUFNLENBQUMseUJBQXlCLEVBQUUsZ0VBQWdFLENBQUMsQ0FBQyxDQUFDO0lBRWhJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDdEMsSUFBQSxzQkFBYSxFQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6QyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sT0FBTyxHQUFHLElBQUksbUJBQU8sRUFBRSxDQUFDO0lBQzlCLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUMzQyxPQUFPLENBQUMsV0FBVyxDQUFDLDRHQUE0RyxDQUFDLENBQUM7SUFDbEksT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVqQyxNQUFNLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBSXpDLENBQUM7QUFFRCxJQUFJLENBQUM7SUFDSCxJQUFJLEVBQUUsQ0FBQztBQUNULENBQUM7QUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMifQ==
@@ -47,4 +47,4 @@ async function cryptoHandler(rootPath, options) {
47
47
  console.log(JSON.stringify(results, null, 2));
48
48
  }
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy9jcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFxQkEsc0NBc0NDO0FBM0RELHVDQUFxQztBQVFyQyw4Q0FBMkM7QUFFM0MsZ0VBQTZEO0FBQzdELDRDQUFvQjtBQUNwQixzRUFBbUU7QUFDbkUsa0VBQStEO0FBQy9ELGdFQUE2RDtBQUM3RCxvRkFFb0Q7QUFJN0MsS0FBSyxVQUFVLGFBQWEsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFDaEUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO0lBQzNFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsMENBQTBDO0lBQ2hHLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQztJQUMxQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDeEIsSUFBRyxPQUFPLENBQUMsY0FBYztRQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQ25FLElBQUcsT0FBTyxDQUFDLFlBQVk7UUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztJQUU3RCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDbkIsSUFBRyxPQUFPLENBQUMsT0FBTztRQUFFLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUkscUJBQVMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtJQUV6RyxNQUFNLGFBQWEsR0FBRyxJQUFJLHlDQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5ELElBQUksUUFBUSxHQUFrQixFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksV0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUkscUJBQVMsQ0FBQyxDQUFDLElBQUksMkJBQVksRUFBRSxFQUFFLElBQUksdUJBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFO1FBQzVCLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsTUFBTSxZQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0FBRUgsQ0FBQyJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J5cHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy9jcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFZQSxzQ0FzQ0M7QUFsREQsdUNBQXFDO0FBQ3JDLDhDQUEyQztBQUMzQyxnRUFBNkQ7QUFDN0QsNENBQW9CO0FBQ3BCLHNFQUFtRTtBQUNuRSxrRUFBK0Q7QUFDL0QsZ0VBQTZEO0FBQzdELG9GQUVvRDtBQUc3QyxLQUFLLFVBQVUsYUFBYSxDQUFDLFFBQWdCLEVBQUUsT0FBWTtJQUNoRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBRSxrQ0FBa0M7SUFDM0UsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSwwQ0FBMEM7SUFDaEcsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGtCQUFRLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQzFCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztJQUN4QixJQUFHLE9BQU8sQ0FBQyxjQUFjO1FBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7SUFDbkUsSUFBRyxPQUFPLENBQUMsWUFBWTtRQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO0lBRTdELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztJQUNuQixJQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFFOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxxQkFBUyxDQUFDLEVBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0lBRXpHLE1BQU0sYUFBYSxHQUFHLElBQUkseUNBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFbkQsSUFBSSxRQUFRLEdBQWtCLEVBQUUsQ0FBQztJQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXhCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxxQkFBUyxDQUFDLENBQUMsSUFBSSwyQkFBWSxFQUFFLEVBQUUsSUFBSSx1QkFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUE7SUFDbEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUU7UUFDNUIsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixNQUFNLFlBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7QUFFSCxDQUFDIn0=
@@ -36,11 +36,12 @@ async function scanHandler(rootPath, options) {
36
36
  // Create dependency scanner and set parameters
37
37
  let dependencyInput = [];
38
38
  const dependencyScannerCfg = new DependencyScannerCfg_1.DependencyScannerCfg();
39
+ if (options.caCert)
40
+ dependencyScannerCfg.CA_CERT = options.caCert;
39
41
  if (options.api2url)
40
42
  dependencyScannerCfg.API_URL = options.api2url;
41
43
  if (options.grpc_proxy)
42
44
  dependencyScannerCfg.GRPC_PROXY = options.grpc_proxy;
43
- await dependencyScannerCfg.validate();
44
45
  const dependencyScanner = new DependencyScanner_1.DependencyScanner(dependencyScannerCfg);
45
46
  // Create scanner and set connections parameters
46
47
  const scannerCfg = new ScannerCfg_1.ScannerCfg();
@@ -66,7 +67,6 @@ async function scanHandler(rootPath, options) {
66
67
  }
67
68
  if (options.obfuscate)
68
69
  scannerCfg.WFP_OBFUSCATION = true;
69
- await scannerCfg.validate();
70
70
  const scanner = new Scanner_1.Scanner(scannerCfg);
71
71
  let scannerInput = { fileList: [] };
72
72
  // SBOM Ingestion
@@ -145,26 +145,19 @@ async function scanHandler(rootPath, options) {
145
145
  if (options.dependencies) {
146
146
  pDependencyScanner = dependencyScanner.scan(dependencyInput);
147
147
  }
148
+ const results = {
149
+ scanner: {},
150
+ dependencies: {},
151
+ cryptography: {
152
+ files: [],
153
+ components: [],
154
+ },
155
+ };
148
156
  //Launch parallel scanners
149
157
  const pScanner = scanner.scan([scannerInput]);
150
158
  const [scannerResultPath, depResults] = await Promise.all([pScanner, pDependencyScanner]);
151
- let scannerResults = JSON.parse(await fs_1.default.promises.readFile(scannerResultPath, "utf-8"));
152
- //TODO Unify results.json and dependency.json. What happens with result.json that includes dependencies?
153
- const scannersResults = {
154
- scanner: scannerResults,
155
- ...(options.dependencies && { dependencies: depResults }),
156
- };
157
- let scannerResultsString = JSON.stringify(scannerResults, null, 2);
158
- // Crypto
159
- const resultsWithCrypto = {
160
- scanner: scannerResults,
161
- ...{
162
- cryptography: {
163
- files: [],
164
- components: [],
165
- },
166
- },
167
- };
159
+ results.scanner = JSON.parse(await fs_1.default.promises.readFile(scannerResultPath, "utf-8"));
160
+ results.dependencies = depResults;
168
161
  if (options.cryptography) {
169
162
  // Load rules
170
163
  let algorithmRules = null;
@@ -179,41 +172,47 @@ async function scanHandler(rootPath, options) {
179
172
  libraryRulesPath: libraryRules,
180
173
  algorithmRulesPath: algorithmRules,
181
174
  apiKey: options.key,
182
- proxy: options.proxy,
183
175
  });
176
+ // Proxy setup
177
+ if (options.caCert)
178
+ cryptoCfg.CA_CERT = options.caCert; // Path to Certs
179
+ if (options.api2url)
180
+ cryptoCfg.API_URL = options.api2url; // Destination Host
181
+ if (options.grpc_proxy)
182
+ cryptoCfg.GRPC_PROXY = options.grpc_proxy; // Proxy Host
184
183
  const cryptoScanner = new CryptographyScanner_1.CryptographyScanner(cryptoCfg);
185
184
  let localCrypto = await cryptoScanner.scanFiles(scannerInput.fileList);
186
185
  localCrypto.fileList = localCrypto.fileList.map((c) => {
187
186
  return { ...c, file: c.file.replace(rootPath, "") };
188
187
  });
189
- resultsWithCrypto.cryptography.files = localCrypto.fileList;
188
+ results.cryptography.files = localCrypto.fileList;
190
189
  // Component Cryptography
191
190
  if (options.key) {
192
- let componentList = Object.values(scannersResults.scanner).flat();
191
+ let componentList = Object.values(results.scanner).flat();
193
192
  componentList = componentList.filter((component) => component.id !== "none");
194
193
  const cryptoRequest = {
195
194
  purlsList: componentList.map((c) => {
196
195
  return { purl: c.purl[0], requirement: c.version };
197
196
  }),
198
197
  };
199
- resultsWithCrypto.cryptography.components = await cryptoScanner.scanComponents(cryptoRequest);
198
+ results.cryptography.components = await cryptoScanner.scanComponents(cryptoRequest);
200
199
  }
201
- scannerResultsString = JSON.stringify(resultsWithCrypto, null, 2);
202
200
  }
201
+ let resultString = JSON.stringify(results, null, 2);
203
202
  if (options.format && options.format.toLowerCase() === "html") {
204
203
  const dataProviderManager = new DataProviderManager_1.DataProviderManager();
205
- dataProviderManager.addDataProvider(new ComponentDataProvider_1.ComponentDataProvider(scannersResults.scanner, scannersResults.dependencies));
206
- dataProviderManager.addDataProvider(new DependencyDataProvider_1.DependencyDataProvider(scannersResults.dependencies));
207
- dataProviderManager.addDataProvider(new LicenseDataProvider_1.LicenseDataProvider(scannersResults.scanner, scannersResults.dependencies));
208
- dataProviderManager.addDataProvider(new SummaryDataProvider_1.SummaryDataProvider(projectName, new Date(), scannersResults.scanner));
209
- dataProviderManager.addDataProvider(new LicenseObligationDataProvider_1.LicenseObligationDataProvider(scannersResults.scanner, scannersResults.dependencies));
210
- dataProviderManager.addDataProvider(new CryptographyDataProvider_1.CryptographyDataProvider(resultsWithCrypto.cryptography.files, resultsWithCrypto.cryptography.components));
204
+ dataProviderManager.addDataProvider(new ComponentDataProvider_1.ComponentDataProvider(results.scanner, results.dependencies));
205
+ dataProviderManager.addDataProvider(new DependencyDataProvider_1.DependencyDataProvider(results.dependencies));
206
+ dataProviderManager.addDataProvider(new LicenseDataProvider_1.LicenseDataProvider(results.scanner, results.dependencies));
207
+ dataProviderManager.addDataProvider(new SummaryDataProvider_1.SummaryDataProvider(projectName, new Date(), results.scanner));
208
+ dataProviderManager.addDataProvider(new LicenseObligationDataProvider_1.LicenseObligationDataProvider(results.scanner, results.dependencies));
209
+ dataProviderManager.addDataProvider(new CryptographyDataProvider_1.CryptographyDataProvider(results.cryptography.files, results.cryptography.components));
211
210
  const report = new Report_1.Report(dataProviderManager);
212
- scannerResultsString = await report.getHTML();
211
+ resultString = await report.getHTML();
213
212
  }
214
213
  if (options.output)
215
- await fs_1.default.promises.writeFile(options.output, scannerResultsString);
214
+ await fs_1.default.promises.writeFile(options.output, resultString);
216
215
  else
217
- console.log(scannerResultsString);
216
+ console.log(resultString);
218
217
  }
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQThCQSxrQ0EwTUM7QUF4T0QsNENBQW9CO0FBQ3BCLHVEQUFvRDtBQUNwRCxpRUFBc0g7QUFDdEgsNkRBQTBEO0FBQzFELDhDQUEyQztBQUMzQyxnRUFBdUM7QUFFdkMsdUNBQWtGO0FBRWxGLHNGQUFtRjtBQUNuRixnRkFBNkU7QUFFN0Usa0VBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSxvREFBaUQ7QUFDakQsd0ZBQXFGO0FBQ3JGLDBHQUF1RztBQUN2Ryw0R0FBeUc7QUFDekcsc0dBQW1HO0FBQ25HLHNHQUFtRztBQUNuRyxvRkFBaUY7QUFDakYsb0ZBQWlGO0FBQ2pGLGdEQUF3QjtBQUN4QiwwSEFBdUg7QUFDdkgsZ0hBQTZHO0FBRTdHLGdFQUE2RDtBQUM3RCxvRkFBaUY7QUFHMUUsS0FBSyxVQUFVLFdBQVcsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFDOUQsd0ZBQXdGO0lBQ3hGLFFBQVEsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUEsZ0NBQXNCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFckQsK0NBQStDO0lBQy9DLElBQUksZUFBZSxHQUFrQixFQUFFLENBQUM7SUFDeEMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDJDQUFvQixFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLENBQUMsT0FBTztRQUFFLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQ3BFLElBQUksT0FBTyxDQUFDLFVBQVU7UUFBRSxvQkFBb0IsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FB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
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQThCQSxrQ0F3TUM7QUF0T0QsNENBQW9CO0FBQ3BCLHVEQUFvRDtBQUNwRCxpRUFBc0g7QUFDdEgsNkRBQTBEO0FBQzFELDhDQUEyQztBQUMzQyxnRUFBdUM7QUFFdkMsdUNBQWtGO0FBRWxGLHNGQUFtRjtBQUNuRixnRkFBNkU7QUFFN0Usa0VBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSxvREFBaUQ7QUFDakQsd0ZBQXFGO0FBQ3JGLDBHQUF1RztBQUN2Ryw0R0FBeUc7QUFDekcsc0dBQW1HO0FBQ25HLHNHQUFtRztBQUNuRyxvRkFBaUY7QUFDakYsb0ZBQWlGO0FBQ2pGLGdEQUF3QjtBQUN4QiwwSEFBdUg7QUFDdkgsZ0hBQTZHO0FBRTdHLGdFQUE2RDtBQUM3RCxvRkFBaUY7QUFHMUUsS0FBSyxVQUFVLFdBQVcsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFDOUQsd0ZBQXdGO0lBQ3hGLFFBQVEsR0FBRyxjQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLElBQUEsZ0NBQXNCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFckQsK0NBQStDO0lBQy9DLElBQUksZUFBZSxHQUFrQixFQUFFLENBQUM7SUFDeEMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDJDQUFvQixFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLENBQUMsTUFBTTtRQUFFLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ2xFLElBQUksT0FBTyxDQUFDLE9BQU87UUFBRSxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FB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
@@ -1,9 +1,40 @@
1
- export declare abstract class BaseConfig {
2
- HTTPS_PROXY: string;
3
- HTTP_PROXY: string;
4
- NO_PROXY: string;
5
- API_URL: string;
6
- GRPC_PROXY: string;
7
- validate(): Promise<void>;
1
+ export interface IBaseConfig {
2
+ HTTPS_PROXY?: string;
3
+ HTTP_PROXY?: string;
4
+ NO_PROXY?: string;
5
+ API_URL?: string;
6
+ GRPC_PROXY?: string;
7
+ CA_CERT?: string;
8
+ }
9
+ export declare class BaseConfig {
10
+ private _HTTPS_PROXY;
11
+ private _HTTP_PROXY;
12
+ private _NO_PROXY;
13
+ private _API_URL;
14
+ private _GRPC_PROXY;
15
+ private _CA_CERT;
16
+ constructor(config?: IBaseConfig);
8
17
  static getDefaultURL(): string;
18
+ set HTTPS_PROXY(value: string);
19
+ set HTTP_PROXY(value: string);
20
+ set NO_PROXY(value: string);
21
+ /**
22
+ * Sets the API URL for service connections with validation
23
+ * @param value - The API URL (must start with http:// or https://)
24
+ * @throws {Error} When the URL is empty, missing http/https protocol, or has invalid format
25
+ */
26
+ set API_URL(value: string);
27
+ set GRPC_PROXY(value: string);
28
+ /**
29
+ * Sets the CA certificate file path for gRPC connections
30
+ * @param caCertPath - Path to the CA certificate file
31
+ * @throws {Error} When the certificate file does not exist or cannot be read
32
+ */
33
+ set CA_CERT(caCertPath: string);
34
+ get HTTPS_PROXY(): string;
35
+ get HTTP_PROXY(): string;
36
+ get NO_PROXY(): string;
37
+ get API_URL(): string;
38
+ get GRPC_PROXY(): string;
39
+ get CA_CERT(): string;
9
40
  }
@@ -1,18 +1,96 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.BaseConfig = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
4
8
  class BaseConfig {
5
- constructor() {
6
- this.HTTPS_PROXY = '';
7
- this.HTTP_PROXY = '';
8
- this.NO_PROXY = ''; //comma separated values
9
- this.API_URL = '';
10
- this.GRPC_PROXY = '';
11
- }
12
- async validate() { }
9
+ constructor(config) {
10
+ this._HTTPS_PROXY = '';
11
+ this._HTTP_PROXY = '';
12
+ this._NO_PROXY = ''; //comma separated values
13
+ this._API_URL = '';
14
+ this._GRPC_PROXY = '';
15
+ this._CA_CERT = ''; // Path to the certificate to be used in SSL/TLS connection
16
+ if (config) {
17
+ this.HTTPS_PROXY = config.HTTPS_PROXY || '';
18
+ this.HTTP_PROXY = config.HTTP_PROXY || '';
19
+ this.NO_PROXY = config.NO_PROXY || '';
20
+ this.API_URL = config.API_URL || '';
21
+ this.GRPC_PROXY = config.GRPC_PROXY || '';
22
+ this.CA_CERT = config.CA_CERT;
23
+ }
24
+ }
13
25
  static getDefaultURL() {
14
26
  return 'https://api.osskb.org/scan/direct';
15
27
  }
28
+ set HTTPS_PROXY(value) {
29
+ this._HTTPS_PROXY = value;
30
+ }
31
+ set HTTP_PROXY(value) {
32
+ this._HTTP_PROXY = value;
33
+ }
34
+ set NO_PROXY(value) {
35
+ this._NO_PROXY = value;
36
+ }
37
+ /**
38
+ * Sets the API URL for service connections with validation
39
+ * @param value - The API URL (must start with http:// or https://)
40
+ * @throws {Error} When the URL is empty, missing http/https protocol, or has invalid format
41
+ */
42
+ set API_URL(value) {
43
+ if (!value) {
44
+ throw new Error('API_URL is required and cannot be empty');
45
+ }
46
+ if (!value.startsWith('http')) {
47
+ throw new Error(`API_URL must start with 'http://' or 'https://', got: '${value}'`);
48
+ }
49
+ try {
50
+ new URL(value);
51
+ this._API_URL = value;
52
+ }
53
+ catch (e) {
54
+ throw new Error(`Invalid API_URL format '${value}': ${e.message}`);
55
+ }
56
+ }
57
+ set GRPC_PROXY(value) {
58
+ this._GRPC_PROXY = value;
59
+ }
60
+ /**
61
+ * Sets the CA certificate file path for gRPC connections
62
+ * @param caCertPath - Path to the CA certificate file
63
+ * @throws {Error} When the certificate file does not exist or cannot be read
64
+ */
65
+ set CA_CERT(caCertPath) {
66
+ if (caCertPath == null || caCertPath === '')
67
+ return;
68
+ try {
69
+ fs_1.default.readFileSync(caCertPath);
70
+ this._CA_CERT = caCertPath;
71
+ }
72
+ catch (e) {
73
+ throw new Error(`Certificate file not found: '${caCertPath}'`);
74
+ }
75
+ }
76
+ get HTTPS_PROXY() {
77
+ return this._HTTPS_PROXY;
78
+ }
79
+ get HTTP_PROXY() {
80
+ return this._HTTP_PROXY;
81
+ }
82
+ get NO_PROXY() {
83
+ return this._NO_PROXY;
84
+ }
85
+ get API_URL() {
86
+ return this._API_URL;
87
+ }
88
+ get GRPC_PROXY() {
89
+ return this._GRPC_PROXY;
90
+ }
91
+ get CA_CERT() {
92
+ return this._CA_CERT;
93
+ }
16
94
  }
17
95
  exports.BaseConfig = BaseConfig;
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGsvQmFzZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxNQUFzQixVQUFVO0lBQWhDO1FBQ1MsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixhQUFRLEdBQVcsRUFBRSxDQUFDLENBQUcsd0JBQXdCO1FBQ2pELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsZUFBVSxHQUFXLEVBQUUsQ0FBQztJQU9qQyxDQUFDO0lBTFEsS0FBSyxDQUFDLFFBQVEsS0FBSSxDQUFDO0lBRW5CLE1BQU0sQ0FBQyxhQUFhO1FBQ3pCLE9BQU8sbUNBQW1DLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBWkQsZ0NBWUMifQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZGsvQmFzZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw0Q0FBb0I7QUFZcEIsTUFBYSxVQUFVO0lBUXJCLFlBQVksTUFBb0I7UUFQeEIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFXLEVBQUUsQ0FBQyxDQUFHLHdCQUF3QjtRQUNsRCxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBRywyREFBMkQ7UUFHbEYsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYTtRQUN6QixPQUFPLG1DQUFtQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywwREFBMEQsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN4QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU8sQ0FBQyxVQUFrQjtRQUM1QixJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxLQUFLLEVBQUU7WUFBRSxPQUFPO1FBQ3BELElBQUksQ0FBQztZQUNELFlBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQztRQUFDLE9BQU0sQ0FBQyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFuR0QsZ0NBbUdDIn0=
@@ -17,11 +17,14 @@ class ComponentAlgorithmScanner extends BaseCryptographyScanner_1.BaseCryptograp
17
17
  * @returns {AlgorithmResponse} A promise that resolves to an AlgorithmResponse containing detected cryptographic algorithms.
18
18
  */
19
19
  async scan(req) {
20
- const cryptographyService = new CryptographyService_1.CryptographyService(this.config.getApikey(), this.config.getProxy());
20
+ const cryptographyService = new CryptographyService_1.CryptographyService(this.config.getApikey(), // API KEY
21
+ this.config.API_URL, // Destination Host
22
+ this.config.GRPC_PROXY, // Proxy Host
23
+ this.config.CA_CERT);
21
24
  const results = await cryptographyService.getAlgorithms(req);
22
25
  this.resultCollector.collectAlgorithmResults(results);
23
26
  return results;
24
27
  }
25
28
  }
26
29
  exports.ComponentAlgorithmScanner = ComponentAlgorithmScanner;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50QWxnb3JpdGhtU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ3J5cHRvZ3JhcGh5L0FsZ29yaXRobS9Db21wb25lbnRzL0NvbXBvbmVudEFsZ29yaXRobVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0Esb0ZBR29EO0FBRXBELDJFQUF3RTtBQUV4RTs7OztHQUlHO0FBQ0gsTUFBYSx5QkFDWCxTQUFRLGlEQUdZO0lBRXBCOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBZ0I7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQ3pFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxQixNQUFNLE9BQU8sR0FBcUIsTUFBTSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFwQkQsOERBb0JDIn0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50QWxnb3JpdGhtU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvQ3J5cHRvZ3JhcGh5L0FsZ29yaXRobS9Db21wb25lbnRzL0NvbXBvbmVudEFsZ29yaXRobVNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0Esb0ZBR29EO0FBRXBELDJFQUF3RTtBQUV4RTs7OztHQUlHO0FBQ0gsTUFBYSx5QkFDWCxTQUFRLGlEQUdZO0lBRXBCOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBZ0I7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixDQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVU7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsbUJBQW1CO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGFBQWE7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBcUIsTUFBTSxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUF2QkQsOERBdUJDIn0=
@@ -1,20 +1,19 @@
1
+ import { BaseConfig, IBaseConfig } from "../BaseConfig";
1
2
  /**
2
3
  * Represents a configuration for cryptography scanner.
3
4
  */
4
- export declare class CryptoCfg {
5
+ export declare class CryptoCfg extends BaseConfig {
5
6
  private readonly DEFAULT_THREADS;
6
7
  private readonly algorithmRulesPath;
7
8
  private readonly libraryRulesPath;
8
9
  private readonly threads;
9
- protected readonly apiKey: string;
10
- protected readonly proxy: string;
10
+ private readonly apiKey;
11
11
  /**
12
12
  * Creates an instance of CryptoCfg.
13
13
  * @param {Object} cfg - Configuration object.
14
14
  * @param {number} [cfg.threads=5] - The number of threads to use. Defaults to 5 if not provided.
15
15
  * @param {string} [cfg.rulesPath] - Optional. Path to the cryptography rules file.
16
16
  * @param {string} [cfg.apiKey] - Optional. SCANOSS API Key.
17
- * @param {string} [cfg.proxy] - Optional. proxy.
18
17
  */
19
18
  constructor(cfg: {
20
19
  threads?: number;
@@ -22,7 +21,7 @@ export declare class CryptoCfg {
22
21
  libraryRulesPath?: string;
23
22
  apiKey?: string;
24
23
  proxy?: string;
25
- });
24
+ } & IBaseConfig);
26
25
  /**
27
26
  * Gets the path to the cryptography algorithm rules file.
28
27
  * @returns The path to the cryptography rules file.
@@ -39,13 +38,8 @@ export declare class CryptoCfg {
39
38
  **/
40
39
  getNumberOfThreads(): number;
41
40
  /**
42
- * Gets the API Key set.
43
- * @returns The API Key.
44
- **/
41
+ * Gets the API Key set.
42
+ * @returns The API Key.
43
+ **/
45
44
  getApikey(): string;
46
- /**
47
- * Gets proxy.
48
- * @returns proxy.
49
- **/
50
- getProxy(): string;
51
45
  }
@@ -1,25 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CryptoCfg = void 0;
4
+ const BaseConfig_1 = require("../BaseConfig");
4
5
  /**
5
6
  * Represents a configuration for cryptography scanner.
6
7
  */
7
- class CryptoCfg {
8
+ class CryptoCfg extends BaseConfig_1.BaseConfig {
8
9
  /**
9
10
  * Creates an instance of CryptoCfg.
10
11
  * @param {Object} cfg - Configuration object.
11
12
  * @param {number} [cfg.threads=5] - The number of threads to use. Defaults to 5 if not provided.
12
13
  * @param {string} [cfg.rulesPath] - Optional. Path to the cryptography rules file.
13
14
  * @param {string} [cfg.apiKey] - Optional. SCANOSS API Key.
14
- * @param {string} [cfg.proxy] - Optional. proxy.
15
15
  */
16
16
  constructor(cfg) {
17
+ super();
17
18
  this.DEFAULT_THREADS = 5;
18
19
  this.algorithmRulesPath = cfg.algorithmRulesPath;
19
20
  this.libraryRulesPath = cfg.libraryRulesPath;
20
21
  this.threads = cfg.threads ? Number(cfg.threads) : this.DEFAULT_THREADS;
21
22
  this.apiKey = cfg.apiKey;
22
- this.proxy = cfg.proxy;
23
23
  }
24
24
  /**
25
25
  * Gets the path to the cryptography algorithm rules file.
@@ -43,19 +43,12 @@ class CryptoCfg {
43
43
  return this.threads;
44
44
  }
45
45
  /**
46
- * Gets the API Key set.
47
- * @returns The API Key.
48
- **/
46
+ * Gets the API Key set.
47
+ * @returns The API Key.
48
+ **/
49
49
  getApikey() {
50
50
  return this.apiKey;
51
51
  }
52
- /**
53
- * Gets proxy.
54
- * @returns proxy.
55
- **/
56
- getProxy() {
57
- return this.proxy;
58
- }
59
52
  }
60
53
  exports.CryptoCfg = CryptoCfg;
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvQ2ZnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9DcnlwdG9ncmFwaHkvQ3J5cHRvQ2ZnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsTUFBYSxTQUFTO0lBY3BCOzs7Ozs7O09BT0c7SUFDRixZQUFhLEdBQW9IO1FBcEJqSCxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQXFCbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDO1FBQzdDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN4RSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRjs7O09BR0c7SUFDSyxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVGOzs7TUFHRTtJQUNLLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBRUY7QUF0RUQsOEJBc0VDIn0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3J5cHRvQ2ZnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9DcnlwdG9ncmFwaHkvQ3J5cHRvQ2ZnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUF3RDtBQUV4RDs7R0FFRztBQUNILE1BQWEsU0FBVSxTQUFRLHVCQUFVO0lBYXZDOzs7Ozs7T0FNRztJQUNGLFlBQWEsR0FNQTtRQUNYLEtBQUssRUFBRSxDQUFDO1FBekJNLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBMEJsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDO1FBQ2pELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7UUFDN0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUMzQixDQUFDO0lBRUY7OztPQUdHO0lBQ0sscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFFRjs7O01BR0U7SUFDSyxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7UUFHSTtJQUNHLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUVGO0FBbEVELDhCQWtFQyJ9
@@ -17,11 +17,14 @@ class ComponentHintScanner extends BaseCryptographyScanner_1.BaseCryptographySca
17
17
  * @returns {HintsResponse} A promise that resolves to a HintsResponse containing detected cryptographic hints.
18
18
  */
19
19
  async scan(req) {
20
- const cryptographyService = new CryptographyService_1.CryptographyService(this.config.getApikey(), this.config.getProxy());
20
+ const cryptographyService = new CryptographyService_1.CryptographyService(this.config.getApikey(), // API KEY
21
+ this.config.API_URL, // Destination Host
22
+ this.config.GRPC_PROXY, // Proxy Host
23
+ this.config.CA_CERT);
21
24
  const results = await cryptographyService.getEncryptionHints(req);
22
25
  this.resultCollector.collectHintResults(results);
23
26
  return results;
24
27
  }
25
28
  }
26
29
  exports.ComponentHintScanner = ComponentHintScanner;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50SGludFNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NyeXB0b2dyYXBoeS9IaW50L0NvbXBvbmVudHMvQ29tcG9uZW50SGludFNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsb0ZBQ29FO0FBQ3BFLDJFQUF3RTtBQUV4RTs7OztHQUlHO0FBQ0gsTUFBYSxvQkFDWCxTQUFRLGlEQUdRO0lBRWhCOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBZ0I7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JHLE1BQU0sT0FBTyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFuQkQsb0RBbUJDIn0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50SGludFNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0NyeXB0b2dyYXBoeS9IaW50L0NvbXBvbmVudHMvQ29tcG9uZW50SGludFNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsb0ZBQ29FO0FBQ3BFLDJFQUF3RTtBQUV4RTs7OztHQUlHO0FBQ0gsTUFBYSxvQkFDWCxTQUFRLGlEQUdRO0lBRWhCOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBZ0I7UUFDaEMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixDQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFVBQVU7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsbUJBQW1CO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGFBQWE7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRyxNQUFNLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBdkJELG9EQXVCQyJ9
@@ -3,6 +3,7 @@ import { IDependencyResponse } from './DependencyTypes';
3
3
  export declare class DependencyScanner {
4
4
  private localDependency;
5
5
  private grpcDependencyService;
6
+ private config;
6
7
  constructor(cfg?: DependencyScannerCfg);
7
8
  scanFolder(path: string): Promise<IDependencyResponse>;
8
9
  scan(files: Array<string>): Promise<IDependencyResponse>;
@@ -12,18 +12,11 @@ const packageurl_js_1 = require("packageurl-js");
12
12
  const fs_1 = __importDefault(require("fs"));
13
13
  const Tree_1 = require("../tree/Tree");
14
14
  class DependencyScanner {
15
- constructor(cfg = new DependencyScannerCfg_1.DependencyScannerCfg()) {
16
- //Extract host from URL (hostname:port)
17
- if (cfg.API_URL.startsWith('http')) {
18
- const apiURL = new URL(cfg.API_URL);
19
- let hostname;
20
- let port;
21
- if (!apiURL.port)
22
- port = apiURL.protocol === 'https:' ? '443' : '80';
23
- hostname = apiURL.host;
24
- cfg.API_URL = `${hostname}:${port}`;
25
- }
26
- this.grpcDependencyService = new DependencyService_1.DependencyService(cfg.API_URL, cfg.GRPC_PROXY);
15
+ constructor(cfg) {
16
+ this.config = new DependencyScannerCfg_1.DependencyScannerCfg();
17
+ if (cfg)
18
+ this.config = cfg;
19
+ this.grpcDependencyService = new DependencyService_1.DependencyService(this.config.API_URL, this.config.GRPC_PROXY, this.config.CA_CERT);
27
20
  this.localDependency = new LocalDependency_1.LocalDependencies();
28
21
  }
29
22
  async scanFolder(path) {
@@ -116,4 +109,4 @@ class DependencyScanner {
116
109
  }
117
110
  }
118
111
  exports.DependencyScanner = DependencyScanner;
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwwRUFBdUU7QUFDdkUsa0hBRzhFO0FBQzlFLHVFQUFzRTtBQUN0RSxpRUFBOEQ7QUFFOUQsaURBQTJDO0FBQzNDLDRDQUFvQjtBQUNwQix1Q0FBb0M7QUFFcEMsTUFBYSxpQkFBaUI7SUFLNUIsWUFBWSxHQUFHLEdBQUcsSUFBSSwyQ0FBb0IsRUFBRTtRQUMxQyx3Q0FBd0M7UUFDeEMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxJQUFJLFFBQWdCLENBQUM7WUFDckIsSUFBSSxJQUFZLENBQUM7WUFFakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2dCQUFFLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDckUsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDdkIsR0FBRyxDQUFDLE9BQU8sR0FBRyxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUkscUNBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLG1DQUFpQixFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUNsQyxJQUFJLENBQUMsQ0FBQyxN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
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSwwRUFBdUU7QUFDdkUsa0hBRzhFO0FBQzlFLHVFQUFzRTtBQUN0RSxpRUFBOEQ7QUFFOUQsaURBQTJDO0FBQzNDLDRDQUFvQjtBQUNwQix1Q0FBb0M7QUFFcEMsTUFBYSxpQkFBaUI7SUFPNUIsWUFBWSxHQUEwQjtRQUY5QixXQUFNLEdBQXlCLElBQUksMkNBQW9CLEVBQUUsQ0FBQztRQUloRSxJQUFJLEdBQUc7WUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUMzQixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JILElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxtQ0FBaUIsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQVk7UUFDbEMsSUFBSSxDQUFDLENBQUMsTUFBTSxZQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNoRCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDdkQsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2IsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxpQkFBaUIsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNuRSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRSxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFekMsOERBQThEO1FBQzlELDZGQUE2RjtRQUM3Rix3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sV0FBVyxDQUNqQixpQkFBcUM7UUFFckMsS0FBSyxNQUFNLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDOUIsaUdBQWlHO2dCQUNqRyxNQUFNLE9BQU8sR0FBRywwQkFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUN6RCxJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO29CQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25ELENBQUM7Z0JBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7b0JBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU8sWUFBWSxDQUNsQixpQkFBcUM7UUFFckMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSwyQ0FBaUIsRUFBRSxDQUFDO1lBQzNDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkIsS0FBSyxNQUFNLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQ0FBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDOUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFJLDJDQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO29CQUM5QyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDM0IsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsV0FBVzt3QkFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDaEUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUIsQ0FBQztnQkFDRCxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FDbEIsZUFBbUMsRUFDbkMsY0FBMkM7UUFFM0MsbUZBQW1GO1FBQ25GLHNDQUFzQztRQUN0Qyw0Q0FBNEM7UUFDNUMsbUVBQW1FO1FBQ25FLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQy9CLEtBQUssTUFBTSxJQUFJLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0IsS0FBSyxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3pDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxlQUFlLGFBQWYsZUFBZSx1QkFBZixlQUFlLENBQUUsS0FBSztvQkFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQztnQkFDdkUsSUFBSSxlQUFlLGFBQWYsZUFBZSx1QkFBZixlQUFlLENBQUUsV0FBVztvQkFDOUIsU0FBUyxDQUFDLGFBQWEsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7Z0JBQ3pELG1CQUFtQixDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO1lBQ25FLENBQUM7UUFDSCxDQUFDO1FBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLE1BQU0sVUFBVSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUMvQyxNQUFNLG1CQUFtQixHQUN2QixtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLG1CQUFtQixhQUFuQixtQkFBbUIsdUJBQW5CLG1CQUFtQixDQUFFLEtBQUs7b0JBQzVCLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7Z0JBQ2xELElBQUksQ0FBQSxtQkFBbUIsYUFBbkIsbUJBQW1CLHVCQUFuQixtQkFBbUIsQ0FBRSxXQUFXLEtBQUksVUFBVSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDakUsVUFBVSxDQUFDLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7Z0JBQ3ZELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWpIRCw4Q0FpSEMifQ==