@cogeotiff/cli 7.1.0 → 7.2.1
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/CHANGELOG.md +18 -0
- package/build/action.info.d.ts.map +1 -1
- package/build/action.info.js +9 -7
- package/build/action.util.d.ts +1 -1
- package/build/action.util.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/action.info.ts +8 -6
- package/tsconfig.json +1 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,18 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [7.2.0](https://github.com/blacha/cogeotiff/compare/v7.1.0...v7.2.0) (2022-08-23)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **cli:** correct indentation for gdal metadata ([4b2a153](https://github.com/blacha/cogeotiff/commit/4b2a153b7e4e1071a2d754ff1bc3fc1731a5173a))
|
|
12
|
+
* **core:** sometimes MASK_INTERLEAVED_WITH_IMAGERY is prefixed with a space so trim it ([5002e22](https://github.com/blacha/cogeotiff/commit/5002e22bdd0a6480d210d89ce6878b3e4df0efd9))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
6
18
|
# [7.1.0](https://github.com/blacha/cogeotiff/compare/v7.0.0...v7.1.0) (2022-06-22)
|
|
7
19
|
|
|
8
20
|
|
|
@@ -30,6 +42,12 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
30
42
|
|
|
31
43
|
|
|
32
44
|
|
|
45
|
+
### Dependencies
|
|
46
|
+
|
|
47
|
+
* The following workspace dependencies were updated
|
|
48
|
+
* dependencies
|
|
49
|
+
* @cogeotiff/core bumped from ^7.2.0 to ^7.2.1
|
|
50
|
+
|
|
33
51
|
## [6.1.1](https://github.com/blacha/cogeotiff/compare/v6.1.0...v6.1.1) (2022-01-26)
|
|
34
52
|
|
|
35
53
|
**Note:** Version bump only for package @cogeotiff/cli
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.info.d.ts","sourceRoot":"","sources":["../src/action.info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAwD,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"action.info.d.ts","sourceRoot":"","sources":["../src/action.info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAwD,MAAM,4BAA4B,CAAC;AA8ErH,qBAAa,aAAc,SAAQ,iBAAiB;IAChD,OAAO,CAAC,IAAI,CAAC,CAA6B;IAC1C,OAAO,CAAC,IAAI,CAAC,CAA2B;IACxC,OAAO,CAAC,OAAO,CAAC,CAA2B;;IAUrC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAwFhC,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAuBvC"}
|
package/build/action.info.js
CHANGED
|
@@ -66,8 +66,9 @@ function parseGdalMetadata(img) {
|
|
|
66
66
|
if (!metadata.startsWith('<GDALMetadata>'))
|
|
67
67
|
return null;
|
|
68
68
|
return metadata
|
|
69
|
-
.replace('<GDALMetadata
|
|
70
|
-
.replace('</GDALMetadata
|
|
69
|
+
.replace('<GDALMetadata>\n', '')
|
|
70
|
+
.replace('</GDALMetadata>\n', '')
|
|
71
|
+
.replace('\n\x00', '')
|
|
71
72
|
.split('\n')
|
|
72
73
|
.map((c) => c.trim());
|
|
73
74
|
}
|
|
@@ -84,7 +85,6 @@ export class ActionCogInfo extends CommandLineAction {
|
|
|
84
85
|
const { tif } = await ActionUtil.getCogSource(this.file);
|
|
85
86
|
const [firstImage] = tif.images;
|
|
86
87
|
await firstImage.loadGeoTiffTags();
|
|
87
|
-
const isCogOptimized = tif.options.isCogOptimized;
|
|
88
88
|
const source = tif.source;
|
|
89
89
|
const chunkIds = [...source.chunks.values()];
|
|
90
90
|
const imageInfo = '\n' + TiffImageInfoTable.print(tif.images, '\t\t').join('\n');
|
|
@@ -120,15 +120,17 @@ export class ActionCogInfo extends CommandLineAction {
|
|
|
120
120
|
keys: [
|
|
121
121
|
{ key: 'COG optimized', value: tif.options.isCogOptimized },
|
|
122
122
|
tif.options.isBroken ? { key: 'COG broken', value: tif.options.isBroken } : null,
|
|
123
|
-
isCogOptimized ? { key: 'Mask interleaved', value: tif.options.isMaskInterleaved } : null,
|
|
124
123
|
ghostOptions.length > 0
|
|
125
124
|
? {
|
|
126
125
|
key: 'Ghost Options',
|
|
127
|
-
value: '\n' + ghostOptions.map((c) => `\t\t${c[0]}
|
|
126
|
+
value: '\n' + ghostOptions.map((c) => `\t\t${c[0]} = ${c[1]}`).join('\n'),
|
|
128
127
|
}
|
|
129
128
|
: null,
|
|
130
129
|
gdalMetadata
|
|
131
|
-
? {
|
|
130
|
+
? {
|
|
131
|
+
key: 'Metadata',
|
|
132
|
+
value: '\n' + gdalMetadata.map((c) => `\t\t${c}`).join('\n'),
|
|
133
|
+
}
|
|
132
134
|
: null,
|
|
133
135
|
],
|
|
134
136
|
},
|
|
@@ -178,4 +180,4 @@ export class ActionCogInfo extends CommandLineAction {
|
|
|
178
180
|
});
|
|
179
181
|
}
|
|
180
182
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWN0aW9uLmluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSw0QkFBNEIsQ0FBQztBQUNySCxPQUFPLENBQUMsTUFBTSxhQUFhLENBQUM7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsU0FBUyxTQUFTLENBQUMsS0FBMkIsRUFBRSxPQUFlLEVBQUUsUUFBYTtJQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUU1RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDNUQ7SUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxHQUFXO0lBQ3RCLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFB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LENBQUM7SUFDaEMsQ0FBQztJQUVTLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztZQUNuQyxZQUFZLEVBQUUsTUFBTTtZQUNwQixpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNqQyxpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNwQyxpQkFBaUIsRUFBRSxZQUFZO1lBQy9CLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLCtCQUErQjtZQUM1QyxRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaHVua1NvdXJjZUJhc2UgfSBmcm9tICdAY2h1bmtkL2NvcmUnO1xuaW1wb3J0IHsgQ29nVGlmZkltYWdlLCBUaWZmVGFnLCBUaWZmVGFnR2VvLCBUaWZmVmVyc2lvbiB9IGZyb20gJ0Bjb2dlb3RpZmYvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kTGluZUFjdGlvbiwgQ29tbWFuZExpbmVGbGFnUGFyYW1ldGVyLCBDb21tYW5kTGluZVN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ0BydXNoc3RhY2svdHMtY29tbWFuZC1saW5lJztcbmltcG9ydCBjIGZyb20gJ2Fuc2ktY29sb3JzJztcbmltcG9ydCB7IEFjdGlvblV0aWwsIENsaVJlc3VsdE1hcCB9IGZyb20gJy4vYWN0aW9uLnV0aWwuanMnO1xuaW1wb3J0IHsgQ2xpVGFibGUgfSBmcm9tICcuL2NsaS50YWJsZS5qcyc7XG5pbXBvcnQgeyB0b0J5dGVTaXplU3RyaW5nIH0gZnJvbSAnLi91dGlsLmJ5dGVzLmpzJztcblxuZnVuY3Rpb24gZm9ybWF0VGFnKHRhZ0lkOiBUaWZmVGFnIHwgVGlmZlRhZ0dlbywgdGFnTmFtZTogc3RyaW5nLCB0YWdWYWx1ZTogYW55KTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9IHtcbiAgICBjb25zdCBrZXkgPSBgJHtTdHJpbmcodGFnSWQpLnBhZEVuZCg3LCAnICcpfSAke1N0cmluZyh0YWdOYW1lKS5wYWRFbmQoMjApfWA7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0YWdWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHsga2V5LCB2YWx1ZTogdGFnVmFsdWUuc2xpY2UoMCwgMjUwKS5qb2luKCcsICcpIH07XG4gICAgfVxuICAgIHJldHVybiB7IGtleSwgdmFsdWU6IFN0cmluZyh0YWdWYWx1ZSkuc3Vic3RyKDAsIDEwMjQpIH07XG59XG5cbmZ1bmN0aW9uIHJvdW5kKG51bTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcHQgPSAxMCAqKiA0O1xuICAgIHJldHVybiBNYXRoLmZsb29yKG51bSAqIG9wdCkgLyBvcHQ7XG59XG5cbmNvbnN0IFRpZmZJbWFnZUluZm9UYWJsZSA9IG5ldyBDbGlUYWJsZTxDb2dUaWZmSW1hZ2U+KCk7XG5UaWZmSW1hZ2VJbmZvVGFibGUuYWRkKHsgbmFtZTogJ0lkJywgd2lkdGg6IDQsIGdldDogKGksIGluZGV4KSA9PiBTdHJpbmcoaW5kZXgpIH0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7IG5hbWU6ICdTaXplJywgd2lkdGg6IDIwLCBnZXQ6IChpKSA9PiBgJHtpLnNpemUud2lkdGh9eCR7aS5zaXplLmhlaWdodH1gIH0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1RpbGUgU2l6ZScsXG4gICAgd2lkdGg6IDIwLFxuICAgIGdldDogKGkpID0+IGAke2kudGlsZUNvdW50Lnh9eCR7aS50aWxlQ291bnQueX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzVGlsZWQoKSxcbn0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1RpbGUgQ291bnQnLFxuICAgIHdpZHRoOiAyMCxcbiAgICBnZXQ6IChpKSA9PiBgJHtpLnRpbGVDb3VudC54ICogaS50aWxlQ291bnQueX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzVGlsZWQoKSxcbn0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1N0cmlwIENvdW50JyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gYCR7aS50YWdzLmdldChUaWZmVGFnLlN0cmlwT2Zmc2V0cyk/LmRhdGFDb3VudH1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiAhaS5pc1RpbGVkKCksXG59KTtcblRpZmZJbWFnZUluZm9UYWJsZS5hZGQoe1xuICAgIG5hbWU6ICdSZXNvbHV0aW9uJyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gYCR7cm91bmQoaS5yZXNvbHV0aW9uWzBdKX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzR2VvTG9jYXRlZCxcbn0pO1xuXG4vLyBTaG93IGNvbXByZXNzaW9uIG9ubHkgaWYgaXQgdmFyaWVzIGJldHdlZW4gaW1hZ2VzXG5UaWZmSW1hZ2VJbmZvVGFibGUuYWRkKHtcbiAgICBuYW1lOiAnQ29tcHJlc3Npb24nLFxuICAgIHdpZHRoOiAyMCxcbiAgICBnZXQ6IChpKSA9PiBpLmNvbXByZXNzaW9uLFxuICAgIGVuYWJsZWQ6IChpKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHMgPSBuZXcgU2V0KCk7XG4gICAgICAgIGkudGlmLmltYWdlcy5mb3JFYWNoKChmKSA9PiBmb3JtYXRzLmFkZChmLmNvbXByZXNzaW9uKSk7XG4gICAgICAgIHJldHVybiBmb3JtYXRzLnNpemUgPiAxO1xuICAgIH0sXG59KTtcblxuLyoqXG4gKiBQYXJzZSBvdXQgdGhlIEdEQUwgTWV0YWRhdGEgdG8gYmUgbW9yZSBmcmllbmRseSB0byByZWFkXG4gKlxuICogVE9ETyB1c2luZyBhIFhNTCBQYXJzZXIgd2lsbCBtYWtlIHRoaXMgZXZlbiBiZXR0ZXJcbiAqIEBwYXJhbSBpbWdcbiAqL1xuZnVuY3Rpb24gcGFyc2VHZGFsTWV0YWRhdGEoaW1nOiBDb2dUaWZmSW1hZ2UpOiBzdHJpbmdbXSB8IG51bGwge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gaW1nLnZhbHVlKFRpZmZUYWcuR0RBTF9NRVRBREFUQSk7XG4gICAgaWYgKHR5cGVvZiBtZXRhZGF0YSAhPT0gJ3N0cmluZycpIHJldHVybiBudWxsO1xuICAgIGlmICghbWV0YWRhdGEuc3RhcnRzV2l0aCgnPEdEQUxNZXRhZGF0YT4nKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIG1ldGFkYXRhXG4gICAgICAgIC5yZXBsYWNlKCc8R0RBTE1ldGFkYXRhPicsICcnKVxuICAgICAgICAucmVwbGFjZSgnPC9HREFMTWV0YWRhdGE+JywgJycpXG4gICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgLm1hcCgoYykgPT4gYy50cmltKCkpO1xufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29nSW5mbyBleHRlbmRzIENvbW1hbmRMaW5lQWN0aW9uIHtcbiAgICBwcml2YXRlIGZpbGU/OiBDb21tYW5kTGluZVN0cmluZ1BhcmFtZXRlcjtcbiAgICBwcml2YXRlIHRhZ3M/OiBDb21tYW5kTGluZUZsYWdQYXJhbWV0ZXI7XG4gICAgcHJpdmF0ZSB0YWdzQWxsPzogQ29tbWFuZExpbmVGbGFnUGFyYW1ldGVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiAnaW5mbycsXG4gICAgICAgICAgICBzdW1tYXJ5OiAnU2hvd3MgaW5mbyBhYm91dCBhIENPRycsXG4gICAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnJyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25FeGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IHRpZiB9ID0gYXdhaXQgQWN0aW9uVXRpbC5nZXRDb2dTb3VyY2UodGhpcy5maWxlKTtcbiAgICAgICAgY29uc3QgW2ZpcnN0SW1hZ2VdID0gdGlmLmltYWdlcztcblxuICAgICAgICBhd2FpdCBmaXJzdEltYWdlLmxvYWRHZW9UaWZmVGFncygpO1xuXG4gICAgICAgIGNvbnN0IGlzQ29nT3B0aW1pemVkID0gdGlmLm9wdGlvbnMuaXNDb2dPcHRpbWl6ZWQ7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IHRpZi5zb3VyY2UgYXMgQ2h1bmtTb3VyY2VCYXNlO1xuICAgICAgICBjb25zdCBjaHVua0lkcyA9IFsuLi4oc291cmNlLmNodW5rcyBhcyBNYXA8dW5rbm93biwgdW5rbm93bj4pLnZhbHVlcygpXTtcblxuICAgICAgICBjb25zdCBpbWFnZUluZm8gPSAnXFxuJyArIFRpZmZJbWFnZUluZm9UYWJsZS5wcmludCh0aWYuaW1hZ2VzLCAnXFx0XFx0Jykuam9pbignXFxuJyk7XG5cbiAgICAgICAgY29uc3QgZ2RhbE1ldGFkYXRhID0gcGFyc2VHZGFsTWV0YWRhdGEoZmlyc3RJbWFnZSk7XG4gICAgICAgIGNvbnN0IGdob3N0T3B0aW9ucyA9IFsuLi50aWYub3B0aW9ucy5vcHRpb25zLmVudHJpZXMoKV07XG5cbiAgICAgICAgY29uc3QgaXNHZW9Mb2NhdGVkID0gZmlyc3RJbWFnZS5pc0dlb0xvY2F0ZWQ7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBDbGlSZXN1bHRNYXBbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnVGlmZiB0eXBlJywgdmFsdWU6IGAke1RpZmZWZXJzaW9uW3RpZi52ZXJzaW9uXX0gKHYke1N0cmluZyh0aWYudmVyc2lvbil9KWAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdDaHVuayBzaXplJywgdmFsdWU6IHRvQnl0ZVNpemVTdHJpbmcodGlmLnNvdXJjZS5jaHVua1NpemUpIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0J5dGVzIHJlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGAke3RvQnl0ZVNpemVTdHJpbmcoY2h1bmtJZHMubGVuZ3RoICogdGlmLnNvdXJjZS5jaHVua1NpemUpfSAoJHtjaHVua0lkcy5sZW5ndGh9IENodW5rJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua0lkcy5sZW5ndGggPT09IDEgPyAnJyA6ICdzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnSW1hZ2VzJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnQ29tcHJlc3Npb24nLCB2YWx1ZTogZmlyc3RJbWFnZS5jb21wcmVzc2lvbiB9LFxuICAgICAgICAgICAgICAgICAgICBpc0dlb0xvY2F0ZWQgPyB7IGtleTogJ09yaWdpbicsIHZhbHVlOiBmaXJzdEltYWdlLm9yaWdpbi5tYXAocm91bmQpLmpvaW4oJywgJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGlzR2VvTG9jYXRlZCA/IHsga2V5OiAnUmVzb2x1dGlvbicsIHZhbHVlOiBmaXJzdEltYWdlLnJlc29sdXRpb24ubWFwKHJvdW5kKS5qb2luKCcsICcpIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBpc0dlb0xvY2F0ZWQgPyB7IGtleTogJ0JvdW5kaW5nQm94JywgdmFsdWU6IGZpcnN0SW1hZ2UuYmJveC5tYXAocm91bmQpLmpvaW4oJywgJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0SW1hZ2UuZXBzZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IGtleTogJ0VQU0cnLCB2YWx1ZTogYEVQU0c6JHtmaXJzdEltYWdlLmVwc2d9IChodHRwczovL2Vwc2cuaW8vJHtmaXJzdEltYWdlLmVwc2d9KWAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ0luZm8nLCB2YWx1ZTogaW1hZ2VJbmZvIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdHREFMJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnQ09HIG9wdGltaXplZCcsIHZhbHVlOiB0aWYub3B0aW9ucy5pc0NvZ09wdGltaXplZCB9LFxuICAgICAgICAgICAgICAgICAgICB0aWYub3B0aW9ucy5pc0Jyb2tlbiA/IHsga2V5OiAnQ09HIGJyb2tlbicsIHZhbHVlOiB0aWYub3B0aW9ucy5pc0Jyb2tlbiB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgaXNDb2dPcHRpbWl6ZWQgPyB7IGtleTogJ01hc2sgaW50ZXJsZWF2ZWQnLCB2YWx1ZTogdGlmLm9wdGlvbnMuaXNNYXNrSW50ZXJsZWF2ZWQgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGdob3N0T3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0dob3N0IE9wdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdcXG4nICsgZ2hvc3RPcHRpb25zLm1hcCgoYykgPT4gYFxcdFxcdCR7Y1swXX09JHtjWzFdfWApLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGdkYWxNZXRhZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IGtleTogJ01ldGFkYXRhJywgdmFsdWU6ICdcXG4nICsgZ2RhbE1ldGFkYXRhLm1hcCgoYykgPT4gYFxcdFxcdCR7Y31gKS5qb2luKCdcXG4nKSB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMudGFncz8udmFsdWUgfHwgdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpbWcgb2YgdGlmLmltYWdlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpZmZUYWdzID0gWy4uLmltZy50YWdzLmtleXMoKV07XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBUaWZmIHRhZ3NgLFxuICAgICAgICAgICAgICAgICAgICBrZXlzOiB0aWZmVGFncy5tYXAoKHRhZ0lkKSA9PiBmb3JtYXRUYWcodGFnSWQsIFRpZmZUYWdbdGFnSWRdLCBpbWcudmFsdWUodGFnSWQpKSksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaW1nLmxvYWRHZW9UaWZmVGFncygpO1xuICAgICAgICAgICAgICAgIGlmIChpbWcudGFnc0dlbykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aWZmVGFnc0dlbyA9IFsuLi5pbWcudGFnc0dlby5rZXlzKCldO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBHZW8gVGlmZiB0YWdzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXM6IHRpZmZUYWdzR2VvLm1hcCgodGFnSWQpID0+IGZvcm1hdFRhZyh0YWdJZCwgVGlmZlRhZ0dlb1t0YWdJZF0sIGltZy52YWx1ZUdlbyh0YWdJZCkpKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtc2cgPSBBY3Rpb25VdGlsLmZvcm1hdFJlc3VsdChgJHtjLmJvbGQoJ0NPRyBGaWxlIEluZm8nKX0gLSAke2MuYm9sZCh0aWYuc291cmNlLnVyaSl9YCwgcmVzdWx0KTtcbiAgICAgICAgY29uc29sZS5sb2cobXNnLmpvaW4oJ1xcbicpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EZWZpbmVQYXJhbWV0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGUgPSB0aGlzLmRlZmluZVN0cmluZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBhcmd1bWVudE5hbWU6ICdGSUxFJyxcbiAgICAgICAgICAgIHBhcmFtZXRlckxvbmdOYW1lOiAnLS1maWxlJyxcbiAgICAgICAgICAgIHBhcmFtZXRlclNob3J0TmFtZTogJy1mJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnY29nIGZpbGUgdG8gYWNjZXNzJyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhZ3MgPSB0aGlzLmRlZmluZUZsYWdQYXJhbWV0ZXIoe1xuICAgICAgICAgICAgcGFyYW1ldGVyTG9uZ05hbWU6ICctLXRhZ3MnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLXQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGFnc0FsbCA9IHRoaXMuZGVmaW5lRmxhZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBwYXJhbWV0ZXJMb25nTmFtZTogJy0tdGFncy1hbGwnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLVQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncyBmb3IgYWxsIGltYWdlcycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWN0aW9uLmluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSw0QkFBNEIsQ0FBQztBQUNySCxPQUFPLENBQUMsTUFBTSxhQUFhLENBQUM7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsU0FBUyxTQUFTLENBQUMsS0FBMkIsRUFBRSxPQUFlLEVBQUUsUUFBYTtJQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUU1RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDNUQ7SUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxHQUFXO0lBQ3RCLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFB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QkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDakMsaUJBQWlCLEVBQUUsUUFBUTtZQUMzQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDcEMsaUJBQWlCLEVBQUUsWUFBWTtZQUMvQixrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLFdBQVcsRUFBRSwrQkFBK0I7WUFDNUMsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2h1bmtTb3VyY2VCYXNlIH0gZnJvbSAnQGNodW5rZC9jb3JlJztcbmltcG9ydCB7IENvZ1RpZmZJbWFnZSwgVGlmZlRhZywgVGlmZlRhZ0dlbywgVGlmZlZlcnNpb24gfSBmcm9tICdAY29nZW90aWZmL2NvcmUnO1xuaW1wb3J0IHsgQ29tbWFuZExpbmVBY3Rpb24sIENvbW1hbmRMaW5lRmxhZ1BhcmFtZXRlciwgQ29tbWFuZExpbmVTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tICdAcnVzaHN0YWNrL3RzLWNvbW1hbmQtbGluZSc7XG5pbXBvcnQgYyBmcm9tICdhbnNpLWNvbG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25VdGlsLCBDbGlSZXN1bHRNYXAgfSBmcm9tICcuL2FjdGlvbi51dGlsLmpzJztcbmltcG9ydCB7IENsaVRhYmxlIH0gZnJvbSAnLi9jbGkudGFibGUuanMnO1xuaW1wb3J0IHsgdG9CeXRlU2l6ZVN0cmluZyB9IGZyb20gJy4vdXRpbC5ieXRlcy5qcyc7XG5cbmZ1bmN0aW9uIGZvcm1hdFRhZyh0YWdJZDogVGlmZlRhZyB8IFRpZmZUYWdHZW8sIHRhZ05hbWU6IHN0cmluZywgdGFnVmFsdWU6IGFueSk6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSB7XG4gICAgY29uc3Qga2V5ID0gYCR7U3RyaW5nKHRhZ0lkKS5wYWRFbmQoNywgJyAnKX0gJHtTdHJpbmcodGFnTmFtZSkucGFkRW5kKDIwKX1gO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGFnVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiB7IGtleSwgdmFsdWU6IHRhZ1ZhbHVlLnNsaWNlKDAsIDI1MCkuam9pbignLCAnKSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBrZXksIHZhbHVlOiBTdHJpbmcodGFnVmFsdWUpLnN1YnN0cigwLCAxMDI0KSB9O1xufVxuXG5mdW5jdGlvbiByb3VuZChudW06IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3Qgb3B0ID0gMTAgKiogNDtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihudW0gKiBvcHQpIC8gb3B0O1xufVxuXG5jb25zdCBUaWZmSW1hZ2VJbmZvVGFibGUgPSBuZXcgQ2xpVGFibGU8Q29nVGlmZkltYWdlPigpO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7IG5hbWU6ICdJZCcsIHdpZHRoOiA0LCBnZXQ6IChpLCBpbmRleCkgPT4gU3RyaW5nKGluZGV4KSB9KTtcblRpZmZJbWFnZUluZm9UYWJsZS5hZGQoeyBuYW1lOiAnU2l6ZScsIHdpZHRoOiAyMCwgZ2V0OiAoaSkgPT4gYCR7aS5zaXplLndpZHRofXgke2kuc2l6ZS5oZWlnaHR9YCB9KTtcblRpZmZJbWFnZUluZm9UYWJsZS5hZGQoe1xuICAgIG5hbWU6ICdUaWxlIFNpemUnLFxuICAgIHdpZHRoOiAyMCxcbiAgICBnZXQ6IChpKSA9PiBgJHtpLnRpbGVDb3VudC54fXgke2kudGlsZUNvdW50Lnl9YCxcbiAgICBlbmFibGVkOiAoaSkgPT4gaS5pc1RpbGVkKCksXG59KTtcblRpZmZJbWFnZUluZm9UYWJsZS5hZGQoe1xuICAgIG5hbWU6ICdUaWxlIENvdW50JyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gYCR7aS50aWxlQ291bnQueCAqIGkudGlsZUNvdW50Lnl9YCxcbiAgICBlbmFibGVkOiAoaSkgPT4gaS5pc1RpbGVkKCksXG59KTtcblRpZmZJbWFnZUluZm9UYWJsZS5hZGQoe1xuICAgIG5hbWU6ICdTdHJpcCBDb3VudCcsXG4gICAgd2lkdGg6IDIwLFxuICAgIGdldDogKGkpID0+IGAke2kudGFncy5nZXQoVGlmZlRhZy5TdHJpcE9mZnNldHMpPy5kYXRhQ291bnR9YCxcbiAgICBlbmFibGVkOiAoaSkgPT4gIWkuaXNUaWxlZCgpLFxufSk7XG5UaWZmSW1hZ2VJbmZvVGFibGUuYWRkKHtcbiAgICBuYW1lOiAnUmVzb2x1dGlvbicsXG4gICAgd2lkdGg6IDIwLFxuICAgIGdldDogKGkpID0+IGAke3JvdW5kKGkucmVzb2x1dGlvblswXSl9YCxcbiAgICBlbmFibGVkOiAoaSkgPT4gaS5pc0dlb0xvY2F0ZWQsXG59KTtcblxuLy8gU2hvdyBjb21wcmVzc2lvbiBvbmx5IGlmIGl0IHZhcmllcyBiZXR3ZWVuIGltYWdlc1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ0NvbXByZXNzaW9uJyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gaS5jb21wcmVzc2lvbixcbiAgICBlbmFibGVkOiAoaSkgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXRzID0gbmV3IFNldCgpO1xuICAgICAgICBpLnRpZi5pbWFnZXMuZm9yRWFjaCgoZikgPT4gZm9ybWF0cy5hZGQoZi5jb21wcmVzc2lvbikpO1xuICAgICAgICByZXR1cm4gZm9ybWF0cy5zaXplID4gMTtcbiAgICB9LFxufSk7XG5cbi8qKlxuICogUGFyc2Ugb3V0IHRoZSBHREFMIE1ldGFkYXRhIHRvIGJlIG1vcmUgZnJpZW5kbHkgdG8gcmVhZFxuICpcbiAqIFRPRE8gdXNpbmcgYSBYTUwgUGFyc2VyIHdpbGwgbWFrZSB0aGlzIGV2ZW4gYmV0dGVyXG4gKiBAcGFyYW0gaW1nXG4gKi9cbmZ1bmN0aW9uIHBhcnNlR2RhbE1ldGFkYXRhKGltZzogQ29nVGlmZkltYWdlKTogc3RyaW5nW10gfCBudWxsIHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IGltZy52YWx1ZShUaWZmVGFnLkdEQUxfTUVUQURBVEEpO1xuICAgIGlmICh0eXBlb2YgbWV0YWRhdGEgIT09ICdzdHJpbmcnKSByZXR1cm4gbnVsbDtcbiAgICBpZiAoIW1ldGFkYXRhLnN0YXJ0c1dpdGgoJzxHREFMTWV0YWRhdGE+JykpIHJldHVybiBudWxsO1xuICAgIHJldHVybiBtZXRhZGF0YVxuICAgICAgICAucmVwbGFjZSgnPEdEQUxNZXRhZGF0YT5cXG4nLCAnJylcbiAgICAgICAgLnJlcGxhY2UoJzwvR0RBTE1ldGFkYXRhPlxcbicsICcnKVxuICAgICAgICAucmVwbGFjZSgnXFxuXFx4MDAnLCAnJylcbiAgICAgICAgLnNwbGl0KCdcXG4nKVxuICAgICAgICAubWFwKChjKSA9PiBjLnRyaW0oKSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25Db2dJbmZvIGV4dGVuZHMgQ29tbWFuZExpbmVBY3Rpb24ge1xuICAgIHByaXZhdGUgZmlsZT86IENvbW1hbmRMaW5lU3RyaW5nUGFyYW1ldGVyO1xuICAgIHByaXZhdGUgdGFncz86IENvbW1hbmRMaW5lRmxhZ1BhcmFtZXRlcjtcbiAgICBwcml2YXRlIHRhZ3NBbGw/OiBDb21tYW5kTGluZUZsYWdQYXJhbWV0ZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6ICdpbmZvJyxcbiAgICAgICAgICAgIHN1bW1hcnk6ICdTaG93cyBpbmZvIGFib3V0IGEgQ09HJyxcbiAgICAgICAgICAgIGRvY3VtZW50YXRpb246ICcnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBvbkV4ZWN1dGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHsgdGlmIH0gPSBhd2FpdCBBY3Rpb25VdGlsLmdldENvZ1NvdXJjZSh0aGlzLmZpbGUpO1xuICAgICAgICBjb25zdCBbZmlyc3RJbWFnZV0gPSB0aWYuaW1hZ2VzO1xuXG4gICAgICAgIGF3YWl0IGZpcnN0SW1hZ2UubG9hZEdlb1RpZmZUYWdzKCk7XG5cbiAgICAgICAgY29uc3Qgc291cmNlID0gdGlmLnNvdXJjZSBhcyBDaHVua1NvdXJjZUJhc2U7XG4gICAgICAgIGNvbnN0IGNodW5rSWRzID0gWy4uLihzb3VyY2UuY2h1bmtzIGFzIE1hcDx1bmtub3duLCB1bmtub3duPikudmFsdWVzKCldO1xuXG4gICAgICAgIGNvbnN0IGltYWdlSW5mbyA9ICdcXG4nICsgVGlmZkltYWdlSW5mb1RhYmxlLnByaW50KHRpZi5pbWFnZXMsICdcXHRcXHQnKS5qb2luKCdcXG4nKTtcblxuICAgICAgICBjb25zdCBnZGFsTWV0YWRhdGEgPSBwYXJzZUdkYWxNZXRhZGF0YShmaXJzdEltYWdlKTtcbiAgICAgICAgY29uc3QgZ2hvc3RPcHRpb25zID0gWy4uLnRpZi5vcHRpb25zLm9wdGlvbnMuZW50cmllcygpXTtcblxuICAgICAgICBjb25zdCBpc0dlb0xvY2F0ZWQgPSBmaXJzdEltYWdlLmlzR2VvTG9jYXRlZDtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IENsaVJlc3VsdE1hcFtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdUaWZmIHR5cGUnLCB2YWx1ZTogYCR7VGlmZlZlcnNpb25bdGlmLnZlcnNpb25dfSAodiR7U3RyaW5nKHRpZi52ZXJzaW9uKX0pYCB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ0NodW5rIHNpemUnLCB2YWx1ZTogdG9CeXRlU2l6ZVN0cmluZyh0aWYuc291cmNlLmNodW5rU2l6ZSkgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnQnl0ZXMgcmVhZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYCR7dG9CeXRlU2l6ZVN0cmluZyhjaHVua0lkcy5sZW5ndGggKiB0aWYuc291cmNlLmNodW5rU2l6ZSl9ICgke2NodW5rSWRzLmxlbmd0aH0gQ2h1bmske1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rSWRzLmxlbmd0aCA9PT0gMSA/ICcnIDogJ3MnXG4gICAgICAgICAgICAgICAgICAgICAgICB9KWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdJbWFnZXMnLFxuICAgICAgICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdDb21wcmVzc2lvbicsIHZhbHVlOiBmaXJzdEltYWdlLmNvbXByZXNzaW9uIH0sXG4gICAgICAgICAgICAgICAgICAgIGlzR2VvTG9jYXRlZCA/IHsga2V5OiAnT3JpZ2luJywgdmFsdWU6IGZpcnN0SW1hZ2Uub3JpZ2luLm1hcChyb3VuZCkuam9pbignLCAnKSB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgaXNHZW9Mb2NhdGVkID8geyBrZXk6ICdSZXNvbHV0aW9uJywgdmFsdWU6IGZpcnN0SW1hZ2UucmVzb2x1dGlvbi5tYXAocm91bmQpLmpvaW4oJywgJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGlzR2VvTG9jYXRlZCA/IHsga2V5OiAnQm91bmRpbmdCb3gnLCB2YWx1ZTogZmlyc3RJbWFnZS5iYm94Lm1hcChyb3VuZCkuam9pbignLCAnKSB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZmlyc3RJbWFnZS5lcHNnXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHsga2V5OiAnRVBTRycsIHZhbHVlOiBgRVBTRzoke2ZpcnN0SW1hZ2UuZXBzZ30gKGh0dHBzOi8vZXBzZy5pby8ke2ZpcnN0SW1hZ2UuZXBzZ30pYCB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnSW5mbycsIHZhbHVlOiBpbWFnZUluZm8gfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ0dEQUwnLFxuICAgICAgICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdDT0cgb3B0aW1pemVkJywgdmFsdWU6IHRpZi5vcHRpb25zLmlzQ29nT3B0aW1pemVkIH0sXG4gICAgICAgICAgICAgICAgICAgIHRpZi5vcHRpb25zLmlzQnJva2VuID8geyBrZXk6ICdDT0cgYnJva2VuJywgdmFsdWU6IHRpZi5vcHRpb25zLmlzQnJva2VuIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBnaG9zdE9wdGlvbnMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdHaG9zdCBPcHRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnXFxuJyArIGdob3N0T3B0aW9ucy5tYXAoKGMpID0+IGBcXHRcXHQke2NbMF19ID0gJHtjWzFdfWApLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGdkYWxNZXRhZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdNZXRhZGF0YScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ1xcbicgKyBnZGFsTWV0YWRhdGEubWFwKChjKSA9PiBgXFx0XFx0JHtjfWApLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMudGFncz8udmFsdWUgfHwgdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpbWcgb2YgdGlmLmltYWdlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpZmZUYWdzID0gWy4uLmltZy50YWdzLmtleXMoKV07XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBUaWZmIHRhZ3NgLFxuICAgICAgICAgICAgICAgICAgICBrZXlzOiB0aWZmVGFncy5tYXAoKHRhZ0lkKSA9PiBmb3JtYXRUYWcodGFnSWQsIFRpZmZUYWdbdGFnSWRdLCBpbWcudmFsdWUodGFnSWQpKSksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaW1nLmxvYWRHZW9UaWZmVGFncygpO1xuICAgICAgICAgICAgICAgIGlmIChpbWcudGFnc0dlbykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aWZmVGFnc0dlbyA9IFsuLi5pbWcudGFnc0dlby5rZXlzKCldO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBHZW8gVGlmZiB0YWdzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXM6IHRpZmZUYWdzR2VvLm1hcCgodGFnSWQpID0+IGZvcm1hdFRhZyh0YWdJZCwgVGlmZlRhZ0dlb1t0YWdJZF0sIGltZy52YWx1ZUdlbyh0YWdJZCkpKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtc2cgPSBBY3Rpb25VdGlsLmZvcm1hdFJlc3VsdChgJHtjLmJvbGQoJ0NPRyBGaWxlIEluZm8nKX0gLSAke2MuYm9sZCh0aWYuc291cmNlLnVyaSl9YCwgcmVzdWx0KTtcbiAgICAgICAgY29uc29sZS5sb2cobXNnLmpvaW4oJ1xcbicpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EZWZpbmVQYXJhbWV0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGUgPSB0aGlzLmRlZmluZVN0cmluZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBhcmd1bWVudE5hbWU6ICdGSUxFJyxcbiAgICAgICAgICAgIHBhcmFtZXRlckxvbmdOYW1lOiAnLS1maWxlJyxcbiAgICAgICAgICAgIHBhcmFtZXRlclNob3J0TmFtZTogJy1mJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnY29nIGZpbGUgdG8gYWNjZXNzJyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhZ3MgPSB0aGlzLmRlZmluZUZsYWdQYXJhbWV0ZXIoe1xuICAgICAgICAgICAgcGFyYW1ldGVyTG9uZ05hbWU6ICctLXRhZ3MnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLXQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGFnc0FsbCA9IHRoaXMuZGVmaW5lRmxhZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBwYXJhbWV0ZXJMb25nTmFtZTogJy0tdGFncy1hbGwnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLVQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncyBmb3IgYWxsIGltYWdlcycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
package/build/action.util.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export interface CliResultMap {
|
|
|
10
10
|
keys: (CLiResultMapLine | null)[];
|
|
11
11
|
}
|
|
12
12
|
export declare const ActionUtil: {
|
|
13
|
-
getCogSource(file?: CommandLineStringParameter | null
|
|
13
|
+
getCogSource(file?: CommandLineStringParameter | null): Promise<{
|
|
14
14
|
source: ChunkSource;
|
|
15
15
|
tif: CogTiff;
|
|
16
16
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.util.d.ts","sourceRoot":"","sources":["../src/action.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAGxE,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;CACtD;AACD,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"action.util.d.ts","sourceRoot":"","sources":["../src/action.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAGxE,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;CACtD;AACD,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,UAAU;wBACO,0BAA0B,GAAG,IAAI;gBAAqB,WAAW;aAAO,OAAO;;wBAWrF,MAAM,UAAU,YAAY,EAAE,GAAG,MAAM,EAAE;CAmBhE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogeotiff/cli",
|
|
3
|
-
"version": "7.1
|
|
3
|
+
"version": "7.2.1",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/blacha/cogeotiff.git",
|
|
@@ -17,9 +17,9 @@
|
|
|
17
17
|
},
|
|
18
18
|
"scripts": {},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@chunkd/core": "^
|
|
21
|
-
"@chunkd/fs": "^
|
|
22
|
-
"@cogeotiff/core": "^7.1
|
|
20
|
+
"@chunkd/core": "^10.0.0",
|
|
21
|
+
"@chunkd/fs": "^10.0.0",
|
|
22
|
+
"@cogeotiff/core": "^7.2.1",
|
|
23
23
|
"@rushstack/ts-command-line": "^4.3.14",
|
|
24
24
|
"ansi-colors": "^4.1.1",
|
|
25
25
|
"aws-sdk": "^2.781.0",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "5a152b87c01d71617caab3a584d8396b646ef9a3"
|
|
39
39
|
}
|
package/src/action.info.ts
CHANGED
|
@@ -71,8 +71,9 @@ function parseGdalMetadata(img: CogTiffImage): string[] | null {
|
|
|
71
71
|
if (typeof metadata !== 'string') return null;
|
|
72
72
|
if (!metadata.startsWith('<GDALMetadata>')) return null;
|
|
73
73
|
return metadata
|
|
74
|
-
.replace('<GDALMetadata
|
|
75
|
-
.replace('</GDALMetadata
|
|
74
|
+
.replace('<GDALMetadata>\n', '')
|
|
75
|
+
.replace('</GDALMetadata>\n', '')
|
|
76
|
+
.replace('\n\x00', '')
|
|
76
77
|
.split('\n')
|
|
77
78
|
.map((c) => c.trim());
|
|
78
79
|
}
|
|
@@ -96,7 +97,6 @@ export class ActionCogInfo extends CommandLineAction {
|
|
|
96
97
|
|
|
97
98
|
await firstImage.loadGeoTiffTags();
|
|
98
99
|
|
|
99
|
-
const isCogOptimized = tif.options.isCogOptimized;
|
|
100
100
|
const source = tif.source as ChunkSourceBase;
|
|
101
101
|
const chunkIds = [...(source.chunks as Map<unknown, unknown>).values()];
|
|
102
102
|
|
|
@@ -138,15 +138,17 @@ export class ActionCogInfo extends CommandLineAction {
|
|
|
138
138
|
keys: [
|
|
139
139
|
{ key: 'COG optimized', value: tif.options.isCogOptimized },
|
|
140
140
|
tif.options.isBroken ? { key: 'COG broken', value: tif.options.isBroken } : null,
|
|
141
|
-
isCogOptimized ? { key: 'Mask interleaved', value: tif.options.isMaskInterleaved } : null,
|
|
142
141
|
ghostOptions.length > 0
|
|
143
142
|
? {
|
|
144
143
|
key: 'Ghost Options',
|
|
145
|
-
value: '\n' + ghostOptions.map((c) => `\t\t${c[0]}
|
|
144
|
+
value: '\n' + ghostOptions.map((c) => `\t\t${c[0]} = ${c[1]}`).join('\n'),
|
|
146
145
|
}
|
|
147
146
|
: null,
|
|
148
147
|
gdalMetadata
|
|
149
|
-
? {
|
|
148
|
+
? {
|
|
149
|
+
key: 'Metadata',
|
|
150
|
+
value: '\n' + gdalMetadata.map((c) => `\t\t${c}`).join('\n'),
|
|
151
|
+
}
|
|
150
152
|
: null,
|
|
151
153
|
],
|
|
152
154
|
},
|