@pagopa/dx-cli 0.26.2 → 0.26.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -218,14 +218,15 @@ dx savemoney [options]
218
218
 
219
219
  **Options:**
220
220
 
221
- | Option | Alias | Description | Default |
222
- | :----------- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |
223
- | `--config` | `-c` | Path to a YAML configuration file. | N/A |
224
- | `--format` | `-f` | Report format: `table`, `json`, `detailed-json`, or `lint`. | `table` |
225
- | `--days` | `-d` | Metric analysis period in days (overrides config file). | `30` |
226
- | `--location` | `-l` | Preferred Azure location for resources (overrides config file). | `italynorth` |
227
- | `--tags` | `-t` | Filter resources by tags (`key=value key2=value2`). Only resources matching **all** specified tags are analyzed (variadic: space-separated). | N/A |
228
- | `--source` | `-s` | Restrict findings to a specific source: `advisor`, `custom`, or `all`. | `all` |
221
+ | Option | Alias | Description | Default |
222
+ | :-------------- | :---- | :------------------------------------------------------------------------------------------------------------------------------------------- | :----------- |
223
+ | `--config` | `-c` | Path to a YAML configuration file. | N/A |
224
+ | `--format` | `-f` | Report format: `table`, `json`, `detailed-json`, or `lint`. | `table` |
225
+ | `--days` | `-d` | Metric analysis period in days (overrides config file). | `30` |
226
+ | `--location` | `-l` | Preferred Azure location for resources (overrides config file). | `italynorth` |
227
+ | `--tags` | `-t` | Filter resources by tags (`key=value key2=value2`). Only resources matching **all** specified tags are analyzed (variadic: space-separated). | N/A |
228
+ | `--source` | `-s` | Restrict findings to a specific source: `advisor`, `custom`, or `all`. | `all` |
229
+ | `--azqr-report` | | Path to an [AZQR](https://github.com/Azure/azqr) `scan --json` report to merge as additional findings (overrides `azure.azqrReportPath`). | N/A |
229
230
 
230
231
  > `--verbose` / `-v` is inherited from the root command. See [Global Options](#global-options).
231
232
 
@@ -249,6 +250,9 @@ dx savemoney --config config.yaml --tags "environment=prod"
249
250
 
250
251
  # Analyze with specific timespan
251
252
  dx savemoney --days 60 --location italynorth
253
+
254
+ # Merge an AZQR report (run `azqr scan --mask=false --json` first)
255
+ dx savemoney --config config.yaml --azqr-report azqr_action_plan.json
252
256
  ```
253
257
 
254
258
  **Configuration file example (`config.yaml`):**
@@ -260,6 +264,7 @@ azure:
260
264
  - subscription-2
261
265
  preferredLocation: italynorth
262
266
  timespanDays: 30
267
+ azqrReportPath: ./azqr_action_plan.json # optional — merge an AZQR scan report
263
268
  thresholds: # optional — omit to use built-in defaults
264
269
  vm:
265
270
  cpuPercent: 5
@@ -282,6 +287,7 @@ azure:
282
287
  - **Container Apps**: Not running, zero replicas, low resource usage
283
288
  - **Static Web Apps**: No traffic or very low usage patterns
284
289
  - **Azure Advisor recommendations**: Reserved Instance and Savings Plan opportunities, right-sizing suggestions, and other cost recommendations surfaced directly from Azure Advisor — with estimated monthly savings where available
290
+ - **AZQR report** (optional, via `--azqr-report`): billable orphans (cost) and free orphaned resources such as empty subnets or unattached NSGs (cleanup candidates) parsed from an `azqr scan --json` report
285
291
 
286
292
  > [!NOTE]
287
293
  > Currently only Azure is supported. Support for additional cloud providers (AWS) is planned for future releases.
@@ -12,6 +12,7 @@ export const makeSavemoneyCommand = () => new Command("savemoney")
12
12
  .option("-t, --tags <tags...>", "Filter findings by resource tags (key=value key2=value2). Advisor subscription-level findings remain global.")
13
13
  .option("-s, --source <source>", "Restrict findings to a single source: 'advisor', 'custom', or 'all' (defaults to config file or all)", parseSourceOption)
14
14
  .option("--no-pricing", "Disable Azure Retail Prices enrichment (skips custom cost-at-risk estimates)")
15
+ .option("--azqr-report <path>", "Path to an AZQR (`azqr scan --json`) report; its FinOps-relevant impacted resources are merged into the output. Overrides `azure.azqrReportPath` from the config file. Run AZQR with `--mask=false` so resource IDs match.")
15
16
  .action(async function (options) {
16
17
  const { verbose } = this.optsWithGlobals();
17
18
  try {
@@ -22,6 +23,7 @@ export const makeSavemoneyCommand = () => new Command("savemoney")
22
23
  const cliDays = Number.parseInt(options.days, 10);
23
24
  const finalConfig = {
24
25
  ...config,
26
+ ...(options.azqrReport ? { azqrReportPath: options.azqrReport } : {}),
25
27
  filterTags,
26
28
  preferredLocation: this.getOptionValueSource("location") === "cli"
27
29
  ? options.location
@@ -92,4 +94,4 @@ export function resolveSourcesOption(option, configSources) {
92
94
  }
93
95
  return option === "all" ? [...AZURE_SOURCE_VALUES] : [option];
94
96
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZW1vbmV5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbW1hbmRlci9jb21tYW5kcy9zYXZlbW9uZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDakMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFLENBQ3ZDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUNyQixXQUFXLENBQ1Ysd0VBQXdFLENBQ3pFO0tBQ0EsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGlDQUFpQyxDQUFDO0tBQ2hFLE1BQU0sQ0FDTCx1QkFBdUIsRUFDdkIscUVBQXFFLEVBQ3JFLE9BQU8sQ0FDUjtLQUNBLE1BQU0sQ0FDTCx5QkFBeUIsRUFDekIsZ0VBQWdFLEVBQ2hFLFlBQVksQ0FDYjtLQUNBLE1BQU0sQ0FDTCxxQkFBcUIsRUFDckIsNkRBQTZELEVBQzdELElBQUksQ0FDTDtLQUNBLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsOEdBQThHLENBQy9HO0tBQ0EsTUFBTSxDQUNMLHVCQUF1QixFQUN2QixzR0FBc0csRUFDdEcsaUJBQWlCLENBQ2xCO0tBQ0EsTUFBTSxDQUNMLGNBQWMsRUFDZCw4RUFBOEUsQ0FDL0U7S0FDQSxNQUFNLENBQUMsS0FBSyxXQUFXLE9BQU87SUFDN0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQWlCLENB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SSxHQUFHLEVBQWtCLENBQUM7SUFDekMsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUFnQyxFQUNoQyxhQUFxQztJQUVyQyxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QixPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsT0FBTyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNoRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBenVyZUNvbmZpZyB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuXG5pbXBvcnQgeyBhenVyZSwgQVpVUkVfU09VUkNFX1ZBTFVFUywgbG9hZENvbmZpZyB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuaW1wb3J0IHsgQ29tbWFuZCwgSW52YWxpZEFyZ3VtZW50RXJyb3IgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBvcmFQcm9taXNlIH0gZnJvbSBcIm9yYVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuaW1wb3J0IHsgZXhpdFdpdGhFcnJvciB9IGZyb20gXCIuLi9jb21tYW5kLWVycm9ycy5qc1wiO1xuaW1wb3J0IHsgR2xvYmFsT3B0aW9ucyB9IGZyb20gXCIuLi9nbG9iYWwtb3B0aW9ucy5qc1wiO1xuXG5leHBvcnQgY29uc3QgbWFrZVNhdmVtb25leUNvbW1hbmQgPSAoKSA9PlxuICBuZXcgQ29tbWFuZChcInNhdmVtb25leVwiKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgIFwiQW5hbHl6ZSBBenVyZSBzdWJzY3JpcHRpb25zIGFuZCByZXBvcnQgdW51c2VkIG9yIGluZWZmaWNpZW50IHJlc291cmNlc1wiLFxuICAgIClcbiAgICAub3B0aW9uKFwiLWMsIC0tY29uZmlnIDxwYXRoPlwiLCBcIlBhdGggdG8gWUFNTCBjb25maWd1cmF0aW9uIGZpbGVcIilcbiAgICAub3B0aW9uKFxuICAgICAgXCItZiwgLS1mb3JtYXQgPGZvcm1hdD5cIixcbiAgICAgIFwiUmVwb3J0IGZvcm1hdDoganNvbiwgdGFibGUsIGRldGFpbGVkLWpzb24sIG9yIGxpbnQgKGRlZmF1bHQ6IHRhYmxlKVwiLFxuICAgICAgXCJ0YWJsZVwiLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgXCItbCwgLS1sb2NhdGlvbiA8c3RyaW5nPlwiLFxuICAgICAgXCJQcmVmZXJyZWQgQXp1cmUgbG9jYXRpb24gZm9yIHJlc291cmNlcyAob3ZlcnJpZGVzIGNvbmZpZyBmaWxlKVwiLFxuICAgICAgXCJpdGFseW5vcnRoXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1kLCAtLWRheXMgPG51bWJlcj5cIixcbiAgICAgIFwiTnVtYmVyIG9mIGRheXMgZm9yIG1ldHJpY3MgYW5hbHlzaXMgKG92ZXJyaWRlcyBjb25maWcgZmlsZSlcIixcbiAgICAgIFwiMzBcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLXQsIC0tdGFncyA8dGFncy4uLj5cIixcbiAgICAgIFwiRmlsdGVyIGZpbmRpbmdzIGJ5IHJlc291cmNlIHRhZ3MgKGtleT12YWx1ZSBrZXkyPXZhbHVlMikuIEFkdmlzb3Igc3Vic2NyaXB0aW9uLWxldmVsIGZpbmRpbmdzIHJlbWFpbiBnbG9iYWwuXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1zLCAtLXNvdXJjZSA8c291cmNlPlwiLFxuICAgICAgXCJSZXN0cmljdCBmaW5kaW5ncyB0byBhIHNpbmdsZSBzb3VyY2U6ICdhZHZpc29yJywgJ2N1c3RvbScsIG9yICdhbGwnIChkZWZhdWx0cyB0byBjb25maWcgZmlsZSBvciBhbGwpXCIsXG4gICAgICBwYXJzZVNvdXJjZU9wdGlvbixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLS1uby1wcmljaW5nXCIsXG4gICAgICBcIkRpc2FibGUgQXp1cmUgUmV0YWlsIFByaWNlcyBlbnJpY2htZW50IChza2lwcyBjdXN0b20gY29zdC1hdC1yaXNrIGVzdGltYXRlcylcIixcbiAgICApXG4gICAgLmFjdGlvbihhc3luYyBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgICAgY29uc3QgeyB2ZXJib3NlIH0gPSB0aGlzLm9wdHNXaXRoR2xvYmFsczxHbG9iYWxPcHRpb25zPigpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gTG9hZCBjb25maWd1cmF0aW9uIGZyb20gWUFNTCAoaW5jbHVkZXMgc3Vic2NyaXB0aW9uSWRzLCBsb2NhdGlvbiwgdGltZXNwYW5EYXlzLCB0aHJlc2hvbGRzKVxuICAgICAgICBjb25zdCBjb25maWc6IEF6dXJlQ29uZmlnID0gYXdhaXQgbG9hZENvbmZpZyhvcHRpb25zLmNvbmZpZyk7XG5cbiAgICAgICAgLy8gUGFyc2UgdGFnIGZpbHRlclxuICAgICAgICBjb25zdCBmaWx0ZXJUYWdzID0gcGFyc2VUYWdzT3B0aW9uKG9wdGlvbnMudGFncyk7XG4gICAgICAgIGNvbnN0IGNsaURheXMgPSBOdW1iZXIucGFyc2VJbnQob3B0aW9ucy5kYXlzLCAxMCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxDb25maWc6IEF6dXJlQ29uZmlnID0ge1xuICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICBmaWx0ZXJUYWdzLFxuICAgICAgICAgIHByZWZlcnJlZExvY2F0aW9uOlxuICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25WYWx1ZVNvdXJjZShcImxvY2F0aW9uXCIpID09PSBcImNsaVwiXG4gICAgICAgICAgICAgID8gb3B0aW9ucy5sb2NhdGlvblxuICAgICAgICAgICAgICA6IGNvbmZpZy5wcmVmZXJyZWRMb2NhdGlvbixcbiAgICAgICAgICAuLi4ob3B0aW9ucy5wcmljaW5nID09PSBmYWxzZSA/IHsgcHJpY2luZzogeyBlbmFibGVkOiBmYWxzZSB9IH0gOiB7fSksXG4gICAgICAgICAgc291cmNlczogcmVzb2x2ZVNvdXJjZXNPcHRpb24ob3B0aW9ucy5zb3VyY2UsIGNvbmZpZy5zb3VyY2VzKSxcbiAgICAgICAgICB0aW1lc3BhbkRheXM6XG4gICAgICAgICAgICB0aGlzLmdldE9wdGlvblZhbHVlU291cmNlKFwiZGF5c1wiKSA9PT0gXCJjbGlcIiAmJlxuICAgICAgICAgICAgIU51bWJlci5pc05hTihjbGlEYXlzKVxuICAgICAgICAgICAgICA/IGNsaURheXNcbiAgICAgICAgICAgICAgOiBjb25maWcudGltZXNwYW5EYXlzLFxuICAgICAgICAgIHZlcmJvc2U6IHZlcmJvc2UgPz8gZmFsc2UsXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gUnVuIGFuYWx5c2lzIHNob3dpbmcgYSBwcm9ncmVzcyBzcGlubmVyIG9uIHN0ZGVyciBzbyB0aGUgQ0xJIGRvZXNuJ3RcbiAgICAgICAgLy8gbG9vayBmcm96ZW4gZHVyaW5nIHRoZSAocG90ZW50aWFsbHkgc2V2ZXJhbC1taW51dGUpIEF6dXJlIHJvdW5kLXRyaXBzLlxuICAgICAgICBjb25zdCByZXBvcnRzID0gYXdhaXQgb3JhUHJvbWlzZShcbiAgICAgICAgICBhenVyZS5hbmFseXplQXp1cmVSZXNvdXJjZXMoZmluYWxDb25maWcpLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZhaWxUZXh0OiBcIkFuYWx5c2lzIGZhaWxlZFwiLFxuICAgICAgICAgICAgc3RyZWFtOiBwcm9jZXNzLnN0ZGVycixcbiAgICAgICAgICAgIHN1Y2Nlc3NUZXh0OiBcIkFuYWx5c2lzIGNvbXBsZXRlXCIsXG4gICAgICAgICAgICB0ZXh0OiBcIkFuYWx5emluZyBBenVyZSByZXNvdXJjZXNcIixcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCBhenVyZS5nZW5lcmF0ZVJlcG9ydChyZXBvcnRzLCBvcHRpb25zLmZvcm1hdCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBleGl0V2l0aEVycm9yKHRoaXMpKFxuICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICAgID8gbmV3IEVycm9yKGBBbmFseXNpcyBmYWlsZWQ6ICR7ZXJyb3IubWVzc2FnZX1gLCB7IGNhdXNlOiBlcnJvciB9KVxuICAgICAgICAgICAgOiBuZXcgRXJyb3IoYEFuYWx5c2lzIGZhaWxlZDogJHtTdHJpbmcoZXJyb3IpfWApLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG5jb25zdCBTb3VyY2VTY2hlbWEgPSB6LmVudW0oWy4uLkFaVVJFX1NPVVJDRV9WQUxVRVMsIFwiYWxsXCJdKTtcbnR5cGUgU291cmNlT3B0aW9uID0gei5pbmZlcjx0eXBlb2YgU291cmNlU2NoZW1hPjtcblxuLyoqXG4gKiBQYXJzZXMgdGhlIGAtLXNvdXJjZWAgb3B0aW9uIHZpYSBhIHpvZCBlbnVtLCBhY2NlcHRpbmcgYGFsbGAsIGBhZHZpc29yYCxcbiAqIG9yIGBjdXN0b21gIGFuZCByZWplY3RpbmcgYW55IG90aGVyIHZhbHVlIHdpdGggYSBDb21tYW5kZXItZnJpZW5kbHkgZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNvdXJjZU9wdGlvbih2YWx1ZTogc3RyaW5nKTogU291cmNlT3B0aW9uIHtcbiAgY29uc3QgcmVzdWx0ID0gU291cmNlU2NoZW1hLnNhZmVQYXJzZSh2YWx1ZSk7XG4gIGlmICghcmVzdWx0LnN1Y2Nlc3MpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICBgQWxsb3dlZCB2YWx1ZXMgYXJlOiAke1NvdXJjZVNjaGVtYS5vcHRpb25zLmpvaW4oXCIsIFwiKX1gLFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5kYXRhO1xufVxuXG4vKipcbiAqIFBhcnNlcyBhbiBhcnJheSBvZiBcImtleT12YWx1ZVwiIHN0cmluZ3MgKGZyb20gY29tbWFuZGVyIHZhcmlhZGljIG9wdGlvbikgaW50byBhIE1hcDxzdHJpbmcsIHN0cmluZz4uXG4gKiBSZXR1cm5zIGFuIGVtcHR5IE1hcCB3aGVuIHRoZSBvcHRpb24gaXMgbm90IHByb3ZpZGVkIG9yIGVtcHR5LlxuICogU3VwcG9ydHMgdmFsdWVzIHRoYXQgY29udGFpbiBcIj1cIiAob25seSB0aGUgZmlyc3QgXCI9XCIgaXMgdHJlYXRlZCBhcyBzZXBhcmF0b3IpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VUYWdzT3B0aW9uKFxuICB0YWdzT3B0aW9uOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcbik6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICBjb25zdCByZXN1bHQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBpZiAoIXRhZ3NPcHRpb24gfHwgdGFnc09wdGlvbi5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGZvciAoY29uc3QgcGFpciBvZiB0YWdzT3B0aW9uKSB7XG4gICAgY29uc3QgW3Jhd0tleSwgLi4ucmVzdF0gPSBwYWlyLnNwbGl0KFwiPVwiKTtcbiAgICBjb25zdCBrZXkgPSByYXdLZXk/LnRyaW0oKTtcbiAgICBjb25zdCB2YWx1ZSA9IHJlc3Quam9pbihcIj1cIikudHJpbSgpO1xuICAgIGlmIChrZXkgJiYgcmVzdC5sZW5ndGggPiAwKSB7XG4gICAgICByZXN1bHQuc2V0KGtleSwgdmFsdWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBzb3VyY2UgZmlsdGVyIHByZXNlcnZpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhbiBvbWl0dGVkXG4gKiBvcHRpb24gKHJlc3BlY3QgY29uZmlnL2RlZmF1bHRzKSBhbmQgYW4gZXhwbGljaXQgYC0tc291cmNlIGFsbGAgb3ZlcnJpZGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlU291cmNlc09wdGlvbihcbiAgb3B0aW9uOiBTb3VyY2VPcHRpb24gfCB1bmRlZmluZWQsXG4gIGNvbmZpZ1NvdXJjZXM6IEF6dXJlQ29uZmlnW1wic291cmNlc1wiXSxcbik6IEF6dXJlQ29uZmlnW1wic291cmNlc1wiXSB7XG4gIGlmIChvcHRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBjb25maWdTb3VyY2VzO1xuICB9XG4gIHJldHVybiBvcHRpb24gPT09IFwiYWxsXCIgPyBbLi4uQVpVUkVfU09VUkNFX1ZBTFVFU10gOiBbb3B0aW9uXTtcbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZW1vbmV5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbW1hbmRlci9jb21tYW5kcy9zYXZlbW9uZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDakMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFLENBQ3ZDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUNyQixXQUFXLENBQ1Ysd0VBQXdFLENBQ3pFO0tBQ0EsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGlDQUFpQyxDQUFDO0tBQ2hFLE1BQU0sQ0FDTCx1QkFBdUIsRUFDdkIscUVBQXFFLEVBQ3JFLE9BQU8sQ0FDUjtLQUNBLE1BQU0sQ0FDTCx5QkFBeUIsRUFDekIsZ0VBQWdFLEVBQ2hFLFlBQVksQ0FDYjtLQUNBLE1BQU0sQ0FDTCxxQkFBcUIsRUFDckIsNkRBQTZELEVBQzdELElBQUksQ0FDTDtLQUNBLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsOEdBQThHLENBQy9HO0tBQ0EsTUFBTSxDQUNMLHVCQUF1QixFQUN2QixzR0FBc0csRUFDdEcsaUJBQWlCLENBQ2xCO0tBQ0EsTUFBTSxDQUNMLGNBQWMsRUFDZCw4RUFBOEUsQ0FDL0U7S0FDQSxNQUFNLENBQ0wsc0JBQXNCLEVBQ3RCLDROQUE0TixDQUM3TjtLQUNBLE1BQU0sQ0FBQyxLQUFLLFdBQVcsT0FBTztJQUM3QixNQUFNLEVB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bnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBenVyZUNvbmZpZyB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuXG5pbXBvcnQgeyBhenVyZSwgQVpVUkVfU09VUkNFX1ZBTFVFUywgbG9hZENvbmZpZyB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuaW1wb3J0IHsgQ29tbWFuZCwgSW52YWxpZEFyZ3VtZW50RXJyb3IgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBvcmFQcm9taXNlIH0gZnJvbSBcIm9yYVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuaW1wb3J0IHsgZXhpdFdpdGhFcnJvciB9IGZyb20gXCIuLi9jb21tYW5kLWVycm9ycy5qc1wiO1xuaW1wb3J0IHsgR2xvYmFsT3B0aW9ucyB9IGZyb20gXCIuLi9nbG9iYWwtb3B0aW9ucy5qc1wiO1xuXG5leHBvcnQgY29uc3QgbWFrZVNhdmVtb25leUNvbW1hbmQgPSAoKSA9PlxuICBuZXcgQ29tbWFuZChcInNhdmVtb25leVwiKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgIFwiQW5hbHl6ZSBBenVyZSBzdWJzY3JpcHRpb25zIGFuZCByZXBvcnQgdW51c2VkIG9yIGluZWZmaWNpZW50IHJlc291cmNlc1wiLFxuICAgIClcbiAgICAub3B0aW9uKFwiLWMsIC0tY29uZmlnIDxwYXRoPlwiLCBcIlBhdGggdG8gWUFNTCBjb25maWd1cmF0aW9uIGZpbGVcIilcbiAgICAub3B0aW9uKFxuICAgICAgXCItZiwgLS1mb3JtYXQgPGZvcm1hdD5cIixcbiAgICAgIFwiUmVwb3J0IGZvcm1hdDoganNvbiwgdGFibGUsIGRldGFpbGVkLWpzb24sIG9yIGxpbnQgKGRlZmF1bHQ6IHRhYmxlKVwiLFxuICAgICAgXCJ0YWJsZVwiLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgXCItbCwgLS1sb2NhdGlvbiA8c3RyaW5nPlwiLFxuICAgICAgXCJQcmVmZXJyZWQgQXp1cmUgbG9jYXRpb24gZm9yIHJlc291cmNlcyAob3ZlcnJpZGVzIGNvbmZpZyBmaWxlKVwiLFxuICAgICAgXCJpdGFseW5vcnRoXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1kLCAtLWRheXMgPG51bWJlcj5cIixcbiAgICAgIFwiTnVtYmVyIG9mIGRheXMgZm9yIG1ldHJpY3MgYW5hbHlzaXMgKG92ZXJyaWRlcyBjb25maWcgZmlsZSlcIixcbiAgICAgIFwiMzBcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLXQsIC0tdGFncyA8dGFncy4uLj5cIixcbiAgICAgIFwiRmlsdGVyIGZpbmRpbmdzIGJ5IHJlc291cmNlIHRhZ3MgKGtleT12YWx1ZSBrZXkyPXZhbHVlMikuIEFkdmlzb3Igc3Vic2NyaXB0aW9uLWxldmVsIGZpbmRpbmdzIHJlbWFpbiBnbG9iYWwuXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1zLCAtLXNvdXJjZSA8c291cmNlPlwiLFxuICAgICAgXCJSZXN0cmljdCBmaW5kaW5ncyB0byBhIHNpbmdsZSBzb3VyY2U6ICdhZHZpc29yJywgJ2N1c3RvbScsIG9yICdhbGwnIChkZWZhdWx0cyB0byBjb25maWcgZmlsZSBvciBhbGwpXCIsXG4gICAgICBwYXJzZVNvdXJjZU9wdGlvbixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLS1uby1wcmljaW5nXCIsXG4gICAgICBcIkRpc2FibGUgQXp1cmUgUmV0YWlsIFByaWNlcyBlbnJpY2htZW50IChza2lwcyBjdXN0b20gY29zdC1hdC1yaXNrIGVzdGltYXRlcylcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLS1henFyLXJlcG9ydCA8cGF0aD5cIixcbiAgICAgIFwiUGF0aCB0byBhbiBBWlFSIChgYXpxciBzY2FuIC0tanNvbmApIHJlcG9ydDsgaXRzIEZpbk9wcy1yZWxldmFudCBpbXBhY3RlZCByZXNvdXJjZXMgYXJlIG1lcmdlZCBpbnRvIHRoZSBvdXRwdXQuIE92ZXJyaWRlcyBgYXp1cmUuYXpxclJlcG9ydFBhdGhgIGZyb20gdGhlIGNvbmZpZyBmaWxlLiBSdW4gQVpRUiB3aXRoIGAtLW1hc2s9ZmFsc2VgIHNvIHJlc291cmNlIElEcyBtYXRjaC5cIixcbiAgICApXG4gICAgLmFjdGlvbihhc3luYyBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgICAgY29uc3QgeyB2ZXJib3NlIH0gPSB0aGlzLm9wdHNXaXRoR2xvYmFsczxHbG9iYWxPcHRpb25zPigpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gTG9hZCBjb25maWd1cmF0aW9uIGZyb20gWUFNTCAoaW5jbHVkZXMgc3Vic2NyaXB0aW9uSWRzLCBsb2NhdGlvbiwgdGltZXNwYW5EYXlzLCB0aHJlc2hvbGRzKVxuICAgICAgICBjb25zdCBjb25maWc6IEF6dXJlQ29uZmlnID0gYXdhaXQgbG9hZENvbmZpZyhvcHRpb25zLmNvbmZpZyk7XG5cbiAgICAgICAgLy8gUGFyc2UgdGFnIGZpbHRlclxuICAgICAgICBjb25zdCBmaWx0ZXJUYWdzID0gcGFyc2VUYWdzT3B0aW9uKG9wdGlvbnMudGFncyk7XG4gICAgICAgIGNvbnN0IGNsaURheXMgPSBOdW1iZXIucGFyc2VJbnQob3B0aW9ucy5kYXlzLCAxMCk7XG5cbiAgICAgICAgY29uc3QgZmluYWxDb25maWc6IEF6dXJlQ29uZmlnID0ge1xuICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAuLi4ob3B0aW9ucy5henFyUmVwb3J0ID8geyBhenFyUmVwb3J0UGF0aDogb3B0aW9ucy5henFyUmVwb3J0IH0gOiB7fSksXG4gICAgICAgICAgZmlsdGVyVGFncyxcbiAgICAgICAgICBwcmVmZXJyZWRMb2NhdGlvbjpcbiAgICAgICAgICAgIHRoaXMuZ2V0T3B0aW9uVmFsdWVTb3VyY2UoXCJsb2NhdGlvblwiKSA9PT0gXCJjbGlcIlxuICAgICAgICAgICAgICA/IG9wdGlvbnMubG9jYXRpb25cbiAgICAgICAgICAgICAgOiBjb25maWcucHJlZmVycmVkTG9jYXRpb24sXG4gICAgICAgICAgLi4uKG9wdGlvbnMucHJpY2luZyA9PT0gZmFsc2UgPyB7IHByaWNpbmc6IHsgZW5hYmxlZDogZmFsc2UgfSB9IDoge30pLFxuICAgICAgICAgIHNvdXJjZXM6IHJlc29sdmVTb3VyY2VzT3B0aW9uKG9wdGlvbnMuc291cmNlLCBjb25maWcuc291cmNlcyksXG4gICAgICAgICAgdGltZXNwYW5EYXlzOlxuICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25WYWx1ZVNvdXJjZShcImRheXNcIikgPT09IFwiY2xpXCIgJiZcbiAgICAgICAgICAgICFOdW1iZXIuaXNOYU4oY2xpRGF5cylcbiAgICAgICAgICAgICAgPyBjbGlEYXlzXG4gICAgICAgICAgICAgIDogY29uZmlnLnRpbWVzcGFuRGF5cyxcbiAgICAgICAgICB2ZXJib3NlOiB2ZXJib3NlID8/IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJ1biBhbmFseXNpcyBzaG93aW5nIGEgcHJvZ3Jlc3Mgc3Bpbm5lciBvbiBzdGRlcnIgc28gdGhlIENMSSBkb2Vzbid0XG4gICAgICAgIC8vIGxvb2sgZnJvemVuIGR1cmluZyB0aGUgKHBvdGVudGlhbGx5IHNldmVyYWwtbWludXRlKSBBenVyZSByb3VuZC10cmlwcy5cbiAgICAgICAgY29uc3QgcmVwb3J0cyA9IGF3YWl0IG9yYVByb21pc2UoXG4gICAgICAgICAgYXp1cmUuYW5hbHl6ZUF6dXJlUmVzb3VyY2VzKGZpbmFsQ29uZmlnKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmYWlsVGV4dDogXCJBbmFseXNpcyBmYWlsZWRcIixcbiAgICAgICAgICAgIHN0cmVhbTogcHJvY2Vzcy5zdGRlcnIsXG4gICAgICAgICAgICBzdWNjZXNzVGV4dDogXCJBbmFseXNpcyBjb21wbGV0ZVwiLFxuICAgICAgICAgICAgdGV4dDogXCJBbmFseXppbmcgQXp1cmUgcmVzb3VyY2VzXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgYXp1cmUuZ2VuZXJhdGVSZXBvcnQocmVwb3J0cywgb3B0aW9ucy5mb3JtYXQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgZXhpdFdpdGhFcnJvcih0aGlzKShcbiAgICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICA/IG5ldyBFcnJvcihgQW5hbHlzaXMgZmFpbGVkOiAke2Vycm9yLm1lc3NhZ2V9YCwgeyBjYXVzZTogZXJyb3IgfSlcbiAgICAgICAgICAgIDogbmV3IEVycm9yKGBBbmFseXNpcyBmYWlsZWQ6ICR7U3RyaW5nKGVycm9yKX1gKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuY29uc3QgU291cmNlU2NoZW1hID0gei5lbnVtKFsuLi5BWlVSRV9TT1VSQ0VfVkFMVUVTLCBcImFsbFwiXSk7XG50eXBlIFNvdXJjZU9wdGlvbiA9IHouaW5mZXI8dHlwZW9mIFNvdXJjZVNjaGVtYT47XG5cbi8qKlxuICogUGFyc2VzIHRoZSBgLS1zb3VyY2VgIG9wdGlvbiB2aWEgYSB6b2QgZW51bSwgYWNjZXB0aW5nIGBhbGxgLCBgYWR2aXNvcmAsXG4gKiBvciBgY3VzdG9tYCBhbmQgcmVqZWN0aW5nIGFueSBvdGhlciB2YWx1ZSB3aXRoIGEgQ29tbWFuZGVyLWZyaWVuZGx5IGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTb3VyY2VPcHRpb24odmFsdWU6IHN0cmluZyk6IFNvdXJjZU9wdGlvbiB7XG4gIGNvbnN0IHJlc3VsdCA9IFNvdXJjZVNjaGVtYS5zYWZlUGFyc2UodmFsdWUpO1xuICBpZiAoIXJlc3VsdC5zdWNjZXNzKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKFxuICAgICAgYEFsbG93ZWQgdmFsdWVzIGFyZTogJHtTb3VyY2VTY2hlbWEub3B0aW9ucy5qb2luKFwiLCBcIil9YCxcbiAgICApO1xuICB9XG4gIHJldHVybiByZXN1bHQuZGF0YTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYW4gYXJyYXkgb2YgXCJrZXk9dmFsdWVcIiBzdHJpbmdzIChmcm9tIGNvbW1hbmRlciB2YXJpYWRpYyBvcHRpb24pIGludG8gYSBNYXA8c3RyaW5nLCBzdHJpbmc+LlxuICogUmV0dXJucyBhbiBlbXB0eSBNYXAgd2hlbiB0aGUgb3B0aW9uIGlzIG5vdCBwcm92aWRlZCBvciBlbXB0eS5cbiAqIFN1cHBvcnRzIHZhbHVlcyB0aGF0IGNvbnRhaW4gXCI9XCIgKG9ubHkgdGhlIGZpcnN0IFwiPVwiIGlzIHRyZWF0ZWQgYXMgc2VwYXJhdG9yKS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVGFnc09wdGlvbihcbiAgdGFnc09wdGlvbjogc3RyaW5nW10gfCB1bmRlZmluZWQsXG4pOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgaWYgKCF0YWdzT3B0aW9uIHx8IHRhZ3NPcHRpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBmb3IgKGNvbnN0IHBhaXIgb2YgdGFnc09wdGlvbikge1xuICAgIGNvbnN0IFtyYXdLZXksIC4uLnJlc3RdID0gcGFpci5zcGxpdChcIj1cIik7XG4gICAgY29uc3Qga2V5ID0gcmF3S2V5Py50cmltKCk7XG4gICAgY29uc3QgdmFsdWUgPSByZXN0LmpvaW4oXCI9XCIpLnRyaW0oKTtcbiAgICBpZiAoa2V5ICYmIHJlc3QubGVuZ3RoID4gMCkge1xuICAgICAgcmVzdWx0LnNldChrZXksIHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyB0aGUgc291cmNlIGZpbHRlciBwcmVzZXJ2aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYW4gb21pdHRlZFxuICogb3B0aW9uIChyZXNwZWN0IGNvbmZpZy9kZWZhdWx0cykgYW5kIGFuIGV4cGxpY2l0IGAtLXNvdXJjZSBhbGxgIG92ZXJyaWRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNvdXJjZXNPcHRpb24oXG4gIG9wdGlvbjogU291cmNlT3B0aW9uIHwgdW5kZWZpbmVkLFxuICBjb25maWdTb3VyY2VzOiBBenVyZUNvbmZpZ1tcInNvdXJjZXNcIl0sXG4pOiBBenVyZUNvbmZpZ1tcInNvdXJjZXNcIl0ge1xuICBpZiAob3B0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gY29uZmlnU291cmNlcztcbiAgfVxuICByZXR1cm4gb3B0aW9uID09PSBcImFsbFwiID8gWy4uLkFaVVJFX1NPVVJDRV9WQUxVRVNdIDogW29wdGlvbl07XG59XG4iXX0=
@@ -62,4 +62,4 @@ export async function hasUserPermissionToInitialize(cloudAccountService, environ
62
62
  }
63
63
  return true;
64
64
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFM0IsT0FBTyxFQUVMLGtCQUFrQixHQUVuQixNQUFNLG9CQUFvQixDQUFDO0FBRzVCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLEdBQUc7SUFDVCxHQUFHLEVBQUUsR0FBRztDQUM4QyxDQUFDO0FBS3pELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsYUFBYSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwQyx1RUFBdUU7SUFDdkUsdUVBQXVFO0lBQ3ZFLE1BQU0sRUFBRSxDQUFDO1NBQ04sTUFBTSxFQUFFO1NBQ1IsSUFBSSxFQUFFO1NBQ04sV0FBVyxFQUFFO1NBQ2IsR0FBRyxDQUFDLENBQUMsRUFBRSxtQ0FBbUMsQ0FBQztTQUMzQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGtDQUFrQyxDQUFDO0NBQzlDLENBQUMsQ0FBQztBQTRCSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxtQkFBd0MsRUFDeEMsV0FBd0I7SUFFeEIsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztJQUMxQyxLQUFLLE1BQU0sWUFBWSxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyxNQUFNLG1CQUFtQixDQUFDLGFBQWEsQ0FDekQsWUFBWSxDQUFDLEVBQUUsRUFDZixXQUFXLENBQ1osQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNWLFlBQVk7Z0JBQ1osSUFBSSxFQUFFLCtCQUErQjthQUN0QyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxtQkFBbUIsQ0FDaEQsbUJBQW1CLEVBQ25CLFdBQVcsQ0FDWixDQUFDO0lBQ0YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNWLElBQUksRUFBRSx3QkFBd0I7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPO1lBQ0wsV0FBVyxFQUFFLEtBQUs7WUFDbEIsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTztRQUNMLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FDdkMsbUJBQXdDLEVBQ3hDLFdBQXdCO0lBRXhCLEtBQUssTUFBTSxZQUFZLElBQUksV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsbUJBQW1CLENBQzNELFlBQVksQ0FBQyxFQUFFLEVBQ2YsV0FBVyxDQUNaLENBQUM7UUFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSw2QkFBNkIsQ0FDakQsbUJBQXdDLEVBQ3hDLFdBQXdCO0lBRXhCLEtBQUssTUFBTSxZQUFZLElBQUksV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQW1CLENBQUMsNkJBQTZCLENBQ3BFLFlBQVksQ0FBQyxFQUFFLENBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2QvdjRcIjtcblxuaW1wb3J0IHtcbiAgQ2xvdWRBY2NvdW50LFxuICBjbG91ZEFjY291bnRTY2hlbWEsXG4gIENsb3VkQWNjb3VudFNlcnZpY2UsXG59IGZyb20gXCIuL2Nsb3VkLWFjY291bnQuanNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUJhY2tlbmQgfSBmcm9tIFwiLi9yZW1vdGUtYmFja2VuZC5qc1wiO1xuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTaG9ydCA9IHtcbiAgZGV2OiBcImRcIixcbiAgcHJvZDogXCJwXCIsXG4gIHVhdDogXCJ1XCIsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8RW52aXJvbm1lbnRbXCJuYW1lXCJdLCBzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudFNob3J0VmFsdWUgPVxuICAodHlwZW9mIGVudmlyb25tZW50U2hvcnQpW2tleW9mIHR5cGVvZiBlbnZpcm9ubWVudFNob3J0XTtcblxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICBjbG91ZEFjY291bnRzOiB6LmFycmF5KGNsb3VkQWNjb3VudFNjaGVtYSkubWluKDEpLFxuICBuYW1lOiB6LmVudW0oW1wiZGV2XCIsIFwicHJvZFwiLCBcInVhdFwiXSksXG4gIC8vIFRyaW0gYW5kIGxvd2VyY2FzZSBhdCB0aGUgc2NoZW1hIGxldmVsIHNvIHRoZSBjb25zdHJhaW50IGlzIGVuZm9yY2VkXG4gIC8vIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSBkYXRhIGVudGVycyB0aGUgc3lzdGVtIChwcm9tcHQsIHRlc3QsIG9yIEFQSSkuXG4gIHByZWZpeDogelxuICAgIC5zdHJpbmcoKVxuICAgIC50cmltKClcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5taW4oMiwgXCJQcmVmaXggbXVzdCBoYXZlIGF0IGxlYXN0IDIgY2hhcnNcIilcbiAgICAubWF4KDQsIFwiUHJlZml4IG11c3QgaGF2ZSBhdCBtb3N0IDQgY2hhcnNcIiksXG59KTtcblxuZXhwb3J0IHR5cGUgRW52aXJvbm1lbnQgPSB6LmluZmVyPHR5cGVvZiBlbnZpcm9ubWVudFNjaGVtYT47XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50SWQgPSBQaWNrPEVudmlyb25tZW50LCBcIm5hbWVcIiB8IFwicHJlZml4XCI+O1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudEluaXRTdGF0dXMgPVxuICB8IHtcbiAgICAgIGluaXRpYWxpemVkOiBmYWxzZTtcbiAgICAgIGlzc3VlczogRW52aXJvbm1lbnRJbml0SXNzdWVbXTtcbiAgICB9XG4gIHwge1xuICAgICAgaW5pdGlhbGl6ZWQ6IHRydWU7XG4gICAgfTtcblxudHlwZSBDbG91ZEFjY291bnROb3RJbml0aWFsaXplZElzc3VlID0ge1xuICBjbG91ZEFjY291bnQ6IENsb3VkQWNjb3VudDtcbiAgdHlwZTogXCJDTE9VRF9BQ0NPVU5UX05PVF9JTklUSUFMSVpFRFwiO1xufTtcblxudHlwZSBFbnZpcm9ubWVudEluaXRJc3N1ZSA9XG4gIHwgQ2xvdWRBY2NvdW50Tm90SW5pdGlhbGl6ZWRJc3N1ZVxuICB8IE1pc3NpbmdSZW1vdGVCYWNrZW5kSXNzdWU7XG5cbnR5cGUgTWlzc2luZ1JlbW90ZUJhY2tlbmRJc3N1ZSA9IHtcbiAgdHlwZTogXCJNSVNTSU5HX1JFTU9URV9CQUNLRU5EXCI7XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0SW5pdGlhbGl6YXRpb25TdGF0dXMoXG4gIGNsb3VkQWNjb3VudFNlcnZpY2U6IENsb3VkQWNjb3VudFNlcnZpY2UsXG4gIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcbik6IFByb21pc2U8RW52aXJvbm1lbnRJbml0U3RhdHVzPiB7XG4gIGNvbnN0IGlzc3VlczogRW52aXJvbm1lbnRJbml0SXNzdWVbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGNsb3VkQWNjb3VudCBvZiBlbnZpcm9ubWVudC5jbG91ZEFjY291bnRzKSB7XG4gICAgY29uc3QgaW5pdGlhbGl6ZWQgPSBhd2FpdCBjbG91ZEFjY291bnRTZXJ2aWNlLmlzSW5pdGlhbGl6ZWQoXG4gICAgICBjbG91ZEFjY291bnQuaWQsXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICApO1xuICAgIGlmICghaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGlzc3Vlcy5wdXNoKHtcbiAgICAgICAgY2xvdWRBY2NvdW50LFxuICAgICAgICB0eXBlOiBcIkNMT1VEX0FDQ09VTlRfTk9UX0lOSVRJQUxJWkVEXCIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgY29uc3QgdGVycmFmb3JtQmFja2VuZCA9IGF3YWl0IGdldFRlcnJhZm9ybUJhY2tlbmQoXG4gICAgY2xvdWRBY2NvdW50U2VydmljZSxcbiAgICBlbnZpcm9ubWVudCxcbiAgKTtcbiAgaWYgKCF0ZXJyYWZvcm1CYWNrZW5kKSB7XG4gICAgaXNzdWVzLnB1c2goe1xuICAgICAgdHlwZTogXCJNSVNTSU5HX1JFTU9URV9CQUNLRU5EXCIsXG4gICAgfSk7XG4gIH1cbiAgaWYgKGlzc3Vlcy5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRpYWxpemVkOiBmYWxzZSxcbiAgICAgIGlzc3VlcyxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgaW5pdGlhbGl6ZWQ6IHRydWUsXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRUZXJyYWZvcm1CYWNrZW5kKFxuICBjbG91ZEFjY291bnRTZXJ2aWNlOiBDbG91ZEFjY291bnRTZXJ2aWNlLFxuICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4pOiBQcm9taXNlPFRlcnJhZm9ybUJhY2tlbmQgfCB1bmRlZmluZWQ+IHtcbiAgZm9yIChjb25zdCBjbG91ZEFjY291bnQgb2YgZW52aXJvbm1lbnQuY2xvdWRBY2NvdW50cykge1xuICAgIGNvbnN0IGJhY2tlbmQgPSBhd2FpdCBjbG91ZEFjY291bnRTZXJ2aWNlLmdldFRlcnJhZm9ybUJhY2tlbmQoXG4gICAgICBjbG91ZEFjY291bnQuaWQsXG4gICAgICBlbnZpcm9ubWVudCxcbiAgICApO1xuICAgIGlmIChiYWNrZW5kKSB7XG4gICAgICByZXR1cm4gYmFja2VuZDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhc1VzZXJQZXJtaXNzaW9uVG9Jbml0aWFsaXplKFxuICBjbG91ZEFjY291bnRTZXJ2aWNlOiBDbG91ZEFjY291bnRTZXJ2aWNlLFxuICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgZm9yIChjb25zdCBjbG91ZEFjY291bnQgb2YgZW52aXJvbm1lbnQuY2xvdWRBY2NvdW50cykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNsb3VkQWNjb3VudFNlcnZpY2UuaGFzVXNlclBlcm1pc3Npb25Ub0luaXRpYWxpemUoXG4gICAgICBjbG91ZEFjY291bnQuaWQsXG4gICAgKTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9tYWluL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFM0IsT0FBTyxFQUVMLGtCQUFrQixHQUVuQixNQUFNLG9CQUFvQixDQUFDO0FBRzVCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsSUFBSSxFQUFFLEdBQUc7SUFDVCxHQUFHLEVBQUUsR0FBRztDQUM4QyxDQUFDO0FBS3pELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsYUFBYSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwQyx1RUFBdUU7SUFDdkUsdUVBQXVFO0lBQ3ZFLE1BQU0sRUFBRSxDQUFDO1NBQ04sTUFBTSxFQUFFO1NBQ1IsSUFBSSxFQUFFO1NBQ04sV0FBVyxFQUFFO1NBQ2IsR0FBRyxDQUFDLENBQUMsRUFBRSxtQ0FBbUMsQ0FBQztTQUMzQyxHQUFHLENBQUMsQ0FBQyxFQUFFLGtDQUFrQyxDQUFDO0NBQzlDLENBQUMsQ0FBQztBQTJCSCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUMzQyxtQkFBd0MsRUFDeEMsV0FBd0I7SUFFeEIsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztJQUMxQyxLQUFLLE1BQU0sWUFBWSxJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyxNQUFNLG1CQUFtQixDQUFDLGFBQWEsQ0FDekQsWUFBWSxDQUFDLEVBQUUsRUFDZixXQUFXLENBQ1osQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDO2dCQUNWLFlBQVk7Z0JBQ1osSUFBSSxFQUFFLCtCQUErQjthQUN0QyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxtQkFBbUIsQ0FDaEQsbUJBQW1CLEVBQ25CLFdBQVcsQ0FDWixDQUFDO0lBQ0YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNWLElBQUksRUFBRSx3QkFBd0I7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPO1lBQ0wsV0FBVyxFQUFFLEtBQUs7WUFDbEIsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDO0lBQ0QsT0FBTztRQUNMLFdBQVcsRUFBRSxJQUFJO0tBQ2xCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FDdkMsbUJBQXdDLEVBQ3hDLFdBQXdCO0lBRXhCLEtBQUssTUFBTSxZQUFZLElBQUksV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JELE1BQU0sT0FBTyxHQUFHLE1BQU0sbUJBQW1CLENBQUMsbUJBQW1CLENBQzNELFlBQVksQ0FBQyxFQUFFLEVBQ2YsV0FBVyxDQUNaLENBQUM7UUFDRixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSw2QkFBNkIsQ0FDakQsbUJBQXdDLEVBQ3hDLFdBQXdCO0lBRXhCLEtBQUssTUFBTSxZQUFZLElBQUksV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQW1CLENBQUMsNkJBQTZCLENBQ3BFLFlBQVksQ0FBQyxFQUFFLENBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2QvdjRcIjtcblxuaW1wb3J0IHtcbiAgQ2xvdWRBY2NvdW50LFxuICBjbG91ZEFjY291bnRTY2hlbWEsXG4gIENsb3VkQWNjb3VudFNlcnZpY2UsXG59IGZyb20gXCIuL2Nsb3VkLWFjY291bnQuanNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUJhY2tlbmQgfSBmcm9tIFwiLi9yZW1vdGUtYmFja2VuZC5qc1wiO1xuXG5leHBvcnQgY29uc3QgZW52aXJvbm1lbnRTaG9ydCA9IHtcbiAgZGV2OiBcImRcIixcbiAgcHJvZDogXCJwXCIsXG4gIHVhdDogXCJ1XCIsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8RW52aXJvbm1lbnRbXCJuYW1lXCJdLCBzdHJpbmc+O1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudFNob3J0VmFsdWUgPVxuICAodHlwZW9mIGVudmlyb25tZW50U2hvcnQpW2tleW9mIHR5cGVvZiBlbnZpcm9ubWVudFNob3J0XTtcblxuZXhwb3J0IGNvbnN0IGVudmlyb25tZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICBjbG91ZEFjY291bnRzOiB6LmFycmF5KGNsb3VkQWNjb3VudFNjaGVtYSkubWluKDEpLFxuICBuYW1lOiB6LmVudW0oW1wiZGV2XCIsIFwicHJvZFwiLCBcInVhdFwiXSksXG4gIC8vIFRyaW0gYW5kIGxvd2VyY2FzZSBhdCB0aGUgc2NoZW1hIGxldmVsIHNvIHRoZSBjb25zdHJhaW50IGlzIGVuZm9yY2VkXG4gIC8vIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSBkYXRhIGVudGVycyB0aGUgc3lzdGVtIChwcm9tcHQsIHRlc3QsIG9yIEFQSSkuXG4gIHByZWZpeDogelxuICAgIC5zdHJpbmcoKVxuICAgIC50cmltKClcbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5taW4oMiwgXCJQcmVmaXggbXVzdCBoYXZlIGF0IGxlYXN0IDIgY2hhcnNcIilcbiAgICAubWF4KDQsIFwiUHJlZml4IG11c3QgaGF2ZSBhdCBtb3N0IDQgY2hhcnNcIiksXG59KTtcblxuZXhwb3J0IHR5cGUgRW52aXJvbm1lbnQgPSB6LmluZmVyPHR5cGVvZiBlbnZpcm9ubWVudFNjaGVtYT47XG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50SWQgPSBQaWNrPEVudmlyb25tZW50LCBcIm5hbWVcIiB8IFwicHJlZml4XCI+O1xuXG5leHBvcnQgdHlwZSBFbnZpcm9ubWVudEluaXRTdGF0dXMgPVxuICB8IHtcbiAgICAgIGluaXRpYWxpemVkOiBmYWxzZTtcbiAgICAgIGlzc3VlczogRW52aXJvbm1lbnRJbml0SXNzdWVbXTtcbiAgICB9XG4gIHwge1xuICAgICAgaW5pdGlhbGl6ZWQ6IHRydWU7XG4gICAgfTtcblxudHlwZSBDbG91ZEFjY291bnROb3RJbml0aWFsaXplZElzc3VlID0ge1xuICBjbG91ZEFjY291bnQ6IENsb3VkQWNjb3VudDtcbiAgdHlwZTogXCJDTE9VRF9BQ0NPVU5UX05PVF9JTklUSUFMSVpFRFwiO1xufTtcblxudHlwZSBFbnZpcm9ubWVudEluaXRJc3N1ZSA9XG4gIENsb3VkQWNjb3VudE5vdEluaXRpYWxpemVkSXNzdWUgfCBNaXNzaW5nUmVtb3RlQmFja2VuZElzc3VlO1xuXG50eXBlIE1pc3NpbmdSZW1vdGVCYWNrZW5kSXNzdWUgPSB7XG4gIHR5cGU6IFwiTUlTU0lOR19SRU1PVEVfQkFDS0VORFwiO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEluaXRpYWxpemF0aW9uU3RhdHVzKFxuICBjbG91ZEFjY291bnRTZXJ2aWNlOiBDbG91ZEFjY291bnRTZXJ2aWNlLFxuICBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXG4pOiBQcm9taXNlPEVudmlyb25tZW50SW5pdFN0YXR1cz4ge1xuICBjb25zdCBpc3N1ZXM6IEVudmlyb25tZW50SW5pdElzc3VlW10gPSBbXTtcbiAgZm9yIChjb25zdCBjbG91ZEFjY291bnQgb2YgZW52aXJvbm1lbnQuY2xvdWRBY2NvdW50cykge1xuICAgIGNvbnN0IGluaXRpYWxpemVkID0gYXdhaXQgY2xvdWRBY2NvdW50U2VydmljZS5pc0luaXRpYWxpemVkKFxuICAgICAgY2xvdWRBY2NvdW50LmlkLFxuICAgICAgZW52aXJvbm1lbnQsXG4gICAgKTtcbiAgICBpZiAoIWluaXRpYWxpemVkKSB7XG4gICAgICBpc3N1ZXMucHVzaCh7XG4gICAgICAgIGNsb3VkQWNjb3VudCxcbiAgICAgICAgdHlwZTogXCJDTE9VRF9BQ0NPVU5UX05PVF9JTklUSUFMSVpFRFwiLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHRlcnJhZm9ybUJhY2tlbmQgPSBhd2FpdCBnZXRUZXJyYWZvcm1CYWNrZW5kKFxuICAgIGNsb3VkQWNjb3VudFNlcnZpY2UsXG4gICAgZW52aXJvbm1lbnQsXG4gICk7XG4gIGlmICghdGVycmFmb3JtQmFja2VuZCkge1xuICAgIGlzc3Vlcy5wdXNoKHtcbiAgICAgIHR5cGU6IFwiTUlTU0lOR19SRU1PVEVfQkFDS0VORFwiLFxuICAgIH0pO1xuICB9XG4gIGlmIChpc3N1ZXMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsaXplZDogZmFsc2UsXG4gICAgICBpc3N1ZXMsXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGluaXRpYWxpemVkOiB0cnVlLFxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VGVycmFmb3JtQmFja2VuZChcbiAgY2xvdWRBY2NvdW50U2VydmljZTogQ2xvdWRBY2NvdW50U2VydmljZSxcbiAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxuKTogUHJvbWlzZTxUZXJyYWZvcm1CYWNrZW5kIHwgdW5kZWZpbmVkPiB7XG4gIGZvciAoY29uc3QgY2xvdWRBY2NvdW50IG9mIGVudmlyb25tZW50LmNsb3VkQWNjb3VudHMpIHtcbiAgICBjb25zdCBiYWNrZW5kID0gYXdhaXQgY2xvdWRBY2NvdW50U2VydmljZS5nZXRUZXJyYWZvcm1CYWNrZW5kKFxuICAgICAgY2xvdWRBY2NvdW50LmlkLFxuICAgICAgZW52aXJvbm1lbnQsXG4gICAgKTtcbiAgICBpZiAoYmFja2VuZCkge1xuICAgICAgcmV0dXJuIGJhY2tlbmQ7XG4gICAgfVxuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYXNVc2VyUGVybWlzc2lvblRvSW5pdGlhbGl6ZShcbiAgY2xvdWRBY2NvdW50U2VydmljZTogQ2xvdWRBY2NvdW50U2VydmljZSxcbiAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxuKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGZvciAoY29uc3QgY2xvdWRBY2NvdW50IG9mIGVudmlyb25tZW50LmNsb3VkQWNjb3VudHMpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjbG91ZEFjY291bnRTZXJ2aWNlLmhhc1VzZXJQZXJtaXNzaW9uVG9Jbml0aWFsaXplKFxuICAgICAgY2xvdWRBY2NvdW50LmlkLFxuICAgICk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/dx-cli",
3
- "version": "0.26.2",
3
+ "version": "0.26.4",
4
4
  "type": "module",
5
5
  "description": "A CLI useful to manage DX tools.",
6
6
  "repository": {
@@ -26,26 +26,26 @@
26
26
  "@azure/arm-msi": "^2.2.0",
27
27
  "@azure/arm-resourcegraph": "^4.2.1",
28
28
  "@azure/arm-resources": "^7.0.0",
29
- "@azure/arm-resources-subscriptions": "^2.1.0",
29
+ "@azure/arm-resources-subscriptions": "^2.1.1",
30
30
  "@azure/arm-storage": "^19.1.0",
31
31
  "@azure/identity": "^4.13.1",
32
32
  "@azure/keyvault-secrets": "^4.11.2",
33
- "@azure/monitor-opentelemetry": "1.18.1",
33
+ "@azure/monitor-opentelemetry": "1.18.2",
34
34
  "@azure/storage-blob": "^12.33.0",
35
35
  "@logtape/logtape": "^1.3.11",
36
36
  "@logtape/otel": "1.3.8",
37
37
  "@microsoft/microsoft-graph-client": "^3.0.7",
38
38
  "@opentelemetry/api": "^1.9.1",
39
- "@opentelemetry/api-logs": "^0.218.0",
40
- "@opentelemetry/instrumentation": "^0.218.0",
41
- "@opentelemetry/instrumentation-undici": "^0.28.0",
42
- "@opentelemetry/sdk-logs": "^0.218.0",
39
+ "@opentelemetry/api-logs": "^0.221.0",
40
+ "@opentelemetry/instrumentation": "^0.221.0",
41
+ "@opentelemetry/instrumentation-undici": "^0.31.0",
42
+ "@opentelemetry/sdk-logs": "^0.221.0",
43
43
  "chalk": "^5.6.2",
44
44
  "commander": "^14.0.3",
45
45
  "core-js": "^3.49.0",
46
46
  "execa": "^9.6.1",
47
47
  "glob": "^11.1.0",
48
- "import-in-the-middle": "^3.2.0",
48
+ "import-in-the-middle": "^3.3.2",
49
49
  "inquirer": "^9.3.8",
50
50
  "libsodium-wrappers": "^0.8.4",
51
51
  "neverthrow": "^8.2.0",
@@ -56,24 +56,24 @@
56
56
  "semver": "^7.8.5",
57
57
  "yaml": "^2.9.0",
58
58
  "zod": "^4.4.3",
59
- "@pagopa/dx-savemoney": "^0.5.0"
59
+ "@pagopa/dx-savemoney": "^0.6.1"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@tsconfig/node24": "24.0.4",
63
63
  "@types/inquirer": "^9.0.10",
64
64
  "@types/libsodium-wrappers": "^0.8.2",
65
- "@types/node": "^22.20.0",
65
+ "@types/node": "^22.20.1",
66
66
  "@types/semver": "^7.7.1",
67
- "@vitest/coverage-v8": "^4.1.9",
68
- "eslint": "^10.6.0",
69
- "fast-check": "^4.8.0",
70
- "memfs": "^4.57.8",
67
+ "@vitest/coverage-v8": "^4.1.10",
68
+ "eslint": "^10.8.0",
69
+ "fast-check": "^4.9.0",
70
+ "memfs": "^4.64.0",
71
71
  "plop": "^4.0.5",
72
- "prettier": "3.8.3",
72
+ "prettier": "3.9.6",
73
73
  "typescript": "~5.9.3",
74
- "vitest": "^4.1.9",
74
+ "vitest": "^4.1.10",
75
75
  "vitest-mock-extended": "^4.0.0",
76
- "@pagopa/eslint-config": "^6.2.0"
76
+ "@pagopa/eslint-config": "^6.2.2"
77
77
  },
78
78
  "engines": {
79
79
  "node": ">=22.0.0"