@basemaps/lambda-tiler 6.18.0 → 6.19.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 +17 -0
- package/build/__test__/xyz.test.js +3 -3
- package/build/index.d.ts.map +1 -1
- package/build/index.js +8 -0
- package/build/routes/imagery.d.ts +8 -0
- package/build/routes/imagery.d.ts.map +1 -0
- package/build/routes/imagery.js +48 -0
- package/build/routes/tile.d.ts.map +1 -1
- package/build/routes/tile.js +5 -8
- package/dist/index.js +57 -12
- package/dist/package-lock.json +1 -1
- package/dist/package.json +1 -1
- package/package.json +2 -2
- package/src/__test__/xyz.test.ts +3 -3
- package/src/index.ts +8 -0
- package/src/routes/imagery.ts +50 -0
- package/src/routes/tile.ts +5 -8
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
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
|
+
# [6.19.0](https://github.com/linz/basemaps/compare/v6.18.1...v6.19.0) (2021-12-20)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **lambda-tiler:** remove the host check to add api keys for all stylejson sources. ([#2032](https://github.com/linz/basemaps/issues/2032)) ([beab64c](https://github.com/linz/basemaps/commit/beab64c7f747dd5c1be06877b05b1173a95b1537))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **lambda-tiler:** compress geojson output to prevent overflowing lambda ([#2034](https://github.com/linz/basemaps/issues/2034)) ([5d48524](https://github.com/linz/basemaps/commit/5d48524c0bf03c40e85cd661fd7f609bbdeed3dd))
|
|
17
|
+
* **tiler:** expose some of the metadata geojson via a /v1/imagery endpoint ([#2033](https://github.com/linz/basemaps/issues/2033)) ([b471209](https://github.com/linz/basemaps/commit/b471209a381dfdab1a25be4882e464c8ddea9064))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
# [6.18.0](https://github.com/linz/basemaps/compare/v6.17.0...v6.18.0) (2021-12-14)
|
|
7
24
|
|
|
8
25
|
**Note:** Version bump only for package @basemaps/lambda-tiler
|
|
@@ -211,15 +211,15 @@ o.spec('LambdaXyz', () => {
|
|
|
211
211
|
sources: {
|
|
212
212
|
basemaps_vector: {
|
|
213
213
|
type: 'vector',
|
|
214
|
-
url:
|
|
214
|
+
url: `/vector`,
|
|
215
215
|
},
|
|
216
216
|
basemaps_raster: {
|
|
217
217
|
type: 'raster',
|
|
218
|
-
tiles: [
|
|
218
|
+
tiles: [`/raster`],
|
|
219
219
|
},
|
|
220
220
|
basemaps_raster_encode: {
|
|
221
221
|
type: 'raster',
|
|
222
|
-
tiles: [
|
|
222
|
+
tiles: [`/raster/{z}/{x}/{y}.webp`], // Shouldn't encode the {}
|
|
223
223
|
},
|
|
224
224
|
test_vector: {
|
|
225
225
|
type: 'vector',
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAkB3E,wBAAsB,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkBvF;AAED,eAAO,MAAM,OAAO,2LAA0C,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -4,11 +4,14 @@ import { Ping, Version } from './routes/api.js';
|
|
|
4
4
|
import { Health } from './routes/health.js';
|
|
5
5
|
import { Tiles } from './routes/tile.js';
|
|
6
6
|
import { Router } from './router.js';
|
|
7
|
+
import { createHash } from 'crypto';
|
|
8
|
+
import { Imagery } from './routes/imagery.js';
|
|
7
9
|
const app = new Router();
|
|
8
10
|
app.get('ping', Ping);
|
|
9
11
|
app.get('health', Health);
|
|
10
12
|
app.get('version', Version);
|
|
11
13
|
app.get('tiles', Tiles);
|
|
14
|
+
app.get('imagery', Imagery);
|
|
12
15
|
let slowTimer = null;
|
|
13
16
|
export async function handleRequest(req) {
|
|
14
17
|
// Warn if a request takes more than 10 seconds to process
|
|
@@ -18,6 +21,11 @@ export async function handleRequest(req) {
|
|
|
18
21
|
slowTimer.unref();
|
|
19
22
|
req.set('name', 'LambdaTiler');
|
|
20
23
|
try {
|
|
24
|
+
const apiKey = Router.apiKey(req);
|
|
25
|
+
if (apiKey != null) {
|
|
26
|
+
const apiKeyHash = createHash('sha256').update(apiKey).digest('base64');
|
|
27
|
+
req.set('api', apiKeyHash);
|
|
28
|
+
}
|
|
21
29
|
return await app.handle(req);
|
|
22
30
|
}
|
|
23
31
|
finally {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
|
|
2
|
+
/**
|
|
3
|
+
* Get metadata around the imagery such as the source bounding box or the bounding box of the COGS
|
|
4
|
+
* - /v1/imagery/:imageryId/source.geojson
|
|
5
|
+
* - /v1/imagery/:imageryId/covering.geojson
|
|
6
|
+
*/
|
|
7
|
+
export declare function Imagery(req: LambdaHttpRequest): Promise<LambdaHttpResponse>;
|
|
8
|
+
//# sourceMappingURL=imagery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imagery.d.ts","sourceRoot":"","sources":["../../src/routes/imagery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAgBnF;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA0BjF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Config } from '@basemaps/config';
|
|
2
|
+
import { fsa } from '@basemaps/shared';
|
|
3
|
+
import { HttpHeader, LambdaHttpResponse } from '@linzjs/lambda';
|
|
4
|
+
import { createHash } from 'crypto';
|
|
5
|
+
import { promisify } from 'util';
|
|
6
|
+
import { gzip } from 'zlib';
|
|
7
|
+
import { Router } from '../router.js';
|
|
8
|
+
import { TileEtag } from './tile.etag.js';
|
|
9
|
+
import { NotModified } from './tile.js';
|
|
10
|
+
const gzipP = promisify(gzip);
|
|
11
|
+
function isAllowedFile(f) {
|
|
12
|
+
if (f.endsWith('.geojson'))
|
|
13
|
+
return true;
|
|
14
|
+
if (f.endsWith('.json'))
|
|
15
|
+
return true;
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get metadata around the imagery such as the source bounding box or the bounding box of the COGS
|
|
20
|
+
* - /v1/imagery/:imageryId/source.geojson
|
|
21
|
+
* - /v1/imagery/:imageryId/covering.geojson
|
|
22
|
+
*/
|
|
23
|
+
export async function Imagery(req) {
|
|
24
|
+
const { rest } = Router.action(req);
|
|
25
|
+
const [imageryId, requestType] = rest;
|
|
26
|
+
if (!isAllowedFile(requestType))
|
|
27
|
+
return new LambdaHttpResponse(404, 'Not found');
|
|
28
|
+
const imagery = await Config.Imagery.get(imageryId);
|
|
29
|
+
if (imagery == null)
|
|
30
|
+
return new LambdaHttpResponse(404, 'Not found');
|
|
31
|
+
const targetPath = fsa.join(imagery.uri, requestType);
|
|
32
|
+
try {
|
|
33
|
+
const buf = await fsa.read(targetPath);
|
|
34
|
+
const cacheKey = createHash('sha256').update(buf).digest('base64');
|
|
35
|
+
if (TileEtag.isNotModified(req, cacheKey))
|
|
36
|
+
return NotModified;
|
|
37
|
+
const response = new LambdaHttpResponse(200, 'ok');
|
|
38
|
+
response.header(HttpHeader.ETag, cacheKey);
|
|
39
|
+
response.header(HttpHeader.ContentEncoding, 'gzip');
|
|
40
|
+
response.buffer(await gzipP(buf), 'application/json');
|
|
41
|
+
req.set('bytes', buf.byteLength);
|
|
42
|
+
return response;
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
req.log.warn({ targetPath }, 'ImageryMetadata:Failed');
|
|
46
|
+
return new LambdaHttpResponse(404, 'Not found');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../../src/routes/tile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAc,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"tile.d.ts","sourceRoot":"","sources":["../../src/routes/tile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAc,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAStD,eAAO,MAAM,YAAY,gBAA0B,CAAC;AAEpD,eAAO,MAAM,QAAQ,oBAA2C,CAAC;AACjE,eAAO,MAAM,WAAW,oBAA8C,CAAC;AAEvE,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,SAAS;cACJ,iBAAiB,GAAG,QAAQ,kBAAkB,CAAC;2BAelC,MAAM,cAAc,aAAa,GAAG,IAAI,GAAG,QAAQ,aAAa,EAAE,CAAC;cAUhF,iBAAiB,GAAG,QAAQ,kBAAkB,CAAC;kBAiC3C,iBAAiB,GAAG,QAAQ,kBAAkB,CAAC;mBA8B9C,iBAAiB,YAAY,MAAM,GAAG,QAAQ,kBAAkB,CAAC;CA8DvF,CAAC;AACF,wBAAsB,KAAK,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAY/E"}
|
package/build/routes/tile.js
CHANGED
|
@@ -10,6 +10,7 @@ import { TileEtag } from './tile.etag.js';
|
|
|
10
10
|
import { Router } from '../router.js';
|
|
11
11
|
import { ValidateTilePath } from '../validate.js';
|
|
12
12
|
import { URL } from 'url';
|
|
13
|
+
import { fsa } from '@chunkd/fs';
|
|
13
14
|
export const TileComposer = new TileMakerSharp(256);
|
|
14
15
|
export const NotFound = new LambdaHttpResponse(404, 'Not Found');
|
|
15
16
|
export const NotModified = new LambdaHttpResponse(304, 'Not modified');
|
|
@@ -113,8 +114,8 @@ export const TileRoute = {
|
|
|
113
114
|
const sources = {};
|
|
114
115
|
for (const [key, value] of Object.entries(style.sources)) {
|
|
115
116
|
if (value.type === 'vector') {
|
|
116
|
-
if (value.url.
|
|
117
|
-
const url = new URL(value.url);
|
|
117
|
+
if (value.url.startsWith('/')) {
|
|
118
|
+
const url = new URL(fsa.join(host, value.url));
|
|
118
119
|
url.searchParams.set('api', apiKey);
|
|
119
120
|
value.url = url.toString().replace(/%7B/g, '{').replace(/%7D/g, '}');
|
|
120
121
|
}
|
|
@@ -122,8 +123,8 @@ export const TileRoute = {
|
|
|
122
123
|
else if (value.type === 'raster' && Array.isArray(value.tiles)) {
|
|
123
124
|
for (let i = 0; i < value.tiles.length; i++) {
|
|
124
125
|
const tile = value.tiles[i];
|
|
125
|
-
if (tile.
|
|
126
|
-
const url = new URL(tile);
|
|
126
|
+
if (tile.startsWith('/')) {
|
|
127
|
+
const url = new URL(fsa.join(host, tile));
|
|
127
128
|
url.searchParams.set('api', apiKey);
|
|
128
129
|
value.tiles[i] = url.toString().replace(/%7B/g, '{').replace(/%7D/g, '}');
|
|
129
130
|
}
|
|
@@ -161,10 +162,6 @@ export async function Tiles(req) {
|
|
|
161
162
|
if (rest.length < 1)
|
|
162
163
|
return NotFound;
|
|
163
164
|
const apiKey = Router.apiKey(req);
|
|
164
|
-
const apiKeyHash = createHash('sha256')
|
|
165
|
-
.update(apiKey !== null && apiKey !== void 0 ? apiKey : '')
|
|
166
|
-
.digest('base64');
|
|
167
|
-
req.set('api', apiKeyHash);
|
|
168
165
|
if (!isValidApiKey(apiKey))
|
|
169
166
|
return new LambdaHttpResponse(400, 'Invalid API Key');
|
|
170
167
|
const fileName = rest[rest.length - 1].toLowerCase();
|
package/dist/index.js
CHANGED
|
@@ -24274,8 +24274,8 @@ var LambdaHttpResponse = class {
|
|
|
24274
24274
|
};
|
|
24275
24275
|
|
|
24276
24276
|
// ../../node_modules/@linzjs/lambda/build/src/function.js
|
|
24277
|
-
var version = "v6.
|
|
24278
|
-
var hash = "
|
|
24277
|
+
var version = "v6.19.0";
|
|
24278
|
+
var hash = "87d778480368585d0f4a5a7546a2858882d8ab39";
|
|
24279
24279
|
var versionInfo = { version, hash };
|
|
24280
24280
|
async function runFunction(req, fn) {
|
|
24281
24281
|
try {
|
|
@@ -27188,9 +27188,9 @@ fsa2.readJson = async function readJson(filePath) {
|
|
|
27188
27188
|
fsa2.writeJson = async function writeJson(filePath, obj) {
|
|
27189
27189
|
const json = Buffer.from(JSON.stringify(obj, void 0, 2));
|
|
27190
27190
|
if (filePath.endsWith(".gz")) {
|
|
27191
|
-
const
|
|
27192
|
-
|
|
27193
|
-
return this.write(filePath,
|
|
27191
|
+
const gzip2 = (0, import_zlib.createGzip)();
|
|
27192
|
+
gzip2.end(json);
|
|
27193
|
+
return this.write(filePath, gzip2);
|
|
27194
27194
|
} else {
|
|
27195
27195
|
return this.write(filePath, json);
|
|
27196
27196
|
}
|
|
@@ -27238,7 +27238,7 @@ async function Ping() {
|
|
|
27238
27238
|
async function Version() {
|
|
27239
27239
|
const response = new LambdaHttpResponse(200, "ok");
|
|
27240
27240
|
response.header(HttpHeader.CacheControl, "no-store");
|
|
27241
|
-
response.json({ version: "v6.
|
|
27241
|
+
response.json({ version: "v6.19.0", hash: "87d778480368585d0f4a5a7546a2858882d8ab39" });
|
|
27242
27242
|
return response;
|
|
27243
27243
|
}
|
|
27244
27244
|
|
|
@@ -29067,16 +29067,16 @@ var TileRoute = {
|
|
|
29067
29067
|
const sources = {};
|
|
29068
29068
|
for (const [key, value] of Object.entries(style.sources)) {
|
|
29069
29069
|
if (value.type === "vector") {
|
|
29070
|
-
if (value.url.
|
|
29071
|
-
const url2 = new import_url4.URL(value.url);
|
|
29070
|
+
if (value.url.startsWith("/")) {
|
|
29071
|
+
const url2 = new import_url4.URL(fsa.join(host, value.url));
|
|
29072
29072
|
url2.searchParams.set("api", apiKey);
|
|
29073
29073
|
value.url = url2.toString().replace(/%7B/g, "{").replace(/%7D/g, "}");
|
|
29074
29074
|
}
|
|
29075
29075
|
} else if (value.type === "raster" && Array.isArray(value.tiles)) {
|
|
29076
29076
|
for (let i = 0; i < value.tiles.length; i++) {
|
|
29077
29077
|
const tile = value.tiles[i];
|
|
29078
|
-
if (tile.
|
|
29079
|
-
const url2 = new import_url4.URL(tile);
|
|
29078
|
+
if (tile.startsWith("/")) {
|
|
29079
|
+
const url2 = new import_url4.URL(fsa.join(host, tile));
|
|
29080
29080
|
url2.searchParams.set("api", apiKey);
|
|
29081
29081
|
value.tiles[i] = url2.toString().replace(/%7B/g, "{").replace(/%7D/g, "}");
|
|
29082
29082
|
}
|
|
@@ -29112,8 +29112,6 @@ async function Tiles(req) {
|
|
|
29112
29112
|
if (rest.length < 1)
|
|
29113
29113
|
return NotFound2;
|
|
29114
29114
|
const apiKey = Router.apiKey(req);
|
|
29115
|
-
const apiKeyHash = (0, import_crypto3.createHash)("sha256").update(apiKey ?? "").digest("base64");
|
|
29116
|
-
req.set("api", apiKeyHash);
|
|
29117
29115
|
if (!isValidApiKey(apiKey))
|
|
29118
29116
|
return new LambdaHttpResponse(400, "Invalid API Key");
|
|
29119
29117
|
const fileName = rest[rest.length - 1].toLowerCase();
|
|
@@ -29656,12 +29654,54 @@ async function Health(req) {
|
|
|
29656
29654
|
return OkResponse2;
|
|
29657
29655
|
}
|
|
29658
29656
|
|
|
29657
|
+
// src/index.ts
|
|
29658
|
+
var import_crypto5 = __toModule(require("crypto"));
|
|
29659
|
+
|
|
29660
|
+
// src/routes/imagery.ts
|
|
29661
|
+
var import_crypto4 = __toModule(require("crypto"));
|
|
29662
|
+
var import_util2 = __toModule(require("util"));
|
|
29663
|
+
var import_zlib2 = __toModule(require("zlib"));
|
|
29664
|
+
var gzipP = (0, import_util2.promisify)(import_zlib2.gzip);
|
|
29665
|
+
function isAllowedFile(f) {
|
|
29666
|
+
if (f.endsWith(".geojson"))
|
|
29667
|
+
return true;
|
|
29668
|
+
if (f.endsWith(".json"))
|
|
29669
|
+
return true;
|
|
29670
|
+
return false;
|
|
29671
|
+
}
|
|
29672
|
+
async function Imagery(req) {
|
|
29673
|
+
const { rest } = Router.action(req);
|
|
29674
|
+
const [imageryId, requestType] = rest;
|
|
29675
|
+
if (!isAllowedFile(requestType))
|
|
29676
|
+
return new LambdaHttpResponse(404, "Not found");
|
|
29677
|
+
const imagery = await Config.Imagery.get(imageryId);
|
|
29678
|
+
if (imagery == null)
|
|
29679
|
+
return new LambdaHttpResponse(404, "Not found");
|
|
29680
|
+
const targetPath = fsa2.join(imagery.uri, requestType);
|
|
29681
|
+
try {
|
|
29682
|
+
const buf = await fsa2.read(targetPath);
|
|
29683
|
+
const cacheKey = (0, import_crypto4.createHash)("sha256").update(buf).digest("base64");
|
|
29684
|
+
if (TileEtag.isNotModified(req, cacheKey))
|
|
29685
|
+
return NotModified;
|
|
29686
|
+
const response = new LambdaHttpResponse(200, "ok");
|
|
29687
|
+
response.header(HttpHeader.ETag, cacheKey);
|
|
29688
|
+
response.header(HttpHeader.ContentEncoding, "gzip");
|
|
29689
|
+
response.buffer(await gzipP(buf), "application/json");
|
|
29690
|
+
req.set("bytes", buf.byteLength);
|
|
29691
|
+
return response;
|
|
29692
|
+
} catch (e) {
|
|
29693
|
+
req.log.warn({ targetPath }, "ImageryMetadata:Failed");
|
|
29694
|
+
return new LambdaHttpResponse(404, "Not found");
|
|
29695
|
+
}
|
|
29696
|
+
}
|
|
29697
|
+
|
|
29659
29698
|
// src/index.ts
|
|
29660
29699
|
var app = new Router();
|
|
29661
29700
|
app.get("ping", Ping);
|
|
29662
29701
|
app.get("health", Health);
|
|
29663
29702
|
app.get("version", Version);
|
|
29664
29703
|
app.get("tiles", Tiles);
|
|
29704
|
+
app.get("imagery", Imagery);
|
|
29665
29705
|
var slowTimer = null;
|
|
29666
29706
|
async function handleRequest(req) {
|
|
29667
29707
|
if (slowTimer)
|
|
@@ -29670,6 +29710,11 @@ async function handleRequest(req) {
|
|
|
29670
29710
|
slowTimer.unref();
|
|
29671
29711
|
req.set("name", "LambdaTiler");
|
|
29672
29712
|
try {
|
|
29713
|
+
const apiKey = Router.apiKey(req);
|
|
29714
|
+
if (apiKey != null) {
|
|
29715
|
+
const apiKeyHash = (0, import_crypto5.createHash)("sha256").update(apiKey).digest("base64");
|
|
29716
|
+
req.set("api", apiKeyHash);
|
|
29717
|
+
}
|
|
29673
29718
|
return await app.handle(req);
|
|
29674
29719
|
} finally {
|
|
29675
29720
|
if (slowTimer)
|
package/dist/package-lock.json
CHANGED
package/dist/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@basemaps/lambda-tiler",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.19.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/linz/basemaps.git",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"express": "^4.17.1",
|
|
62
62
|
"pretty-json-log": "^1.0.0"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "87d778480368585d0f4a5a7546a2858882d8ab39"
|
|
65
65
|
}
|
package/src/__test__/xyz.test.ts
CHANGED
|
@@ -257,15 +257,15 @@ o.spec('LambdaXyz', () => {
|
|
|
257
257
|
sources: {
|
|
258
258
|
basemaps_vector: {
|
|
259
259
|
type: 'vector',
|
|
260
|
-
url:
|
|
260
|
+
url: `/vector`,
|
|
261
261
|
},
|
|
262
262
|
basemaps_raster: {
|
|
263
263
|
type: 'raster',
|
|
264
|
-
tiles: [
|
|
264
|
+
tiles: [`/raster`],
|
|
265
265
|
},
|
|
266
266
|
basemaps_raster_encode: {
|
|
267
267
|
type: 'raster',
|
|
268
|
-
tiles: [
|
|
268
|
+
tiles: [`/raster/{z}/{x}/{y}.webp`], // Shouldn't encode the {}
|
|
269
269
|
},
|
|
270
270
|
test_vector: {
|
|
271
271
|
type: 'vector',
|
package/src/index.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { Ping, Version } from './routes/api.js';
|
|
|
4
4
|
import { Health } from './routes/health.js';
|
|
5
5
|
import { Tiles } from './routes/tile.js';
|
|
6
6
|
import { Router } from './router.js';
|
|
7
|
+
import { createHash } from 'crypto';
|
|
8
|
+
import { Imagery } from './routes/imagery.js';
|
|
7
9
|
|
|
8
10
|
const app = new Router();
|
|
9
11
|
|
|
@@ -11,6 +13,7 @@ app.get('ping', Ping);
|
|
|
11
13
|
app.get('health', Health);
|
|
12
14
|
app.get('version', Version);
|
|
13
15
|
app.get('tiles', Tiles);
|
|
16
|
+
app.get('imagery', Imagery);
|
|
14
17
|
|
|
15
18
|
let slowTimer: NodeJS.Timer | null = null;
|
|
16
19
|
export async function handleRequest(req: LambdaHttpRequest): Promise<LambdaHttpResponse> {
|
|
@@ -21,6 +24,11 @@ export async function handleRequest(req: LambdaHttpRequest): Promise<LambdaHttpR
|
|
|
21
24
|
|
|
22
25
|
req.set('name', 'LambdaTiler');
|
|
23
26
|
try {
|
|
27
|
+
const apiKey = Router.apiKey(req);
|
|
28
|
+
if (apiKey != null) {
|
|
29
|
+
const apiKeyHash = createHash('sha256').update(apiKey).digest('base64');
|
|
30
|
+
req.set('api', apiKeyHash);
|
|
31
|
+
}
|
|
24
32
|
return await app.handle(req);
|
|
25
33
|
} finally {
|
|
26
34
|
if (slowTimer) clearTimeout(slowTimer);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Config } from '@basemaps/config';
|
|
2
|
+
import { fsa } from '@basemaps/shared';
|
|
3
|
+
import { HttpHeader, LambdaHttpRequest, LambdaHttpResponse } from '@linzjs/lambda';
|
|
4
|
+
import { createHash } from 'crypto';
|
|
5
|
+
import { promisify } from 'util';
|
|
6
|
+
import { gzip } from 'zlib';
|
|
7
|
+
import { Router } from '../router.js';
|
|
8
|
+
import { TileEtag } from './tile.etag.js';
|
|
9
|
+
import { NotModified } from './tile.js';
|
|
10
|
+
|
|
11
|
+
const gzipP = promisify(gzip);
|
|
12
|
+
|
|
13
|
+
function isAllowedFile(f: string): boolean {
|
|
14
|
+
if (f.endsWith('.geojson')) return true;
|
|
15
|
+
if (f.endsWith('.json')) return true;
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Get metadata around the imagery such as the source bounding box or the bounding box of the COGS
|
|
21
|
+
* - /v1/imagery/:imageryId/source.geojson
|
|
22
|
+
* - /v1/imagery/:imageryId/covering.geojson
|
|
23
|
+
*/
|
|
24
|
+
export async function Imagery(req: LambdaHttpRequest): Promise<LambdaHttpResponse> {
|
|
25
|
+
const { rest } = Router.action(req);
|
|
26
|
+
const [imageryId, requestType] = rest;
|
|
27
|
+
if (!isAllowedFile(requestType)) return new LambdaHttpResponse(404, 'Not found');
|
|
28
|
+
|
|
29
|
+
const imagery = await Config.Imagery.get(imageryId);
|
|
30
|
+
if (imagery == null) return new LambdaHttpResponse(404, 'Not found');
|
|
31
|
+
|
|
32
|
+
const targetPath = fsa.join(imagery.uri, requestType);
|
|
33
|
+
|
|
34
|
+
try {
|
|
35
|
+
const buf = await fsa.read(targetPath);
|
|
36
|
+
const cacheKey = createHash('sha256').update(buf).digest('base64');
|
|
37
|
+
|
|
38
|
+
if (TileEtag.isNotModified(req, cacheKey)) return NotModified;
|
|
39
|
+
|
|
40
|
+
const response = new LambdaHttpResponse(200, 'ok');
|
|
41
|
+
response.header(HttpHeader.ETag, cacheKey);
|
|
42
|
+
response.header(HttpHeader.ContentEncoding, 'gzip');
|
|
43
|
+
response.buffer(await gzipP(buf), 'application/json');
|
|
44
|
+
req.set('bytes', buf.byteLength);
|
|
45
|
+
return response;
|
|
46
|
+
} catch (e) {
|
|
47
|
+
req.log.warn({ targetPath }, 'ImageryMetadata:Failed');
|
|
48
|
+
return new LambdaHttpResponse(404, 'Not found');
|
|
49
|
+
}
|
|
50
|
+
}
|
package/src/routes/tile.ts
CHANGED
|
@@ -13,6 +13,7 @@ import { TileEtag } from './tile.etag.js';
|
|
|
13
13
|
import { Router } from '../router.js';
|
|
14
14
|
import { ValidateTilePath } from '../validate.js';
|
|
15
15
|
import { URL } from 'url';
|
|
16
|
+
import { fsa } from '@chunkd/fs';
|
|
16
17
|
|
|
17
18
|
export const TileComposer = new TileMakerSharp(256);
|
|
18
19
|
|
|
@@ -132,16 +133,16 @@ export const TileRoute = {
|
|
|
132
133
|
const sources: Sources = {};
|
|
133
134
|
for (const [key, value] of Object.entries(style.sources)) {
|
|
134
135
|
if (value.type === 'vector') {
|
|
135
|
-
if (value.url.
|
|
136
|
-
const url = new URL(value.url);
|
|
136
|
+
if (value.url.startsWith('/')) {
|
|
137
|
+
const url = new URL(fsa.join(host, value.url));
|
|
137
138
|
url.searchParams.set('api', apiKey);
|
|
138
139
|
value.url = url.toString().replace(/%7B/g, '{').replace(/%7D/g, '}');
|
|
139
140
|
}
|
|
140
141
|
} else if (value.type === 'raster' && Array.isArray(value.tiles)) {
|
|
141
142
|
for (let i = 0; i < value.tiles.length; i++) {
|
|
142
143
|
const tile = value.tiles[i];
|
|
143
|
-
if (tile.
|
|
144
|
-
const url = new URL(tile);
|
|
144
|
+
if (tile.startsWith('/')) {
|
|
145
|
+
const url = new URL(fsa.join(host, tile));
|
|
145
146
|
url.searchParams.set('api', apiKey);
|
|
146
147
|
value.tiles[i] = url.toString().replace(/%7B/g, '{').replace(/%7D/g, '}');
|
|
147
148
|
}
|
|
@@ -183,10 +184,6 @@ export async function Tiles(req: LambdaHttpRequest): Promise<LambdaHttpResponse>
|
|
|
183
184
|
const { rest } = Router.action(req);
|
|
184
185
|
if (rest.length < 1) return NotFound;
|
|
185
186
|
const apiKey = Router.apiKey(req);
|
|
186
|
-
const apiKeyHash = createHash('sha256')
|
|
187
|
-
.update(apiKey ?? '')
|
|
188
|
-
.digest('base64');
|
|
189
|
-
req.set('api', apiKeyHash);
|
|
190
187
|
if (!isValidApiKey(apiKey)) return new LambdaHttpResponse(400, 'Invalid API Key');
|
|
191
188
|
|
|
192
189
|
const fileName = rest[rest.length - 1].toLowerCase();
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/ulid/dist/index.d.ts","./src/api.key.ts","../../node_modules/@types/aws-lambda/handler.d.ts","../../node_modules/@types/aws-lambda/common/api-gateway.d.ts","../../node_modules/@types/aws-lambda/common/cloudfront.d.ts","../../node_modules/@types/aws-lambda/trigger/alb.d.ts","../../node_modules/@types/aws-lambda/trigger/api-gateway-authorizer.d.ts","../../node_modules/@types/aws-lambda/trigger/api-gateway-proxy.d.ts","../../node_modules/@types/aws-lambda/trigger/appsync-resolver.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudformation-custom-resource.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudfront-request.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudfront-response.d.ts","../../node_modules/@types/aws-lambda/trigger/eventbridge.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudwatch-events.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudwatch-logs.d.ts","../../node_modules/@types/aws-lambda/trigger/codebuild-cloudwatch-state.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-action.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-pipeline.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-stage.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/_common.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/create-auth-challenge.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-message.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-email-sender.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/define-auth-challenge.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-authentication.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-confirmation.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-authentication.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-signup.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-token-generation.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/user-migration.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/verify-auth-challenge-response.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/index.d.ts","../../node_modules/@types/aws-lambda/trigger/connect-contact-flow.d.ts","../../node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts","../../node_modules/@types/aws-lambda/trigger/iot.d.ts","../../node_modules/@types/aws-lambda/trigger/kinesis-firehose-transformation.d.ts","../../node_modules/@types/aws-lambda/trigger/kinesis-stream.d.ts","../../node_modules/@types/aws-lambda/trigger/lex.d.ts","../../node_modules/@types/aws-lambda/trigger/s3.d.ts","../../node_modules/@types/aws-lambda/trigger/s3-batch.d.ts","../../node_modules/@types/aws-lambda/trigger/ses.d.ts","../../node_modules/@types/aws-lambda/trigger/sns.d.ts","../../node_modules/@types/aws-lambda/trigger/sqs.d.ts","../../node_modules/@types/aws-lambda/trigger/msk.d.ts","../../node_modules/@types/aws-lambda/index.d.ts","../../node_modules/@linzjs/lambda/build/src/response.d.ts","../../node_modules/@linzjs/lambda/build/src/log.d.ts","../linzjs-metrics/build/metrics.d.ts","../../node_modules/@linzjs/lambda/build/src/request.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/ts3.4/base.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/ts3.6/base.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/base.d.ts","./node_modules/@types/node/index.d.ts","../../node_modules/@linzjs/lambda/build/src/response.http.d.ts","../../node_modules/@linzjs/lambda/build/src/request.http.d.ts","../../node_modules/@linzjs/lambda/build/src/function.d.ts","../../node_modules/@linzjs/lambda/build/src/header.d.ts","../../node_modules/@linzjs/lambda/build/src/request.alb.d.ts","../../node_modules/@linzjs/lambda/build/src/request.api.gateway.d.ts","../../node_modules/@linzjs/lambda/build/src/request.cloudfront.d.ts","../../node_modules/@linzjs/lambda/build/src/index.d.ts","../geo/build/bounds.d.ts","../geo/build/epsg.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/tile.matrix.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/tms/nztm2000.quad.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/tms/nztm2000.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/index.d.ts","../geo/build/tile.matrix.set.d.ts","../geo/build/quad.key.d.ts","../geo/build/wmts/wmts.d.ts","../geo/node_modules/@types/geojson/index.d.ts","../geo/build/stac/index.d.ts","../geo/build/stac/stac.attribution.d.ts","../geo/build/tms/index.d.ts","../geo/build/tms/nztm2000.d.ts","../geo/build/tms/google.d.ts","../geo/build/index.d.ts","../config/build/config/base.d.ts","../config/build/config/prefix.d.ts","../config/build/config/tile.set.d.ts","../config/build/base.config.d.ts","../config/build/config/imagery.d.ts","../config/build/config/provider.d.ts","../config/build/config/vector.style.d.ts","../../node_modules/aws-sdk/lib/error.d.ts","../../node_modules/aws-sdk/lib/credentials.d.ts","../../node_modules/aws-sdk/lib/credentials/credential_provider_chain.d.ts","../../node_modules/aws-sdk/lib/config-base.d.ts","../../node_modules/aws-sdk/lib/endpoint.d.ts","../../node_modules/aws-sdk/lib/service.d.ts","../../node_modules/aws-sdk/lib/http_response.d.ts","../../node_modules/aws-sdk/lib/response.d.ts","../../node_modules/aws-sdk/lib/http_request.d.ts","../../node_modules/aws-sdk/lib/request.d.ts","../../node_modules/aws-sdk/lib/dynamodb/document_client.d.ts","../../node_modules/aws-sdk/lib/services/dynamodb.d.ts","../../node_modules/aws-sdk/lib/dynamodb/converter.d.ts","../../node_modules/aws-sdk/clients/dynamodb.d.ts","../config/build/dynamo/dynamo.config.base.d.ts","../config/build/dynamo/dynamo.config.cached.d.ts","../config/build/dynamo/dynamo.config.d.ts","../config/build/memory/memory.config.d.ts","../config/build/tile.set.name.d.ts","../config/build/color.d.ts","../config/build/index.d.ts","../shared/build/const.d.ts","../shared/build/log.d.ts","../../node_modules/@chunkd/core/build/bytes.d.ts","../../node_modules/@chunkd/core/build/log.d.ts","../../node_modules/@chunkd/core/build/source.d.ts","../../node_modules/@chunkd/core/build/chunk.source.d.ts","../../node_modules/@chunkd/core/build/chunk.source.memory.d.ts","../../node_modules/@chunkd/core/build/composite.d.ts","../../node_modules/@chunkd/core/build/fs.d.ts","../../node_modules/@chunkd/core/build/index.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.mime.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.tag.id.d.ts","../../node_modules/@cogeotiff/core/build/read/tag/tiff.tag.base.d.ts","../../node_modules/@cogeotiff/core/build/read/tag/tiff.tag.offset.d.ts","../../node_modules/@cogeotiff/core/build/vector.d.ts","../../node_modules/@cogeotiff/core/build/cog.tiff.image.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.version.d.ts","../../node_modules/@cogeotiff/core/build/read/tiff.gdal.d.ts","../../node_modules/@cogeotiff/core/build/read/tiff.ifd.config.d.ts","../../node_modules/@cogeotiff/core/build/cog.tiff.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.endian.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.tag.value.d.ts","../../node_modules/@cogeotiff/core/build/const/index.d.ts","../../node_modules/@cogeotiff/core/build/read/tiff.value.reader.d.ts","../../node_modules/@cogeotiff/core/build/index.d.ts","../tiler/build/raster.d.ts","../tiler/build/tiler.d.ts","../tiler/build/index.d.ts","../shared/build/api.path.d.ts","../shared/build/api.d.ts","../shared/build/vdom.d.ts","../shared/build/vdom.parse.d.ts","../shared/build/composite.error.d.ts","../shared/build/logger.fatal.error.d.ts","../shared/build/proj/tile.set.name.d.ts","../../node_modules/polygon-clipping/dist/polygon-clipping.d.ts","../linzjs-geojson/build/types.d.ts","../linzjs-geojson/build/multipolygon/clipped.d.ts","../linzjs-geojson/build/multipolygon/convert.d.ts","../linzjs-geojson/build/wgs84.d.ts","../linzjs-geojson/node_modules/@types/geojson/index.d.ts","../linzjs-geojson/build/bbox.d.ts","../linzjs-geojson/build/construct.d.ts","../linzjs-geojson/build/index.d.ts","../shared/node_modules/@types/geojson/index.d.ts","../shared/build/proj/projection.d.ts","../shared/build/file/file.config.d.ts","../../node_modules/@chunkd/fs/build/fs.abstraction.d.ts","../../node_modules/@chunkd/source-aws/build/type.d.ts","../../node_modules/@chunkd/source-aws/build/s3.source.d.ts","../../node_modules/@chunkd/source-aws/node_modules/aws-sdk/lib/error.d.ts","../../node_modules/@chunkd/source-aws/node_modules/aws-sdk/lib/credentials.d.ts","../../node_modules/@chunkd/source-aws/build/s3.credentials.d.ts","../../node_modules/@chunkd/source-aws/build/s3.fs.d.ts","../../node_modules/@chunkd/source-aws/build/index.d.ts","../../node_modules/@chunkd/source-http/build/http.source.d.ts","../../node_modules/@chunkd/source-http/build/http.fs.d.ts","../../node_modules/@chunkd/source-http/build/index.d.ts","../../node_modules/@chunkd/fs/build/index.d.ts","../shared/build/file/index.d.ts","../shared/build/util.d.ts","../shared/build/index.d.ts","./src/routes/api.ts","./node_modules/@types/pixelmatch/index.d.ts","./node_modules/@types/sharp/index.d.ts","../../node_modules/p-limit/index.d.ts","./src/routes/tile.etag.ts","../tiler-sharp/node_modules/@types/sharp/index.d.ts","../tiler-sharp/build/index.d.ts","./src/wmts.capability.ts","./src/router.ts","./src/routes/attribution.ts","./src/validate.ts","./src/routes/tile.ts","./src/tiff.cache.ts","./src/tile.set.raster.ts","../../node_modules/@cotar/core/build/src/tar.index.d.ts","../../node_modules/@cotar/core/build/src/binary/binary.index.builder.d.ts","../../node_modules/binparse/build/src/type.d.ts","../../node_modules/binparse/build/src/base.d.ts","../../node_modules/binparse/build/src/bits.d.ts","../../node_modules/binparse/build/src/int.d.ts","../../node_modules/binparse/build/src/lookup.d.ts","../../node_modules/binparse/build/src/object.d.ts","../../node_modules/binparse/build/src/offset.d.ts","../../node_modules/binparse/build/src/var.d.ts","../../node_modules/binparse/build/src/bitstream/index.d.ts","../../node_modules/binparse/build/src/hex.d.ts","../../node_modules/binparse/build/src/index.d.ts","../../node_modules/@cotar/core/build/src/cotar.d.ts","../../node_modules/@cotar/core/build/src/binary/binary.index.d.ts","../../node_modules/@cotar/core/build/src/tar.d.ts","../../node_modules/@cotar/core/build/src/index.d.ts","./src/tile.set.vector.ts","./src/tile.set.ts","./src/tile.set.cache.ts","./src/routes/health.ts","./src/index.ts","./node_modules/@types/aws-lambda/index.d.ts","../../node_modules/@types/ospec/index.d.ts","./src/__test__/index.test.ts","./src/__test__/tiff.cache.test.ts","../__tests__/build/assert.d.ts","../__tests__/build/test.tiff.d.ts","../__tests__/build/index.d.ts","./src/__test__/tile.cache.key.test.ts","../../node_modules/@types/sinon/node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts","../../node_modules/@types/sinon/index.d.ts","./src/__test__/tile.set.cache.test.ts","./src/__test__/tile.set.test.ts","../__tests__/build/rounding.d.ts","./src/__test__/xyz.util.ts","./src/__test__/wmts.capability.test.ts","./src/__test__/xyz.test.ts","./src/cli/tile.set.local.ts","./src/cli/dump.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/mime/index.d.ts","./node_modules/@types/serve-static/index.d.ts","./node_modules/@types/connect/index.d.ts","./node_modules/@types/body-parser/index.d.ts","./node_modules/@types/express/index.d.ts","./src/cli/serve.ts","./src/cli/validate.ts","../shared/build/file/__test__/file.operator.test.helper.d.ts","../attribution/build/attribution.d.ts","../attribution/build/index.d.ts","./src/routes/__test__/attribution.test.ts","./src/routes/__test__/health.test.ts","../../node_modules/@types/node/index.d.ts","../shared/node_modules/@types/node/index.d.ts","../tiler-sharp/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"4576b4e61049f5ffd7c9e935cf88832e089265bdb15ffc35077310042cbbbeea","e4e832ae5f0e25c70c8a3b7b8a4dad488c8b969b9595c358d60fc22fca406283","00a008cdbec3397ad26c9addd40fa1b64d2956d7c55caf15e434bbd1e5d35af8","a01a37a9992e93550d9d0b184eb6727b7fce8c11bb46878ad20cbf7f731e1e33","bc9d1a62f3ab938e3ac66b85363c8f1ec1c5b9cf32e5d393f7b14209b4811c48","2941ebbad2c99ad0cb2e2491324a8c532d5e05a1712bc30e7bdf375131b2a20a","6bb7cbba94c9a5c43add2e17d93d04da08e51a69d412e9d1afaf130f4624e91a","7b8f96d5fda0ce8ba9a9203090136175aeba9408eba089756c0b94c740c54429","67444330be1e766248afa0e4141b26174f774e6f44a361d7f880f70a31faa8c5","7b4441d054bf573a6241f869d43697e1d723bcd740e4453db393c6a0fbe83b25","004678b644cdb4615ac6cda7b2d285d0eb850e55eb53da47e8c1325cba362bb9","d12b75f884942952f25c2e9d27d4ac149e518286167c78a292deb89b59f65b22","0dad26ffdf5cae28cb67ac9c0ce06c7ec732001b01046f47eeaa4ee5a3655f5d","a3083d0ef2ab7bd00f400ce61035ab38f211cd848ebca9164d7410afeed9fad7","4194cc6e823aa830a71c733b18d0de1c29323b102c6460e9fe835ac5f8b8a9ba","4ff4add7b8cf26df217f2c883292778205847aefb0fd2aee64f5a229d0ffd399","420878898a89ebc3515fb87bbfd6662f0432fe918652669414b584c2540e3bc8","c24e2fddbca24f0b63d0b82e5aca4da50c8c591566711be7260c900c97d7c9f2","f4922a1814e47fdb4d93c2cf27968ea30c174e04d4a3374774046a9307dbbaf0","bfff1bb349423cc262a88775d8233f7ea2b87d66ba1f0631eec0c30bea097dd5","a177f76c040e29b9c31adfc93225c273828ff784b592bf56c6131771e624f628","06236dfec90a14b0c3db8249831069ea3f90b004d73d496a559a4466e5a344a4","19c08e1ce502625c711682ec21495ca47ca893b21f346621e7a175bcd677335f","5d36c521b96ba0d4b98919ca833c8cc62f1f225d40467122ba561a2c5553ab80","ea79b4e194a5864c9540003c4eca742d5602ff1399e443a315e2789f39d8c8a3","2b3046d66390c6447811adc06be3b085a7f396c53a7a4670d11159672d5aeb15","0aaa0e1d10349bc24bdee9dd2bca420741f1deb7028c7a17a2b9d5df2f5d9d63","dd289cb306f619c7844ff82fec02badc571c6ed66c7da72815239647febee137","754fb3e7737eb1feb7fcf4902e925cae8c050dd134819deb25ae3ed6843b7dd1","f05c1be0c5bf0e983941f9f75a43297b04730393d0bdabc687066d8b1d6b8d16","a97972e1e9b4bc5d31380c695b7a827c014bd042ec17369bc4d920a1fab7d47b","b5740b8d4723dcdc408195835a52cc83501b1f44399e3104eb4677b082c8973e","feb17c6ab54766cb447ed7efa1da2eacfe289d024da02eb0171fc072704f9be7","dd50796be484a4f4f3733dd67d0a829d93c5b6dd678552d40683f89e6767706c","288fbc46929c0e9d9cab822bfcd1e6d7392baf211a067a349052a7a6fbc5a4ca","b12effb4e275d1e3516506c030f4046283cc7a4d7e2b4e316b4397446444aa22","c173eaede09d9f153a0cb1c51ffe5cba7408f46a4e1187095cbf20b8f68d1dbe","66738976a7aa2d5fb2770a1b689f8bc643af958f836b7bc08e412d4092de3ab9","a4fdcbd860e40aa68ed5882a8ec7cced6ed405272dfac29fbc47803419dd2713","ea7abdaf48601d8d84e0962f628f61d3738637ff26f2362c90f514a337bc8305","3809c600654ed5b6bdce015f7110d40a75e402e59de80c12b622b925f44a8599","cec3cf5159f51f7725d5b06b631996fef4863d8f5c237b8a3f9a18f5570c8286","47ffa0bd85219fa1551c7cb128e3e1b44f980c9eb5baee26b0164db191ab917b","bb7de140ec25957e693e6b48de186b7229653d5c683fe7bbd1d24bcc66a86a15","33db1b492d92effbcc562388b6d448e28e8304d6a926f513dd760a6bc4cba2b3","ed06ac88318a21a9761abbf0dc49c40f6f6c38689550e205b1e05d22a7922b2d","b7917163a8867f4c952a8968ae0157bb52461b739ae96727e36699715f9b014f","279aaf653a0d8b30854be4eb5ecea8cfa50b5985dcb08a30560c4e5712d64434","29b04b0c79815163d2ea310e4ae6682adc0c56498927d7acd8b05252bd7205e8","747837b1d3c7e8d2c4f415fffd5c6649aee22d312b1995bb2e666a3bf34516f3","155e52bcafd54094289f9c2fd06d84f718d91052c7a4d86b4d8d6ffadfa33574","05292da3ec0dbba6c5c97642323f6906ac7008bc04d6d0186dc5ec3e79b55d45",{"version":"215d8d9a2c480fd460127edc048d68d9931d3b27f95132253a6e71975f060bb1","affectsGlobalScope":true},"c438b413e94ff76dfa20ae005f33a1c84f2480d1d66e0fd687501020d0de9b50","bc6a78961535181265845bf9b9e8a147ffd0ca275097ceb670a9b92afa825152","a4b5411d87995b9fb847f491f4388b38f829d8ab39be3e2fd65a3e40709f29a8","123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803",{"version":"eb5197aade83cb0e360ac407289c53a8009e8fdae7939892a0240d30444496b6","affectsGlobalScope":true},"90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720","3d9c3ccc05ebc6e288bef007bcc47a2fc0dce748ea634093ef0732b9be743805","7e050b767ed10c7ffbc01f314defbf420bf0b5d54ce666e1c87507c035dfc191","d6bc4b879a18de0a1ba065b9a1c6888c67d98f3fe4886584459cdaa9e211a5f7",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"153d835dc32985120790e10102834b0a5bd979bb5e42bfbb33c0ff6260cf03ce","affectsGlobalScope":true},"80b94a222a5e83289583833de76f8b3a5962ec4c3803690e20c875a2776ddfdc","05b5679a897598ebe556ee93415b3af1f456e674ea82e4d7afcd716bfe43aa98","f2f8a385694fd71a421616cbaca477a539f30f4098f11261b1d188d72dc3478a","f15f1f1104aaf47d25124de81949375416e3f8ee704e3d221bea339e35421edb","c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a","6c3857edaeeaaf43812f527830ebeece9266b6e8eb5271ab6d2f0008306c9947","bc6a77e750f4d34584e46b1405b771fb69a224197dd6bafe5b0392a29a70b665","5345d90ffb42ef6a15807f494b38b818f668f5fd6e5086586497ea0125334cd4","ed4ae81196cccc10f297d228bca8d02e31058e6d723a3c5bc4be5fb3c61c6a34","84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35","4982d94cb6427263c8839d8d6324a8bbe129e931deb61a7380f8fad17ba2cfc0",{"version":"ae4bc1dd4d9de7bbea6ce419db45af82a81358e6014c9e1235b5d252e06f8ab8","affectsGlobalScope":true},"3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c","884560fda6c3868f925f022adc3a1289fe6507bbb45adb10fa1bbcc73a941bb0","6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9","acbed967a379b3e9f73237ba9473f8b337eeea14b7dc64d445430b5d695751da","e7b5a3f40f19d9eea71890c70dfb37ac5dd82cbffe5f95bc8f23c536455732d0","d67e08745494b000da9410c1ae2fdc9965fc6d593fe0f381a47491f75417d457","b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9","c52eb62e3388a01b966c57bd14ca0ee9d5f6e656d6a18f6ce6b7cdece63734a3","a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638","3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748","4001971b90f18161f7bd46d68150d32a5da47e3f177956a267a2b29a2771896a","f28704c27e1bd58068052f5407541a3306f0ffc77f068e2891f46527a4569e25","289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953","baf0b82ffc5d2616f44a6fb1f81e8d798545bebf0c30f5d8b003a1dba1acfb3f","c6a5b34f1e725019445754f1e733585f113e0dced75f137bd3c4af5853d3f6ab","15fbe50526244954eb2f933546bca6cdcf0db16c9428d099b3b386c1db5799ab","d44028ae0127eb3e9fcfa5f55a8b81d64775ce15aca1020fe25c511bbb055834",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3","ad1ae5ae98eceb9af99061e83e867b9897d267aebc8f3b938c9424deabadf4bb","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","744e6430bafc6f39f66c4fc1e6a0d8c9551260ffd1782aa7e3f5166ac6aa1f86","caf42da4e37b5210a3c116ed8342fbc7702a94c88bff9b5c55e2cb8ed14d8f19","23a5f8e08b8543e1787f01d8c8772649afec38c16c42d72fc17a5058f30ddbcf","34461a64ac4bb4f8b61ce3bb3feed880832adb929795bfcd0899cb3ea1df216b","6ec0de1fdbc92aaf64fb27ad1ec8f163b481474f7a3598271284633820362792","ff01870c8a08149f3b1aa48198b10964b78706c05015c12e84cfc8c843dddbe2","58959805087d113c356e72dc495fa4c59c245135d47eabe5b5b4986151c64b90","8c6063dfa38607877826b9c08cfac3e3dc9060f7c0df3a88f5078edc8c85f6c3","10b10b387cae11f9a0117c8bef691d86f8e7009be5ec259dfc2f025a6de92270","7abc632ee39f3103688e2f8bc2db882900482b171700ee5e78af737bcf81fde5","9b4bd9569c82c41fca1ed3e0e032748331e878f6004d209b7c8500e93f4ce86e","66b4dbd8c55032a722bd15bca6ad56c55a1bcee668e106a9ec15ca47682d9fb8","54ce4ff8aadcb4d46fb053ba1a3e2821aa6507b0d4222608b8818bacc3e17c57","dbfcbe2d029a939a641dbdb026aca7c7a722887e570f361b4158a1e6c4f2ff3e","d7491dae8eb676e1cd0db1d098dbbc5f97580e1ebd2f4592d83442007d0dd816","7ee214ab32336e9623ee803f55a5b0b6ee165fe93a74595f6100bfe1d097eddf","2b79fac42518ac41b95cbcb3524cb72ff41a324290947fc2b586c94b4aabdf1c","4fae3ffd3d32c4036382632c6a6352de02e78ab38d5af5a82bdc30ebcb8998c6","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","7ed52d89f5c577bf76966b767c9ee6f0b7437f546e5021814787040dd023ddaf","55593b7b03d8fb68a63b287a0cfb9feefa2597b216e7046ad05036ec4308071f","1596f93119437a7ebda235059d456861b24cb1053e3cfa91aa5289ee4703fb77","27da118287ca4cf149e7e2561b37e278b474e1dfa824c7d55fa2cf04e63df815","910fe39f15fad126dfc2fa31317a92a6871f97d707d187758a2200630fa4b560","68792da7b9f6275dd1032dee7745540467cc0bba6a93f9f7d8cdbe0524ae2ddf","ab9f6561974242037fe915d081d581d2dcf45beedf0ffd4bd7dc9c16ad923e84","7c7f37a5a03603c0616418486478a81a47aa84147e5297ff7a11ef551a0476d8","d3e4cd757c2da369cc221a4951fac13d2c0c87482aecbba44f27be1a7805c32b","287d2aede0b56381de21eee52037d07681f1fa86a933097fcba09525c78508d3","16b637c76ed9ca9159d2cacbf2dc87c2928fd96767ae6bc61a8b8b519562b78d","dfab96880e7fc7ad6f0fd1a0739ca505285fcf31a976f3bf385ba0f80b54955c","8117663b31a829f4bfd7c900fb1b009380e1610affc73824f80c39a05f8ec4d5","aee22a16add1c6362d3f37af8f779595330b223ed5dcdd612bc7e5ef473017a4","0ada350a456f9f750c609c3f13a47c22a07dadf69510c164d13d152e681eb03a","dca94cc98d7175b117cc3cc470487a6d90073a91c5dcfaaf4dc42c8db6e5cdb1","22ea339c8ab2544fd4facaaec87298344f20cbfb988ec2b6cdf293b2bbc5653d","319d2d6122ea3112618f324e9cf3ac2f3e9a3eac4ef3a3eaaf60c6863783aa41","eee40625de078409f90c1d9dcd735e58cc45b2e3931e30210aa2c3a7a00e9d05","3ef72bda86404981d8145dfdfa2924e367a2aaeb883e7f50abe34c665ae7e5c0","df0f4d23c236280d5e28397e6ac7b09130ad2c729b09c604865f3f61effd1c92","3620bd96018b6c081228c60ea129312de9e14c007b9a8521c7c97f7fd27e176e","c6efe7c64b9a2e654aa38cf233712b50153019723d0a0b424f620b9cf6d50b02","3692331e271c67a24db0ab19f5913be9c4b62e9b4e0cbdf58013e63aa465a78b","6076f6537f99cef60fde291607da98310da1b04d520f3c1bd1b8423311fb3807","4ccccbb32314f379efaa2dd63c9b98c396685797c20b75254b639e8ee5c74f2a","403857a2f9711da37c73724cf2eba13216fbcd7f27f51920542cb7a3cc2694f9","25ce2b50cc95e4204f999126ca86ed6a06d726316cc780610f84970c2fd3dd08","ba13a6260607fa8634698011eb2324b0ce2c49b6679cd5fe6550f8a1faa27cd0","2504a36390c013b82a3cb73663dfe248fc5c0c7f7cb84087bed10688ad69c391","2d7f0f240f89362c2c61c210ea26b2fb3764fdd9c1e2974d162325ac84523ca0","42f1cef165018dab87f397c2a132a637b5286cf11a6c5688d14e2a1256f412da","b7dc3fdc7365e56eeae177d860e2da8b3e1339b1a4874e7d79944897fbe9d84c","4516522e2ed8500a901d44c4f5c47af659af62c8f0834622f6596742a3d66d1b","33b7bf7e23f2a6ffe5c151bda84343612da0c4dd92dfe364188e8b24a0b32a0a","790e4fb5eec03dd26ed35f7a86e0a33ad80cc4e7dee92edded01c21f27c3deb2","dffd914399c5c17e919f268e67fbfd118db2f9fed44137de94069ee45c3f4d1d","c8b83649c0103e6149ab330106fb467bce936eecf760b16b6133d265e021d859","cbc220a9ca24327a8c8749bedb3ba362e99ce714d9ff2f595c779b08c332c75a","3c2f0b8890716f05909758ca4cb1b1f23abe5c32c094373ce3f1204c6a2ce05c","8a9e08facccff44f19956a887daec3fd8817586d1ac705c676a94a2aa5b2ebd6","918d6fee59ae12f3d7e253feadbdff4d00dc3f019461799d74744378ca7c96ca","18c7507633419c1ebbac46ad73c1fe158d7bec5ba89ad775cd7661e12ea65f67","d24ad32575696e3979d50358904f86be0158e20a2ed2ccdf050caff97cb977d3","563f66334e0467d1e0684bdc9ad98ee6bc2792c0cf7f43ceac07362b51e6475a","9ae3616f7bc4f8d39e5465054ae62b169bdca296b7be995635b212c3580964a0","6ce446629e8f68942582c764d8bc65330d7a6a5d777f3406c0f9f599fe900986","6866d1945a7700bd026e831be7bc8fc2c93fe1ebd520f8f66297fbb9da5d2b11","dbdf862a6fd68c90550daf41857c07d838d270a3886cdfa7410da0f3421c0643","a764431dcbea584388908f02607008a9e0f82e1638b88342c4c6bd19badb8a38","807804c343b2b5a66bb76b153a9244781b050cb52c462727105d53979d4a12f0","651c27f7741f593207b051ff9baf9c6b3ef7f7491ed88ef0ec72c1b4a8f643aa","7f093f39ffe2be7ac5e92bdf9db76394a93d36a0960d29592636cf9221abe085","c33f98a73556ea7d93a896d02a6757419ac6492ccfdc7310d053ac6af6d44fc5","36a779c68a633117ef761da78907d64f35f9fbd87272c15df2654b73ba54790d","467ee24d8368e9e9ccf0aa0d154b187d817918c53b564745097a8e3079b198ee","510f0ea8b96de853286790f34bb0a2c185eb2c0f88bbfa50f59bd1e87462c505","47e5fcd1e84c7af25d009c60caa4a00967db9e7c45a9d33ddcc35a9449f1297a","d66e84a8ed0ff7cfff3a10082495fe42ab13d1e4f472d0504750d040783535fc","52ce2769bcb8bd44e49a9bf0d4436d0cec7a29a3cc522d985263f203b63bcf75","10260b1c8d868d4c87caf67eca37f644839c730441feb97daf387863896201c9","3b8e97a451adb6d0c47d2bed2666532512390aa3bc73c13cb68e52ce4df25a71","c731d832e927fb187ab7d2285f62d9a7da324c83c4ccb11597224d74dbe1a296","eff52cb92b4fb6c7a376f0b4e6d99d8d096feea9455c4e3d278bd3bc2cc3a248","67268afe739eccacdf0543356991d5a5126457fc6110d8269d835deb9599f1da","7fef2adbb2595365183cb2fe6135f5c309866031a3fca671d3b4e6af7a1c5e4c","5f36dfdde574aded80e90461c1715fe7da653272fc9b4df19a5a3a2956807c68","ac2d0f82e8996b339de9e81af46cf4655a0a1a210828a3221a5925de378df0b1","16be41d1611dd3c6dcc1b1b847be6d674e09ba97a67d1c0c05574e276f139841","c95c8658835a8d86c712226f74142d79e67472df0f1d3c246284b954f08b9a9a","69d3675f2d56cc5a04aadb46fe3873ee91e0e0a114b56fc17e4d8c52ff5cc953","606139aff125a156a0c38fe39d73bbcde55bbb712d657d769eb94b46e828d0bd","289be79019a382a8c9e8d0303fbba55f8458fb3a4f301c76122011470dda76a6","0873e311512c89c56a9e2fd8e10535412aaa8d0472edbb094bc8278c8b223175","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","f3568c3880f37651b4aa8dfe5bae5f09d9ddc31209b45a71651ccba6d066a18a","e3ed0ac12b0708215c6b4de0db47278f9c2800a29641a927762ef77210a7e96b","551a261ea922a1e414cef0a4d012e6599931c0054d08d1a09f780a93948e4f23","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","faf727c56e66f6de06b930c17010a9d04725018451ad6e4b97b972087974d64e","651e566b6a06ba7803227c0823a275da9a01dd2f3b91ad2734f845e7dca9817c","cc675f2f2a6186254e08d68d60f9d8bc1b6b88b5c8be3ff5e437c3741f058e73","1bee79a673a344da6e22fe5dd843f949310c992cc7f6c29821a46c910d3ced15","7d9f7fb53e34b7d6ff0342f1977522364230449abfccff2dec5e9e7c5161badd","aee22a16add1c6362d3f37af8f779595330b223ed5dcdd612bc7e5ef473017a4","cc02a7cda1aa5d3f8367d1c3731a4a0f8a8543d1288ebc728c12a31d91310d31","3a4d0d6d3d68861dc035dfd1001225705d96711bae890887685d4dc6c5c6e2b3","e6e22da07742cac41a1f7cf8dbddf434008d9c3f6c4211081957830b37c070ef","b1e8603a85c707afecb28f02e6b335e058d7ec74a18622a684372dbf5c98c977","dd5652715e401b1325577999b59fe6c266467db1b35b8d5f20ab1e5b3e6b790d","567fa7d9e36e37c04fc868e0c8217c905fa4519b103423914a5537a3f5a21f58","d963bb2f582a3311fd631fad26a7896ada3d87fad1c34eef0e1a3ff5810cf2bd","eee89a1a7c40b5a027d3ce053b4fc83d22ceb9de3f84dafd4e7f522aca580b5a","aff62954334a4d6ce6fb6af5f282167c96bfb12ce253cdbd95b05bf909291e6c","af5cfbbbc3f6bf1018e7933ddc93dd0614c5447cdd238ed82d988c42ad91f88b","9039f6e9036b5dd664dcdecd82724eba4f2fc43d6de8ada42fdebe4a58ce24cb","70af87be5b901876816b6b1f2d9dd03e1e14fea1dd29f32aadf7dd71de3d8df3","f30350dd37c3f3c11f47adb7ce4e7a4928f578f4ae8a3197e0c8a0811da46b92","6c93d738e8ec62097d8bf41c55e1b44c12a655f85e980d27c60462c9219a0364","098ef3f011cfadd9e4ff013dd051a39545536793ecbb92da1b3c32b808a7c114","7b9ff22d494344b0de57f22ad71f4291fcb6730f9707c602f3da54798d0d5ba0","6c93d738e8ec62097d8bf41c55e1b44c12a655f85e980d27c60462c9219a0364","bf309ef8e8e60a4531b2094d35b82561e5572f127fdab6cb1097da65079e107d","d72c24eade61fccbd6609c09605ebfd4460b53942eadc1e734c4c9419d509d6a","6d6c4d333e2189619ed7d4bc104d3b7878929ea98d7f2a6c648f99ad6aca4388","264302e349e68d01dfb1415e671d64d579b9103ee50b772f6c45a46f1225ae49","dfaad170f75f7fd6d710e8912daea64992e37c9da67dc04e128b7cf2e533665f","c0d4b5ba92bbfed01037c5815350756d24d64b64cb6dd62fa8261a48040f9913","fb06017372605be7342ef2e6ad3f54bef4c8e960e343cceaabdfbb75e7b90e12","b3474e39f02680a0759357af764809dd6211e506a475ece7a720dcf3f8770802","7fe79ef06db30f7112fba96e420d49a5bafe72d15526627949f145c93c0b3b06","1ef3b2edf201c8625351cf97aedfbb4d86ae388e01c4e5ef028f9d201e8b7bba","9b7748093e33a3e33ebe19ef7ebc5430ce456678b4d1c2377b93df68cfbf1aa1","bf3f36677b4d54f068c54bfb32ad928105c108aae061750de181f3ae5a236768","699b4148c4613839e5cf47135b6a9741f7ce9ddb97d6eebd292181b0fe874538","04d4df2dc3d34c737ef982a2b5dd30aafc2c572de3950972d260b1199e530921","5467c1fa4e36c9a0badea8d4dff5cfaa179097f860c6da718e2914b8fb9d98f9","c7af82a6a74858a126e4179484adb54eae3f748f2c5613ced85bd954af4e6172","f5e9b99410de4ccacec9cba7624d76ab181d100b00fb85c9b4446ee52e9af4f5","79794823bd8587611be9fb93c9a0092e022cb016aa4eee10471a35cc0d9b4e23","444286791f5b9616c782d74da057aab871e7d7f167d417927e59e8dc437975ad","ae40030d1ada594408eba22f4155382d03273de0fb3a50b78abf457d49830c7f","ab0da58265574a8baaa95e8f23692a84c5d39068095dec7917439b0d1deb027c","1a1626c01e1bf8cee3fe413e01789fcf9d198f774358c9c5e0022a8eb1bfd0f4","839f2c0e4d4315e20325c7b30f070d64e324bb54b350e36bd79749c503578d34","693101d000023d84ee7c0828c6d7e17e7e61cbf7e528e8278b6c6515828baac7","b1b0a2ffd5fb578a0c6655edb9a003bed0c9cfbfc5f4b0bf636b228d6578a02d","372c73a07559fc90711e975e0055d76a4a3f4b2416735f916b16cf8c434ccc47","a4f8137e6a6b6b52a66f28f38b0e9e79972130d5f278cf5c736f07628a56a785","1d22bae901e8f2d63da4367c6036ea03404cb432a903172690cb3d0dbca70acc","881ea8153985c884d277f54a39891e9798a1d9deb72e5493b5e86c43f716fae5","9de0736fa3dcae772df3d1089ba77478f122b09d89c4dbe92ea64d2f6d9c7eaa","279aaf653a0d8b30854be4eb5ecea8cfa50b5985dcb08a30560c4e5712d64434","8b846751b63f73d7abf41def77978909c3980266bb667cee4c0ba32dcf007682","e44e5d6ba1252d34e92cf23378a73258cfb1aa798dd5392a2ffa2a051900beec","6dc02a8c72b96d570d09fc30121e4645a49e222461c17cf7aadd16efd3ee9106","c11570f30c8f55be00b6d1164869dc69174793a9986937f661eb41f224d43595","52143827e2fc4f1facf1dd5cc76036d02d0c4c1ef694e299beec6a8f1462f0a7","ea33fe61a5685449a6f035d0e5c1b11732472b23e7de77f4786e6043da1c7a92","b50dd2c598e2fffc2e83372d66c58180785f91f3cfc020ca8ef685f9fa13a273","2ec90a33a922779199b6d91a27535b8829635a40dc87ee578ee0a15cf5c5c2ec","15b043358a9bac56ee6a567d61adf545b3a09e2f2ead9c3ef3cc617ed3522e71","bdaee9a0ed44577180697f6b61a4e307f2cc332d0718c5a60b3097bf79fb68c6","6bf0ae59ebc8ae9579ceccbf4f64bbc7c1d85b35c64ce5d88b2b7dbb4a7811d6","2ba83ef56a91f39ddacd1596e864879d3e22021ca4ec3d32579c1f6bf4a3c719","b0250f628ba4d29342907329563d4530cb6e4948d00f91384c258c49a02bfa66","f926dbf73260ab61212100b4758e29309f13cf9adea44a39b4dd69d5e2571cf6","efcebf9a63157e0ea3a78b4bb7ecec029801924fc523c4285a181bf35fd7c724","9447c933bbe36de86d1db096f6a4695e401df16b3ed0060c0628d39dd4c874fc","9bfbedfdef7671559b4b709379f7a83b50bb295caceba4b270f660dd4ac439cc","4e88b833be14c7f384e0dcd57bb30acd799e8e34d212635d693e41a75a71164b","98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e",{"version":"e41a1ce538d71d5a3389b7fc2e39c15a4972f0d4cb14bf2fe8cda8c361150028","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","3b02517f9be71f255eadab9892406055d069167891f1e1ea16c96c4ff1ddda01","81c14b89fa607b86dd726e2e3e91360cf8155ce97468404324d404a5bd65b2eb","ebddbd167c2fabd0151f50e5df94ca6d845149c47521280d8867afe3429dd078","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","d0351c4715a191fb8743aa6bec9b15da402c81026daeeecda16d7bbdd0265cbb","51eeb1cde84a8d2a198572f1daf807993ca13f04d832f0cc3f833cfeaf0b7757","706644b0ad06d9c50c10b64db1966cf9de904ce567b90dba0468faf7838e266b","28b3397525fc094cdef9ab5833c6d62c311a9f2fe9ecabe03abe2044d6c243f6","58f3108dfd1f4df91c71a25d9b3fd34d2405da56b69b9566a9638aa2896241ed","9f4dd5a47fe8b4c35c951555ace27945f8b4c9c92d99de8932337efcdae1e579","87e4bf4e3c71b3d5e02206275838543c199e83701102e195f5de21f124840bad"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSourceMap":false,"inlineSources":false,"module":6,"noEmitOnError":false,"noFallthroughCasesInSwitch":false,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./build","rootDir":"./src","strict":true,"strictNullChecks":true,"strictPropertyInitialization":false,"target":5},"fileIdsList":[[192,193,194],[195,321],[119,194,321],[192,193,194,195,196,197,198],[192,193],[119,199,321],[237,244,247],[239,242,243],[241],[119,199,238,239,242,321],[199,238],[119,321],[240],[119,199,245,321],[199],[245,246],[199,205,206,207,208],[199,200,201,202,203,204,209],[200,201,206,210,211],[204,205,209,212,213],[209],[199,202,209],[199,206],[199,211],[137,199,266],[199,271,273,278,279],[199,280],[267,279,280,281],[199,266,273,278,280],[137],[86,87,88,90,138,139],[88,90,138,139,140,141,142,143,144],[86,125,137,138,139],[86,87,88,89],[86,88,90,125,137,138],[148,149,150],[148],[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,73,74,75,76,77,78,79,80,81,82,83,84,85],[42],[42,43],[42,44],[52],[42,57,58,59],[42,61],[42,62,63,64,65,66,67,68,69,70,71,72],[296],[169,172,174,176,178,179,180,181],[105,107,169,170,171],[169],[169,170],[182],[119,169,178,182],[173],[119],[119,169,174,176,177],[175,178],[169,172,173,178],[174,179],[268],[268,269],[268,269,270,271,272,273,274,275,276,277],[292,293],[214],[161,233],[317],[161,162,163,164,189],[161,162],[162],[162,163,165,185],[162,183],[162,163,164,165,166,167,168,182,183,184],[162,163,164,165,166,167,168,183,185,186,187,188],[162,163,164,165,166,167,168],[146,147,151,152,153,154,156,157,158,159,160],[152],[155],[156],[146,147,151],[147,152],[105,137,311],[105,137],[102,105,137,306,307],[307,308,310,312],[134,135],[102,103,110,119],[94,102,110],[126],[98,103,111],[100,102,110],[102],[102,104,119,125],[103],[110,119,125],[102,103,105,110,119,122,125],[102,105,122,125],[136],[125],[100,102,119],[92],[124],[102,119],[117,126,128],[98,100,110,119],[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130],[131,132,133],[110],[116],[102,104,119,125,128],[105,137,309],[119,137],[39,86,145,251,287,289],[39,199,214,264,289],[39,161,217,251,256,289,294],[39,161,189,251,265,285,289,297],[39,161,189,265,289],[39,98,161,251,259,289,300,301],[39,161,189,251,256,263,285,287,289,297,300,301],[39,86,145,161,189,251,265],[39,40],[39,86,103,145,161,217,251,263,284,285,304],[39,40,86,112,125,145,161,251,259,265,285,287,301,304,313],[39,161,214,251,265],[39,161,214,251,255,265,285],[39,145,251,252,260,263,286],[39,145,251],[39,145,161,189,251,256,261,265,285,289,297,300,301,316,318],[39,86,145,161,251,265,285,286,289,297],[39,145],[39,98,145,161,189,233,251,260,265,285],[39,103,112,125,145,161,217,251,253,254,285],[39,98,112,145,217,251],[39,41,98,125,145,161,189,251,256,258,259,260,261,262,265,285],[39,199,214],[39,161,189,251,265,283,284],[39,89,145,161,189,214,217,251,255,256,263,264,284],[39,145,161,189,251,265,283,285],[39,145,189,251,263,282,284],[39,161,189,217,233,251,265],[155,226],[155,228],[226,227,228,229,231,232],[225,226],[226],[225],[161,217],[322],[236,248],[189,190,191,218,219,220,221,222,223,224,235,249,250],[155,161,233],[220],[89,217,254,323],[215,216],[89,161,214,323],[161,214,215]],"referencedMap":[[195,1],[196,2],[198,3],[199,4],[194,5],[237,6],[248,7],[244,8],[242,9],[243,10],[239,11],[238,12],[241,13],[246,14],[245,15],[247,16],[209,17],[205,18],[212,19],[214,20],[202,21],[203,22],[207,15],[208,23],[213,24],[267,25],[280,26],[279,27],[282,28],[281,29],[266,30],[140,31],[145,32],[142,33],[143,33],[144,33],[90,34],[139,35],[138,30],[151,36],[150,37],[149,37],[86,38],[45,39],[46,40],[47,40],[48,39],[49,39],[50,41],[51,41],[53,42],[54,39],[55,42],[57,39],[58,39],[59,39],[60,43],[56,39],[62,44],[64,44],[63,44],[65,44],[73,45],[66,44],[67,44],[68,44],[69,44],[70,44],[71,44],[72,44],[74,39],[75,39],[52,39],[76,39],[77,39],[78,39],[79,39],[85,39],[81,39],[80,39],[82,39],[83,39],[84,39],[297,46],[182,47],[172,48],[170,49],[171,50],[181,51],[179,52],[177,53],[175,54],[178,55],[176,56],[174,57],[180,58],[269,59],[270,60],[276,59],[278,61],[271,60],[272,60],[273,60],[274,60],[275,60],[294,62],[293,63],[317,64],[318,65],[165,66],[166,67],[167,67],[164,67],[168,68],[183,69],[184,70],[185,71],[189,72],[186,73],[161,74],[153,75],[156,76],[157,77],[152,78],[160,75],[158,79],[159,75],[288,38],[312,80],[311,81],[308,82],[313,83],[136,84],[94,85],[95,86],[96,87],[97,88],[98,54],[99,89],[101,90],[102,90],[103,91],[104,92],[105,93],[106,94],[107,95],[137,96],[108,90],[109,97],[110,98],[113,99],[114,100],[117,101],[118,102],[119,90],[122,103],[131,104],[134,105],[124,106],[125,107],[127,54],[129,108],[130,54],[253,30],[310,109],[254,110],[290,111],[291,112],[295,113],[298,114],[299,115],[302,116],[303,117],[301,118],[41,119],[305,120],[314,121],[304,122],[315,123],[287,124],[260,125],[319,126],[320,127],[252,128],[261,129],[286,130],[256,131],[263,132],[264,133],[285,134],[265,135],[284,136],[283,137],[262,125],[259,138],[231,139],[232,140],[233,141],[227,142],[228,143],[226,144],[229,143],[218,145],[222,15],[316,146],[249,147],[251,148],[235,149],[221,150],[258,151],[257,110],[217,152],[215,153],[216,154]],"exportedModulesMap":[[195,1],[196,2],[198,3],[199,4],[194,5],[237,6],[248,7],[244,8],[242,9],[243,10],[239,11],[238,12],[241,13],[246,14],[245,15],[247,16],[209,17],[205,18],[212,19],[214,20],[202,21],[203,22],[207,15],[208,23],[213,24],[267,25],[280,26],[279,27],[282,28],[281,29],[266,30],[140,31],[145,32],[142,33],[143,33],[144,33],[90,34],[139,35],[138,30],[151,36],[150,37],[149,37],[86,38],[45,39],[46,40],[47,40],[48,39],[49,39],[50,41],[51,41],[53,42],[54,39],[55,42],[57,39],[58,39],[59,39],[60,43],[56,39],[62,44],[64,44],[63,44],[65,44],[73,45],[66,44],[67,44],[68,44],[69,44],[70,44],[71,44],[72,44],[74,39],[75,39],[52,39],[76,39],[77,39],[78,39],[79,39],[85,39],[81,39],[80,39],[82,39],[83,39],[84,39],[297,46],[182,47],[172,48],[170,49],[171,50],[181,51],[179,52],[177,53],[175,54],[178,55],[176,56],[174,57],[180,58],[269,59],[270,60],[276,59],[278,61],[271,60],[272,60],[273,60],[274,60],[275,60],[294,62],[293,63],[317,64],[318,65],[165,66],[166,67],[167,67],[164,67],[168,68],[183,69],[184,70],[185,71],[189,72],[186,73],[161,74],[153,75],[156,76],[157,77],[152,78],[160,75],[158,79],[159,75],[288,38],[312,80],[311,81],[308,82],[313,83],[136,84],[94,85],[95,86],[96,87],[97,88],[98,54],[99,89],[101,90],[102,90],[103,91],[104,92],[105,93],[106,94],[107,95],[137,96],[108,90],[109,97],[110,98],[113,99],[114,100],[117,101],[118,102],[119,90],[122,103],[131,104],[134,105],[124,106],[125,107],[127,54],[129,108],[130,54],[253,30],[310,109],[254,110],[290,111],[291,112],[295,113],[298,114],[299,115],[302,116],[303,117],[301,118],[41,119],[305,120],[314,121],[304,122],[315,123],[287,124],[260,125],[319,126],[320,127],[252,128],[261,129],[286,130],[256,131],[263,132],[264,133],[285,134],[265,135],[284,136],[283,137],[262,125],[259,138],[231,139],[232,140],[233,141],[227,142],[228,143],[226,144],[229,143],[218,145],[222,15],[316,146],[249,147],[251,148],[235,149],[221,150],[258,151],[257,110],[217,152],[215,153],[216,154]],"semanticDiagnosticsPerFile":[192,195,196,197,198,199,193,194,237,248,244,242,243,239,238,241,240,246,245,247,209,205,212,210,200,201,211,206,214,202,203,207,208,213,204,267,280,279,282,281,266,140,141,145,88,142,143,144,90,139,87,138,151,148,150,149,43,44,42,86,45,46,47,48,49,50,51,53,54,55,57,58,59,60,56,61,62,64,63,65,73,66,67,68,69,70,71,72,74,75,52,76,77,78,79,85,81,80,82,83,84,289,297,296,182,172,170,171,181,179,173,169,177,175,178,176,174,180,269,270,276,277,278,271,272,273,274,268,275,255,225,39,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,40,292,294,300,293,317,318,165,188,162,166,163,167,164,168,183,184,185,189,186,187,146,147,161,153,156,157,152,160,158,159,154,155,288,312,311,308,313,309,135,92,136,93,94,95,96,97,98,99,100,101,102,103,104,91,132,105,106,107,137,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,131,134,124,125,126,127,128,133,129,130,253,307,306,310,254,290,291,295,298,299,302,303,301,41,305,314,304,315,287,260,319,320,252,261,286,256,263,264,285,265,284,283,262,259,231,232,233,227,228,226,229,230,89,219,218,222,190,316,236,249,251,191,223,235,224,250,220,221,234,258,257,217,215,216]},"version":"4.4.3"}
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/ulid/dist/index.d.ts","./src/api.key.ts","../../node_modules/@types/aws-lambda/handler.d.ts","../../node_modules/@types/aws-lambda/common/api-gateway.d.ts","../../node_modules/@types/aws-lambda/common/cloudfront.d.ts","../../node_modules/@types/aws-lambda/trigger/alb.d.ts","../../node_modules/@types/aws-lambda/trigger/api-gateway-authorizer.d.ts","../../node_modules/@types/aws-lambda/trigger/api-gateway-proxy.d.ts","../../node_modules/@types/aws-lambda/trigger/appsync-resolver.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudformation-custom-resource.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudfront-request.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudfront-response.d.ts","../../node_modules/@types/aws-lambda/trigger/eventbridge.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudwatch-events.d.ts","../../node_modules/@types/aws-lambda/trigger/cloudwatch-logs.d.ts","../../node_modules/@types/aws-lambda/trigger/codebuild-cloudwatch-state.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-action.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-pipeline.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch-stage.d.ts","../../node_modules/@types/aws-lambda/trigger/codepipeline-cloudwatch.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/_common.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/create-auth-challenge.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-message.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/custom-email-sender.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/define-auth-challenge.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-authentication.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/post-confirmation.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-authentication.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-signup.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/pre-token-generation.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/user-migration.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/verify-auth-challenge-response.d.ts","../../node_modules/@types/aws-lambda/trigger/cognito-user-pool-trigger/index.d.ts","../../node_modules/@types/aws-lambda/trigger/connect-contact-flow.d.ts","../../node_modules/@types/aws-lambda/trigger/dynamodb-stream.d.ts","../../node_modules/@types/aws-lambda/trigger/iot.d.ts","../../node_modules/@types/aws-lambda/trigger/kinesis-firehose-transformation.d.ts","../../node_modules/@types/aws-lambda/trigger/kinesis-stream.d.ts","../../node_modules/@types/aws-lambda/trigger/lex.d.ts","../../node_modules/@types/aws-lambda/trigger/s3.d.ts","../../node_modules/@types/aws-lambda/trigger/s3-batch.d.ts","../../node_modules/@types/aws-lambda/trigger/ses.d.ts","../../node_modules/@types/aws-lambda/trigger/sns.d.ts","../../node_modules/@types/aws-lambda/trigger/sqs.d.ts","../../node_modules/@types/aws-lambda/trigger/msk.d.ts","../../node_modules/@types/aws-lambda/index.d.ts","../../node_modules/@linzjs/lambda/build/src/response.d.ts","../../node_modules/@linzjs/lambda/build/src/log.d.ts","../linzjs-metrics/build/metrics.d.ts","../../node_modules/@linzjs/lambda/build/src/request.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/ts3.4/base.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/ts3.6/base.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/base.d.ts","./node_modules/@types/node/index.d.ts","../../node_modules/@linzjs/lambda/build/src/response.http.d.ts","../../node_modules/@linzjs/lambda/build/src/request.http.d.ts","../../node_modules/@linzjs/lambda/build/src/function.d.ts","../../node_modules/@linzjs/lambda/build/src/header.d.ts","../../node_modules/@linzjs/lambda/build/src/request.alb.d.ts","../../node_modules/@linzjs/lambda/build/src/request.api.gateway.d.ts","../../node_modules/@linzjs/lambda/build/src/request.cloudfront.d.ts","../../node_modules/@linzjs/lambda/build/src/index.d.ts","../geo/build/bounds.d.ts","../geo/build/epsg.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/tile.matrix.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/tms/nztm2000.quad.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/tms/nztm2000.d.ts","../../node_modules/@linzjs/tile-matrix-set/build/src/index.d.ts","../geo/build/tile.matrix.set.d.ts","../geo/build/quad.key.d.ts","../geo/build/wmts/wmts.d.ts","../geo/node_modules/@types/geojson/index.d.ts","../geo/build/stac/index.d.ts","../geo/build/stac/stac.attribution.d.ts","../geo/build/tms/index.d.ts","../geo/build/tms/nztm2000.d.ts","../geo/build/tms/google.d.ts","../geo/build/index.d.ts","../config/build/config/base.d.ts","../config/build/config/prefix.d.ts","../config/build/config/tile.set.d.ts","../config/build/base.config.d.ts","../config/build/config/imagery.d.ts","../config/build/config/provider.d.ts","../config/build/config/vector.style.d.ts","../../node_modules/aws-sdk/lib/error.d.ts","../../node_modules/aws-sdk/lib/credentials.d.ts","../../node_modules/aws-sdk/lib/credentials/credential_provider_chain.d.ts","../../node_modules/aws-sdk/lib/config-base.d.ts","../../node_modules/aws-sdk/lib/endpoint.d.ts","../../node_modules/aws-sdk/lib/service.d.ts","../../node_modules/aws-sdk/lib/http_response.d.ts","../../node_modules/aws-sdk/lib/response.d.ts","../../node_modules/aws-sdk/lib/http_request.d.ts","../../node_modules/aws-sdk/lib/request.d.ts","../../node_modules/aws-sdk/lib/dynamodb/document_client.d.ts","../../node_modules/aws-sdk/lib/services/dynamodb.d.ts","../../node_modules/aws-sdk/lib/dynamodb/converter.d.ts","../../node_modules/aws-sdk/clients/dynamodb.d.ts","../config/build/dynamo/dynamo.config.base.d.ts","../config/build/dynamo/dynamo.config.cached.d.ts","../config/build/dynamo/dynamo.config.d.ts","../config/build/memory/memory.config.d.ts","../config/build/tile.set.name.d.ts","../config/build/color.d.ts","../config/build/index.d.ts","../shared/build/const.d.ts","../shared/build/log.d.ts","../../node_modules/@chunkd/core/build/bytes.d.ts","../../node_modules/@chunkd/core/build/log.d.ts","../../node_modules/@chunkd/core/build/source.d.ts","../../node_modules/@chunkd/core/build/chunk.source.d.ts","../../node_modules/@chunkd/core/build/chunk.source.memory.d.ts","../../node_modules/@chunkd/core/build/composite.d.ts","../../node_modules/@chunkd/core/build/fs.d.ts","../../node_modules/@chunkd/core/build/index.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.mime.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.tag.id.d.ts","../../node_modules/@cogeotiff/core/build/read/tag/tiff.tag.base.d.ts","../../node_modules/@cogeotiff/core/build/read/tag/tiff.tag.offset.d.ts","../../node_modules/@cogeotiff/core/build/vector.d.ts","../../node_modules/@cogeotiff/core/build/cog.tiff.image.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.version.d.ts","../../node_modules/@cogeotiff/core/build/read/tiff.gdal.d.ts","../../node_modules/@cogeotiff/core/build/read/tiff.ifd.config.d.ts","../../node_modules/@cogeotiff/core/build/cog.tiff.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.endian.d.ts","../../node_modules/@cogeotiff/core/build/const/tiff.tag.value.d.ts","../../node_modules/@cogeotiff/core/build/const/index.d.ts","../../node_modules/@cogeotiff/core/build/read/tiff.value.reader.d.ts","../../node_modules/@cogeotiff/core/build/index.d.ts","../tiler/build/raster.d.ts","../tiler/build/tiler.d.ts","../tiler/build/index.d.ts","../shared/build/api.path.d.ts","../shared/build/api.d.ts","../shared/build/vdom.d.ts","../shared/build/vdom.parse.d.ts","../shared/build/composite.error.d.ts","../shared/build/logger.fatal.error.d.ts","../shared/build/proj/tile.set.name.d.ts","../../node_modules/polygon-clipping/dist/polygon-clipping.d.ts","../linzjs-geojson/build/types.d.ts","../linzjs-geojson/build/multipolygon/clipped.d.ts","../linzjs-geojson/build/multipolygon/convert.d.ts","../linzjs-geojson/build/wgs84.d.ts","../linzjs-geojson/node_modules/@types/geojson/index.d.ts","../linzjs-geojson/build/bbox.d.ts","../linzjs-geojson/build/construct.d.ts","../linzjs-geojson/build/index.d.ts","../shared/node_modules/@types/geojson/index.d.ts","../shared/build/proj/projection.d.ts","../shared/build/file/file.config.d.ts","../../node_modules/@chunkd/fs/build/fs.abstraction.d.ts","../../node_modules/@chunkd/source-aws/build/type.d.ts","../../node_modules/@chunkd/source-aws/build/s3.source.d.ts","../../node_modules/@chunkd/source-aws/node_modules/aws-sdk/lib/error.d.ts","../../node_modules/@chunkd/source-aws/node_modules/aws-sdk/lib/credentials.d.ts","../../node_modules/@chunkd/source-aws/build/s3.credentials.d.ts","../../node_modules/@chunkd/source-aws/build/s3.fs.d.ts","../../node_modules/@chunkd/source-aws/build/index.d.ts","../../node_modules/@chunkd/source-http/build/http.source.d.ts","../../node_modules/@chunkd/source-http/build/http.fs.d.ts","../../node_modules/@chunkd/source-http/build/index.d.ts","../../node_modules/@chunkd/fs/build/index.d.ts","../shared/build/file/index.d.ts","../shared/build/util.d.ts","../shared/build/index.d.ts","./src/routes/api.ts","./node_modules/@types/pixelmatch/index.d.ts","./node_modules/@types/sharp/index.d.ts","../../node_modules/p-limit/index.d.ts","./src/routes/tile.etag.ts","../tiler-sharp/node_modules/@types/sharp/index.d.ts","../tiler-sharp/build/index.d.ts","./src/wmts.capability.ts","./src/router.ts","./src/routes/attribution.ts","./src/validate.ts","./src/routes/tile.ts","./src/tiff.cache.ts","./src/tile.set.raster.ts","../../node_modules/@cotar/core/build/src/tar.index.d.ts","../../node_modules/@cotar/core/build/src/binary/binary.index.builder.d.ts","../../node_modules/binparse/build/src/type.d.ts","../../node_modules/binparse/build/src/base.d.ts","../../node_modules/binparse/build/src/bits.d.ts","../../node_modules/binparse/build/src/int.d.ts","../../node_modules/binparse/build/src/lookup.d.ts","../../node_modules/binparse/build/src/object.d.ts","../../node_modules/binparse/build/src/offset.d.ts","../../node_modules/binparse/build/src/var.d.ts","../../node_modules/binparse/build/src/bitstream/index.d.ts","../../node_modules/binparse/build/src/hex.d.ts","../../node_modules/binparse/build/src/index.d.ts","../../node_modules/@cotar/core/build/src/cotar.d.ts","../../node_modules/@cotar/core/build/src/binary/binary.index.d.ts","../../node_modules/@cotar/core/build/src/tar.d.ts","../../node_modules/@cotar/core/build/src/index.d.ts","./src/tile.set.vector.ts","./src/tile.set.ts","./src/tile.set.cache.ts","./src/routes/health.ts","./src/routes/imagery.ts","./src/index.ts","./node_modules/@types/aws-lambda/index.d.ts","../../node_modules/@types/ospec/index.d.ts","./src/__test__/index.test.ts","./src/__test__/tiff.cache.test.ts","../__tests__/build/assert.d.ts","../__tests__/build/test.tiff.d.ts","../__tests__/build/index.d.ts","./src/__test__/tile.cache.key.test.ts","../../node_modules/@types/sinon/node_modules/@sinonjs/fake-timers/types/fake-timers-src.d.ts","../../node_modules/@types/sinon/index.d.ts","./src/__test__/tile.set.cache.test.ts","./src/__test__/tile.set.test.ts","../__tests__/build/rounding.d.ts","./src/__test__/xyz.util.ts","./src/__test__/wmts.capability.test.ts","./src/__test__/xyz.test.ts","./src/cli/tile.set.local.ts","./src/cli/dump.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/mime/index.d.ts","./node_modules/@types/serve-static/index.d.ts","./node_modules/@types/connect/index.d.ts","./node_modules/@types/body-parser/index.d.ts","./node_modules/@types/express/index.d.ts","./src/cli/serve.ts","./src/cli/validate.ts","../shared/build/file/__test__/file.operator.test.helper.d.ts","../attribution/build/attribution.d.ts","../attribution/build/index.d.ts","./src/routes/__test__/attribution.test.ts","./src/routes/__test__/health.test.ts","../../node_modules/@types/node/index.d.ts","../shared/node_modules/@types/node/index.d.ts","../tiler-sharp/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"4576b4e61049f5ffd7c9e935cf88832e089265bdb15ffc35077310042cbbbeea","e4e832ae5f0e25c70c8a3b7b8a4dad488c8b969b9595c358d60fc22fca406283","00a008cdbec3397ad26c9addd40fa1b64d2956d7c55caf15e434bbd1e5d35af8","a01a37a9992e93550d9d0b184eb6727b7fce8c11bb46878ad20cbf7f731e1e33","bc9d1a62f3ab938e3ac66b85363c8f1ec1c5b9cf32e5d393f7b14209b4811c48","2941ebbad2c99ad0cb2e2491324a8c532d5e05a1712bc30e7bdf375131b2a20a","6bb7cbba94c9a5c43add2e17d93d04da08e51a69d412e9d1afaf130f4624e91a","7b8f96d5fda0ce8ba9a9203090136175aeba9408eba089756c0b94c740c54429","67444330be1e766248afa0e4141b26174f774e6f44a361d7f880f70a31faa8c5","7b4441d054bf573a6241f869d43697e1d723bcd740e4453db393c6a0fbe83b25","004678b644cdb4615ac6cda7b2d285d0eb850e55eb53da47e8c1325cba362bb9","d12b75f884942952f25c2e9d27d4ac149e518286167c78a292deb89b59f65b22","0dad26ffdf5cae28cb67ac9c0ce06c7ec732001b01046f47eeaa4ee5a3655f5d","a3083d0ef2ab7bd00f400ce61035ab38f211cd848ebca9164d7410afeed9fad7","4194cc6e823aa830a71c733b18d0de1c29323b102c6460e9fe835ac5f8b8a9ba","4ff4add7b8cf26df217f2c883292778205847aefb0fd2aee64f5a229d0ffd399","420878898a89ebc3515fb87bbfd6662f0432fe918652669414b584c2540e3bc8","c24e2fddbca24f0b63d0b82e5aca4da50c8c591566711be7260c900c97d7c9f2","f4922a1814e47fdb4d93c2cf27968ea30c174e04d4a3374774046a9307dbbaf0","bfff1bb349423cc262a88775d8233f7ea2b87d66ba1f0631eec0c30bea097dd5","a177f76c040e29b9c31adfc93225c273828ff784b592bf56c6131771e624f628","06236dfec90a14b0c3db8249831069ea3f90b004d73d496a559a4466e5a344a4","19c08e1ce502625c711682ec21495ca47ca893b21f346621e7a175bcd677335f","5d36c521b96ba0d4b98919ca833c8cc62f1f225d40467122ba561a2c5553ab80","ea79b4e194a5864c9540003c4eca742d5602ff1399e443a315e2789f39d8c8a3","2b3046d66390c6447811adc06be3b085a7f396c53a7a4670d11159672d5aeb15","0aaa0e1d10349bc24bdee9dd2bca420741f1deb7028c7a17a2b9d5df2f5d9d63","dd289cb306f619c7844ff82fec02badc571c6ed66c7da72815239647febee137","754fb3e7737eb1feb7fcf4902e925cae8c050dd134819deb25ae3ed6843b7dd1","f05c1be0c5bf0e983941f9f75a43297b04730393d0bdabc687066d8b1d6b8d16","a97972e1e9b4bc5d31380c695b7a827c014bd042ec17369bc4d920a1fab7d47b","b5740b8d4723dcdc408195835a52cc83501b1f44399e3104eb4677b082c8973e","feb17c6ab54766cb447ed7efa1da2eacfe289d024da02eb0171fc072704f9be7","dd50796be484a4f4f3733dd67d0a829d93c5b6dd678552d40683f89e6767706c","288fbc46929c0e9d9cab822bfcd1e6d7392baf211a067a349052a7a6fbc5a4ca","b12effb4e275d1e3516506c030f4046283cc7a4d7e2b4e316b4397446444aa22","c173eaede09d9f153a0cb1c51ffe5cba7408f46a4e1187095cbf20b8f68d1dbe","66738976a7aa2d5fb2770a1b689f8bc643af958f836b7bc08e412d4092de3ab9","a4fdcbd860e40aa68ed5882a8ec7cced6ed405272dfac29fbc47803419dd2713","ea7abdaf48601d8d84e0962f628f61d3738637ff26f2362c90f514a337bc8305","3809c600654ed5b6bdce015f7110d40a75e402e59de80c12b622b925f44a8599","cec3cf5159f51f7725d5b06b631996fef4863d8f5c237b8a3f9a18f5570c8286","47ffa0bd85219fa1551c7cb128e3e1b44f980c9eb5baee26b0164db191ab917b","bb7de140ec25957e693e6b48de186b7229653d5c683fe7bbd1d24bcc66a86a15","33db1b492d92effbcc562388b6d448e28e8304d6a926f513dd760a6bc4cba2b3","ed06ac88318a21a9761abbf0dc49c40f6f6c38689550e205b1e05d22a7922b2d","b7917163a8867f4c952a8968ae0157bb52461b739ae96727e36699715f9b014f","279aaf653a0d8b30854be4eb5ecea8cfa50b5985dcb08a30560c4e5712d64434","29b04b0c79815163d2ea310e4ae6682adc0c56498927d7acd8b05252bd7205e8","747837b1d3c7e8d2c4f415fffd5c6649aee22d312b1995bb2e666a3bf34516f3","155e52bcafd54094289f9c2fd06d84f718d91052c7a4d86b4d8d6ffadfa33574","05292da3ec0dbba6c5c97642323f6906ac7008bc04d6d0186dc5ec3e79b55d45",{"version":"215d8d9a2c480fd460127edc048d68d9931d3b27f95132253a6e71975f060bb1","affectsGlobalScope":true},"c438b413e94ff76dfa20ae005f33a1c84f2480d1d66e0fd687501020d0de9b50","bc6a78961535181265845bf9b9e8a147ffd0ca275097ceb670a9b92afa825152","a4b5411d87995b9fb847f491f4388b38f829d8ab39be3e2fd65a3e40709f29a8","123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803",{"version":"eb5197aade83cb0e360ac407289c53a8009e8fdae7939892a0240d30444496b6","affectsGlobalScope":true},"90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720","3d9c3ccc05ebc6e288bef007bcc47a2fc0dce748ea634093ef0732b9be743805","7e050b767ed10c7ffbc01f314defbf420bf0b5d54ce666e1c87507c035dfc191","d6bc4b879a18de0a1ba065b9a1c6888c67d98f3fe4886584459cdaa9e211a5f7",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"153d835dc32985120790e10102834b0a5bd979bb5e42bfbb33c0ff6260cf03ce","affectsGlobalScope":true},"80b94a222a5e83289583833de76f8b3a5962ec4c3803690e20c875a2776ddfdc","05b5679a897598ebe556ee93415b3af1f456e674ea82e4d7afcd716bfe43aa98","f2f8a385694fd71a421616cbaca477a539f30f4098f11261b1d188d72dc3478a","f15f1f1104aaf47d25124de81949375416e3f8ee704e3d221bea339e35421edb","c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a","6c3857edaeeaaf43812f527830ebeece9266b6e8eb5271ab6d2f0008306c9947","bc6a77e750f4d34584e46b1405b771fb69a224197dd6bafe5b0392a29a70b665","5345d90ffb42ef6a15807f494b38b818f668f5fd6e5086586497ea0125334cd4","ed4ae81196cccc10f297d228bca8d02e31058e6d723a3c5bc4be5fb3c61c6a34","84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35","4982d94cb6427263c8839d8d6324a8bbe129e931deb61a7380f8fad17ba2cfc0",{"version":"ae4bc1dd4d9de7bbea6ce419db45af82a81358e6014c9e1235b5d252e06f8ab8","affectsGlobalScope":true},"3f6a1fd73c9dc3bd7f4b79bc075297ca6527904df69b0f2c2c94e4c4c7d9a32c","884560fda6c3868f925f022adc3a1289fe6507bbb45adb10fa1bbcc73a941bb0","6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9","acbed967a379b3e9f73237ba9473f8b337eeea14b7dc64d445430b5d695751da","e7b5a3f40f19d9eea71890c70dfb37ac5dd82cbffe5f95bc8f23c536455732d0","d67e08745494b000da9410c1ae2fdc9965fc6d593fe0f381a47491f75417d457","b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9","c52eb62e3388a01b966c57bd14ca0ee9d5f6e656d6a18f6ce6b7cdece63734a3","a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638","3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748","4001971b90f18161f7bd46d68150d32a5da47e3f177956a267a2b29a2771896a","f28704c27e1bd58068052f5407541a3306f0ffc77f068e2891f46527a4569e25","289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953","baf0b82ffc5d2616f44a6fb1f81e8d798545bebf0c30f5d8b003a1dba1acfb3f","c6a5b34f1e725019445754f1e733585f113e0dced75f137bd3c4af5853d3f6ab","15fbe50526244954eb2f933546bca6cdcf0db16c9428d099b3b386c1db5799ab","d44028ae0127eb3e9fcfa5f55a8b81d64775ce15aca1020fe25c511bbb055834",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3","ad1ae5ae98eceb9af99061e83e867b9897d267aebc8f3b938c9424deabadf4bb","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","744e6430bafc6f39f66c4fc1e6a0d8c9551260ffd1782aa7e3f5166ac6aa1f86","caf42da4e37b5210a3c116ed8342fbc7702a94c88bff9b5c55e2cb8ed14d8f19","23a5f8e08b8543e1787f01d8c8772649afec38c16c42d72fc17a5058f30ddbcf","34461a64ac4bb4f8b61ce3bb3feed880832adb929795bfcd0899cb3ea1df216b","6ec0de1fdbc92aaf64fb27ad1ec8f163b481474f7a3598271284633820362792","ff01870c8a08149f3b1aa48198b10964b78706c05015c12e84cfc8c843dddbe2","58959805087d113c356e72dc495fa4c59c245135d47eabe5b5b4986151c64b90","8c6063dfa38607877826b9c08cfac3e3dc9060f7c0df3a88f5078edc8c85f6c3","10b10b387cae11f9a0117c8bef691d86f8e7009be5ec259dfc2f025a6de92270","7abc632ee39f3103688e2f8bc2db882900482b171700ee5e78af737bcf81fde5","9b4bd9569c82c41fca1ed3e0e032748331e878f6004d209b7c8500e93f4ce86e","66b4dbd8c55032a722bd15bca6ad56c55a1bcee668e106a9ec15ca47682d9fb8","54ce4ff8aadcb4d46fb053ba1a3e2821aa6507b0d4222608b8818bacc3e17c57","dbfcbe2d029a939a641dbdb026aca7c7a722887e570f361b4158a1e6c4f2ff3e","d7491dae8eb676e1cd0db1d098dbbc5f97580e1ebd2f4592d83442007d0dd816","7ee214ab32336e9623ee803f55a5b0b6ee165fe93a74595f6100bfe1d097eddf","2b79fac42518ac41b95cbcb3524cb72ff41a324290947fc2b586c94b4aabdf1c","4fae3ffd3d32c4036382632c6a6352de02e78ab38d5af5a82bdc30ebcb8998c6","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","7ed52d89f5c577bf76966b767c9ee6f0b7437f546e5021814787040dd023ddaf","55593b7b03d8fb68a63b287a0cfb9feefa2597b216e7046ad05036ec4308071f","1596f93119437a7ebda235059d456861b24cb1053e3cfa91aa5289ee4703fb77","27da118287ca4cf149e7e2561b37e278b474e1dfa824c7d55fa2cf04e63df815","910fe39f15fad126dfc2fa31317a92a6871f97d707d187758a2200630fa4b560","68792da7b9f6275dd1032dee7745540467cc0bba6a93f9f7d8cdbe0524ae2ddf","ab9f6561974242037fe915d081d581d2dcf45beedf0ffd4bd7dc9c16ad923e84","7c7f37a5a03603c0616418486478a81a47aa84147e5297ff7a11ef551a0476d8","d3e4cd757c2da369cc221a4951fac13d2c0c87482aecbba44f27be1a7805c32b","287d2aede0b56381de21eee52037d07681f1fa86a933097fcba09525c78508d3","16b637c76ed9ca9159d2cacbf2dc87c2928fd96767ae6bc61a8b8b519562b78d","dfab96880e7fc7ad6f0fd1a0739ca505285fcf31a976f3bf385ba0f80b54955c","8117663b31a829f4bfd7c900fb1b009380e1610affc73824f80c39a05f8ec4d5","aee22a16add1c6362d3f37af8f779595330b223ed5dcdd612bc7e5ef473017a4","0ada350a456f9f750c609c3f13a47c22a07dadf69510c164d13d152e681eb03a","dca94cc98d7175b117cc3cc470487a6d90073a91c5dcfaaf4dc42c8db6e5cdb1","22ea339c8ab2544fd4facaaec87298344f20cbfb988ec2b6cdf293b2bbc5653d","319d2d6122ea3112618f324e9cf3ac2f3e9a3eac4ef3a3eaaf60c6863783aa41","eee40625de078409f90c1d9dcd735e58cc45b2e3931e30210aa2c3a7a00e9d05","3ef72bda86404981d8145dfdfa2924e367a2aaeb883e7f50abe34c665ae7e5c0","df0f4d23c236280d5e28397e6ac7b09130ad2c729b09c604865f3f61effd1c92","3620bd96018b6c081228c60ea129312de9e14c007b9a8521c7c97f7fd27e176e","c6efe7c64b9a2e654aa38cf233712b50153019723d0a0b424f620b9cf6d50b02","3692331e271c67a24db0ab19f5913be9c4b62e9b4e0cbdf58013e63aa465a78b","6076f6537f99cef60fde291607da98310da1b04d520f3c1bd1b8423311fb3807","4ccccbb32314f379efaa2dd63c9b98c396685797c20b75254b639e8ee5c74f2a","403857a2f9711da37c73724cf2eba13216fbcd7f27f51920542cb7a3cc2694f9","25ce2b50cc95e4204f999126ca86ed6a06d726316cc780610f84970c2fd3dd08","ba13a6260607fa8634698011eb2324b0ce2c49b6679cd5fe6550f8a1faa27cd0","2504a36390c013b82a3cb73663dfe248fc5c0c7f7cb84087bed10688ad69c391","2d7f0f240f89362c2c61c210ea26b2fb3764fdd9c1e2974d162325ac84523ca0","42f1cef165018dab87f397c2a132a637b5286cf11a6c5688d14e2a1256f412da","b7dc3fdc7365e56eeae177d860e2da8b3e1339b1a4874e7d79944897fbe9d84c","4516522e2ed8500a901d44c4f5c47af659af62c8f0834622f6596742a3d66d1b","33b7bf7e23f2a6ffe5c151bda84343612da0c4dd92dfe364188e8b24a0b32a0a","790e4fb5eec03dd26ed35f7a86e0a33ad80cc4e7dee92edded01c21f27c3deb2","dffd914399c5c17e919f268e67fbfd118db2f9fed44137de94069ee45c3f4d1d","c8b83649c0103e6149ab330106fb467bce936eecf760b16b6133d265e021d859","cbc220a9ca24327a8c8749bedb3ba362e99ce714d9ff2f595c779b08c332c75a","3c2f0b8890716f05909758ca4cb1b1f23abe5c32c094373ce3f1204c6a2ce05c","8a9e08facccff44f19956a887daec3fd8817586d1ac705c676a94a2aa5b2ebd6","918d6fee59ae12f3d7e253feadbdff4d00dc3f019461799d74744378ca7c96ca","18c7507633419c1ebbac46ad73c1fe158d7bec5ba89ad775cd7661e12ea65f67","d24ad32575696e3979d50358904f86be0158e20a2ed2ccdf050caff97cb977d3","563f66334e0467d1e0684bdc9ad98ee6bc2792c0cf7f43ceac07362b51e6475a","9ae3616f7bc4f8d39e5465054ae62b169bdca296b7be995635b212c3580964a0","6ce446629e8f68942582c764d8bc65330d7a6a5d777f3406c0f9f599fe900986","6866d1945a7700bd026e831be7bc8fc2c93fe1ebd520f8f66297fbb9da5d2b11","dbdf862a6fd68c90550daf41857c07d838d270a3886cdfa7410da0f3421c0643","a764431dcbea584388908f02607008a9e0f82e1638b88342c4c6bd19badb8a38","807804c343b2b5a66bb76b153a9244781b050cb52c462727105d53979d4a12f0","651c27f7741f593207b051ff9baf9c6b3ef7f7491ed88ef0ec72c1b4a8f643aa","7f093f39ffe2be7ac5e92bdf9db76394a93d36a0960d29592636cf9221abe085","c33f98a73556ea7d93a896d02a6757419ac6492ccfdc7310d053ac6af6d44fc5","36a779c68a633117ef761da78907d64f35f9fbd87272c15df2654b73ba54790d","467ee24d8368e9e9ccf0aa0d154b187d817918c53b564745097a8e3079b198ee","510f0ea8b96de853286790f34bb0a2c185eb2c0f88bbfa50f59bd1e87462c505","47e5fcd1e84c7af25d009c60caa4a00967db9e7c45a9d33ddcc35a9449f1297a","d66e84a8ed0ff7cfff3a10082495fe42ab13d1e4f472d0504750d040783535fc","52ce2769bcb8bd44e49a9bf0d4436d0cec7a29a3cc522d985263f203b63bcf75","10260b1c8d868d4c87caf67eca37f644839c730441feb97daf387863896201c9","3b8e97a451adb6d0c47d2bed2666532512390aa3bc73c13cb68e52ce4df25a71","c731d832e927fb187ab7d2285f62d9a7da324c83c4ccb11597224d74dbe1a296","eff52cb92b4fb6c7a376f0b4e6d99d8d096feea9455c4e3d278bd3bc2cc3a248","67268afe739eccacdf0543356991d5a5126457fc6110d8269d835deb9599f1da","7fef2adbb2595365183cb2fe6135f5c309866031a3fca671d3b4e6af7a1c5e4c","5f36dfdde574aded80e90461c1715fe7da653272fc9b4df19a5a3a2956807c68","ac2d0f82e8996b339de9e81af46cf4655a0a1a210828a3221a5925de378df0b1","16be41d1611dd3c6dcc1b1b847be6d674e09ba97a67d1c0c05574e276f139841","c95c8658835a8d86c712226f74142d79e67472df0f1d3c246284b954f08b9a9a","69d3675f2d56cc5a04aadb46fe3873ee91e0e0a114b56fc17e4d8c52ff5cc953","606139aff125a156a0c38fe39d73bbcde55bbb712d657d769eb94b46e828d0bd","289be79019a382a8c9e8d0303fbba55f8458fb3a4f301c76122011470dda76a6","0873e311512c89c56a9e2fd8e10535412aaa8d0472edbb094bc8278c8b223175","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","f3568c3880f37651b4aa8dfe5bae5f09d9ddc31209b45a71651ccba6d066a18a","e3ed0ac12b0708215c6b4de0db47278f9c2800a29641a927762ef77210a7e96b","551a261ea922a1e414cef0a4d012e6599931c0054d08d1a09f780a93948e4f23","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","faf727c56e66f6de06b930c17010a9d04725018451ad6e4b97b972087974d64e","651e566b6a06ba7803227c0823a275da9a01dd2f3b91ad2734f845e7dca9817c","cc675f2f2a6186254e08d68d60f9d8bc1b6b88b5c8be3ff5e437c3741f058e73","1bee79a673a344da6e22fe5dd843f949310c992cc7f6c29821a46c910d3ced15","7d9f7fb53e34b7d6ff0342f1977522364230449abfccff2dec5e9e7c5161badd","aee22a16add1c6362d3f37af8f779595330b223ed5dcdd612bc7e5ef473017a4","cc02a7cda1aa5d3f8367d1c3731a4a0f8a8543d1288ebc728c12a31d91310d31","3a4d0d6d3d68861dc035dfd1001225705d96711bae890887685d4dc6c5c6e2b3","e6e22da07742cac41a1f7cf8dbddf434008d9c3f6c4211081957830b37c070ef","b1e8603a85c707afecb28f02e6b335e058d7ec74a18622a684372dbf5c98c977","dd5652715e401b1325577999b59fe6c266467db1b35b8d5f20ab1e5b3e6b790d","567fa7d9e36e37c04fc868e0c8217c905fa4519b103423914a5537a3f5a21f58","d963bb2f582a3311fd631fad26a7896ada3d87fad1c34eef0e1a3ff5810cf2bd","eee89a1a7c40b5a027d3ce053b4fc83d22ceb9de3f84dafd4e7f522aca580b5a","aff62954334a4d6ce6fb6af5f282167c96bfb12ce253cdbd95b05bf909291e6c","af5cfbbbc3f6bf1018e7933ddc93dd0614c5447cdd238ed82d988c42ad91f88b","9039f6e9036b5dd664dcdecd82724eba4f2fc43d6de8ada42fdebe4a58ce24cb","70af87be5b901876816b6b1f2d9dd03e1e14fea1dd29f32aadf7dd71de3d8df3","f30350dd37c3f3c11f47adb7ce4e7a4928f578f4ae8a3197e0c8a0811da46b92","6c93d738e8ec62097d8bf41c55e1b44c12a655f85e980d27c60462c9219a0364","098ef3f011cfadd9e4ff013dd051a39545536793ecbb92da1b3c32b808a7c114","7b9ff22d494344b0de57f22ad71f4291fcb6730f9707c602f3da54798d0d5ba0","6c93d738e8ec62097d8bf41c55e1b44c12a655f85e980d27c60462c9219a0364","bf309ef8e8e60a4531b2094d35b82561e5572f127fdab6cb1097da65079e107d","d72c24eade61fccbd6609c09605ebfd4460b53942eadc1e734c4c9419d509d6a","6d6c4d333e2189619ed7d4bc104d3b7878929ea98d7f2a6c648f99ad6aca4388","264302e349e68d01dfb1415e671d64d579b9103ee50b772f6c45a46f1225ae49","dfaad170f75f7fd6d710e8912daea64992e37c9da67dc04e128b7cf2e533665f","e59860943dca4dbe648bafcb359b5c39bf3373474370ef9cb1513dfe402d16f4","fb06017372605be7342ef2e6ad3f54bef4c8e960e343cceaabdfbb75e7b90e12","b3474e39f02680a0759357af764809dd6211e506a475ece7a720dcf3f8770802","7fe79ef06db30f7112fba96e420d49a5bafe72d15526627949f145c93c0b3b06","1ef3b2edf201c8625351cf97aedfbb4d86ae388e01c4e5ef028f9d201e8b7bba","9b7748093e33a3e33ebe19ef7ebc5430ce456678b4d1c2377b93df68cfbf1aa1","bf3f36677b4d54f068c54bfb32ad928105c108aae061750de181f3ae5a236768","699b4148c4613839e5cf47135b6a9741f7ce9ddb97d6eebd292181b0fe874538","04d4df2dc3d34c737ef982a2b5dd30aafc2c572de3950972d260b1199e530921","5467c1fa4e36c9a0badea8d4dff5cfaa179097f860c6da718e2914b8fb9d98f9","c7af82a6a74858a126e4179484adb54eae3f748f2c5613ced85bd954af4e6172","f5e9b99410de4ccacec9cba7624d76ab181d100b00fb85c9b4446ee52e9af4f5","79794823bd8587611be9fb93c9a0092e022cb016aa4eee10471a35cc0d9b4e23","444286791f5b9616c782d74da057aab871e7d7f167d417927e59e8dc437975ad","ae40030d1ada594408eba22f4155382d03273de0fb3a50b78abf457d49830c7f","ab0da58265574a8baaa95e8f23692a84c5d39068095dec7917439b0d1deb027c","1a1626c01e1bf8cee3fe413e01789fcf9d198f774358c9c5e0022a8eb1bfd0f4","839f2c0e4d4315e20325c7b30f070d64e324bb54b350e36bd79749c503578d34","693101d000023d84ee7c0828c6d7e17e7e61cbf7e528e8278b6c6515828baac7","b1b0a2ffd5fb578a0c6655edb9a003bed0c9cfbfc5f4b0bf636b228d6578a02d","372c73a07559fc90711e975e0055d76a4a3f4b2416735f916b16cf8c434ccc47","a4f8137e6a6b6b52a66f28f38b0e9e79972130d5f278cf5c736f07628a56a785","1d22bae901e8f2d63da4367c6036ea03404cb432a903172690cb3d0dbca70acc","881ea8153985c884d277f54a39891e9798a1d9deb72e5493b5e86c43f716fae5","5dff3e574081177fd252c9d09fb79651249893d2302d075b1f1b601a76e8cb09","cc4d23792e7a4c7369c7b6e5974089483623dc776a9681943edb53b796df5ecd","279aaf653a0d8b30854be4eb5ecea8cfa50b5985dcb08a30560c4e5712d64434","8b846751b63f73d7abf41def77978909c3980266bb667cee4c0ba32dcf007682","e44e5d6ba1252d34e92cf23378a73258cfb1aa798dd5392a2ffa2a051900beec","6dc02a8c72b96d570d09fc30121e4645a49e222461c17cf7aadd16efd3ee9106","c11570f30c8f55be00b6d1164869dc69174793a9986937f661eb41f224d43595","52143827e2fc4f1facf1dd5cc76036d02d0c4c1ef694e299beec6a8f1462f0a7","ea33fe61a5685449a6f035d0e5c1b11732472b23e7de77f4786e6043da1c7a92","b50dd2c598e2fffc2e83372d66c58180785f91f3cfc020ca8ef685f9fa13a273","2ec90a33a922779199b6d91a27535b8829635a40dc87ee578ee0a15cf5c5c2ec","15b043358a9bac56ee6a567d61adf545b3a09e2f2ead9c3ef3cc617ed3522e71","bdaee9a0ed44577180697f6b61a4e307f2cc332d0718c5a60b3097bf79fb68c6","6bf0ae59ebc8ae9579ceccbf4f64bbc7c1d85b35c64ce5d88b2b7dbb4a7811d6","2ba83ef56a91f39ddacd1596e864879d3e22021ca4ec3d32579c1f6bf4a3c719","b0250f628ba4d29342907329563d4530cb6e4948d00f91384c258c49a02bfa66","f926dbf73260ab61212100b4758e29309f13cf9adea44a39b4dd69d5e2571cf6","4886373061d5e968f85771206afc1b78e206e62419ab66b819e3c67143910d67","9447c933bbe36de86d1db096f6a4695e401df16b3ed0060c0628d39dd4c874fc","9bfbedfdef7671559b4b709379f7a83b50bb295caceba4b270f660dd4ac439cc","4e88b833be14c7f384e0dcd57bb30acd799e8e34d212635d693e41a75a71164b","98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e",{"version":"e41a1ce538d71d5a3389b7fc2e39c15a4972f0d4cb14bf2fe8cda8c361150028","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","3b02517f9be71f255eadab9892406055d069167891f1e1ea16c96c4ff1ddda01","81c14b89fa607b86dd726e2e3e91360cf8155ce97468404324d404a5bd65b2eb","ebddbd167c2fabd0151f50e5df94ca6d845149c47521280d8867afe3429dd078","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","d0351c4715a191fb8743aa6bec9b15da402c81026daeeecda16d7bbdd0265cbb","51eeb1cde84a8d2a198572f1daf807993ca13f04d832f0cc3f833cfeaf0b7757","706644b0ad06d9c50c10b64db1966cf9de904ce567b90dba0468faf7838e266b","28b3397525fc094cdef9ab5833c6d62c311a9f2fe9ecabe03abe2044d6c243f6","58f3108dfd1f4df91c71a25d9b3fd34d2405da56b69b9566a9638aa2896241ed","9f4dd5a47fe8b4c35c951555ace27945f8b4c9c92d99de8932337efcdae1e579","87e4bf4e3c71b3d5e02206275838543c199e83701102e195f5de21f124840bad"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"inlineSourceMap":false,"inlineSources":false,"module":6,"noEmitOnError":false,"noFallthroughCasesInSwitch":false,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./build","rootDir":"./src","strict":true,"strictNullChecks":true,"strictPropertyInitialization":false,"target":5},"fileIdsList":[[192,193,194],[195,322],[119,194,322],[192,193,194,195,196,197,198],[192,193],[119,199,322],[237,244,247],[239,242,243],[241],[119,199,238,239,242,322],[199,238],[119,322],[240],[119,199,245,322],[199],[245,246],[199,205,206,207,208],[199,200,201,202,203,204,209],[200,201,206,210,211],[204,205,209,212,213],[209],[199,202,209],[199,206],[199,211],[137,199,266],[199,271,273,278,279],[199,280],[267,279,280,281],[199,266,273,278,280],[137],[86,87,88,90,138,139],[88,90,138,139,140,141,142,143,144],[86,125,137,138,139],[86,87,88,89],[86,88,90,125,137,138],[148,149,150],[148],[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,73,74,75,76,77,78,79,80,81,82,83,84,85],[42],[42,43],[42,44],[52],[42,57,58,59],[42,61],[42,62,63,64,65,66,67,68,69,70,71,72],[297],[169,172,174,176,178,179,180,181],[105,107,169,170,171],[169],[169,170],[182],[119,169,178,182],[173],[119],[119,169,174,176,177],[175,178],[169,172,173,178],[174,179],[268],[268,269],[268,269,270,271,272,273,274,275,276,277],[293,294],[214],[161,233],[318],[161,162,163,164,189],[161,162],[162],[162,163,165,185],[162,183],[162,163,164,165,166,167,168,182,183,184],[162,163,164,165,166,167,168,183,185,186,187,188],[162,163,164,165,166,167,168],[146,147,151,152,153,154,156,157,158,159,160],[152],[155],[156],[146,147,151],[147,152],[105,137,312],[105,137],[102,105,137,307,308],[308,309,311,313],[134,135],[102,103,110,119],[94,102,110],[126],[98,103,111],[100,102,110],[102],[102,104,119,125],[103],[110,119,125],[102,103,105,110,119,122,125],[102,105,122,125],[136],[125],[100,102,119],[92],[124],[102,119],[117,126,128],[98,100,110,119],[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130],[131,132,133],[110],[116],[102,104,119,125,128],[105,137,310],[119,137],[39,86,145,251,288,290],[39,199,214,264,290],[39,161,217,251,256,290,295],[39,161,189,251,265,285,290,298],[39,161,189,265,290],[39,98,161,251,259,290,301,302],[39,161,189,251,256,263,285,288,290,298,301,302],[39,86,145,161,189,251,265],[39,40],[39,86,103,145,161,217,251,263,284,285,305],[39,40,86,112,125,145,161,251,259,265,285,288,302,305,314],[39,161,214,251,265],[39,161,214,251,255,265,285],[39,98,145,251,252,260,263,286,287],[39,145,251],[39,145,161,189,251,256,261,265,285,290,298,301,302,317,319],[39,86,145,161,251,265,285,286,290,298],[39,145],[39,98,145,161,189,233,251,260,265,285],[39,103,112,125,145,161,217,251,253,254,285],[39,98,126,130,145,189,251,256,260,263],[39,98,112,145,217,251],[39,41,98,125,145,161,189,248,251,256,258,259,260,261,262,265,285],[39,199,214],[39,161,189,251,265,283,284],[39,89,145,161,189,214,217,251,255,256,263,264,284],[39,145,161,189,251,265,283,285],[39,145,189,251,263,282,284],[39,161,189,217,233,251,265],[155,226],[155,228],[226,227,228,229,231,232],[225,226],[226],[225],[161,217],[323],[236,248],[189,190,191,218,219,220,221,222,223,224,235,249,250],[155,161,233],[220],[89,217,254,324],[215,216],[89,161,214,324],[161,214,215]],"referencedMap":[[195,1],[196,2],[198,3],[199,4],[194,5],[237,6],[248,7],[244,8],[242,9],[243,10],[239,11],[238,12],[241,13],[246,14],[245,15],[247,16],[209,17],[205,18],[212,19],[214,20],[202,21],[203,22],[207,15],[208,23],[213,24],[267,25],[280,26],[279,27],[282,28],[281,29],[266,30],[140,31],[145,32],[142,33],[143,33],[144,33],[90,34],[139,35],[138,30],[151,36],[150,37],[149,37],[86,38],[45,39],[46,40],[47,40],[48,39],[49,39],[50,41],[51,41],[53,42],[54,39],[55,42],[57,39],[58,39],[59,39],[60,43],[56,39],[62,44],[64,44],[63,44],[65,44],[73,45],[66,44],[67,44],[68,44],[69,44],[70,44],[71,44],[72,44],[74,39],[75,39],[52,39],[76,39],[77,39],[78,39],[79,39],[85,39],[81,39],[80,39],[82,39],[83,39],[84,39],[298,46],[182,47],[172,48],[170,49],[171,50],[181,51],[179,52],[177,53],[175,54],[178,55],[176,56],[174,57],[180,58],[269,59],[270,60],[276,59],[278,61],[271,60],[272,60],[273,60],[274,60],[275,60],[295,62],[294,63],[318,64],[319,65],[165,66],[166,67],[167,67],[164,67],[168,68],[183,69],[184,70],[185,71],[189,72],[186,73],[161,74],[153,75],[156,76],[157,77],[152,78],[160,75],[158,79],[159,75],[289,38],[313,80],[312,81],[309,82],[314,83],[136,84],[94,85],[95,86],[96,87],[97,88],[98,54],[99,89],[101,90],[102,90],[103,91],[104,92],[105,93],[106,94],[107,95],[137,96],[108,90],[109,97],[110,98],[113,99],[114,100],[117,101],[118,102],[119,90],[122,103],[131,104],[134,105],[124,106],[125,107],[127,54],[129,108],[130,54],[253,30],[311,109],[254,110],[291,111],[292,112],[296,113],[299,114],[300,115],[303,116],[304,117],[302,118],[41,119],[306,120],[315,121],[305,122],[316,123],[288,124],[260,125],[320,126],[321,127],[252,128],[261,129],[286,130],[287,131],[256,132],[263,133],[264,134],[285,135],[265,136],[284,137],[283,138],[262,125],[259,139],[231,140],[232,141],[233,142],[227,143],[228,144],[226,145],[229,144],[218,146],[222,15],[317,147],[249,148],[251,149],[235,150],[221,151],[258,152],[257,110],[217,153],[215,154],[216,155]],"exportedModulesMap":[[195,1],[196,2],[198,3],[199,4],[194,5],[237,6],[248,7],[244,8],[242,9],[243,10],[239,11],[238,12],[241,13],[246,14],[245,15],[247,16],[209,17],[205,18],[212,19],[214,20],[202,21],[203,22],[207,15],[208,23],[213,24],[267,25],[280,26],[279,27],[282,28],[281,29],[266,30],[140,31],[145,32],[142,33],[143,33],[144,33],[90,34],[139,35],[138,30],[151,36],[150,37],[149,37],[86,38],[45,39],[46,40],[47,40],[48,39],[49,39],[50,41],[51,41],[53,42],[54,39],[55,42],[57,39],[58,39],[59,39],[60,43],[56,39],[62,44],[64,44],[63,44],[65,44],[73,45],[66,44],[67,44],[68,44],[69,44],[70,44],[71,44],[72,44],[74,39],[75,39],[52,39],[76,39],[77,39],[78,39],[79,39],[85,39],[81,39],[80,39],[82,39],[83,39],[84,39],[298,46],[182,47],[172,48],[170,49],[171,50],[181,51],[179,52],[177,53],[175,54],[178,55],[176,56],[174,57],[180,58],[269,59],[270,60],[276,59],[278,61],[271,60],[272,60],[273,60],[274,60],[275,60],[295,62],[294,63],[318,64],[319,65],[165,66],[166,67],[167,67],[164,67],[168,68],[183,69],[184,70],[185,71],[189,72],[186,73],[161,74],[153,75],[156,76],[157,77],[152,78],[160,75],[158,79],[159,75],[289,38],[313,80],[312,81],[309,82],[314,83],[136,84],[94,85],[95,86],[96,87],[97,88],[98,54],[99,89],[101,90],[102,90],[103,91],[104,92],[105,93],[106,94],[107,95],[137,96],[108,90],[109,97],[110,98],[113,99],[114,100],[117,101],[118,102],[119,90],[122,103],[131,104],[134,105],[124,106],[125,107],[127,54],[129,108],[130,54],[253,30],[311,109],[254,110],[291,111],[292,112],[296,113],[299,114],[300,115],[303,116],[304,117],[302,118],[41,119],[306,120],[315,121],[305,122],[316,123],[288,124],[260,125],[320,126],[321,127],[252,128],[261,129],[286,130],[287,131],[256,132],[263,133],[264,134],[285,135],[265,136],[284,137],[283,138],[262,125],[259,139],[231,140],[232,141],[233,142],[227,143],[228,144],[226,145],[229,144],[218,146],[222,15],[317,147],[249,148],[251,149],[235,150],[221,151],[258,152],[257,110],[217,153],[215,154],[216,155]],"semanticDiagnosticsPerFile":[192,195,196,197,198,199,193,194,237,248,244,242,243,239,238,241,240,246,245,247,209,205,212,210,200,201,211,206,214,202,203,207,208,213,204,267,280,279,282,281,266,140,141,145,88,142,143,144,90,139,87,138,151,148,150,149,43,44,42,86,45,46,47,48,49,50,51,53,54,55,57,58,59,60,56,61,62,64,63,65,73,66,67,68,69,70,71,72,74,75,52,76,77,78,79,85,81,80,82,83,84,290,298,297,182,172,170,171,181,179,173,169,177,175,178,176,174,180,269,270,276,277,278,271,272,273,274,268,275,255,225,39,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,7,37,33,34,35,36,1,38,40,293,295,301,294,318,319,165,188,162,166,163,167,164,168,183,184,185,189,186,187,146,147,161,153,156,157,152,160,158,159,154,155,289,313,312,309,314,310,135,92,136,93,94,95,96,97,98,99,100,101,102,103,104,91,132,105,106,107,137,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,131,134,124,125,126,127,128,133,129,130,253,308,307,311,254,291,292,296,299,300,303,304,302,41,306,315,305,316,288,260,320,321,252,261,286,287,256,263,264,285,265,284,283,262,259,231,232,233,227,228,226,229,230,89,219,218,222,190,317,236,249,251,191,223,235,224,250,220,221,234,258,257,217,215,216]},"version":"4.4.3"}
|