@cogeotiff/core 9.1.1 → 9.2.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.
- package/CHANGELOG.md +19 -0
- package/build/__benchmark__/cog.read.benchmark.d.ts +1 -0
- package/build/__benchmark__/cog.read.benchmark.d.ts.map +1 -0
- package/build/__benchmark__/cog.read.benchmark.js +0 -1
- package/build/__benchmark__/source.file.d.ts +1 -0
- package/build/__benchmark__/source.file.d.ts.map +1 -0
- package/build/__benchmark__/source.file.js +2 -13
- package/build/__benchmark__/source.memory.d.ts +1 -0
- package/build/__benchmark__/source.memory.d.ts.map +1 -0
- package/build/__benchmark__/source.memory.js +3 -19
- package/build/__test__/cog.image.test.d.ts +1 -0
- package/build/__test__/cog.image.test.d.ts.map +1 -0
- package/build/__test__/cog.image.test.js +0 -1
- package/build/__test__/cog.read.test.d.ts +1 -0
- package/build/__test__/cog.read.test.d.ts.map +1 -0
- package/build/__test__/cog.read.test.js +6 -1
- package/build/__test__/example.d.ts +1 -0
- package/build/__test__/example.d.ts.map +1 -0
- package/build/__test__/example.js +0 -1
- package/build/const/index.d.ts +1 -0
- package/build/const/index.d.ts.map +1 -0
- package/build/const/index.js +0 -1
- package/build/const/tiff.endian.d.ts +1 -0
- package/build/const/tiff.endian.d.ts.map +1 -0
- package/build/const/tiff.endian.js +0 -1
- package/build/const/tiff.mime.d.ts +1 -0
- package/build/const/tiff.mime.d.ts.map +1 -0
- package/build/const/tiff.mime.js +0 -1
- package/build/const/tiff.tag.id.d.ts +4 -3
- package/build/const/tiff.tag.id.d.ts.map +1 -0
- package/build/const/tiff.tag.id.js +2 -3
- package/build/const/tiff.tag.value.d.ts +1 -0
- package/build/const/tiff.tag.value.d.ts.map +1 -0
- package/build/const/tiff.tag.value.js +0 -1
- package/build/const/tiff.version.d.ts +1 -0
- package/build/const/tiff.version.d.ts.map +1 -0
- package/build/const/tiff.version.js +0 -1
- package/build/index.d.ts +2 -2
- package/build/index.d.ts.map +1 -0
- package/build/index.js +2 -4
- package/build/read/data.view.offset.d.ts +1 -0
- package/build/read/data.view.offset.d.ts.map +1 -0
- package/build/read/data.view.offset.js +0 -1
- package/build/read/tiff.gdal.d.ts +1 -0
- package/build/read/tiff.gdal.d.ts.map +1 -0
- package/build/read/tiff.gdal.js +1 -9
- package/build/read/tiff.ifd.config.d.ts +1 -0
- package/build/read/tiff.ifd.config.d.ts.map +1 -0
- package/build/read/tiff.ifd.config.js +0 -1
- package/build/read/tiff.tag.d.ts +1 -0
- package/build/read/tiff.tag.d.ts.map +1 -0
- package/build/read/tiff.tag.factory.d.ts +1 -0
- package/build/read/tiff.tag.factory.d.ts.map +1 -0
- package/build/read/tiff.tag.factory.js +0 -1
- package/build/read/tiff.tag.js +0 -1
- package/build/read/tiff.value.reader.d.ts +1 -0
- package/build/read/tiff.value.reader.d.ts.map +1 -0
- package/build/read/tiff.value.reader.js +0 -1
- package/build/source.d.ts +4 -1
- package/build/source.d.ts.map +1 -0
- package/build/source.js +0 -1
- package/build/tiff.d.ts +6 -1
- package/build/tiff.d.ts.map +1 -0
- package/build/tiff.image.d.ts +8 -2
- package/build/tiff.image.d.ts.map +1 -0
- package/build/tiff.image.js +28 -63
- package/build/tiff.js +27 -72
- package/build/util/bytes.d.ts +1 -0
- package/build/util/bytes.d.ts.map +1 -0
- package/build/util/bytes.js +0 -1
- package/build/util/util.hex.d.ts +1 -0
- package/build/util/util.hex.d.ts.map +1 -0
- package/build/util/util.hex.js +0 -1
- package/build/vector.d.ts +1 -0
- package/build/vector.d.ts.map +1 -0
- package/build/vector.js +0 -1
- package/package.json +2 -2
- package/src/__benchmark__/source.file.ts +1 -1
- package/src/__benchmark__/source.memory.ts +2 -2
- package/src/__test__/cog.image.test.ts +1 -1
- package/src/__test__/cog.read.test.ts +7 -0
- package/src/const/tiff.tag.id.ts +3 -3
- package/src/index.ts +11 -11
- package/src/source.ts +1 -1
- package/src/tiff.image.ts +17 -20
- package/src/tiff.ts +9 -2
- package/tsconfig.json +1 -2
- package/build/__benchmark__/cog.read.benchmark.js.map +0 -1
- package/build/__benchmark__/source.file.js.map +0 -1
- package/build/__benchmark__/source.memory.js.map +0 -1
- package/build/__test__/cog.image.test.js.map +0 -1
- package/build/__test__/cog.read.test.js.map +0 -1
- package/build/__test__/example.js.map +0 -1
- package/build/const/index.js.map +0 -1
- package/build/const/tiff.endian.js.map +0 -1
- package/build/const/tiff.mime.js.map +0 -1
- package/build/const/tiff.tag.id.js.map +0 -1
- package/build/const/tiff.tag.value.js.map +0 -1
- package/build/const/tiff.version.js.map +0 -1
- package/build/index.js.map +0 -1
- package/build/read/data.view.offset.js.map +0 -1
- package/build/read/tiff.gdal.js.map +0 -1
- package/build/read/tiff.ifd.config.js.map +0 -1
- package/build/read/tiff.tag.factory.js.map +0 -1
- package/build/read/tiff.tag.js.map +0 -1
- package/build/read/tiff.value.reader.js.map +0 -1
- package/build/source.js.map +0 -1
- package/build/tiff.image.js.map +0 -1
- package/build/tiff.js.map +0 -1
- package/build/util/bytes.js.map +0 -1
- package/build/util/util.hex.js.map +0 -1
- package/build/vector.js.map +0 -1
package/build/tiff.image.js
CHANGED
|
@@ -14,53 +14,25 @@ export const ImportantTags = new Set([
|
|
|
14
14
|
TiffTag.ModelTransformation,
|
|
15
15
|
TiffTag.TileHeight,
|
|
16
16
|
TiffTag.TileWidth,
|
|
17
|
-
TiffTag.GeoKeyDirectory,
|
|
18
|
-
TiffTag.GeoAsciiParams,
|
|
19
|
-
TiffTag.GeoDoubleParams,
|
|
20
|
-
TiffTag.TileOffsets,
|
|
21
17
|
]);
|
|
18
|
+
export const ImportantGeoTags = new Set([TiffTag.GeoKeyDirectory, TiffTag.GeoAsciiParams, TiffTag.GeoDoubleParams]);
|
|
22
19
|
export class TiffImage {
|
|
20
|
+
/**
|
|
21
|
+
* Id of the tif image, generally the image index inside the tif
|
|
22
|
+
* where 0 is the root image, and every sub image is +1
|
|
23
|
+
*
|
|
24
|
+
* @example 0, 1, 2
|
|
25
|
+
*/
|
|
26
|
+
id;
|
|
27
|
+
/** Reference to the TIFF that owns this image */
|
|
28
|
+
tiff;
|
|
29
|
+
/** Has loadGeoTiffTags been called */
|
|
30
|
+
isGeoTagsLoaded = false;
|
|
31
|
+
/** Sub tags stored in TiffTag.GeoKeyDirectory */
|
|
32
|
+
tagsGeo = new Map();
|
|
33
|
+
/** All IFD tags that have been read for the image */
|
|
34
|
+
tags;
|
|
23
35
|
constructor(tiff, id, tags) {
|
|
24
|
-
/**
|
|
25
|
-
* Id of the tif image, generally the image index inside the tif
|
|
26
|
-
* where 0 is the root image, and every sub image is +1
|
|
27
|
-
*
|
|
28
|
-
* @example 0, 1, 2
|
|
29
|
-
*/
|
|
30
|
-
Object.defineProperty(this, "id", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
configurable: true,
|
|
33
|
-
writable: true,
|
|
34
|
-
value: void 0
|
|
35
|
-
});
|
|
36
|
-
/** Reference to the TIFF that owns this image */
|
|
37
|
-
Object.defineProperty(this, "tiff", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
configurable: true,
|
|
40
|
-
writable: true,
|
|
41
|
-
value: void 0
|
|
42
|
-
});
|
|
43
|
-
/** Has loadGeoTiffTags been called */
|
|
44
|
-
Object.defineProperty(this, "isGeoTagsLoaded", {
|
|
45
|
-
enumerable: true,
|
|
46
|
-
configurable: true,
|
|
47
|
-
writable: true,
|
|
48
|
-
value: false
|
|
49
|
-
});
|
|
50
|
-
/** Sub tags stored in TiffTag.GeoKeyDirectory */
|
|
51
|
-
Object.defineProperty(this, "tagsGeo", {
|
|
52
|
-
enumerable: true,
|
|
53
|
-
configurable: true,
|
|
54
|
-
writable: true,
|
|
55
|
-
value: new Map()
|
|
56
|
-
});
|
|
57
|
-
/** All IFD tags that have been read for the image */
|
|
58
|
-
Object.defineProperty(this, "tags", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
configurable: true,
|
|
61
|
-
writable: true,
|
|
62
|
-
value: void 0
|
|
63
|
-
});
|
|
64
36
|
this.tiff = tiff;
|
|
65
37
|
this.id = id;
|
|
66
38
|
this.tags = tags;
|
|
@@ -71,20 +43,14 @@ export class TiffImage {
|
|
|
71
43
|
* @param loadGeoTags Whether to load the GeoKeyDirectory and unpack it
|
|
72
44
|
*/
|
|
73
45
|
async init(loadGeoTags = true) {
|
|
74
|
-
const requiredTags = [
|
|
75
|
-
|
|
76
|
-
this.fetch(
|
|
77
|
-
|
|
78
|
-
this.fetch(TiffTag.ModelPixelScale),
|
|
79
|
-
this.fetch(TiffTag.ModelTiePoint),
|
|
80
|
-
this.fetch(TiffTag.ModelTransformation),
|
|
81
|
-
this.fetch(TiffTag.TileHeight),
|
|
82
|
-
this.fetch(TiffTag.TileWidth),
|
|
83
|
-
];
|
|
46
|
+
const requiredTags = [];
|
|
47
|
+
ImportantTags.forEach((tag) => {
|
|
48
|
+
requiredTags.push(this.fetch(tag));
|
|
49
|
+
});
|
|
84
50
|
if (loadGeoTags) {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
51
|
+
ImportantGeoTags.forEach((tag) => {
|
|
52
|
+
requiredTags.push(this.fetch(tag));
|
|
53
|
+
});
|
|
88
54
|
}
|
|
89
55
|
await Promise.all(requiredTags);
|
|
90
56
|
if (loadGeoTags)
|
|
@@ -457,13 +423,13 @@ export class TiffImage {
|
|
|
457
423
|
const actualBytes = new Uint8Array(bytes.byteLength + tableData.length - 2);
|
|
458
424
|
actualBytes.set(tableData, 0);
|
|
459
425
|
actualBytes.set(new Uint8Array(bytes).slice(2), tableData.length);
|
|
460
|
-
return actualBytes;
|
|
426
|
+
return actualBytes.buffer.slice(actualBytes.byteOffset, actualBytes.byteOffset + actualBytes.byteLength);
|
|
461
427
|
}
|
|
462
428
|
/** Read image bytes at the given offset */
|
|
463
|
-
async getBytes(offset, byteCount) {
|
|
429
|
+
async getBytes(offset, byteCount, options) {
|
|
464
430
|
if (byteCount === 0)
|
|
465
431
|
return null;
|
|
466
|
-
const bytes = await this.tiff.source.fetch(offset, byteCount);
|
|
432
|
+
const bytes = await this.tiff.source.fetch(offset, byteCount, options);
|
|
467
433
|
if (bytes.byteLength < byteCount) {
|
|
468
434
|
throw new Error(`Failed to fetch bytes from offset:${offset} wanted:${byteCount} got:${bytes.byteLength}`);
|
|
469
435
|
}
|
|
@@ -483,7 +449,7 @@ export class TiffImage {
|
|
|
483
449
|
* @param x Tile x offset
|
|
484
450
|
* @param y Tile y offset
|
|
485
451
|
*/
|
|
486
|
-
async getTile(x, y) {
|
|
452
|
+
async getTile(x, y, options) {
|
|
487
453
|
const size = this.size;
|
|
488
454
|
const tiles = this.tileSize;
|
|
489
455
|
if (tiles == null)
|
|
@@ -499,7 +465,7 @@ export class TiffImage {
|
|
|
499
465
|
if (idx >= totalTiles)
|
|
500
466
|
throw new Error(`Tile index is outside of tile range: ${idx} >= ${totalTiles}`);
|
|
501
467
|
const { offset, imageSize } = await this.getTileSize(idx);
|
|
502
|
-
return this.getBytes(offset, imageSize);
|
|
468
|
+
return this.getBytes(offset, imageSize, options);
|
|
503
469
|
}
|
|
504
470
|
/**
|
|
505
471
|
* Does this tile exist in the tiff and does it actually have a value
|
|
@@ -566,4 +532,3 @@ function getOffset(tiff, x, index) {
|
|
|
566
532
|
return x.value[index];
|
|
567
533
|
return getValueAt(tiff, x, index);
|
|
568
534
|
}
|
|
569
|
-
//# sourceMappingURL=tiff.image.js.map
|
package/build/tiff.js
CHANGED
|
@@ -8,69 +8,27 @@ import { TiffImage } from './tiff.image.js';
|
|
|
8
8
|
import { getUint } from './util/bytes.js';
|
|
9
9
|
import { toHex } from './util/util.hex.js';
|
|
10
10
|
export class Tiff {
|
|
11
|
+
/** Read 16KB blocks at a time */
|
|
12
|
+
static DefaultReadSize = 16 * 1024;
|
|
13
|
+
/** Read 16KB blocks at a time */
|
|
14
|
+
defaultReadSize = Tiff.DefaultReadSize;
|
|
15
|
+
/** Where this cog is fetching its data from */
|
|
16
|
+
source;
|
|
17
|
+
/** Big or small Tiff */
|
|
18
|
+
version = TiffVersion.Tiff;
|
|
19
|
+
/** List of images, o is the base image */
|
|
20
|
+
images = [];
|
|
21
|
+
/** Ghost header options */
|
|
22
|
+
options;
|
|
23
|
+
/** Configuration for the size of the IFD */
|
|
24
|
+
ifdConfig = TagTiffConfig;
|
|
25
|
+
/** Is the tiff being read is little Endian */
|
|
26
|
+
isLittleEndian = false;
|
|
27
|
+
/** Has init() been called */
|
|
28
|
+
isInitialized = false;
|
|
29
|
+
_initPromise;
|
|
30
|
+
/** A Tiff constructed from a source will not be pre-initialized with {@link init}. */
|
|
11
31
|
constructor(source) {
|
|
12
|
-
/** Read 16KB blocks at a time */
|
|
13
|
-
Object.defineProperty(this, "defaultReadSize", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
configurable: true,
|
|
16
|
-
writable: true,
|
|
17
|
-
value: Tiff.DefaultReadSize
|
|
18
|
-
});
|
|
19
|
-
/** Where this cog is fetching its data from */
|
|
20
|
-
Object.defineProperty(this, "source", {
|
|
21
|
-
enumerable: true,
|
|
22
|
-
configurable: true,
|
|
23
|
-
writable: true,
|
|
24
|
-
value: void 0
|
|
25
|
-
});
|
|
26
|
-
/** Big or small Tiff */
|
|
27
|
-
Object.defineProperty(this, "version", {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
configurable: true,
|
|
30
|
-
writable: true,
|
|
31
|
-
value: TiffVersion.Tiff
|
|
32
|
-
});
|
|
33
|
-
/** List of images, o is the base image */
|
|
34
|
-
Object.defineProperty(this, "images", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true,
|
|
38
|
-
value: []
|
|
39
|
-
});
|
|
40
|
-
/** Ghost header options */
|
|
41
|
-
Object.defineProperty(this, "options", {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
configurable: true,
|
|
44
|
-
writable: true,
|
|
45
|
-
value: void 0
|
|
46
|
-
});
|
|
47
|
-
/** Configuration for the size of the IFD */
|
|
48
|
-
Object.defineProperty(this, "ifdConfig", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
configurable: true,
|
|
51
|
-
writable: true,
|
|
52
|
-
value: TagTiffConfig
|
|
53
|
-
});
|
|
54
|
-
/** Is the tiff being read is little Endian */
|
|
55
|
-
Object.defineProperty(this, "isLittleEndian", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
configurable: true,
|
|
58
|
-
writable: true,
|
|
59
|
-
value: false
|
|
60
|
-
});
|
|
61
|
-
/** Has init() been called */
|
|
62
|
-
Object.defineProperty(this, "isInitialized", {
|
|
63
|
-
enumerable: true,
|
|
64
|
-
configurable: true,
|
|
65
|
-
writable: true,
|
|
66
|
-
value: false
|
|
67
|
-
});
|
|
68
|
-
Object.defineProperty(this, "_initPromise", {
|
|
69
|
-
enumerable: true,
|
|
70
|
-
configurable: true,
|
|
71
|
-
writable: true,
|
|
72
|
-
value: void 0
|
|
73
|
-
});
|
|
74
32
|
this.source = source;
|
|
75
33
|
}
|
|
76
34
|
/** Create a tiff and initialize it by reading the tiff headers */
|
|
@@ -78,7 +36,10 @@ export class Tiff {
|
|
|
78
36
|
return new Tiff(source).init();
|
|
79
37
|
}
|
|
80
38
|
/**
|
|
81
|
-
* Initialize the tiff loading in the header and all image headers
|
|
39
|
+
* Initialize the tiff loading in the header and all image headers.
|
|
40
|
+
*
|
|
41
|
+
* This is only required if the Tiff was created with the constructor, if you
|
|
42
|
+
* used {@link create} this will have already been called.
|
|
82
43
|
*/
|
|
83
44
|
init() {
|
|
84
45
|
if (this._initPromise)
|
|
@@ -114,6 +75,8 @@ export class Tiff {
|
|
|
114
75
|
return this;
|
|
115
76
|
// limit the read to the size of the file if it is known, for small tiffs
|
|
116
77
|
const bytes = new DataView(await this.source.fetch(0, getMaxLength(this.source, 0, this.defaultReadSize)));
|
|
78
|
+
if (bytes.byteLength === 0)
|
|
79
|
+
throw new Error('Unable to read empty tiff');
|
|
117
80
|
bytes.sourceOffset = 0;
|
|
118
81
|
let offset = 0;
|
|
119
82
|
const endian = bytes.getUint16(offset, this.isLittleEndian);
|
|
@@ -188,21 +151,13 @@ export class Tiff {
|
|
|
188
151
|
return getUint(view, startOffset + tagCount * ifdSize, this.ifdConfig.pointer, this.isLittleEndian);
|
|
189
152
|
}
|
|
190
153
|
}
|
|
191
|
-
/** Read 16KB blocks at a time */
|
|
192
|
-
Object.defineProperty(Tiff, "DefaultReadSize", {
|
|
193
|
-
enumerable: true,
|
|
194
|
-
configurable: true,
|
|
195
|
-
writable: true,
|
|
196
|
-
value: 16 * 1024
|
|
197
|
-
});
|
|
198
154
|
function getMaxLength(source, offset, length) {
|
|
199
155
|
const size = source.metadata?.size;
|
|
200
156
|
// max length is unknown, roll the dice and hope the chunk exists
|
|
201
|
-
if (size == null || size <
|
|
157
|
+
if (size == null || size < 0)
|
|
202
158
|
return length;
|
|
203
159
|
// Read was going to happen past the end of the file limit it to the end of the file
|
|
204
160
|
if (offset + length > size)
|
|
205
161
|
return size - offset;
|
|
206
162
|
return length;
|
|
207
163
|
}
|
|
208
|
-
//# sourceMappingURL=tiff.js.map
|
package/build/util/bytes.d.ts
CHANGED
|
@@ -17,3 +17,4 @@ export declare enum ByteSize {
|
|
|
17
17
|
*/
|
|
18
18
|
export declare function getUint64(view: DataView, offset: number, isLittleEndian: boolean): number;
|
|
19
19
|
export declare function getUint(view: DataView, offset: number, bs: ByteSize, isLittleEndian: boolean): number;
|
|
20
|
+
//# sourceMappingURL=bytes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../../src/util/bytes.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,MAAM,IAAI;IACV,OAAO,IAAI;CACZ;AAED,oBAAY,QAAQ;IAClB,MAAM,IAAI;IACV,MAAM,IAAI;IACV,MAAM,IAAI;IACV,KAAK,IAAI;CACV;AAID;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,CAazF;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,CAWrG"}
|
package/build/util/bytes.js
CHANGED
package/build/util/util.hex.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.hex.d.ts","sourceRoot":"","sources":["../../src/util/util.hex.ts"],"names":[],"mappings":"AAAA;;;;;;;;IAQI;AACJ,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,MAAM,UAAO,GAAG,MAAM,CAIrE"}
|
package/build/util/util.hex.js
CHANGED
package/build/vector.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../src/vector.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK,EAAE,IAAI;CAAG;AACnD,MAAM,WAAW,MAAO,SAAQ,KAAK;IACnC,CAAC,EAAE,MAAM,CAAC;CACX"}
|
package/build/vector.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogeotiff/core",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/blacha/cogeotiff.git",
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"publishConfig": {
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "62a59096f2df47bd12cc969afdda1d90c31d679e"
|
|
27
27
|
}
|
|
@@ -20,7 +20,7 @@ export class TestFileSource implements Source {
|
|
|
20
20
|
|
|
21
21
|
async fetch(offset: number, length: number): Promise<ArrayBuffer> {
|
|
22
22
|
const fileData = await this.data;
|
|
23
|
-
return fileData.buffer.slice(fileData.byteOffset + offset, fileData.byteOffset + offset + length);
|
|
23
|
+
return fileData.buffer.slice(fileData.byteOffset + offset, fileData.byteOffset + offset + length) as ArrayBuffer;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
get size(): Promise<number> {
|
|
@@ -7,8 +7,8 @@ export class SourceMemory implements Source {
|
|
|
7
7
|
|
|
8
8
|
static toArrayBuffer(buf: Buffer | Uint8Array | ArrayBuffer): ArrayBuffer {
|
|
9
9
|
if (buf instanceof ArrayBuffer) return buf;
|
|
10
|
-
if (buf.byteLength === buf.buffer.byteLength) return buf.buffer;
|
|
11
|
-
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength);
|
|
10
|
+
if (buf.byteLength === buf.buffer.byteLength) return buf.buffer as ArrayBuffer;
|
|
11
|
+
return buf.buffer.slice(buf.byteOffset, buf.byteOffset + buf.byteLength) as ArrayBuffer;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
constructor(bytes: Buffer | Uint8Array | ArrayBuffer) {
|
|
@@ -103,7 +103,7 @@ describe('Cog.Big', () => {
|
|
|
103
103
|
|
|
104
104
|
it('should read using a memory source', async () => {
|
|
105
105
|
const bytes = await fs.readFile(new URL('../../data/sparse.tiff', import.meta.url));
|
|
106
|
-
const source = new SourceMemory(bytes.buffer);
|
|
106
|
+
const source = new SourceMemory(bytes.buffer as ArrayBuffer);
|
|
107
107
|
const cog = new Tiff(source);
|
|
108
108
|
await cog.init();
|
|
109
109
|
|
|
@@ -50,6 +50,13 @@ describe('CogRead', () => {
|
|
|
50
50
|
validate(tiff);
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
+
it('should fail reading a empty byte tiff', async () => {
|
|
54
|
+
const source = new SourceMemory(Buffer.from(''));
|
|
55
|
+
const tiff = new Tiff(source);
|
|
56
|
+
const ret = await tiff.init().catch((e) => String(e));
|
|
57
|
+
assert.equal(String(ret), 'Error: Unable to read empty tiff');
|
|
58
|
+
});
|
|
59
|
+
|
|
53
60
|
it('should read tiff', async () => {
|
|
54
61
|
const source = new TestFileSource(new URL('../../data/cog.tiff', import.meta.url));
|
|
55
62
|
const tiff = new Tiff(source);
|
package/src/const/tiff.tag.id.ts
CHANGED
|
@@ -424,6 +424,7 @@ export interface TiffTagType {
|
|
|
424
424
|
[TiffTag.StripByteCounts]: number[];
|
|
425
425
|
[TiffTag.StripOffsets]: number[];
|
|
426
426
|
|
|
427
|
+
[TiffTag.SamplesPerPixel]: number;
|
|
427
428
|
[TiffTag.SampleFormat]: SampleFormat[];
|
|
428
429
|
[TiffTag.GdalMetadata]: string;
|
|
429
430
|
[TiffTag.GdalNoData]: string;
|
|
@@ -460,7 +461,6 @@ export interface TiffTagType {
|
|
|
460
461
|
[TiffTag.Model]: unknown;
|
|
461
462
|
[TiffTag.ResolutionUnit]: unknown;
|
|
462
463
|
[TiffTag.RowsPerStrip]: unknown;
|
|
463
|
-
[TiffTag.SamplesPerPixel]: unknown;
|
|
464
464
|
[TiffTag.Software]: unknown;
|
|
465
465
|
|
|
466
466
|
[TiffTag.Threshholding]: unknown;
|
|
@@ -751,7 +751,7 @@ export interface TiffTagGeoType {
|
|
|
751
751
|
/**
|
|
752
752
|
* EPSG Angular Units. exist between [9100, 9199]
|
|
753
753
|
*
|
|
754
|
-
* Taken from
|
|
754
|
+
* Taken from libgeotiff
|
|
755
755
|
*/
|
|
756
756
|
export enum AngularUnit {
|
|
757
757
|
Radian = 9101,
|
|
@@ -766,7 +766,7 @@ export enum AngularUnit {
|
|
|
766
766
|
/**
|
|
767
767
|
* ESPG Liner units exist between [9000, 9099]
|
|
768
768
|
*
|
|
769
|
-
* Taken from
|
|
769
|
+
* Taken from libgeotiff
|
|
770
770
|
*/
|
|
771
771
|
export enum LinearUnit {
|
|
772
772
|
Metre = 9001,
|
package/src/index.ts
CHANGED
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
export { TiffEndian } from './const/tiff.endian.js';
|
|
2
2
|
export { TiffCompressionMimeType as TiffCompression, TiffMimeType } from './const/tiff.mime.js';
|
|
3
3
|
export type { TiffTagGeoType, TiffTagType } from './const/tiff.tag.id.js';
|
|
4
|
-
export { TiffTag, TiffTagGeo } from './const/tiff.tag.id.js';
|
|
5
|
-
export { TiffTagValueType } from './const/tiff.tag.value.js';
|
|
6
|
-
export { TiffVersion } from './const/tiff.version.js';
|
|
7
|
-
export type { Tag, TagInline, TagLazy, TagOffset } from './read/tiff.tag.js';
|
|
8
|
-
export { getTiffTagSize } from './read/tiff.value.reader.js';
|
|
9
|
-
export type { Source } from './source.js';
|
|
10
|
-
export { TiffImage } from './tiff.image.js';
|
|
11
|
-
export { Tiff } from './tiff.js';
|
|
12
|
-
export { toHex } from './util/util.hex.js';
|
|
13
|
-
export type { BoundingBox, Point, Size, Vector } from './vector.js';
|
|
14
|
-
|
|
15
4
|
// Tag value constants
|
|
16
5
|
export {
|
|
17
6
|
AngularUnit,
|
|
@@ -25,4 +14,15 @@ export {
|
|
|
25
14
|
RasterTypeKey,
|
|
26
15
|
SampleFormat,
|
|
27
16
|
SubFileType,
|
|
17
|
+
TiffTag,
|
|
18
|
+
TiffTagGeo,
|
|
28
19
|
} from './const/tiff.tag.id.js';
|
|
20
|
+
export { TiffTagValueType } from './const/tiff.tag.value.js';
|
|
21
|
+
export { TiffVersion } from './const/tiff.version.js';
|
|
22
|
+
export type { Tag, TagInline, TagLazy, TagOffset } from './read/tiff.tag.js';
|
|
23
|
+
export { getTiffTagSize } from './read/tiff.value.reader.js';
|
|
24
|
+
export type { Source } from './source.js';
|
|
25
|
+
export { TiffImage } from './tiff.image.js';
|
|
26
|
+
export { Tiff } from './tiff.js';
|
|
27
|
+
export { toHex } from './util/util.hex.js';
|
|
28
|
+
export type { BoundingBox, Point, Size, Vector } from './vector.js';
|
package/src/source.ts
CHANGED
|
@@ -13,7 +13,7 @@ export interface Source {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
/** Fetch bytes from a source */
|
|
16
|
-
fetch(offset: number, length?: number): Promise<ArrayBuffer>;
|
|
16
|
+
fetch(offset: number, length?: number, options?: { signal?: AbortSignal }): Promise<ArrayBuffer>;
|
|
17
17
|
|
|
18
18
|
/** Optionally close the source, useful for sources that have open connections of file descriptors */
|
|
19
19
|
close?(): Promise<void>;
|
package/src/tiff.image.ts
CHANGED
|
@@ -30,12 +30,10 @@ export const ImportantTags = new Set([
|
|
|
30
30
|
TiffTag.ModelTransformation,
|
|
31
31
|
TiffTag.TileHeight,
|
|
32
32
|
TiffTag.TileWidth,
|
|
33
|
-
TiffTag.GeoKeyDirectory,
|
|
34
|
-
TiffTag.GeoAsciiParams,
|
|
35
|
-
TiffTag.GeoDoubleParams,
|
|
36
|
-
TiffTag.TileOffsets,
|
|
37
33
|
]);
|
|
38
34
|
|
|
35
|
+
export const ImportantGeoTags = new Set([TiffTag.GeoKeyDirectory, TiffTag.GeoAsciiParams, TiffTag.GeoDoubleParams]);
|
|
36
|
+
|
|
39
37
|
/**
|
|
40
38
|
* Size of a individual tile
|
|
41
39
|
*/
|
|
@@ -75,21 +73,15 @@ export class TiffImage {
|
|
|
75
73
|
* @param loadGeoTags Whether to load the GeoKeyDirectory and unpack it
|
|
76
74
|
*/
|
|
77
75
|
async init(loadGeoTags = true): Promise<void> {
|
|
78
|
-
const requiredTags: Promise<unknown>[] = [
|
|
79
|
-
|
|
80
|
-
this.fetch(
|
|
81
|
-
|
|
82
|
-
this.fetch(TiffTag.ModelPixelScale),
|
|
83
|
-
this.fetch(TiffTag.ModelTiePoint),
|
|
84
|
-
this.fetch(TiffTag.ModelTransformation),
|
|
85
|
-
this.fetch(TiffTag.TileHeight),
|
|
86
|
-
this.fetch(TiffTag.TileWidth),
|
|
87
|
-
];
|
|
76
|
+
const requiredTags: Promise<unknown>[] = [];
|
|
77
|
+
ImportantTags.forEach((tag) => {
|
|
78
|
+
requiredTags.push(this.fetch(tag));
|
|
79
|
+
});
|
|
88
80
|
|
|
89
81
|
if (loadGeoTags) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
82
|
+
ImportantGeoTags.forEach((tag) => {
|
|
83
|
+
requiredTags.push(this.fetch(tag));
|
|
84
|
+
});
|
|
93
85
|
}
|
|
94
86
|
|
|
95
87
|
await Promise.all(requiredTags);
|
|
@@ -474,17 +466,21 @@ export class TiffImage {
|
|
|
474
466
|
const actualBytes = new Uint8Array(bytes.byteLength + tableData.length - 2);
|
|
475
467
|
actualBytes.set(tableData, 0);
|
|
476
468
|
actualBytes.set(new Uint8Array(bytes).slice(2), tableData.length);
|
|
477
|
-
return actualBytes
|
|
469
|
+
return actualBytes.buffer.slice(
|
|
470
|
+
actualBytes.byteOffset,
|
|
471
|
+
actualBytes.byteOffset + actualBytes.byteLength,
|
|
472
|
+
) as ArrayBuffer;
|
|
478
473
|
}
|
|
479
474
|
|
|
480
475
|
/** Read image bytes at the given offset */
|
|
481
476
|
async getBytes(
|
|
482
477
|
offset: number,
|
|
483
478
|
byteCount: number,
|
|
479
|
+
options?: { signal?: AbortSignal },
|
|
484
480
|
): Promise<{ mimeType: TiffMimeType; bytes: ArrayBuffer; compression: Compression } | null> {
|
|
485
481
|
if (byteCount === 0) return null;
|
|
486
482
|
|
|
487
|
-
const bytes = await this.tiff.source.fetch(offset, byteCount);
|
|
483
|
+
const bytes = await this.tiff.source.fetch(offset, byteCount, options);
|
|
488
484
|
if (bytes.byteLength < byteCount) {
|
|
489
485
|
throw new Error(`Failed to fetch bytes from offset:${offset} wanted:${byteCount} got:${bytes.byteLength}`);
|
|
490
486
|
}
|
|
@@ -508,6 +504,7 @@ export class TiffImage {
|
|
|
508
504
|
async getTile(
|
|
509
505
|
x: number,
|
|
510
506
|
y: number,
|
|
507
|
+
options?: { signal?: AbortSignal },
|
|
511
508
|
): Promise<{ mimeType: TiffMimeType; bytes: ArrayBuffer; compression: Compression } | null> {
|
|
512
509
|
const size = this.size;
|
|
513
510
|
const tiles = this.tileSize;
|
|
@@ -528,7 +525,7 @@ export class TiffImage {
|
|
|
528
525
|
|
|
529
526
|
const { offset, imageSize } = await this.getTileSize(idx);
|
|
530
527
|
|
|
531
|
-
return this.getBytes(offset, imageSize);
|
|
528
|
+
return this.getBytes(offset, imageSize, options);
|
|
532
529
|
}
|
|
533
530
|
|
|
534
531
|
/**
|
package/src/tiff.ts
CHANGED
|
@@ -34,6 +34,8 @@ export class Tiff {
|
|
|
34
34
|
isInitialized = false;
|
|
35
35
|
|
|
36
36
|
private _initPromise?: Promise<Tiff>;
|
|
37
|
+
|
|
38
|
+
/** A Tiff constructed from a source will not be pre-initialized with {@link init}. */
|
|
37
39
|
constructor(source: Source) {
|
|
38
40
|
this.source = source;
|
|
39
41
|
}
|
|
@@ -44,7 +46,10 @@ export class Tiff {
|
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
/**
|
|
47
|
-
* Initialize the tiff loading in the header and all image headers
|
|
49
|
+
* Initialize the tiff loading in the header and all image headers.
|
|
50
|
+
*
|
|
51
|
+
* This is only required if the Tiff was created with the constructor, if you
|
|
52
|
+
* used {@link create} this will have already been called.
|
|
48
53
|
*/
|
|
49
54
|
init(): Promise<Tiff> {
|
|
50
55
|
if (this._initPromise) return this._initPromise;
|
|
@@ -84,6 +89,8 @@ export class Tiff {
|
|
|
84
89
|
const bytes = new DataView(
|
|
85
90
|
await this.source.fetch(0, getMaxLength(this.source, 0, this.defaultReadSize)),
|
|
86
91
|
) as DataViewOffset;
|
|
92
|
+
if (bytes.byteLength === 0) throw new Error('Unable to read empty tiff');
|
|
93
|
+
|
|
87
94
|
bytes.sourceOffset = 0;
|
|
88
95
|
|
|
89
96
|
let offset = 0;
|
|
@@ -173,7 +180,7 @@ export class Tiff {
|
|
|
173
180
|
function getMaxLength(source: Source, offset: number, length: number): number {
|
|
174
181
|
const size = source.metadata?.size;
|
|
175
182
|
// max length is unknown, roll the dice and hope the chunk exists
|
|
176
|
-
if (size == null || size <
|
|
183
|
+
if (size == null || size < 0) return length;
|
|
177
184
|
|
|
178
185
|
// Read was going to happen past the end of the file limit it to the end of the file
|
|
179
186
|
if (offset + length > size) return size - offset;
|
package/tsconfig.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cog.read.benchmark.js","sourceRoot":"","sources":["../../src/__benchmark__/cog.read.benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,+BAA+B;AAC/B,mEAAmE;AACnE,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEnC,WAAW;QACX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvD,+EAA+E;QAC/E,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source.file.js","sourceRoot":"","sources":["../../src/__benchmark__/source.file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAElC,MAAM,OAAO,cAAc;IAIzB,YAAY,QAAa;QAHzB;;;;;WAAS;QACT;;;;;WAAsB;QAGpB,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1D,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,MAAc;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;QACjC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,MAAM,EAAE,QAAQ,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;IACpG,CAAC;IAED,IAAI,IAAI;QACN,OAAO,OAAO,CAAC,OAAO,EAAE;aACrB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"source.memory.js","sourceRoot":"","sources":["../../src/__benchmark__/source.memory.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAKvB,MAAM,CAAC,aAAa,CAAC,GAAsC;QACzD,IAAI,GAAG,YAAY,WAAW;YAAE,OAAO,GAAG,CAAC;QAC3C,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC;QAChE,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY,KAAwC;QAVpD;;;;;WAAS;QACT;;;;;WAAkB;QAClB;;;;;WAA2B;QASzB,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,MAAe;QACzC,wCAAwC;QACxC,IAAI,MAAM,GAAG,CAAC;YAAE,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC/E,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cog.image.test.js","sourceRoot":"","sources":["../../src/__test__/cog.image.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cog.read.test.js","sourceRoot":"","sources":["../../src/__test__/cog.read.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/__test__/example.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvC,iDAAiD;IACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,CAAC,iDAAiD;IAC/D,CAAC;IAED,qCAAqC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAClB,0BAA0B;QAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa;YAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,mBAAmB;QACjC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,GAAG,CAAC,MAAM,CAAC;IACX,+BAA+B;IAC/B,GAAG,CAAC,IAAI,CAAC;AACX,CAAC;AAED,KAAK,IAAI,EAAE,CAAC"}
|