eoapi-cdk 10.0.0 → 10.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +4 -4
- package/LICENSE +21 -0
- package/lib/bastion-host/index.js +1 -1
- package/lib/database/index.d.ts +1 -1
- package/lib/database/index.js +4 -4
- package/lib/ingestor-api/index.js +6 -6
- package/lib/ingestor-api/runtime/Dockerfile +1 -1
- package/lib/lambda-api-gateway/index.js +1 -1
- package/lib/lambda-api-gateway-private/index.js +1 -1
- package/lib/stac-api/index.d.ts +1 -1
- package/lib/stac-api/index.js +6 -6
- package/lib/stac-auth-proxy/index.js +2 -2
- package/lib/stac-browser/index.js +1 -1
- package/lib/stac-loader/index.d.ts +2 -2
- package/lib/stac-loader/index.js +4 -4
- package/lib/stac-loader/runtime/Dockerfile +1 -1
- package/lib/stac-loader/runtime/pyproject.toml +3 -9
- package/lib/stactools-item-generator/index.d.ts +2 -2
- package/lib/stactools-item-generator/index.js +4 -4
- package/lib/stactools-item-generator/runtime/Dockerfile +2 -2
- package/lib/stactools-item-generator/runtime/pyproject.toml +3 -8
- package/lib/tipg-api/index.js +6 -6
- package/lib/tipg-api/runtime/Dockerfile +3 -0
- package/lib/titiler-pgstac-api/index.d.ts +1 -1
- package/lib/titiler-pgstac-api/index.js +6 -6
- package/lib/titiler-pgstac-api/runtime/Dockerfile +6 -2
- package/package.json +1 -1
- package/pyproject.toml +2 -5
- package/uv.lock +166 -220
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aws_ec2 as ec2, aws_lambda as lambda,
|
|
1
|
+
import { aws_ec2 as ec2, aws_lambda as lambda, aws_sns as sns, aws_sqs as sqs } from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { PgStacDatabase } from "../database";
|
|
4
4
|
import { CustomLambdaFunctionProps } from "../utils";
|
|
@@ -45,7 +45,7 @@ export interface StacLoaderProps {
|
|
|
45
45
|
* operations. Ensure the runtime version is compatible with the pgstac
|
|
46
46
|
* version specified in the database configuration.
|
|
47
47
|
*
|
|
48
|
-
* @default lambda.Runtime.
|
|
48
|
+
* @default lambda.Runtime.PYTHON_3_12
|
|
49
49
|
*/
|
|
50
50
|
readonly lambdaRuntime?: lambda.Runtime;
|
|
51
51
|
/**
|
package/lib/stac-loader/index.js
CHANGED
|
@@ -187,7 +187,7 @@ class StacLoader extends constructs_1.Construct {
|
|
|
187
187
|
constructor(scope, id, props) {
|
|
188
188
|
super(scope, id);
|
|
189
189
|
const timeoutSeconds = props.lambdaTimeoutSeconds ?? 300;
|
|
190
|
-
const lambdaRuntime = props.lambdaRuntime ?? aws_cdk_lib_1.aws_lambda.Runtime.
|
|
190
|
+
const lambdaRuntime = props.lambdaRuntime ?? aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_12;
|
|
191
191
|
const maxConcurrency = props.maxConcurrency ?? 2;
|
|
192
192
|
// Create dead letter queue
|
|
193
193
|
this.deadLetterQueue = new aws_cdk_lib_1.aws_sqs.Queue(this, "DeadLetterQueue", {
|
|
@@ -268,7 +268,7 @@ class StacLoader extends constructs_1.Construct {
|
|
|
268
268
|
}
|
|
269
269
|
exports.StacLoader = StacLoader;
|
|
270
270
|
_a = JSII_RTTI_SYMBOL_1;
|
|
271
|
-
StacLoader[_a] = { fqn: "eoapi-cdk.StacLoader", version: "10.
|
|
271
|
+
StacLoader[_a] = { fqn: "eoapi-cdk.StacLoader", version: "10.1.1" };
|
|
272
272
|
/**
|
|
273
273
|
* @deprecated Use StacLoader instead. StacItemLoader will be removed in a future version.
|
|
274
274
|
*/
|
|
@@ -281,5 +281,5 @@ class StacItemLoader extends StacLoader {
|
|
|
281
281
|
}
|
|
282
282
|
exports.StacItemLoader = StacItemLoader;
|
|
283
283
|
_b = JSII_RTTI_SYMBOL_1;
|
|
284
|
-
StacItemLoader[_b] = { fqn: "eoapi-cdk.StacItemLoader", version: "10.
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsNkJBQTZCO0FBMEk3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnTEc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQW9EdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxHQUFHLENBQUM7UUFDekQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEUsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFFakQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDNUQsZUFBZSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNuQyxDQUFDLENBQUM7UUFFSCxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHFCQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDeEMsaUJBQWlCLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztZ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QUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUMxQixXQUFXLEVBQUUsaUNBQWlDO1lBQzlDLFVBQVUsRUFBRSxHQUFHLFlBQVksd0JBQXdCO1NBQ3BELENBQUMsQ0FBQztRQUVILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUTtZQUNwQyxXQUFXLEVBQUUseUNBQXlDO1lBQ3RELFVBQVUsRUFBRSxHQUFHLFlBQVksbUNBQW1DO1NBQy9ELENBQUMsQ0FBQztRQUVILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVk7WUFDdkMsV0FBVyxFQUFFLHdDQUF3QztZQUNyRCxVQUFVLEVBQUUsR0FBRyxZQUFZLDRCQUE0QjtTQUN4RCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRKSCxnQ0F1SkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsVUFBVTtJQUM1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0RBQStEO1lBQzdELHFEQUFxRCxDQUN4RCxDQUFDO1FBRUYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7QUFSSCx3Q0FTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3NxcyBhcyBzcXMsXG4gIGF3c19zbnMgYXMgc25zLFxuICBhd3Nfc25zX3N1YnNjcmlwdGlvbnMgYXMgc25zU3Vic2NyaXB0aW9ucyxcbiAgYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzIGFzIGxhbWJkYUV2ZW50U291cmNlcyxcbiAgYXdzX2xvZ3MgYXMgbG9ncyxcbiAgRHVyYXRpb24sXG4gIENmbk91dHB1dCxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFBnU3RhY0RhdGFiYXNlIH0gZnJvbSBcIi4uL2RhdGFiYXNlXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY0xvYWRlciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGxvYWRzIFNUQUMgY29sbGVjdGlvbnMgYW5kIGl0ZW1zIGludG8gYSBwZ3N0YWMgZGF0YWJhc2UuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXNcbiAqIHRoZSBpbmZyYXN0cnVjdHVyZSBmb3IgcmVjZWl2aW5nIFNUQUMgb2JqZWN0cyBmcm9tIG11bHRpcGxlIHNvdXJjZXM6XG4gKiAxLiBTTlMgbWVzc2FnZXMgY29udGFpbmluZyBTVEFDIG1ldGFkYXRhIChkaXJlY3QgaW5nZXN0aW9uKVxuICogMi4gUzMgZXZlbnQgbm90aWZpY2F0aW9ucyBmb3IgU1RBQyBvYmplY3RzIHVwbG9hZGVkIHRvIFMzIGJ1Y2tldHNcbiAqXG4gKiBPYmplY3RzIGZyb20gYm90aCBzb3VyY2VzIGFyZSBiYXRjaGVkIGFuZCBpbnNlcnRlZCBpbnRvIFBvc3RncmVTUUwgd2l0aCB0aGUgcGdzdGFjIGV4dGVuc2lvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLFxuICogICBtYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXM6IDEsXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDBcbiAqIH0pO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNMb2FkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgUGdTVEFDIGRhdGFiYXNlIGluc3RhbmNlIHRvIGxvYWQgZGF0YSBpbnRvLlxuICAgKlxuICAgKiBUaGlzIGRhdGFiYXNlIG11c3QgaGF2ZSB0aGUgcGdzdGFjIGV4dGVuc2lvbiBpbnN0YWxsZWQgYW5kIGJlIHByb3Blcmx5XG4gICAqIGNvbmZpZ3VyZWQgd2l0aCBjb2xsZWN0aW9ucyBiZWZvcmUgb2JqZWN0cyBjYW4gYmUgbG9hZGVkLiBUaGUgbG9hZGVyIHdpbGxcbiAgICogdXNlIEFXUyBTZWNyZXRzIE1hbmFnZXIgdG8gc2VjdXJlbHkgYWNjZXNzIGRhdGFiYXNlIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjRGI6IFBnU3RhY0RhdGFiYXNlO1xuXG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGxvYWRpbmcgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiBQeXRob24gYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGRhdGFiYXNlXG4gICAqIG9wZXJhdGlvbnMuIEVuc3VyZSB0aGUgcnVudGltZSB2ZXJzaW9uIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgcGdzdGFjXG4gICAqIHZlcnNpb24gc3BlY2lmaWVkIGluIHRoZSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMVxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhUnVudGltZT86IGxhbWJkYS5SdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBmb3IgdGhlIGl0ZW0gbG9hZCBsYW1iZGEgaW4gc2Vjb25kcy5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgYWNjb21tb2RhdGUgdGhlIHRpbWUgbmVlZGVkIHRvIHByb2Nlc3MgdXAgdG8gYGJhdGNoU2l6ZWBcbiAgICogb2JqZWN0cyBhbmQgcGVyZm9ybSBkYXRhYmFzZSBpbnNlcnRpb25zLiBUaGUgU1FTIHZpc2liaWxpdHkgdGltZW91dFxuICAgKiB3aWxsIGJlIHNldCB0byB0aGlzIHZhbHVlIHBsdXMgMTAgc2Vjb25kcy5cbiAgICpcbiAgICogQGRlZmF1bHQgMzAwXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFUaW1lb3V0U2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWVtb3J5IHNpemUgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24gaW4gTUIuXG4gICAqXG4gICAqIEhpZ2hlciBtZW1vcnkgYWxsb2NhdGlvbiBtYXkgaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHByb2Nlc3NpbmdcbiAgICogbGFyZ2UgYmF0Y2hlcyBvZiBTVEFDIG9iamVjdHMsIGVzcGVjaWFsbHkgZm9yIG1lbW9yeS1pbnRlbnNpdmVcbiAgICogZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU1FTIGJhdGNoIHNpemUgZm9yIGxhbWJkYSBldmVudCBzb3VyY2UuXG4gICAqXG4gICAqIFRoaXMgZGV0ZXJtaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgU1RBQyBvYmplY3RzIHRoYXQgd2lsbCBiZVxuICAgKiBwcm9jZXNzZWQgdG9nZXRoZXIgaW4gYSBzaW5nbGUgbGFtYmRhIGludm9jYXRpb24uIExhcmdlciBiYXRjaFxuICAgKiBzaXplcyBpbXByb3ZlIGRhdGFiYXNlIGluc2VydGlvbiBlZmZpY2llbmN5IGJ1dCByZXF1aXJlIG1vcmVcbiAgICogbWVtb3J5IGFuZCBsb25nZXIgcHJvY2Vzc2luZyB0aW1lLlxuICAgKlxuICAgKiAqKkJhdGNoaW5nIEJlaGF2aW9yKio6IFNRUyB3aWxsIHdhaXQgdG8gYWNjdW11bGF0ZSB1cCB0byB0aGlzIG1hbnlcbiAgICogbWVzc2FnZXMgYmVmb3JlIHRyaWdnZXJpbmcgdGhlIExhbWJkYSwgT1IgdW50aWwgdGhlIG1heEJhdGNoaW5nV2luZG93XG4gICAqIHRpbWVvdXQgaXMgcmVhY2hlZCwgd2hpY2hldmVyIGNvbWVzIGZpcnN0LiBUaGlzIGNyZWF0ZXMgYW4gZWZmaWNpZW50XG4gICAqIGJhbGFuY2UgYmV0d2VlbiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MDBcbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBiYXRjaGluZyB3aW5kb3cgaW4gbWludXRlcy5cbiAgICpcbiAgICogRXZlbiBpZiB0aGUgYmF0Y2ggc2l6ZSBpc24ndCByZWFjaGVkLCB0aGUgbGFtYmRhIHdpbGwgYmUgdHJpZ2dlcmVkXG4gICAqIGFmdGVyIHRoaXMgdGltZSBwZXJpb2QgdG8gZW5zdXJlIHRpbWVseSBwcm9jZXNzaW5nIG9mIG9iamVjdHMuXG4gICAqIFRoaXMgcHJldmVudHMgb2JqZWN0cyBmcm9tIHdhaXRpbmcgaW5kZWZpbml0ZWx5IGluIGxvdy12b2x1bWUgc2NlbmFyaW9zLlxuICAgKlxuICAgKiAqKkltcG9ydGFudCoqOiBUaGlzIHRpbWVvdXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBiYXRjaFNpemUgLSBTUVNcbiAgICogd2lsbCB0cmlnZ2VyIHRoZSBMYW1iZGEgd2hlbiBFSVRIRVIgdGhlIGJhdGNoIHNpemUgaXMgcmVhY2hlZCBPUiB0aGlzXG4gICAqIHRpbWUgd2luZG93IGV4cGlyZXMsIGVuc3VyaW5nIG9iamVjdHMgYXJlIHByb2Nlc3NlZCBpbiBhIHRpbWVseSBtYW5uZXJcbiAgICogcmVnYXJkbGVzcyBvZiB2b2x1bWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IG1heEJhdGNoaW5nV2luZG93TWludXRlcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjb25jdXJyZW50IGV4ZWN1dGlvbnMgZm9yIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBmdW5jdGlvblxuICAgKlxuICAgKiBUaGlzIGxpbWl0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFuZCB3aWxsIGNvbnRyb2wgaG93XG4gICAqIG1hbnkgY29uY3VycmVudCBiYXRjaGVzIHdpbGwgYmUgcmVsZWFzZWQgZnJvbSB0aGUgU1FTIHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZXNlIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluY2x1ZGluZ1xuICAgKiBQR1NUQUNfU0VDUkVUX0FSTi4gVXNlIHRoaXMgZm9yIGN1c3RvbSBjb25maWd1cmF0aW9uIG9yIGRlYnVnZ2luZyBmbGFncy5cbiAgICpcbiAgICogSWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoZSBvcHRpb24gdG8gdXBsb2FkIGEgYm9pbGVycGxhdGUgY29sbGVjdGlvbiByZWNvcmRcbiAgICogaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGNvbGxlY3Rpb24gcmVjb3JkIGRvZXMgbm90IHlldCBleGlzdCBmb3IgYW4gaXRlbSB0aGF0XG4gICAqIGlzIHNldCB0byBiZSBsb2FkZWQsIHNldCB0aGUgdmFyaWFibGUgYFwiQ1JFQVRFX0NPTExFQ1RJT05TX0lGX01JU1NJTkdcIjogXCJUUlVFXCJgLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBsYW1iZGEgZnVuY3Rpb24gcHJvcGVydGllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZpbmVkIGluIHRoZSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xufVxuXG4vKipcbiAqIEFXUyBDREsgQ29uc3RydWN0IGZvciBTVEFDIE9iamVjdCBMb2FkaW5nIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGxvYWRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIG9iamVjdHMgaW50byBhIFBvc3RncmVTUUwgZGF0YWJhc2Ugd2l0aFxuICogdGhlIHBnc3RhYyBleHRlbnNpb24uIFRoaXMgY29uc3RydWN0IHN1cHBvcnRzIG11bHRpcGxlIGluZ2VzdGlvbiBwYXRod2F5c1xuICogZm9yIGZsZXhpYmxlIFNUQUMgb2JqZWN0IGxvYWRpbmcuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnNcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBhbmQgYmF0Y2hlcyBtZXNzYWdlcyBiZWZvcmUgcHJvY2Vzc2luZyAoNjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbG9hZGluZyBhdHRlbXB0cyBhZnRlciA1IHJldHJpZXNcbiAqIC0gKipMYW1iZGEgRnVuY3Rpb24qKjogUHl0aG9uIGZ1bmN0aW9uIHRoYXQgcHJvY2Vzc2VzIGJhdGNoZXMgYW5kIGluc2VydHMgb2JqZWN0cyBpbnRvIHBnc3RhY1xuICpcbiAqICMjIERhdGEgRmxvd1xuICpcbiAqIFRoZSBsb2FkZXIgc3VwcG9ydHMgdHdvIHByaW1hcnkgZGF0YSBpbmdlc3Rpb24gcGF0dGVybnM6XG4gKlxuICogIyMjIERpcmVjdCBTVEFDIE9iamVjdCBQdWJsaXNoaW5nXG4gKiAxLiBTVEFDIG9iamVjdHMgKEpTT04pIGFyZSBwdWJsaXNoZWQgZGlyZWN0bHkgdG8gdGhlIFNOUyB0b3BpYyBpbiBtZXNzYWdlIGJvZGllc1xuICogMi4gVGhlIFNRUyBxdWV1ZSBjb2xsZWN0cyBtZXNzYWdlcyBhbmQgYmF0Y2hlcyB0aGVtICh1cCB0byB7YmF0Y2hTaXplfSBvYmplY3RzIG9yIDEgbWludXRlIHdpbmRvdylcbiAqIDMuIFRoZSBMYW1iZGEgZnVuY3Rpb24gcmVjZWl2ZXMgYmF0Y2hlcywgdmFsaWRhdGVzIG9iamVjdHMsIGFuZCBpbnNlcnRzIGludG8gcGdzdGFjXG4gKlxuICogIyMjIFMzIEV2ZW50LURyaXZlbiBMb2FkaW5nXG4gKiAxLiBBbiBTMyBidWNrZXQgaXMgY29uZmlndXJlZCB0byBzZW5kIG5vdGlmaWNhdGlvbnMgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIGpzb24gZmlsZXMgYXJlIGNyZWF0ZWRcbiAqIDIuIFNUQUMgb2JqZWN0cyBhcmUgdXBsb2FkZWQgdG8gUzMgYnVja2V0cyBhcyBKU09OL0dlb0pTT04gZmlsZXNcbiAqIDMuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIG9iamVjdHMgYXJlIHVwbG9hZGVkXG4gKiA0LiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHJlY2VpdmVzIFMzIGV2ZW50cyBpbiB0aGUgU1FTIG1lc3NhZ2UgYmF0Y2gsIGZldGNoZXMgb2JqZWN0cyBmcm9tIFMzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAqXG4gKiAjIyBCYXRjaGluZyBCZWhhdmlvclxuICpcbiAqIFRoZSBTUVMtdG8tTGFtYmRhIGludGVncmF0aW9uIHVzZXMgaW50ZWxsaWdlbnQgYmF0Y2hpbmcgdG8gb3B0aW1pemUgcGVyZm9ybWFuY2U6XG4gKlxuICogLSAqKkJhdGNoIFNpemUqKjogTGFtYmRhIHdhaXRzIHRvIHJlY2VpdmUgdXAgdG8gYGJhdGNoU2l6ZWAgbWVzc2FnZXMgKGRlZmF1bHQ6IDUwMClcbiAqIC0gKipCYXRjaGluZyBXaW5kb3cqKjogSWYgZmV3ZXIgdGhhbiBgYmF0Y2hTaXplYCBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlLCBMYW1iZGFcbiAqICAgdHJpZ2dlcnMgYWZ0ZXIgYG1heEJhdGNoaW5nV2luZG93YCBtaW51dGVzIChkZWZhdWx0OiAxIG1pbnV0ZSlcbiAqIC0gKipUcmlnZ2VyIENvbmRpdGlvbioqOiBMYW1iZGEgZXhlY3V0ZXMgd2hlbiBFSVRIRVIgY29uZGl0aW9uIGlzIG1ldCBmaXJzdFxuICogLSAqKkNvbmN1cnJlbmN5Kio6IExpbWl0ZWQgdG8gYG1heENvbmN1cnJlbmN5YCBjb25jdXJyZW50IGV4ZWN1dGlvbnMgdG8gcHJldmVudCBkYXRhYmFzZSBvdmVybG9hZFxuICogLSAqKlBhcnRpYWwgRmFpbHVyZXMqKjogVXNlcyBgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNgIHRvIHJldHJ5IG9ubHkgZmFpbGVkIG9iamVjdHNcbiAqXG4gKiBUaGlzIGFwcHJvYWNoIGJhbGFuY2VzIHRocm91Z2hwdXQgKGxhcmdlciBiYXRjaGVzID0gZmV3ZXIgZGF0YWJhc2UgY29ubmVjdGlvbnMpXG4gKiB3aXRoIGxhdGVuY3kgKHRpbWUtYmFzZWQgdHJpZ2dlcnMgcHJldmVudCBpbmRlZmluaXRlIHdhaXRpbmcpLlxuICpcbiAqICMjIEVycm9yIEhhbmRsaW5nIGFuZCBEZWFkIExldHRlciBRdWV1ZVxuICpcbiAqIEZhaWxlZCBtZXNzYWdlcyBhcmUgc2VudCB0byB0aGUgZGVhZCBsZXR0ZXIgcXVldWUgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzLlxuICogKipJbXBvcnRhbnQqKjogVGhpcyBjb25zdHJ1Y3QgcHJvdmlkZXMgTk8gYXV0b21hdGVkIGhhbmRsaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlXG4gKiBtZXNzYWdlcyAtIG1vbml0b3JpbmcsIGluc3BlY3Rpb24sIGFuZCByZXByb2Nlc3Npbmcgb2YgZmFpbGVkIG9iamVjdHMgaXMgdGhlXG4gKiByZXNwb25zaWJpbGl0eSBvZiB0aGUgaW1wbGVtZW50aW5nIGFwcGxpY2F0aW9uLlxuICpcbiAqIENvbnNpZGVyIGltcGxlbWVudGluZzpcbiAqIC0gQ2xvdWRXYXRjaCBhbGFybXMgb24gZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIC0gTWFudWFsIG9yIGF1dG9tYXRlZCByZXByb2Nlc3Npbmcgd29ya2Zsb3dzXG4gKiAtIExvZ2dpbmcgYW5kIGFsZXJ0aW5nIGZvciBmYWlsZWQgb2JqZWN0c1xuICogLSBSZWd1bGFyIGNsZWFudXAgb2Ygb2xkIGRlYWQgbGV0dGVyIG1lc3NhZ2VzICgxNC1kYXkgcmV0ZW50aW9uKVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGhcbiAqIC0gKipSZWxpYWJpbGl0eSoqOiBEZWFkIGxldHRlciBxdWV1ZSBjYXB0dXJlcyBmYWlsdXJlcyBmb3IgZGVidWdnaW5nXG4gKiAtICoqRWZmaWNpZW5jeSoqOiBCYXRjaGluZyBvcHRpbWl6ZXMgZGF0YWJhc2Ugb3BlcmF0aW9ucyBmb3IgaGlnaCB0aHJvdWdocHV0XG4gKiAtICoqU2VjdXJpdHkqKjogRGF0YWJhc2UgY3JlZGVudGlhbHMgYWNjZXNzZWQgdmlhIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gKipPYnNlcnZhYmlsaXR5Kio6IENsb3VkV2F0Y2ggbG9ncyByZXRhaW5lZCBmb3Igb25lIHdlZWtcbiAqXG4gKiAjIyBQcmVyZXF1aXNpdGVzXG4gKlxuICogQmVmb3JlIHVzaW5nIHRoaXMgY29uc3RydWN0LCBlbnN1cmU6XG4gKiAtIFRoZSBwZ3N0YWMgZGF0YWJhc2UgaGFzIGNvbGxlY3Rpb25zIGxvYWRlZCAob2JqZWN0cyByZXF1aXJlIGV4aXN0aW5nIGNvbGxlY3Rpb24gSURzKVxuICogLSBEYXRhYmFzZSBjcmVkZW50aWFscyBhcmUgc3RvcmVkIGluIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gVGhlIHBnc3RhYyBleHRlbnNpb24gaXMgcHJvcGVybHkgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkXG4gKlxuICogIyMgVXNhZ2UgRXhhbXBsZVxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBkYXRhYmFzZSBmaXJzdFxuICogY29uc3QgZGF0YWJhc2UgPSBuZXcgUGdTdGFjRGF0YWJhc2UodGhpcywgJ0RhdGFiYXNlJywge1xuICogICBwZ3N0YWNWZXJzaW9uOiAnMC45LjUnXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgT2JqZWN0IGxvYWRlclxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLCAgICAgICAgICAvLyBQcm9jZXNzIHVwIHRvIDEwMDAgb2JqZWN0cyBwZXIgYmF0Y2hcbiAqICAgbWF4QmF0Y2hpbmdXaW5kb3dNaW51dGVzOiAxLCAvLyBXYWl0IG1heCAxIG1pbnV0ZSB0byBmaWxsIGJhdGNoXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDAgICAgIC8vIEFsbG93IHVwIHRvIDMwMCBzZWNvbmRzIGZvciBkYXRhYmFzZSBvcGVyYXRpb25zXG4gKiB9KTtcbiAqXG4gKiAvLyBUaGUgdG9waWMgQVJOIGNhbiBiZSB1c2VkIGJ5IG90aGVyIHNlcnZpY2VzIHRvIHB1Ymxpc2ggb2JqZWN0c1xuICogbmV3IENmbk91dHB1dCh0aGlzLCAnTG9hZGVyVG9waWNBcm4nLCB7XG4gKiAgIHZhbHVlOiBsb2FkZXIudG9waWMudG9waWNBcm5cbiAqIH0pO1xuICogYGBgXG4gKlxuICogIyMgRGlyZWN0IE9iamVjdCBQdWJsaXNoaW5nXG4gKlxuICogRXh0ZXJuYWwgc2VydmljZXMgY2FuIHB1Ymxpc2ggU1RBQyBvYmplY3RzIGRpcmVjdGx5IHRvIHRoZSB0b3BpYzpcbiAqXG4gKiBgYGBiYXNoXG4gKiBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gJFNUQUNfTE9BRF9UT1BJQyAtLW1lc3NhZ2UgICd7XG4gKiAgIFwiaWRcIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIixcbiAqICAgXCJ0eXBlXCI6IFwiQ29sbGVjdGlvblwiLFxuICogICBcInRpdGxlXCI6IFwiRXhhbXBsZSBDb2xsZWN0aW9uXCIsXG4gKiAgIFwiZGVzY3JpcHRpb25cIjogXCJBbiBleGFtcGxlIGNvbGxlY3Rpb25cIixcbiAqICAgXCJsaWNlbnNlXCI6IFwicHJvcHJpZXRhcnlcIixcbiAqICAgXCJleHRlbnRcIjoge1xuICogICAgICAgXCJzcGF0aWFsXCI6IHtcImJib3hcIjogW1stMTgwLCAtOTAsIDE4MCwgOTBdXX0sXG4gKiAgICAgICBcInRlbXBvcmFsXCI6IHtcImludGVydmFsXCI6IFtbbnVsbCwgbnVsbF1dfVxuICogICB9LFxuICogICBcInN0YWNfdmVyc2lvblwiOiBcIjEuMS4wXCIsXG4gKiAgIFwibGlua3NcIjogW11cbiAqIH0nXG4gKlxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRTVEFDX0xPQURfVE9QSUMgLS1tZXNzYWdlICd7XG4gKiAgIFwidHlwZVwiOiBcIkZlYXR1cmVcIixcbiAqICAgXCJzdGFjX3ZlcnNpb25cIjogXCIxLjAuMFwiLFxuICogICBcImlkXCI6IFwiZXhhbXBsZS1pdGVtXCIsXG4gKiAgIFwicHJvcGVydGllc1wiOiB7XCJkYXRldGltZVwiOiBcIjIwMjEtMDEtMDFUMDA6MDA6MDBaXCJ9LFxuICogICBcImdlb21ldHJ5XCI6IHtcInR5cGVcIjogXCJQb2x5Z29uXCIsIFwiY29vcmRpbmF0ZXNcIjogWy4uLl19LFxuICogICBcImNvbGxlY3Rpb25cIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIlxuICogfSdcbiAqXG4gKlxuICogYGBgXG4gKlxuICogIyMgUzMgRXZlbnQgQ29uZmlndXJhdGlvblxuICpcbiAqIFRvIGVuYWJsZSBTMyBldmVudC1kcml2ZW4gbG9hZGluZywgY29uZmlndXJlIFMzIGJ1Y2tldCBub3RpZmljYXRpb25zIHRvIHNlbmRcbiAqIGV2ZW50cyB0byB0aGUgU05TIHRvcGljIHdoZW4gU1RBQyBvYmplY3RzICguanNvbiBvciAuZ2VvanNvbiBmaWxlcykgYXJlIHVwbG9hZGVkOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENvbmZpZ3VyZSBTMyBidWNrZXQgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGJ1Y2tldC5hZGRFdmVudE5vdGlmaWNhdGlvbihcbiAqICAgczMuRXZlbnRUeXBlLk9CSkVDVF9DUkVBVEVELFxuICogICBuZXcgczNuLlNuc0Rlc3RpbmF0aW9uKGxvYWRlci50b3BpYyksXG4gKiAgIHsgc3VmZml4OiAnLmpzb24nIH1cbiAqICk7XG4gKlxuICogYnVja2V0LmFkZEV2ZW50Tm90aWZpY2F0aW9uKFxuICogICBzMy5FdmVudFR5cGUuT0JKRUNUX0NSRUFURUQsXG4gKiAgIG5ldyBzM24uU25zRGVzdGluYXRpb24obG9hZGVyLnRvcGljKSxcbiAqICAgeyBzdWZmaXg6ICcuZ2VvanNvbicgfVxuICogKTtcbiAqIGBgYFxuICpcbiAqIFdoZW4gU1RBQyBvYmplY3RzIGFyZSB1cGxvYWRlZCB0byB0aGUgY29uZmlndXJlZCBTMyBidWNrZXQsIHRoZSBsb2FkZXIgd2lsbDpcbiAqIDEuIFJlY2VpdmUgUzMgZXZlbnQgbm90aWZpY2F0aW9ucyB2aWEgU05TXG4gKiAyLiBGZXRjaCB0aGUgU1RBQyBKU09OIGZyb20gUzNcbiAqIDMuIFZhbGlkYXRlIGFuZCBsb2FkIHRoZSBvYmplY3RzIGludG8gdGhlIHBnc3RhYyBkYXRhYmFzZVxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSAqKkRlYWQgTGV0dGVyIFF1ZXVlKio6IENoZWNrIGZvciBmYWlsZWQgb2JqZWN0cyAtICoqbm8gYXV0b21hdGVkIGhhbmRsaW5nIHByb3ZpZGVkKipcbiAqIC0gVXNlIGJhdGNoIG9iamVjdHMgZmFpbHVyZSByZXBvcnRpbmcgZm9yIHBhcnRpYWwgYmF0Y2ggcHJvY2Vzc2luZ1xuICogLSBDbG91ZFdhdGNoIG1ldHJpY3MgYXZhaWxhYmxlIGZvciBxdWV1ZSBkZXB0aCBhbmQgTGFtYmRhIHBlcmZvcm1hbmNlXG4gKlxuICogIyMjIERlYWQgTGV0dGVyIFF1ZXVlIE1hbmFnZW1lbnRcbiAqXG4gKiBBcHBsaWNhdGlvbnMgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duIGRlYWQgbGV0dGVyIHF1ZXVlIG1vbml0b3Jpbmc6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZTogQ2xvdWRXYXRjaCBhbGFybSBmb3IgZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIG5ldyBjbG91ZHdhdGNoLkFsYXJtKHRoaXMsICdEZWFkTGV0dGVyQWxhcm0nLCB7XG4gKiAgIG1ldHJpYzogbG9hZGVyLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mVmlzaWJsZU1lc3NhZ2VzKCksXG4gKiAgIHRocmVzaG9sZDogMSxcbiAqICAgZXZhbHVhdGlvblBlcmlvZHM6IDFcbiAqIH0pO1xuICpcbiAqIC8vIEV4YW1wbGU6IExhbWJkYSB0byByZXByb2Nlc3MgZGVhZCBsZXR0ZXIgbWVzc2FnZXNcbiAqIGNvbnN0IHJlcHJvY2Vzc0Z1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCAnUmVwcm9jZXNzJywge1xuICogICAvLyBJbXBsZW1lbnRhdGlvbiB0byBmZXRjaCBhbmQgcmVwdWJsaXNoIGZhaWxlZCBtZXNzYWdlc1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFjTG9hZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBTTlMgdG9waWMgdGhhdCByZWNlaXZlcyBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgZm9yIGxvYWRpbmcuXG4gICAqXG4gICAqIFRoaXMgdG9waWMgc2VydmVzIGFzIHRoZSBlbnRyeSBwb2ludCBmb3IgdHdvIHR5cGVzIG9mIGV2ZW50czpcbiAgICogMS4gRGlyZWN0IFNUQUMgSlNPTiBkb2N1bWVudHMgcHVibGlzaGVkIGJ5IGV4dGVybmFsIHNlcnZpY2VzXG4gICAqIDIuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgd2hlbiBTVEFDIG9iamVjdHMgYXJlIHVwbG9hZGVkIHRvIGNvbmZpZ3VyZWQgYnVja2V0c1xuICAgKlxuICAgKiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgYmF0Y2hlZCBwcm9jZXNzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRvcGljOiBzbnMuVG9waWM7XG5cbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdGhhdCBidWZmZXJzIG1lc3NhZ2VzIGJlZm9yZSBwcm9jZXNzaW5nLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIGNvbGxlY3RzIGJvdGggZGlyZWN0IFNUQUMgb2JqZWN0cyBmcm9tIFNOUyBhbmQgUzMgZXZlbnRcbiAgICogbm90aWZpY2F0aW9ucywgYmF0Y2hpbmcgdGhlbSBmb3IgZWZmaWNpZW50IGRhdGFiYXNlIG9wZXJhdGlvbnMuXG4gICAqIENvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IGFjY29tbW9kYXRlcyBMYW1iZGFcbiAgICogcHJvY2Vzc2luZyB0aW1lIHBsdXMgYnVmZmVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXVlOiBzcXMuUXVldWU7XG5cbiAgLyoqXG4gICAqIERlYWQgbGV0dGVyIHF1ZXVlIGZvciBmYWlsZWQgb2JqZWN0cyBsb2FkaW5nIGF0dGVtcHRzLlxuICAgKlxuICAgKiBNZXNzYWdlcyB0aGF0IGZhaWwgcHJvY2Vzc2luZyBhZnRlciA1IGF0dGVtcHRzIGFyZSBzZW50IGhlcmVcbiAgICogZm9yIGluc3BlY3Rpb24gYW5kIHBvdGVudGlhbCByZXBsYXkuIFJldGFpbnMgbWVzc2FnZXMgZm9yIDE0IGRheXNcbiAgICogdG8gYWxsb3cgZm9yIGRlYnVnZ2luZyBhbmQgbWFudWFsIGludGVydmVudGlvbi5cbiAgICpcbiAgICogKipVc2VyIFJlc3BvbnNpYmlsaXR5Kio6IFRoaXMgY29uc3RydWN0IHByb3ZpZGVzIE5PIGF1dG9tYXRlZCBtb25pdG9yaW5nLFxuICAgKiBhbGVydGluZywgb3IgcmVwcm9jZXNzaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlIG1lc3NhZ2VzLiBBcHBsaWNhdGlvbnNcbiAgICogdXNpbmcgdGhpcyBjb25zdHJ1Y3QgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duOlxuICAgKiAtIERlYWQgbGV0dGVyIHF1ZXVlIGRlcHRoIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nXG4gICAqIC0gRmFpbGVkIG1lc3NhZ2UgaW5zcGVjdGlvbiBhbmQgZGVidWdnaW5nIHdvcmtmbG93c1xuICAgKiAtIE1hbnVhbCBvciBhdXRvbWF0ZWQgcmVwcm9jZXNzaW5nIG1lY2hhbmlzbXNcbiAgICogLSBDbGVhbnVwIHByb2NlZHVyZXMgZm9yIG9sZCBmYWlsZWQgbWVzc2FnZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWFkTGV0dGVyUXVldWU6IHNxcy5RdWV1ZTtcblxuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IGxvYWRzIFNUQUMgb2JqZWN0cyBpbnRvIHRoZSBwZ3N0YWMgZGF0YWJhc2UuXG4gICAqXG4gICAqIFRoaXMgUHl0aG9uIGZ1bmN0aW9uIHJlY2VpdmVzIGJhdGNoZXMgb2YgbWVzc2FnZXMgZnJvbSBTUVMgYW5kIHByb2Nlc3Nlc1xuICAgKiB0aGVtIGJhc2VkIG9uIHRoZWlyIHR5cGU6XG4gICAqIC0gRGlyZWN0IFNUQUMgb2JqZWN0czogVmFsaWRhdGVzIGFuZCBsb2FkcyBkaXJlY3RseSBpbnRvIHBnc3RhY1xuICAgKiAtIFMzIGV2ZW50czogRmV0Y2hlcyBTVEFDIEpTT04gZnJvbSBTMywgdmFsaWRhdGVzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAgICpcbiAgICogVGhlIGZ1bmN0aW9uIGNvbm5lY3RzIHRvIFBvc3RncmVTUUwgdXNpbmcgY3JlZGVudGlhbHMgZnJvbSBTZWNyZXRzIE1hbmFnZXJcbiAgICogYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGVmZmljaWVudCBkYXRhYmFzZSBvcGVyYXRpb25zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB0aW1lb3V0U2Vjb25kcyA9IHByb3BzLmxhbWJkYVRpbWVvdXRTZWNvbmRzID8/IDMwMDtcbiAgICBjb25zdCBsYW1iZGFSdW50aW1lID0gcHJvcHMubGFtYmRhUnVudGltZSA/PyBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMTtcbiAgICBjb25zdCBtYXhDb25jdXJyZW5jeSA9IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDI7XG5cbiAgICAvLyBDcmVhdGUgZGVhZCBsZXR0ZXIgcXVldWVcbiAgICB0aGlzLmRlYWRMZXR0ZXJRdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJEZWFkTGV0dGVyUXVldWVcIiwge1xuICAgICAgcmV0ZW50aW9uUGVyaW9kOiBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBtYWluIHF1ZXVlXG4gICAgdGhpcy5xdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJRdWV1ZVwiLCB7XG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogRHVyYXRpb24uc2Vjb25kcyh0aW1lb3V0U2Vjb25kcyArIDEwKSxcbiAgICAgIGVuY3J5cHRpb246IHNxcy5RdWV1ZUVuY3J5cHRpb24uU1FTX01BTkFHRUQsXG4gICAgICBkZWFkTGV0dGVyUXVldWU6IHtcbiAgICAgICAgbWF4UmVjZWl2ZUNvdW50OiA1LFxuICAgICAgICBxdWV1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFNOUyB0b3BpY1xuICAgIHRoaXMudG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsIFwiVG9waWNcIiwge1xuICAgICAgZGlzcGxheU5hbWU6IGAke2lkfS1TdGFjTG9hZGVyVG9waWNgLFxuICAgIH0pO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRoZSBxdWV1ZSB0byB0aGUgdG9waWNcbiAgICB0aGlzLnRvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgIG5ldyBzbnNTdWJzY3JpcHRpb25zLlNxc1N1YnNjcmlwdGlvbih0aGlzLnF1ZXVlKVxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIGxhbWJkYSBmdW5jdGlvblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgcnVudGltZTogbGFtYmRhUnVudGltZSxcbiAgICAgIGhhbmRsZXI6IFwic3RhY19sb2FkZXIuaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwic3RhYy1sb2FkZXIvcnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIHBsYXRmb3JtOiBcImxpbnV4L2FtZDY0XCIsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBsYW1iZGFSdW50aW1lLnRvU3RyaW5nKCkucmVwbGFjZShcInB5dGhvblwiLCBcIlwiKSxcbiAgICAgICAgICBQR1NUQUNfVkVSU0lPTjogcHJvcHMucGdzdGFjRGIucGdzdGFjVmVyc2lvbixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyAxMDI0LFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcyh0aW1lb3V0U2Vjb25kcyksXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiBtYXhDb25jdXJyZW5jeSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUEdTVEFDX1NFQ1JFVF9BUk46IHByb3BzLnBnc3RhY0RiLnBnc3RhY1NlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIC4uLnByb3BzLmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBHcmFudCBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBkYXRhYmFzZSBzZWNyZXRcbiAgICBwcm9wcy5wZ3N0YWNEYi5wZ3N0YWNTZWNyZXQuZ3JhbnRSZWFkKHRoaXMubGFtYmRhRnVuY3Rpb24pO1xuXG4gICAgLy8gQWRkIFNRUyBldmVudCBzb3VyY2UgdG8gdGhlIGxhbWJkYVxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24uYWRkRXZlbnRTb3VyY2UoXG4gICAgICBuZXcgbGFtYmRhRXZlbnRTb3VyY2VzLlNxc0V2ZW50U291cmNlKHRoaXMucXVldWUsIHtcbiAgICAgICAgYmF0Y2hTaXplOiBwcm9wcy5iYXRjaFNpemUgPz8gNTAwLFxuICAgICAgICBtYXhCYXRjaGluZ1dpbmRvdzogRHVyYXRpb24ubWludXRlcyhcbiAgICAgICAgICBwcm9wcy5tYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXMgPz8gMVxuICAgICAgICApLFxuICAgICAgICBtYXhDb25jdXJyZW5jeTogbWF4Q29uY3VycmVuY3ksXG4gICAgICAgIHJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzOiB0cnVlLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBjb25zdCBleHBvcnRQcmVmaXggPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlRvcGljQXJuXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvcGljLnRvcGljQXJuLFxuICAgICAgZGVzY3JpcHRpb246IFwiQVJOIG9mIHRoZSBTdGFjTG9hZGVyIFNOUyBUb3BpY1wiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci10b3BpYy1hcm5gLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlF1ZXVlVXJsXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnF1ZXVlLnF1ZXVlVXJsLFxuICAgICAgZGVzY3JpcHRpb246IFwiVVJMIG9mIHRoZSBTdGFjTG9hZGVyIFNRUyBRdWV1ZVwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkRlYWRMZXR0ZXJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUucXVldWVVcmwsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVUkwgb2YgdGhlIFN0YWNMb2FkZXIgRGVhZCBMZXR0ZXIgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhYy1sb2FkZXItZGVhZGxldHRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkZ1bmN0aW9uTmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBGdW5jdGlvblwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1mdW5jdGlvbi1uYW1lYCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBTdGFjTG9hZGVyIGluc3RlYWQuIFN0YWNJdGVtTG9hZGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICovXG5leHBvcnQgY2xhc3MgU3RhY0l0ZW1Mb2FkZXIgZXh0ZW5kcyBTdGFjTG9hZGVyIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBTdGFjSXRlbUxvYWRlciBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIFN0YWNMb2FkZXIgaW5zdGVhZC4gYCArXG4gICAgICAgIGBTdGFjSXRlbUxvYWRlciB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5gXG4gICAgKTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG59XG5cbi8vIEFsc28gY3JlYXRlIGEgZGVwcmVjYXRlZCBpbnRlcmZhY2UgYWxpYXMgaWYgeW91IGhhZCBhIHNlcGFyYXRlIGludGVyZmFjZVxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgU3RhY0xvYWRlclByb3BzIGluc3RlYWQuIFN0YWNJdGVtTG9hZGVyUHJvcHMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY0l0ZW1Mb2FkZXJQcm9wcyBleHRlbmRzIFN0YWNMb2FkZXJQcm9wcyB7fVxuIl19
|
|
284
|
+
StacItemLoader[_b] = { fqn: "eoapi-cdk.StacItemLoader", version: "10.1.1" };
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsNkJBQTZCO0FBMkk3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnTEc7QUFDSCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQW9EdkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxHQUFHLENBQUM7UUFDekQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSx3QkFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEUsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFFakQsMkJBQTJCO1FBQzNCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7WUFDNUQsZUFBZSxFQUFFLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNuQyxDQUFDLENBQUM7UUFFSCxvQkFBb0I7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHFCQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDeEMsaUJBQWlCLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztZ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QUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUMxQixXQUFXLEVBQUUsaUNBQWlDO1lBQzlDLFVBQVUsRUFBRSxHQUFHLFlBQVksd0JBQXdCO1NBQ3BELENBQUMsQ0FBQztRQUVILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDeEMsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUTtZQUNwQyxXQUFXLEVBQUUseUNBQXlDO1lBQ3RELFVBQVUsRUFBRSxHQUFHLFlBQVksbUNBQW1DO1NBQy9ELENBQUMsQ0FBQztRQUVILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVk7WUFDdkMsV0FBVyxFQUFFLHdDQUF3QztZQUNyRCxVQUFVLEVBQUUsR0FBRyxZQUFZLDRCQUE0QjtTQUN4RCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXRKSCxnQ0F1SkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsVUFBVTtJQUM1QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0RBQStEO1lBQzdELHFEQUFxRCxDQUN4RCxDQUFDO1FBRUYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7QUFSSCx3Q0FTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENmbk91dHB1dCxcbiAgRHVyYXRpb24sXG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzIGFzIGxhbWJkYUV2ZW50U291cmNlcyxcbiAgYXdzX2xvZ3MgYXMgbG9ncyxcbiAgYXdzX3NucyBhcyBzbnMsXG4gIGF3c19zbnNfc3Vic2NyaXB0aW9ucyBhcyBzbnNTdWJzY3JpcHRpb25zLFxuICBhd3Nfc3FzIGFzIHNxcyxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IFBnU3RhY0RhdGFiYXNlIH0gZnJvbSBcIi4uL2RhdGFiYXNlXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY0xvYWRlciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGxvYWRzIFNUQUMgY29sbGVjdGlvbnMgYW5kIGl0ZW1zIGludG8gYSBwZ3N0YWMgZGF0YWJhc2UuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXNcbiAqIHRoZSBpbmZyYXN0cnVjdHVyZSBmb3IgcmVjZWl2aW5nIFNUQUMgb2JqZWN0cyBmcm9tIG11bHRpcGxlIHNvdXJjZXM6XG4gKiAxLiBTTlMgbWVzc2FnZXMgY29udGFpbmluZyBTVEFDIG1ldGFkYXRhIChkaXJlY3QgaW5nZXN0aW9uKVxuICogMi4gUzMgZXZlbnQgbm90aWZpY2F0aW9ucyBmb3IgU1RBQyBvYmplY3RzIHVwbG9hZGVkIHRvIFMzIGJ1Y2tldHNcbiAqXG4gKiBPYmplY3RzIGZyb20gYm90aCBzb3VyY2VzIGFyZSBiYXRjaGVkIGFuZCBpbnNlcnRlZCBpbnRvIFBvc3RncmVTUUwgd2l0aCB0aGUgcGdzdGFjIGV4dGVuc2lvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLFxuICogICBtYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXM6IDEsXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDBcbiAqIH0pO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNMb2FkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgUGdTVEFDIGRhdGFiYXNlIGluc3RhbmNlIHRvIGxvYWQgZGF0YSBpbnRvLlxuICAgKlxuICAgKiBUaGlzIGRhdGFiYXNlIG11c3QgaGF2ZSB0aGUgcGdzdGFjIGV4dGVuc2lvbiBpbnN0YWxsZWQgYW5kIGJlIHByb3Blcmx5XG4gICAqIGNvbmZpZ3VyZWQgd2l0aCBjb2xsZWN0aW9ucyBiZWZvcmUgb2JqZWN0cyBjYW4gYmUgbG9hZGVkLiBUaGUgbG9hZGVyIHdpbGxcbiAgICogdXNlIEFXUyBTZWNyZXRzIE1hbmFnZXIgdG8gc2VjdXJlbHkgYWNjZXNzIGRhdGFiYXNlIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGdzdGFjRGI6IFBnU3RhY0RhdGFiYXNlO1xuXG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBTdWJuZXQgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbj86IGVjMi5TdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGxvYWRpbmcgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiBQeXRob24gYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGRhdGFiYXNlXG4gICAqIG9wZXJhdGlvbnMuIEVuc3VyZSB0aGUgcnVudGltZSB2ZXJzaW9uIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgcGdzdGFjXG4gICAqIHZlcnNpb24gc3BlY2lmaWVkIGluIHRoZSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhUnVudGltZT86IGxhbWJkYS5SdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZW91dCBmb3IgdGhlIGl0ZW0gbG9hZCBsYW1iZGEgaW4gc2Vjb25kcy5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgYWNjb21tb2RhdGUgdGhlIHRpbWUgbmVlZGVkIHRvIHByb2Nlc3MgdXAgdG8gYGJhdGNoU2l6ZWBcbiAgICogb2JqZWN0cyBhbmQgcGVyZm9ybSBkYXRhYmFzZSBpbnNlcnRpb25zLiBUaGUgU1FTIHZpc2liaWxpdHkgdGltZW91dFxuICAgKiB3aWxsIGJlIHNldCB0byB0aGlzIHZhbHVlIHBsdXMgMTAgc2Vjb25kcy5cbiAgICpcbiAgICogQGRlZmF1bHQgMzAwXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFUaW1lb3V0U2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWVtb3J5IHNpemUgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24gaW4gTUIuXG4gICAqXG4gICAqIEhpZ2hlciBtZW1vcnkgYWxsb2NhdGlvbiBtYXkgaW1wcm92ZSBwZXJmb3JtYW5jZSB3aGVuIHByb2Nlc3NpbmdcbiAgICogbGFyZ2UgYmF0Y2hlcyBvZiBTVEFDIG9iamVjdHMsIGVzcGVjaWFsbHkgZm9yIG1lbW9yeS1pbnRlbnNpdmVcbiAgICogZGF0YWJhc2Ugb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU1FTIGJhdGNoIHNpemUgZm9yIGxhbWJkYSBldmVudCBzb3VyY2UuXG4gICAqXG4gICAqIFRoaXMgZGV0ZXJtaW5lcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgU1RBQyBvYmplY3RzIHRoYXQgd2lsbCBiZVxuICAgKiBwcm9jZXNzZWQgdG9nZXRoZXIgaW4gYSBzaW5nbGUgbGFtYmRhIGludm9jYXRpb24uIExhcmdlciBiYXRjaFxuICAgKiBzaXplcyBpbXByb3ZlIGRhdGFiYXNlIGluc2VydGlvbiBlZmZpY2llbmN5IGJ1dCByZXF1aXJlIG1vcmVcbiAgICogbWVtb3J5IGFuZCBsb25nZXIgcHJvY2Vzc2luZyB0aW1lLlxuICAgKlxuICAgKiAqKkJhdGNoaW5nIEJlaGF2aW9yKio6IFNRUyB3aWxsIHdhaXQgdG8gYWNjdW11bGF0ZSB1cCB0byB0aGlzIG1hbnlcbiAgICogbWVzc2FnZXMgYmVmb3JlIHRyaWdnZXJpbmcgdGhlIExhbWJkYSwgT1IgdW50aWwgdGhlIG1heEJhdGNoaW5nV2luZG93XG4gICAqIHRpbWVvdXQgaXMgcmVhY2hlZCwgd2hpY2hldmVyIGNvbWVzIGZpcnN0LiBUaGlzIGNyZWF0ZXMgYW4gZWZmaWNpZW50XG4gICAqIGJhbGFuY2UgYmV0d2VlbiB0aHJvdWdocHV0IGFuZCBsYXRlbmN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCA1MDBcbiAgICovXG4gIHJlYWRvbmx5IGJhdGNoU2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBiYXRjaGluZyB3aW5kb3cgaW4gbWludXRlcy5cbiAgICpcbiAgICogRXZlbiBpZiB0aGUgYmF0Y2ggc2l6ZSBpc24ndCByZWFjaGVkLCB0aGUgbGFtYmRhIHdpbGwgYmUgdHJpZ2dlcmVkXG4gICAqIGFmdGVyIHRoaXMgdGltZSBwZXJpb2QgdG8gZW5zdXJlIHRpbWVseSBwcm9jZXNzaW5nIG9mIG9iamVjdHMuXG4gICAqIFRoaXMgcHJldmVudHMgb2JqZWN0cyBmcm9tIHdhaXRpbmcgaW5kZWZpbml0ZWx5IGluIGxvdy12b2x1bWUgc2NlbmFyaW9zLlxuICAgKlxuICAgKiAqKkltcG9ydGFudCoqOiBUaGlzIHRpbWVvdXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCBiYXRjaFNpemUgLSBTUVNcbiAgICogd2lsbCB0cmlnZ2VyIHRoZSBMYW1iZGEgd2hlbiBFSVRIRVIgdGhlIGJhdGNoIHNpemUgaXMgcmVhY2hlZCBPUiB0aGlzXG4gICAqIHRpbWUgd2luZG93IGV4cGlyZXMsIGVuc3VyaW5nIG9iamVjdHMgYXJlIHByb2Nlc3NlZCBpbiBhIHRpbWVseSBtYW5uZXJcbiAgICogcmVnYXJkbGVzcyBvZiB2b2x1bWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IG1heEJhdGNoaW5nV2luZG93TWludXRlcz86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjb25jdXJyZW50IGV4ZWN1dGlvbnMgZm9yIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBmdW5jdGlvblxuICAgKlxuICAgKiBUaGlzIGxpbWl0IHdpbGwgYmUgYXBwbGllZCB0byB0aGUgTGFtYmRhIGZ1bmN0aW9uIGFuZCB3aWxsIGNvbnRyb2wgaG93XG4gICAqIG1hbnkgY29uY3VycmVudCBiYXRjaGVzIHdpbGwgYmUgcmVsZWFzZWQgZnJvbSB0aGUgU1FTIHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAyXG4gICAqL1xuICByZWFkb25seSBtYXhDb25jdXJyZW5jeT86IG51bWJlcjtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBsYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZXNlIHdpbGwgYmUgbWVyZ2VkIHdpdGggdGhlIGRlZmF1bHQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluY2x1ZGluZ1xuICAgKiBQR1NUQUNfU0VDUkVUX0FSTi4gVXNlIHRoaXMgZm9yIGN1c3RvbSBjb25maWd1cmF0aW9uIG9yIGRlYnVnZ2luZyBmbGFncy5cbiAgICpcbiAgICogSWYgeW91IHdhbnQgdG8gZW5hYmxlIHRoZSBvcHRpb24gdG8gdXBsb2FkIGEgYm9pbGVycGxhdGUgY29sbGVjdGlvbiByZWNvcmRcbiAgICogaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGNvbGxlY3Rpb24gcmVjb3JkIGRvZXMgbm90IHlldCBleGlzdCBmb3IgYW4gaXRlbSB0aGF0XG4gICAqIGlzIHNldCB0byBiZSBsb2FkZWQsIHNldCB0aGUgdmFyaWFibGUgYFwiQ1JFQVRFX0NPTExFQ1RJT05TX0lGX01JU1NJTkdcIjogXCJUUlVFXCJgLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBsYW1iZGEgZnVuY3Rpb24gcHJvcGVydGllcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZpbmVkIGluIHRoZSBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xufVxuXG4vKipcbiAqIEFXUyBDREsgQ29uc3RydWN0IGZvciBTVEFDIE9iamVjdCBMb2FkaW5nIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWNMb2FkZXIgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGxvYWRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIG9iamVjdHMgaW50byBhIFBvc3RncmVTUUwgZGF0YWJhc2Ugd2l0aFxuICogdGhlIHBnc3RhYyBleHRlbnNpb24uIFRoaXMgY29uc3RydWN0IHN1cHBvcnRzIG11bHRpcGxlIGluZ2VzdGlvbiBwYXRod2F5c1xuICogZm9yIGZsZXhpYmxlIFNUQUMgb2JqZWN0IGxvYWRpbmcuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnNcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBhbmQgYmF0Y2hlcyBtZXNzYWdlcyBiZWZvcmUgcHJvY2Vzc2luZyAoNjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbG9hZGluZyBhdHRlbXB0cyBhZnRlciA1IHJldHJpZXNcbiAqIC0gKipMYW1iZGEgRnVuY3Rpb24qKjogUHl0aG9uIGZ1bmN0aW9uIHRoYXQgcHJvY2Vzc2VzIGJhdGNoZXMgYW5kIGluc2VydHMgb2JqZWN0cyBpbnRvIHBnc3RhY1xuICpcbiAqICMjIERhdGEgRmxvd1xuICpcbiAqIFRoZSBsb2FkZXIgc3VwcG9ydHMgdHdvIHByaW1hcnkgZGF0YSBpbmdlc3Rpb24gcGF0dGVybnM6XG4gKlxuICogIyMjIERpcmVjdCBTVEFDIE9iamVjdCBQdWJsaXNoaW5nXG4gKiAxLiBTVEFDIG9iamVjdHMgKEpTT04pIGFyZSBwdWJsaXNoZWQgZGlyZWN0bHkgdG8gdGhlIFNOUyB0b3BpYyBpbiBtZXNzYWdlIGJvZGllc1xuICogMi4gVGhlIFNRUyBxdWV1ZSBjb2xsZWN0cyBtZXNzYWdlcyBhbmQgYmF0Y2hlcyB0aGVtICh1cCB0byB7YmF0Y2hTaXplfSBvYmplY3RzIG9yIDEgbWludXRlIHdpbmRvdylcbiAqIDMuIFRoZSBMYW1iZGEgZnVuY3Rpb24gcmVjZWl2ZXMgYmF0Y2hlcywgdmFsaWRhdGVzIG9iamVjdHMsIGFuZCBpbnNlcnRzIGludG8gcGdzdGFjXG4gKlxuICogIyMjIFMzIEV2ZW50LURyaXZlbiBMb2FkaW5nXG4gKiAxLiBBbiBTMyBidWNrZXQgaXMgY29uZmlndXJlZCB0byBzZW5kIG5vdGlmaWNhdGlvbnMgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIGpzb24gZmlsZXMgYXJlIGNyZWF0ZWRcbiAqIDIuIFNUQUMgb2JqZWN0cyBhcmUgdXBsb2FkZWQgdG8gUzMgYnVja2V0cyBhcyBKU09OL0dlb0pTT04gZmlsZXNcbiAqIDMuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgYXJlIHNlbnQgdG8gdGhlIFNOUyB0b3BpYyB3aGVuIG9iamVjdHMgYXJlIHVwbG9hZGVkXG4gKiA0LiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHJlY2VpdmVzIFMzIGV2ZW50cyBpbiB0aGUgU1FTIG1lc3NhZ2UgYmF0Y2gsIGZldGNoZXMgb2JqZWN0cyBmcm9tIFMzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAqXG4gKiAjIyBCYXRjaGluZyBCZWhhdmlvclxuICpcbiAqIFRoZSBTUVMtdG8tTGFtYmRhIGludGVncmF0aW9uIHVzZXMgaW50ZWxsaWdlbnQgYmF0Y2hpbmcgdG8gb3B0aW1pemUgcGVyZm9ybWFuY2U6XG4gKlxuICogLSAqKkJhdGNoIFNpemUqKjogTGFtYmRhIHdhaXRzIHRvIHJlY2VpdmUgdXAgdG8gYGJhdGNoU2l6ZWAgbWVzc2FnZXMgKGRlZmF1bHQ6IDUwMClcbiAqIC0gKipCYXRjaGluZyBXaW5kb3cqKjogSWYgZmV3ZXIgdGhhbiBgYmF0Y2hTaXplYCBtZXNzYWdlcyBhcmUgYXZhaWxhYmxlLCBMYW1iZGFcbiAqICAgdHJpZ2dlcnMgYWZ0ZXIgYG1heEJhdGNoaW5nV2luZG93YCBtaW51dGVzIChkZWZhdWx0OiAxIG1pbnV0ZSlcbiAqIC0gKipUcmlnZ2VyIENvbmRpdGlvbioqOiBMYW1iZGEgZXhlY3V0ZXMgd2hlbiBFSVRIRVIgY29uZGl0aW9uIGlzIG1ldCBmaXJzdFxuICogLSAqKkNvbmN1cnJlbmN5Kio6IExpbWl0ZWQgdG8gYG1heENvbmN1cnJlbmN5YCBjb25jdXJyZW50IGV4ZWN1dGlvbnMgdG8gcHJldmVudCBkYXRhYmFzZSBvdmVybG9hZFxuICogLSAqKlBhcnRpYWwgRmFpbHVyZXMqKjogVXNlcyBgcmVwb3J0QmF0Y2hJdGVtRmFpbHVyZXNgIHRvIHJldHJ5IG9ubHkgZmFpbGVkIG9iamVjdHNcbiAqXG4gKiBUaGlzIGFwcHJvYWNoIGJhbGFuY2VzIHRocm91Z2hwdXQgKGxhcmdlciBiYXRjaGVzID0gZmV3ZXIgZGF0YWJhc2UgY29ubmVjdGlvbnMpXG4gKiB3aXRoIGxhdGVuY3kgKHRpbWUtYmFzZWQgdHJpZ2dlcnMgcHJldmVudCBpbmRlZmluaXRlIHdhaXRpbmcpLlxuICpcbiAqICMjIEVycm9yIEhhbmRsaW5nIGFuZCBEZWFkIExldHRlciBRdWV1ZVxuICpcbiAqIEZhaWxlZCBtZXNzYWdlcyBhcmUgc2VudCB0byB0aGUgZGVhZCBsZXR0ZXIgcXVldWUgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzLlxuICogKipJbXBvcnRhbnQqKjogVGhpcyBjb25zdHJ1Y3QgcHJvdmlkZXMgTk8gYXV0b21hdGVkIGhhbmRsaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlXG4gKiBtZXNzYWdlcyAtIG1vbml0b3JpbmcsIGluc3BlY3Rpb24sIGFuZCByZXByb2Nlc3Npbmcgb2YgZmFpbGVkIG9iamVjdHMgaXMgdGhlXG4gKiByZXNwb25zaWJpbGl0eSBvZiB0aGUgaW1wbGVtZW50aW5nIGFwcGxpY2F0aW9uLlxuICpcbiAqIENvbnNpZGVyIGltcGxlbWVudGluZzpcbiAqIC0gQ2xvdWRXYXRjaCBhbGFybXMgb24gZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIC0gTWFudWFsIG9yIGF1dG9tYXRlZCByZXByb2Nlc3Npbmcgd29ya2Zsb3dzXG4gKiAtIExvZ2dpbmcgYW5kIGFsZXJ0aW5nIGZvciBmYWlsZWQgb2JqZWN0c1xuICogLSBSZWd1bGFyIGNsZWFudXAgb2Ygb2xkIGRlYWQgbGV0dGVyIG1lc3NhZ2VzICgxNC1kYXkgcmV0ZW50aW9uKVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGhcbiAqIC0gKipSZWxpYWJpbGl0eSoqOiBEZWFkIGxldHRlciBxdWV1ZSBjYXB0dXJlcyBmYWlsdXJlcyBmb3IgZGVidWdnaW5nXG4gKiAtICoqRWZmaWNpZW5jeSoqOiBCYXRjaGluZyBvcHRpbWl6ZXMgZGF0YWJhc2Ugb3BlcmF0aW9ucyBmb3IgaGlnaCB0aHJvdWdocHV0XG4gKiAtICoqU2VjdXJpdHkqKjogRGF0YWJhc2UgY3JlZGVudGlhbHMgYWNjZXNzZWQgdmlhIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gKipPYnNlcnZhYmlsaXR5Kio6IENsb3VkV2F0Y2ggbG9ncyByZXRhaW5lZCBmb3Igb25lIHdlZWtcbiAqXG4gKiAjIyBQcmVyZXF1aXNpdGVzXG4gKlxuICogQmVmb3JlIHVzaW5nIHRoaXMgY29uc3RydWN0LCBlbnN1cmU6XG4gKiAtIFRoZSBwZ3N0YWMgZGF0YWJhc2UgaGFzIGNvbGxlY3Rpb25zIGxvYWRlZCAob2JqZWN0cyByZXF1aXJlIGV4aXN0aW5nIGNvbGxlY3Rpb24gSURzKVxuICogLSBEYXRhYmFzZSBjcmVkZW50aWFscyBhcmUgc3RvcmVkIGluIEFXUyBTZWNyZXRzIE1hbmFnZXJcbiAqIC0gVGhlIHBnc3RhYyBleHRlbnNpb24gaXMgcHJvcGVybHkgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkXG4gKlxuICogIyMgVXNhZ2UgRXhhbXBsZVxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENyZWF0ZSBkYXRhYmFzZSBmaXJzdFxuICogY29uc3QgZGF0YWJhc2UgPSBuZXcgUGdTdGFjRGF0YWJhc2UodGhpcywgJ0RhdGFiYXNlJywge1xuICogICBwZ3N0YWNWZXJzaW9uOiAnMC45LjUnXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgT2JqZWN0IGxvYWRlclxuICogY29uc3QgbG9hZGVyID0gbmV3IFN0YWNMb2FkZXIodGhpcywgJ1N0YWNMb2FkZXInLCB7XG4gKiAgIHBnc3RhY0RiOiBkYXRhYmFzZSxcbiAqICAgYmF0Y2hTaXplOiAxMDAwLCAgICAgICAgICAvLyBQcm9jZXNzIHVwIHRvIDEwMDAgb2JqZWN0cyBwZXIgYmF0Y2hcbiAqICAgbWF4QmF0Y2hpbmdXaW5kb3dNaW51dGVzOiAxLCAvLyBXYWl0IG1heCAxIG1pbnV0ZSB0byBmaWxsIGJhdGNoXG4gKiAgIGxhbWJkYVRpbWVvdXRTZWNvbmRzOiAzMDAgICAgIC8vIEFsbG93IHVwIHRvIDMwMCBzZWNvbmRzIGZvciBkYXRhYmFzZSBvcGVyYXRpb25zXG4gKiB9KTtcbiAqXG4gKiAvLyBUaGUgdG9waWMgQVJOIGNhbiBiZSB1c2VkIGJ5IG90aGVyIHNlcnZpY2VzIHRvIHB1Ymxpc2ggb2JqZWN0c1xuICogbmV3IENmbk91dHB1dCh0aGlzLCAnTG9hZGVyVG9waWNBcm4nLCB7XG4gKiAgIHZhbHVlOiBsb2FkZXIudG9waWMudG9waWNBcm5cbiAqIH0pO1xuICogYGBgXG4gKlxuICogIyMgRGlyZWN0IE9iamVjdCBQdWJsaXNoaW5nXG4gKlxuICogRXh0ZXJuYWwgc2VydmljZXMgY2FuIHB1Ymxpc2ggU1RBQyBvYmplY3RzIGRpcmVjdGx5IHRvIHRoZSB0b3BpYzpcbiAqXG4gKiBgYGBiYXNoXG4gKiBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gJFNUQUNfTE9BRF9UT1BJQyAtLW1lc3NhZ2UgICd7XG4gKiAgIFwiaWRcIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIixcbiAqICAgXCJ0eXBlXCI6IFwiQ29sbGVjdGlvblwiLFxuICogICBcInRpdGxlXCI6IFwiRXhhbXBsZSBDb2xsZWN0aW9uXCIsXG4gKiAgIFwiZGVzY3JpcHRpb25cIjogXCJBbiBleGFtcGxlIGNvbGxlY3Rpb25cIixcbiAqICAgXCJsaWNlbnNlXCI6IFwicHJvcHJpZXRhcnlcIixcbiAqICAgXCJleHRlbnRcIjoge1xuICogICAgICAgXCJzcGF0aWFsXCI6IHtcImJib3hcIjogW1stMTgwLCAtOTAsIDE4MCwgOTBdXX0sXG4gKiAgICAgICBcInRlbXBvcmFsXCI6IHtcImludGVydmFsXCI6IFtbbnVsbCwgbnVsbF1dfVxuICogICB9LFxuICogICBcInN0YWNfdmVyc2lvblwiOiBcIjEuMS4wXCIsXG4gKiAgIFwibGlua3NcIjogW11cbiAqIH0nXG4gKlxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRTVEFDX0xPQURfVE9QSUMgLS1tZXNzYWdlICd7XG4gKiAgIFwidHlwZVwiOiBcIkZlYXR1cmVcIixcbiAqICAgXCJzdGFjX3ZlcnNpb25cIjogXCIxLjAuMFwiLFxuICogICBcImlkXCI6IFwiZXhhbXBsZS1pdGVtXCIsXG4gKiAgIFwicHJvcGVydGllc1wiOiB7XCJkYXRldGltZVwiOiBcIjIwMjEtMDEtMDFUMDA6MDA6MDBaXCJ9LFxuICogICBcImdlb21ldHJ5XCI6IHtcInR5cGVcIjogXCJQb2x5Z29uXCIsIFwiY29vcmRpbmF0ZXNcIjogWy4uLl19LFxuICogICBcImNvbGxlY3Rpb25cIjogXCJleGFtcGxlLWNvbGxlY3Rpb25cIlxuICogfSdcbiAqXG4gKlxuICogYGBgXG4gKlxuICogIyMgUzMgRXZlbnQgQ29uZmlndXJhdGlvblxuICpcbiAqIFRvIGVuYWJsZSBTMyBldmVudC1kcml2ZW4gbG9hZGluZywgY29uZmlndXJlIFMzIGJ1Y2tldCBub3RpZmljYXRpb25zIHRvIHNlbmRcbiAqIGV2ZW50cyB0byB0aGUgU05TIHRvcGljIHdoZW4gU1RBQyBvYmplY3RzICguanNvbiBvciAuZ2VvanNvbiBmaWxlcykgYXJlIHVwbG9hZGVkOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIENvbmZpZ3VyZSBTMyBidWNrZXQgdG8gc2VuZCBub3RpZmljYXRpb25zIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGJ1Y2tldC5hZGRFdmVudE5vdGlmaWNhdGlvbihcbiAqICAgczMuRXZlbnRUeXBlLk9CSkVDVF9DUkVBVEVELFxuICogICBuZXcgczNuLlNuc0Rlc3RpbmF0aW9uKGxvYWRlci50b3BpYyksXG4gKiAgIHsgc3VmZml4OiAnLmpzb24nIH1cbiAqICk7XG4gKlxuICogYnVja2V0LmFkZEV2ZW50Tm90aWZpY2F0aW9uKFxuICogICBzMy5FdmVudFR5cGUuT0JKRUNUX0NSRUFURUQsXG4gKiAgIG5ldyBzM24uU25zRGVzdGluYXRpb24obG9hZGVyLnRvcGljKSxcbiAqICAgeyBzdWZmaXg6ICcuZ2VvanNvbicgfVxuICogKTtcbiAqIGBgYFxuICpcbiAqIFdoZW4gU1RBQyBvYmplY3RzIGFyZSB1cGxvYWRlZCB0byB0aGUgY29uZmlndXJlZCBTMyBidWNrZXQsIHRoZSBsb2FkZXIgd2lsbDpcbiAqIDEuIFJlY2VpdmUgUzMgZXZlbnQgbm90aWZpY2F0aW9ucyB2aWEgU05TXG4gKiAyLiBGZXRjaCB0aGUgU1RBQyBKU09OIGZyb20gUzNcbiAqIDMuIFZhbGlkYXRlIGFuZCBsb2FkIHRoZSBvYmplY3RzIGludG8gdGhlIHBnc3RhYyBkYXRhYmFzZVxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSAqKkRlYWQgTGV0dGVyIFF1ZXVlKio6IENoZWNrIGZvciBmYWlsZWQgb2JqZWN0cyAtICoqbm8gYXV0b21hdGVkIGhhbmRsaW5nIHByb3ZpZGVkKipcbiAqIC0gVXNlIGJhdGNoIG9iamVjdHMgZmFpbHVyZSByZXBvcnRpbmcgZm9yIHBhcnRpYWwgYmF0Y2ggcHJvY2Vzc2luZ1xuICogLSBDbG91ZFdhdGNoIG1ldHJpY3MgYXZhaWxhYmxlIGZvciBxdWV1ZSBkZXB0aCBhbmQgTGFtYmRhIHBlcmZvcm1hbmNlXG4gKlxuICogIyMjIERlYWQgTGV0dGVyIFF1ZXVlIE1hbmFnZW1lbnRcbiAqXG4gKiBBcHBsaWNhdGlvbnMgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duIGRlYWQgbGV0dGVyIHF1ZXVlIG1vbml0b3Jpbmc6XG4gKlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRXhhbXBsZTogQ2xvdWRXYXRjaCBhbGFybSBmb3IgZGVhZCBsZXR0ZXIgcXVldWUgZGVwdGhcbiAqIG5ldyBjbG91ZHdhdGNoLkFsYXJtKHRoaXMsICdEZWFkTGV0dGVyQWxhcm0nLCB7XG4gKiAgIG1ldHJpYzogbG9hZGVyLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mVmlzaWJsZU1lc3NhZ2VzKCksXG4gKiAgIHRocmVzaG9sZDogMSxcbiAqICAgZXZhbHVhdGlvblBlcmlvZHM6IDFcbiAqIH0pO1xuICpcbiAqIC8vIEV4YW1wbGU6IExhbWJkYSB0byByZXByb2Nlc3MgZGVhZCBsZXR0ZXIgbWVzc2FnZXNcbiAqIGNvbnN0IHJlcHJvY2Vzc0Z1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCAnUmVwcm9jZXNzJywge1xuICogICAvLyBJbXBsZW1lbnRhdGlvbiB0byBmZXRjaCBhbmQgcmVwdWJsaXNoIGZhaWxlZCBtZXNzYWdlc1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFjTG9hZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRoZSBTTlMgdG9waWMgdGhhdCByZWNlaXZlcyBTVEFDIG9iamVjdHMgYW5kIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgZm9yIGxvYWRpbmcuXG4gICAqXG4gICAqIFRoaXMgdG9waWMgc2VydmVzIGFzIHRoZSBlbnRyeSBwb2ludCBmb3IgdHdvIHR5cGVzIG9mIGV2ZW50czpcbiAgICogMS4gRGlyZWN0IFNUQUMgSlNPTiBkb2N1bWVudHMgcHVibGlzaGVkIGJ5IGV4dGVybmFsIHNlcnZpY2VzXG4gICAqIDIuIFMzIGV2ZW50IG5vdGlmaWNhdGlvbnMgd2hlbiBTVEFDIG9iamVjdHMgYXJlIHVwbG9hZGVkIHRvIGNvbmZpZ3VyZWQgYnVja2V0c1xuICAgKlxuICAgKiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgYmF0Y2hlZCBwcm9jZXNzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHRvcGljOiBzbnMuVG9waWM7XG5cbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdGhhdCBidWZmZXJzIG1lc3NhZ2VzIGJlZm9yZSBwcm9jZXNzaW5nLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIGNvbGxlY3RzIGJvdGggZGlyZWN0IFNUQUMgb2JqZWN0cyBmcm9tIFNOUyBhbmQgUzMgZXZlbnRcbiAgICogbm90aWZpY2F0aW9ucywgYmF0Y2hpbmcgdGhlbSBmb3IgZWZmaWNpZW50IGRhdGFiYXNlIG9wZXJhdGlvbnMuXG4gICAqIENvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IGFjY29tbW9kYXRlcyBMYW1iZGFcbiAgICogcHJvY2Vzc2luZyB0aW1lIHBsdXMgYnVmZmVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXVlOiBzcXMuUXVldWU7XG5cbiAgLyoqXG4gICAqIERlYWQgbGV0dGVyIHF1ZXVlIGZvciBmYWlsZWQgb2JqZWN0cyBsb2FkaW5nIGF0dGVtcHRzLlxuICAgKlxuICAgKiBNZXNzYWdlcyB0aGF0IGZhaWwgcHJvY2Vzc2luZyBhZnRlciA1IGF0dGVtcHRzIGFyZSBzZW50IGhlcmVcbiAgICogZm9yIGluc3BlY3Rpb24gYW5kIHBvdGVudGlhbCByZXBsYXkuIFJldGFpbnMgbWVzc2FnZXMgZm9yIDE0IGRheXNcbiAgICogdG8gYWxsb3cgZm9yIGRlYnVnZ2luZyBhbmQgbWFudWFsIGludGVydmVudGlvbi5cbiAgICpcbiAgICogKipVc2VyIFJlc3BvbnNpYmlsaXR5Kio6IFRoaXMgY29uc3RydWN0IHByb3ZpZGVzIE5PIGF1dG9tYXRlZCBtb25pdG9yaW5nLFxuICAgKiBhbGVydGluZywgb3IgcmVwcm9jZXNzaW5nIG9mIGRlYWQgbGV0dGVyIHF1ZXVlIG1lc3NhZ2VzLiBBcHBsaWNhdGlvbnNcbiAgICogdXNpbmcgdGhpcyBjb25zdHJ1Y3QgbXVzdCBpbXBsZW1lbnQgdGhlaXIgb3duOlxuICAgKiAtIERlYWQgbGV0dGVyIHF1ZXVlIGRlcHRoIG1vbml0b3JpbmcgYW5kIGFsZXJ0aW5nXG4gICAqIC0gRmFpbGVkIG1lc3NhZ2UgaW5zcGVjdGlvbiBhbmQgZGVidWdnaW5nIHdvcmtmbG93c1xuICAgKiAtIE1hbnVhbCBvciBhdXRvbWF0ZWQgcmVwcm9jZXNzaW5nIG1lY2hhbmlzbXNcbiAgICogLSBDbGVhbnVwIHByb2NlZHVyZXMgZm9yIG9sZCBmYWlsZWQgbWVzc2FnZXNcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkZWFkTGV0dGVyUXVldWU6IHNxcy5RdWV1ZTtcblxuICAvKipcbiAgICogVGhlIExhbWJkYSBmdW5jdGlvbiB0aGF0IGxvYWRzIFNUQUMgb2JqZWN0cyBpbnRvIHRoZSBwZ3N0YWMgZGF0YWJhc2UuXG4gICAqXG4gICAqIFRoaXMgUHl0aG9uIGZ1bmN0aW9uIHJlY2VpdmVzIGJhdGNoZXMgb2YgbWVzc2FnZXMgZnJvbSBTUVMgYW5kIHByb2Nlc3Nlc1xuICAgKiB0aGVtIGJhc2VkIG9uIHRoZWlyIHR5cGU6XG4gICAqIC0gRGlyZWN0IFNUQUMgb2JqZWN0czogVmFsaWRhdGVzIGFuZCBsb2FkcyBkaXJlY3RseSBpbnRvIHBnc3RhY1xuICAgKiAtIFMzIGV2ZW50czogRmV0Y2hlcyBTVEFDIEpTT04gZnJvbSBTMywgdmFsaWRhdGVzLCBhbmQgbG9hZHMgaW50byBwZ3N0YWNcbiAgICpcbiAgICogVGhlIGZ1bmN0aW9uIGNvbm5lY3RzIHRvIFBvc3RncmVTUUwgdXNpbmcgY3JlZGVudGlhbHMgZnJvbSBTZWNyZXRzIE1hbmFnZXJcbiAgICogYW5kIHVzZXMgcHlwZ3N0YWMgZm9yIGVmZmljaWVudCBkYXRhYmFzZSBvcGVyYXRpb25zLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB0aW1lb3V0U2Vjb25kcyA9IHByb3BzLmxhbWJkYVRpbWVvdXRTZWNvbmRzID8/IDMwMDtcbiAgICBjb25zdCBsYW1iZGFSdW50aW1lID0gcHJvcHMubGFtYmRhUnVudGltZSA/PyBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMjtcbiAgICBjb25zdCBtYXhDb25jdXJyZW5jeSA9IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDI7XG5cbiAgICAvLyBDcmVhdGUgZGVhZCBsZXR0ZXIgcXVldWVcbiAgICB0aGlzLmRlYWRMZXR0ZXJRdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJEZWFkTGV0dGVyUXVldWVcIiwge1xuICAgICAgcmV0ZW50aW9uUGVyaW9kOiBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBtYWluIHF1ZXVlXG4gICAgdGhpcy5xdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgXCJRdWV1ZVwiLCB7XG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogRHVyYXRpb24uc2Vjb25kcyh0aW1lb3V0U2Vjb25kcyArIDEwKSxcbiAgICAgIGVuY3J5cHRpb246IHNxcy5RdWV1ZUVuY3J5cHRpb24uU1FTX01BTkFHRUQsXG4gICAgICBkZWFkTGV0dGVyUXVldWU6IHtcbiAgICAgICAgbWF4UmVjZWl2ZUNvdW50OiA1LFxuICAgICAgICBxdWV1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIFNOUyB0b3BpY1xuICAgIHRoaXMudG9waWMgPSBuZXcgc25zLlRvcGljKHRoaXMsIFwiVG9waWNcIiwge1xuICAgICAgZGlzcGxheU5hbWU6IGAke2lkfS1TdGFjTG9hZGVyVG9waWNgLFxuICAgIH0pO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRoZSBxdWV1ZSB0byB0aGUgdG9waWNcbiAgICB0aGlzLnRvcGljLmFkZFN1YnNjcmlwdGlvbihcbiAgICAgIG5ldyBzbnNTdWJzY3JpcHRpb25zLlNxc1N1YnNjcmlwdGlvbih0aGlzLnF1ZXVlKVxuICAgICk7XG5cbiAgICAvLyBDcmVhdGUgdGhlIGxhbWJkYSBmdW5jdGlvblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgcnVudGltZTogbGFtYmRhUnVudGltZSxcbiAgICAgIGhhbmRsZXI6IFwic3RhY19sb2FkZXIuaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwic3RhYy1sb2FkZXIvcnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIHBsYXRmb3JtOiBcImxpbnV4L2FtZDY0XCIsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBsYW1iZGFSdW50aW1lLnRvU3RyaW5nKCkucmVwbGFjZShcInB5dGhvblwiLCBcIlwiKSxcbiAgICAgICAgICBQR1NUQUNfVkVSU0lPTjogcHJvcHMucGdzdGFjRGIucGdzdGFjVmVyc2lvbixcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyAxMDI0LFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcyh0aW1lb3V0U2Vjb25kcyksXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiBtYXhDb25jdXJyZW5jeSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgUEdTVEFDX1NFQ1JFVF9BUk46IHByb3BzLnBnc3RhY0RiLnBnc3RhY1NlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIC4uLnByb3BzLmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBHcmFudCBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBkYXRhYmFzZSBzZWNyZXRcbiAgICBwcm9wcy5wZ3N0YWNEYi5wZ3N0YWNTZWNyZXQuZ3JhbnRSZWFkKHRoaXMubGFtYmRhRnVuY3Rpb24pO1xuXG4gICAgLy8gQWRkIFNRUyBldmVudCBzb3VyY2UgdG8gdGhlIGxhbWJkYVxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24uYWRkRXZlbnRTb3VyY2UoXG4gICAgICBuZXcgbGFtYmRhRXZlbnRTb3VyY2VzLlNxc0V2ZW50U291cmNlKHRoaXMucXVldWUsIHtcbiAgICAgICAgYmF0Y2hTaXplOiBwcm9wcy5iYXRjaFNpemUgPz8gNTAwLFxuICAgICAgICBtYXhCYXRjaGluZ1dpbmRvdzogRHVyYXRpb24ubWludXRlcyhcbiAgICAgICAgICBwcm9wcy5tYXhCYXRjaGluZ1dpbmRvd01pbnV0ZXMgPz8gMVxuICAgICAgICApLFxuICAgICAgICBtYXhDb25jdXJyZW5jeTogbWF4Q29uY3VycmVuY3ksXG4gICAgICAgIHJlcG9ydEJhdGNoSXRlbUZhaWx1cmVzOiB0cnVlLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBjb25zdCBleHBvcnRQcmVmaXggPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlRvcGljQXJuXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvcGljLnRvcGljQXJuLFxuICAgICAgZGVzY3JpcHRpb246IFwiQVJOIG9mIHRoZSBTdGFjTG9hZGVyIFNOUyBUb3BpY1wiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci10b3BpYy1hcm5gLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlF1ZXVlVXJsXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnF1ZXVlLnF1ZXVlVXJsLFxuICAgICAgZGVzY3JpcHRpb246IFwiVVJMIG9mIHRoZSBTdGFjTG9hZGVyIFNRUyBRdWV1ZVwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkRlYWRMZXR0ZXJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5kZWFkTGV0dGVyUXVldWUucXVldWVVcmwsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVUkwgb2YgdGhlIFN0YWNMb2FkZXIgRGVhZCBMZXR0ZXIgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhYy1sb2FkZXItZGVhZGxldHRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkZ1bmN0aW9uTmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBTdGFjTG9hZGVyIExhbWJkYSBGdW5jdGlvblwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjLWxvYWRlci1mdW5jdGlvbi1uYW1lYCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBTdGFjTG9hZGVyIGluc3RlYWQuIFN0YWNJdGVtTG9hZGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uLlxuICovXG5leHBvcnQgY2xhc3MgU3RhY0l0ZW1Mb2FkZXIgZXh0ZW5kcyBTdGFjTG9hZGVyIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNMb2FkZXJQcm9wcykge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIGBTdGFjSXRlbUxvYWRlciBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIFN0YWNMb2FkZXIgaW5zdGVhZC4gYCArXG4gICAgICAgIGBTdGFjSXRlbUxvYWRlciB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi5gXG4gICAgKTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICB9XG59XG5cbi8vIEFsc28gY3JlYXRlIGEgZGVwcmVjYXRlZCBpbnRlcmZhY2UgYWxpYXMgaWYgeW91IGhhZCBhIHNlcGFyYXRlIGludGVyZmFjZVxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgU3RhY0xvYWRlclByb3BzIGluc3RlYWQuIFN0YWNJdGVtTG9hZGVyUHJvcHMgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY0l0ZW1Mb2FkZXJQcm9wcyBleHRlbmRzIFN0YWNMb2FkZXJQcm9wcyB7fVxuIl19
|
|
@@ -2,15 +2,9 @@
|
|
|
2
2
|
name = "stac-loader"
|
|
3
3
|
version = "0.1.0"
|
|
4
4
|
description = "An application for loading STAC collections and items into a pgstac database"
|
|
5
|
-
authors = [
|
|
6
|
-
|
|
7
|
-
]
|
|
8
|
-
requires-python = ">=3.11"
|
|
9
|
-
dependencies = [
|
|
10
|
-
"boto3",
|
|
11
|
-
"pypgstac[psycopg]",
|
|
12
|
-
"stac-pydantic>=3.2.0",
|
|
13
|
-
]
|
|
5
|
+
authors = [{ name = "hrodmn", email = "henry@developmentseed.org" }]
|
|
6
|
+
requires-python = ">=3.12"
|
|
7
|
+
dependencies = ["boto3", "pypgstac[psycopg]", "stac-pydantic>=3.2.0"]
|
|
14
8
|
|
|
15
9
|
[build-system]
|
|
16
10
|
requires = ["hatchling"]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aws_ec2 as ec2, aws_lambda as lambda,
|
|
1
|
+
import { aws_ec2 as ec2, aws_lambda as lambda, aws_sns as sns, aws_sqs as sqs } from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { CustomLambdaFunctionProps } from "../utils";
|
|
4
4
|
/**
|
|
@@ -25,7 +25,7 @@ export interface StactoolsItemGeneratorProps {
|
|
|
25
25
|
* stactools packages. The runtime version should be compatible with the
|
|
26
26
|
* packages you plan to use for STAC item generation.
|
|
27
27
|
*
|
|
28
|
-
* @default lambda.Runtime.
|
|
28
|
+
* @default lambda.Runtime.PYTHON_3_12
|
|
29
29
|
*/
|
|
30
30
|
readonly lambdaRuntime?: lambda.Runtime;
|
|
31
31
|
/**
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.StactoolsItemGenerator = void 0;
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
|
-
const constructs_1 = require("constructs");
|
|
8
7
|
const aws_ecr_assets_1 = require("aws-cdk-lib/aws-ecr-assets");
|
|
8
|
+
const constructs_1 = require("constructs");
|
|
9
9
|
const path = require("path");
|
|
10
10
|
/**
|
|
11
11
|
* AWS CDK Construct for STAC Item Generation Infrastructure
|
|
@@ -128,7 +128,7 @@ class StactoolsItemGenerator extends constructs_1.Construct {
|
|
|
128
128
|
constructor(scope, id, props) {
|
|
129
129
|
super(scope, id);
|
|
130
130
|
const timeoutSeconds = props.lambdaTimeoutSeconds ?? 120;
|
|
131
|
-
const lambdaRuntime = props.lambdaRuntime ?? aws_cdk_lib_1.aws_lambda.Runtime.
|
|
131
|
+
const lambdaRuntime = props.lambdaRuntime ?? aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_12;
|
|
132
132
|
// Create dead letter queue
|
|
133
133
|
this.deadLetterQueue = new aws_cdk_lib_1.aws_sqs.Queue(this, "DeadLetterQueue", {
|
|
134
134
|
retentionPeriod: aws_cdk_lib_1.Duration.days(14),
|
|
@@ -205,5 +205,5 @@ class StactoolsItemGenerator extends constructs_1.Construct {
|
|
|
205
205
|
}
|
|
206
206
|
exports.StactoolsItemGenerator = StactoolsItemGenerator;
|
|
207
207
|
_a = JSII_RTTI_SYMBOL_1;
|
|
208
|
-
StactoolsItemGenerator[_a] = { fqn: "eoapi-cdk.StactoolsItemGenerator", version: "10.
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsK0RBQXNEO0FBQ3RELDZCQUE2QjtBQW1IN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0hHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQW9DbkQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBa0M7UUFFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsb0JBQW9CLElBQUksR0FBRyxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXhFLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkscUJBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzVELGVBQWUsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3hDLGlCQUFpQixFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDeEQsVUFBVSxFQUFFLHFCQUFHLENBQUMsZUFBZSxDQUFDLFdBQVc7WUFDM0MsZUFBZSxFQUFFO2dCQUNmLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixLQUFLLEVBQUUs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RSxjQUFjLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTtZQUN2QyxXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLFVBQVUsRUFBRSxHQUFHLFlBQVkseUNBQXlDO1NBQ3JFLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcElILHdEQXFJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX3NxcyBhcyBzcXMsXG4gIGF3c19zbnMgYXMgc25zLFxuICBhd3Nfc25zX3N1YnNjcmlwdGlvbnMgYXMgc25zU3Vic2NyaXB0aW9ucyxcbiAgYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzIGFzIGxhbWJkYUV2ZW50U291cmNlcyxcbiAgYXdzX2xvZ3MgYXMgbG9ncyxcbiAgRHVyYXRpb24sXG4gIENmbk91dHB1dCxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGdlbmVyYXRlcyBTVEFDIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXMgdGhlXG4gKiBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGZpcnN0IHBoYXNlIG9mIHRoZSBwaXBlbGluZSAtIHByb2Nlc3NpbmcgbWV0YWRhdGFcbiAqIGFib3V0IGFzc2V0cyBhbmQgdHJhbnNmb3JtaW5nIHRoZW0gaW50byBzdGFuZGFyZGl6ZWQgU1RBQyBpdGVtcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZ2VuZXJhdG9yID0gbmV3IFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IodGhpcywgJ0l0ZW1HZW5lcmF0b3InLCB7XG4gKiAgIGl0ZW1Mb2FkVG9waWNBcm46IGxvYWRlci50b3BpYy50b3BpY0FybixcbiAqICAgbGFtYmRhVGltZW91dFNlY29uZHM6IDEyMCxcbiAqICAgbWF4Q29uY3VycmVuY3k6IDEwMCxcbiAqICAgYmF0Y2hTaXplOiAxMFxuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBjb250YWluZXJpemVkIHVzaW5nIERvY2tlciBhbmQgY2FuIGFjY29tbW9kYXRlIHZhcmlvdXNcbiAgICogc3RhY3Rvb2xzIHBhY2thZ2VzLiBUaGUgcnVudGltZSB2ZXJzaW9uIHNob3VsZCBiZSBjb21wYXRpYmxlIHdpdGggdGhlXG4gICAqIHBhY2thZ2VzIHlvdSBwbGFuIHRvIHVzZSBmb3IgU1RBQyBpdGVtIGdlbmVyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFSdW50aW1lPzogbGFtYmRhLlJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gbGFtYmRhIGluIHNlY29uZHMuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGFjY29tbW9kYXRlIHRoZSB0aW1lIG5lZWRlZCB0bzpcbiAgICogLSBJbnN0YWxsIHN0YWN0b29scyBwYWNrYWdlcyB1c2luZyB1dnhcbiAgICogLSBEb3dubG9hZCBhbmQgcHJvY2VzcyBzb3VyY2UgZGF0YVxuICAgKiAtIEdlbmVyYXRlIFNUQUMgbWV0YWRhdGFcbiAgICogLSBQdWJsaXNoIHJlc3VsdHMgdG8gU05TXG4gICAqXG4gICAqIFRoZSBTUVMgdmlzaWJpbGl0eSB0aW1lb3V0IHdpbGwgYmUgc2V0IHRvIHRoaXMgdmFsdWUgcGx1cyAxMCBzZWNvbmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMjBcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYVRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgc2l6ZSBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbiBpbiBNQi5cbiAgICpcbiAgICogSGlnaGVyIG1lbW9yeSBhbGxvY2F0aW9uIG1heSBiZSBuZWVkZWQgZm9yIHByb2Nlc3NpbmcgbGFyZ2UgZ2Vvc3BhdGlhbFxuICAgKiBkYXRhc2V0cyBvciB3aGVuIHN0YWN0b29scyBwYWNrYWdlcyBoYXZlIGhpZ2ggbWVtb3J5IHJlcXVpcmVtZW50cy5cbiAgICogTW9yZSBtZW1vcnkgYWxzbyBwcm92aWRlcyBwcm9wb3J0aW9uYWxseSBtb3JlIENQVSBwb3dlci5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBleGVjdXRpb25zLlxuICAgKlxuICAgKiBUaGlzIGNvbnRyb2xzIGhvdyBtYW55IGl0ZW0gZ2VuZXJhdGlvbiB0YXNrcyBjYW4gcnVuIHNpbXVsdGFuZW91c2x5LlxuICAgKiBIaWdoZXIgY29uY3VycmVuY3kgZW5hYmxlcyBmYXN0ZXIgcHJvY2Vzc2luZyBvZiBsYXJnZSBiYXRjaGVzIGJ1dFxuICAgKiBtYXkgc3RyYWluIGRvd25zdHJlYW0gc3lzdGVtcyBvciBleHRlcm5hbCBkYXRhIHNvdXJjZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNRUyBiYXRjaCBzaXplIGZvciBsYW1iZGEgZXZlbnQgc291cmNlLlxuICAgKlxuICAgKiBUaGlzIGRldGVybWluZXMgaG93IG1hbnkgZ2VuZXJhdGlvbiByZXF1ZXN0cyBhcmUgcHJvY2Vzc2VkIHRvZ2V0aGVyXG4gICAqIGluIGEgc2luZ2xlIGxhbWJkYSBpbnZvY2F0aW9uLiBVbmxpa2UgdGhlIGxvYWRlciwgZ2VuZXJhdGlvbiB0eXBpY2FsbHlcbiAgICogcHJvY2Vzc2VzIGl0ZW1zIGluZGl2aWR1YWxseSwgc28gc21hbGxlciBiYXRjaCBzaXplcyBhcmUgY29tbW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogVGhlc2Ugd2lsbCBiZSBtZXJnZWQgd2l0aCBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlcyBpbmNsdWRpbmdcbiAgICogSVRFTV9MT0FEX1RPUElDX0FSTiBhbmQgTE9HX0xFVkVMLiBVc2UgdGhpcyBmb3IgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgICogb3IgdG8gcGFzcyBjcmVkZW50aWFscyBmb3IgZXh0ZXJuYWwgZGF0YSBzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBUk4gb2YgdGhlIFNOUyB0b3BpYyB0byBwdWJsaXNoIGdlbmVyYXRlZCBpdGVtcyB0by5cbiAgICpcbiAgICogVGhpcyBpcyB0eXBpY2FsbHkgdGhlIHRvcGljIGZyb20gYSBTdGFjTG9hZGVyIGNvbnN0cnVjdC5cbiAgICogR2VuZXJhdGVkIFNUQUMgaXRlbXMgd2lsbCBiZSBwdWJsaXNoZWQgaGVyZSBmb3IgZG93bnN0cmVhbVxuICAgKiBwcm9jZXNzaW5nIGFuZCBkYXRhYmFzZSBpbnNlcnRpb24uXG4gICAqL1xuICByZWFkb25seSBpdGVtTG9hZFRvcGljQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxhbWJkYSBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG59XG5cbi8qKlxuICogQVdTIENESyBDb25zdHJ1Y3QgZm9yIFNUQUMgSXRlbSBHZW5lcmF0aW9uIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGdlbmVyYXRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0XG4gKiBpbXBsZW1lbnRzIHRoZSBmaXJzdCBwaGFzZSBvZiBhIHR3by1zdGFnZSBpbmdlc3Rpb24gcGlwZWxpbmUgdGhhdCB0cmFuc2Zvcm1zXG4gKiByYXcgZ2Vvc3BhdGlhbCBkYXRhIGludG8gc3RhbmRhcmRpemVkIFNUQUMgbWV0YWRhdGEuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciB0cmlnZ2VyaW5nIGl0ZW0gZ2VuZXJhdGlvbiB3b3JrZmxvd3NcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBnZW5lcmF0aW9uIHJlcXVlc3RzICgxMjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbWVzc2FnZXMgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzXG4gKiAtICoqTGFtYmRhIEZ1bmN0aW9uKio6IENvbnRhaW5lcml6ZWQgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcyB1c2luZyBzdGFjdG9vbHNcbiAqXG4gKiAjIyBEYXRhIEZsb3dcbiAqXG4gKiAxLiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhlIFNOUyB0b3BpYyB3aXRoIG1ldGFkYXRhIGFib3V0IGFzc2V0c1xuICogMi4gVGhlIFNRUyBxdWV1ZSBidWZmZXJzIHRoZXNlIG1lc3NhZ2VzIGFuZCB0cmlnZ2VycyB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gKiAzLiBUaGUgTGFtYmRhIGZ1bmN0aW9uOlxuICogICAgLSBVc2VzIGB1dnhgIHRvIGluc3RhbGwgdGhlIHJlcXVpcmVkIHN0YWN0b29scyBwYWNrYWdlXG4gKiAgICAtIEV4ZWN1dGVzIHRoZSBgY3JlYXRlLWl0ZW1gIENMSSBjb21tYW5kIHdpdGggcHJvdmlkZWQgYXJndW1lbnRzXG4gKiAgICAtIFB1Ymxpc2hlcyBnZW5lcmF0ZWQgU1RBQyBpdGVtcyB0byB0aGUgSXRlbUxvYWQgdG9waWNcbiAqIDQuIEZhaWxlZCBwcm9jZXNzaW5nIGF0dGVtcHRzIGFyZSBzZW50IHRvIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGggKHVwIHRvIG1heENvbmN1cnJlbmN5KVxuICogLSAqKkZsZXhpYmlsaXR5Kio6IFN1cHBvcnRzIGFueSBzdGFjdG9vbHMgcGFja2FnZSB0aHJvdWdoIGR5bmFtaWMgaW5zdGFsbGF0aW9uXG4gKiAtICoqUmVsaWFiaWxpdHkqKjogRGVhZCBsZXR0ZXIgcXVldWUgY2FwdHVyZXMgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gKipJc29sYXRpb24qKjogRWFjaCBnZW5lcmF0aW9uIHRhc2sgcnVucyBpbiBhIGZyZXNoIGNvbnRhaW5lciBlbnZpcm9ubWVudFxuICogLSAqKk9ic2VydmFiaWxpdHkqKjogQ2xvdWRXYXRjaCBsb2dzIHJldGFpbmVkIGZvciBvbmUgd2Vla1xuICpcbiAqICMjIE1lc3NhZ2UgU2NoZW1hXG4gKlxuICogVGhlIGZ1bmN0aW9uIGV4cGVjdHMgbWVzc2FnZXMgbWF0Y2hpbmcgdGhlIEl0ZW1SZXF1ZXN0IG1vZGVsOlxuICpcbiAqIGBgYGpzb25cbiAqIHtcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL2V4YW1wbGUuY29tL2RhdGEudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH1cbiAqIGBgYFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGUgaXRlbSBsb2FkZXIgZmlyc3QgKG9yIGdldCBleGlzdGluZyB0b3BpYyBBUk4pXG4gKiBjb25zdCBsb2FkZXIgPSBuZXcgU3RhY0xvYWRlcih0aGlzLCAnSXRlbUxvYWRlcicsIHtcbiAqICAgcGdzdGFjRGI6IGRhdGFiYXNlXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgaXRlbSBnZW5lcmF0b3IgdGhhdCBmZWVkcyB0aGUgbG9hZGVyXG4gKiBjb25zdCBnZW5lcmF0b3IgPSBuZXcgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvcih0aGlzLCAnSXRlbUdlbmVyYXRvcicsIHtcbiAqICAgaXRlbUxvYWRUb3BpY0FybjogbG9hZGVyLnRvcGljLnRvcGljQXJuLFxuICogICBsYW1iZGFUaW1lb3V0U2Vjb25kczogMTIwLCAgICAvLyBBbGxvdyB0aW1lIGZvciBwYWNrYWdlIGluc3RhbGxhdGlvblxuICogICBtYXhDb25jdXJyZW5jeTogMTAwLCAgICAgICAgICAvLyBDb250cm9sIHBhcmFsbGVsIHByb2Nlc3NpbmdcbiAqICAgYmF0Y2hTaXplOiAxMCAgICAgICAgICAgICAgICAgLy8gUHJvY2VzcyAxMCByZXF1ZXN0cyBwZXIgaW52b2NhdGlvblxuICogfSk7XG4gKlxuICogLy8gR3JhbnQgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGxvYWRlci50b3BpYy5ncmFudFB1Ymxpc2goZ2VuZXJhdG9yLmxhbWJkYUZ1bmN0aW9uKTtcbiAqIGBgYFxuICpcbiAqICMjIFB1Ymxpc2hpbmcgR2VuZXJhdGlvbiBSZXF1ZXN0c1xuICpcbiAqIFNlbmQgbWVzc2FnZXMgdG8gdGhlIGdlbmVyYXRvciB0b3BpYyB0byB0cmlnZ2VyIGl0ZW0gY3JlYXRpb246XG4gKlxuICogYGBgYmFzaFxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRJVEVNX0dFTl9UT1BJQyAtLW1lc3NhZ2UgJ3tcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZWFydGhlbmdpbmVwYXJ0bmVycy1oYW5zZW4vR0ZDLTIwMjMtdjEuMTEvSGFuc2VuX0dGQy0yMDIzLXYxLjExX2dhaW5fNDBOXzA4MFcudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH0nXG4gKiBgYGBcbiAqXG4gKiAjIyBCYXRjaCBQcm9jZXNzaW5nIEV4YW1wbGVcbiAqXG4gKiBGb3IgcHJvY2Vzc2luZyBtYW55IGFzc2V0cywgeW91IGNhbiBsb29wIHRocm91Z2ggVVJMczpcbiAqXG4gKiBgYGBiYXNoXG4gKiB3aGlsZSBJRlM9IHJlYWQgLXIgdXJsOyBkb1xuICogICBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gXCIkSVRFTV9HRU5fVE9QSUNcIiAtLW1lc3NhZ2UgXCJ7XG4gKiAgICAgXFxcInBhY2thZ2VfbmFtZVxcXCI6IFxcXCJzdGFjdG9vbHMtZ2xhZC1nbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJncm91cF9uYW1lXFxcIjogXFxcImdsYWRnbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJjcmVhdGVfaXRlbV9hcmdzXFxcIjogW1xcXCIkdXJsXFxcIl1cbiAqICAgfVwiXG4gKiBkb25lIDwgdXJscy50eHRcbiAqIGBgYFxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSBDaGVjayBkZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gVXNlIENsb3VkV2F0Y2ggbWV0cmljcyB0byB0cmFjayBwcm9jZXNzaW5nIHJhdGVzIGFuZCBlcnJvcnNcbiAqIC0gRmFpbGVkIGl0ZW1zIGNhbiBiZSByZXBsYXllZCBmcm9tIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIFN1cHBvcnRlZCBTdGFjdG9vbHMgUGFja2FnZXNcbiAqXG4gKiBBbnkgcGFja2FnZSBhdmFpbGFibGUgb24gUHlQSSB0aGF0IGZvbGxvd3MgdGhlIHN0YWN0b29scyBwbHVnaW4gcGF0dGVyblxuICogY2FuIGJlIHVzZWQuIEV4YW1wbGVzIGluY2x1ZGU6XG4gKiAtIGBzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZWBcbiAqIC0gYHN0YWN0b29scy1nbGFkLWdsY2x1MjAyMGBcbiAqIC0gYHN0YWN0b29scy1sYW5kc2F0YFxuICogLSBgc3RhY3Rvb2xzLXNlbnRpbmVsMmBcbiAqXG4gKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vc3RhY3Rvb2xzLXBhY2thZ2VzfSBmb3IgYXZhaWxhYmxlIHN0YWN0b29scyBwYWNrYWdlc1xuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9zdGFjdG9vbHMucmVhZHRoZWRvY3MuaW8vfSBmb3Igc3RhY3Rvb2xzIGRvY3VtZW50YXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIFNRUyBxdWV1ZSB0aGF0IGJ1ZmZlcnMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIHJlY2VpdmVzIG1lc3NhZ2VzIGZyb20gdGhlIFNOUyB0b3BpYyBjb250YWluaW5nIEl0ZW1SZXF1ZXN0XG4gICAqIHBheWxvYWRzLiBJdCdzIGNvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IG1hdGNoZXMgdGhlXG4gICAqIExhbWJkYSB0aW1lb3V0IHBsdXMgYnVmZmVyIHRpbWUgdG8gcHJldmVudCBkdXBsaWNhdGUgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBEZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGl0ZW0gZ2VuZXJhdGlvbiBhdHRlbXB0cy5cbiAgICpcbiAgICogTWVzc2FnZXMgdGhhdCBmYWlsIHByb2Nlc3NpbmcgYWZ0ZXIgNSBhdHRlbXB0cyBhcmUgc2VudCBoZXJlIGZvclxuICAgKiBpbnNwZWN0aW9uIGFuZCBwb3RlbnRpYWwgcmVwbGF5LiBUaGlzIGhlbHBzIHdpdGggZGVidWdnaW5nIHN0YWN0b29sc1xuICAgKiBwYWNrYWdlIGlzc3VlcywgbmV0d29yayBmYWlsdXJlcywgb3IgbWFsZm9ybWVkIHJlcXVlc3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRoYXQgcmVjZWl2ZXMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhpcyB0b3BpYyB0byB0cmlnZ2VyXG4gICAqIFNUQUMgaXRlbSBnZW5lcmF0aW9uLiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0b3BpYzogc25zLlRvcGljO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFpbmVyaXplZCBMYW1iZGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcy5cbiAgICpcbiAgICogVGhpcyBEb2NrZXItYmFzZWQgZnVuY3Rpb24gZHluYW1pY2FsbHkgaW5zdGFsbHMgc3RhY3Rvb2xzIHBhY2thZ2VzXG4gICAqIHVzaW5nIHV2eCwgcHJvY2Vzc2VzIHNvdXJjZSBkYXRhLCBhbmQgcHVibGlzaGVzIGdlbmVyYXRlZCBTVEFDIGl0ZW1zXG4gICAqIHRvIHRoZSBjb25maWd1cmVkIEl0ZW1Mb2FkIFNOUyB0b3BpYy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkRvY2tlckltYWdlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRpbWVvdXRTZWNvbmRzID0gcHJvcHMubGFtYmRhVGltZW91dFNlY29uZHMgPz8gMTIwO1xuICAgIGNvbnN0IGxhbWJkYVJ1bnRpbWUgPSBwcm9wcy5sYW1iZGFSdW50aW1lID8/IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExO1xuXG4gICAgLy8gQ3JlYXRlIGRlYWQgbGV0dGVyIHF1ZXVlXG4gICAgdGhpcy5kZWFkTGV0dGVyUXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiRGVhZExldHRlclF1ZXVlXCIsIHtcbiAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cygxNCksXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgbWFpbiBxdWV1ZVxuICAgIHRoaXMucXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiUXVldWVcIiwge1xuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHModGltZW91dFNlY29uZHMgKyAxMCksXG4gICAgICBlbmNyeXB0aW9uOiBzcXMuUXVldWVFbmNyeXB0aW9uLlNRU19NQU5BR0VELFxuICAgICAgZGVhZExldHRlclF1ZXVlOiB7XG4gICAgICAgIG1heFJlY2VpdmVDb3VudDogNSxcbiAgICAgICAgcXVldWU6IHRoaXMuZGVhZExldHRlclF1ZXVlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBTTlMgdG9waWNcbiAgICB0aGlzLnRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCBcIlRvcGljXCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBgJHtpZH0tSXRlbUdlblRvcGljYCxcbiAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0aGUgcXVldWUgdG8gdGhlIHRvcGljXG4gICAgdGhpcy50b3BpYy5hZGRTdWJzY3JpcHRpb24oXG4gICAgICBuZXcgc25zU3Vic2NyaXB0aW9ucy5TcXNTdWJzY3JpcHRpb24odGhpcy5xdWV1ZSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5Eb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgY29kZTogbGFtYmRhLkRvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwic3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm0uTElOVVhfQU1ENjQsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBsYW1iZGFSdW50aW1lLnRvU3RyaW5nKCkucmVwbGFjZShcInB5dGhvblwiLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyAxMDI0LFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKHRpbWVvdXRTZWNvbmRzKSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgSVRFTV9MT0FEX1RPUElDX0FSTjogcHJvcHMuaXRlbUxvYWRUb3BpY0FybixcbiAgICAgICAgTE9HX0xFVkVMOiBcIklORk9cIixcbiAgICAgICAgLi4ucHJvcHMuZW52aXJvbm1lbnQsXG4gICAgICB9LFxuICAgICAgLy8gb3ZlcndyaXRlcyBkZWZhdWx0cyB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhYmxlIHByb3BlcnRpZXNcbiAgICAgIC4uLnByb3BzLmxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIC8vIEFkZCBTUVMgZXZlbnQgc291cmNlIHRvIHRoZSBsYW1iZGFcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmFkZEV2ZW50U291cmNlKFxuICAgICAgbmV3IGxhbWJkYUV2ZW50U291cmNlcy5TcXNFdmVudFNvdXJjZSh0aGlzLnF1ZXVlLCB7XG4gICAgICAgIGJhdGNoU2l6ZTogcHJvcHMuYmF0Y2hTaXplID8/IDEwLFxuICAgICAgICByZXBvcnRCYXRjaEl0ZW1GYWlsdXJlczogdHJ1ZSxcbiAgICAgICAgbWF4Q29uY3VycmVuY3k6IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDEwMCxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIHRvIHB1Ymxpc2ggdG8gdGhlIGl0ZW0gbG9hZCB0b3BpY1xuICAgIC8vIE5vdGU6IFRoaXMgd2lsbCBiZSBncmFudGVkIGV4dGVybmFsbHkgc2luY2Ugd2Ugb25seSBoYXZlIHRoZSBBUk5cbiAgICAvLyBUaGUgY29uc3VtaW5nIGNvbnN0cnVjdCBzaG91bGQgaGFuZGxlIHRoaXMgcGVybWlzc2lvblxuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBjb25zdCBleHBvcnRQcmVmaXggPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlRvcGljQXJuXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvcGljLnRvcGljQXJuLFxuICAgICAgZGVzY3JpcHRpb246IFwiQVJOIG9mIHRoZSBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yIFNOUyBUb3BpY1wiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItdG9waWMtYXJuYCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5xdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBTUVMgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yLXF1ZXVlLXVybGAsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiRGVhZExldHRlclF1ZXVlVXJsXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmRlYWRMZXR0ZXJRdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBEZWFkIExldHRlciBRdWV1ZVwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItZGVhZGxldHRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkZ1bmN0aW9uTmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yIExhbWJkYSBGdW5jdGlvblwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItZnVuY3Rpb24tbmFtZWAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
208
|
+
StactoolsItemGenerator[_a] = { fqn: "eoapi-cdk.StactoolsItemGenerator", version: "10.1.1" };
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwrREFBc0Q7QUFDdEQsMkNBQXVDO0FBQ3ZDLDZCQUE2QjtBQW1IN0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0hHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQW9DbkQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBa0M7UUFFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsb0JBQW9CLElBQUksR0FBRyxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksd0JBQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXhFLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkscUJBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzVELGVBQWUsRUFBRSxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbkMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxxQkFBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ3hDLGlCQUFpQixFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDeEQsVUFBVSxFQUFFLHFCQUFHLENBQUMsZUFBZSxDQUFDLFdBQVc7WUFDM0MsZUFBZSxFQUFFO2dCQUNmLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixLQUFLLEVBQUUs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RSxjQUFjLEVBQUU7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWTtZQUN2QyxXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLFVBQVUsRUFBRSxHQUFHLFlBQVkseUNBQXlDO1NBQ3JFLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBcElILHdEQXFJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENmbk91dHB1dCxcbiAgRHVyYXRpb24sXG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzIGFzIGxhbWJkYUV2ZW50U291cmNlcyxcbiAgYXdzX2xvZ3MgYXMgbG9ncyxcbiAgYXdzX3NucyBhcyBzbnMsXG4gIGF3c19zbnNfc3Vic2NyaXB0aW9ucyBhcyBzbnNTdWJzY3JpcHRpb25zLFxuICBhd3Nfc3FzIGFzIHNxcyxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBjb25zdHJ1Y3QuXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgaXMgcGFydCBvZiBhIHR3by1waGFzZSBzZXJ2ZXJsZXNzIFNUQUMgaW5nZXN0aW9uIHBpcGVsaW5lXG4gKiB0aGF0IGdlbmVyYXRlcyBTVEFDIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0IGNyZWF0ZXMgdGhlXG4gKiBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlIGZpcnN0IHBoYXNlIG9mIHRoZSBwaXBlbGluZSAtIHByb2Nlc3NpbmcgbWV0YWRhdGFcbiAqIGFib3V0IGFzc2V0cyBhbmQgdHJhbnNmb3JtaW5nIHRoZW0gaW50byBzdGFuZGFyZGl6ZWQgU1RBQyBpdGVtcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogY29uc3QgZ2VuZXJhdG9yID0gbmV3IFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IodGhpcywgJ0l0ZW1HZW5lcmF0b3InLCB7XG4gKiAgIGl0ZW1Mb2FkVG9waWNBcm46IGxvYWRlci50b3BpYy50b3BpY0FybixcbiAqICAgbGFtYmRhVGltZW91dFNlY29uZHM6IDEyMCxcbiAqICAgbWF4Q29uY3VycmVuY3k6IDEwMCxcbiAqICAgYmF0Y2hTaXplOiAxMFxuICogfSk7XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvclByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBsYW1iZGEgcnVudGltZSB0byB1c2UgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiBpcyBjb250YWluZXJpemVkIHVzaW5nIERvY2tlciBhbmQgY2FuIGFjY29tbW9kYXRlIHZhcmlvdXNcbiAgICogc3RhY3Rvb2xzIHBhY2thZ2VzLiBUaGUgcnVudGltZSB2ZXJzaW9uIHNob3VsZCBiZSBjb21wYXRpYmxlIHdpdGggdGhlXG4gICAqIHBhY2thZ2VzIHlvdSBwbGFuIHRvIHVzZSBmb3IgU1RBQyBpdGVtIGdlbmVyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzEyXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFSdW50aW1lPzogbGFtYmRhLlJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFZQQyBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0U2VsZWN0aW9uPzogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBpdGVtIGdlbmVyYXRpb24gbGFtYmRhIGluIHNlY29uZHMuXG4gICAqXG4gICAqIFRoaXMgc2hvdWxkIGFjY29tbW9kYXRlIHRoZSB0aW1lIG5lZWRlZCB0bzpcbiAgICogLSBJbnN0YWxsIHN0YWN0b29scyBwYWNrYWdlcyB1c2luZyB1dnhcbiAgICogLSBEb3dubG9hZCBhbmQgcHJvY2VzcyBzb3VyY2UgZGF0YVxuICAgKiAtIEdlbmVyYXRlIFNUQUMgbWV0YWRhdGFcbiAgICogLSBQdWJsaXNoIHJlc3VsdHMgdG8gU05TXG4gICAqXG4gICAqIFRoZSBTUVMgdmlzaWJpbGl0eSB0aW1lb3V0IHdpbGwgYmUgc2V0IHRvIHRoaXMgdmFsdWUgcGx1cyAxMCBzZWNvbmRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMjBcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYVRpbWVvdXRTZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNZW1vcnkgc2l6ZSBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbiBpbiBNQi5cbiAgICpcbiAgICogSGlnaGVyIG1lbW9yeSBhbGxvY2F0aW9uIG1heSBiZSBuZWVkZWQgZm9yIHByb2Nlc3NpbmcgbGFyZ2UgZ2Vvc3BhdGlhbFxuICAgKiBkYXRhc2V0cyBvciB3aGVuIHN0YWN0b29scyBwYWNrYWdlcyBoYXZlIGhpZ2ggbWVtb3J5IHJlcXVpcmVtZW50cy5cbiAgICogTW9yZSBtZW1vcnkgYWxzbyBwcm92aWRlcyBwcm9wb3J0aW9uYWxseSBtb3JlIENQVSBwb3dlci5cbiAgICpcbiAgICogQGRlZmF1bHQgMTAyNFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBudW1iZXIgb2YgY29uY3VycmVudCBleGVjdXRpb25zLlxuICAgKlxuICAgKiBUaGlzIGNvbnRyb2xzIGhvdyBtYW55IGl0ZW0gZ2VuZXJhdGlvbiB0YXNrcyBjYW4gcnVuIHNpbXVsdGFuZW91c2x5LlxuICAgKiBIaWdoZXIgY29uY3VycmVuY3kgZW5hYmxlcyBmYXN0ZXIgcHJvY2Vzc2luZyBvZiBsYXJnZSBiYXRjaGVzIGJ1dFxuICAgKiBtYXkgc3RyYWluIGRvd25zdHJlYW0gc3lzdGVtcyBvciBleHRlcm5hbCBkYXRhIHNvdXJjZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29uY3VycmVuY3k/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNRUyBiYXRjaCBzaXplIGZvciBsYW1iZGEgZXZlbnQgc291cmNlLlxuICAgKlxuICAgKiBUaGlzIGRldGVybWluZXMgaG93IG1hbnkgZ2VuZXJhdGlvbiByZXF1ZXN0cyBhcmUgcHJvY2Vzc2VkIHRvZ2V0aGVyXG4gICAqIGluIGEgc2luZ2xlIGxhbWJkYSBpbnZvY2F0aW9uLiBVbmxpa2UgdGhlIGxvYWRlciwgZ2VuZXJhdGlvbiB0eXBpY2FsbHlcbiAgICogcHJvY2Vzc2VzIGl0ZW1zIGluZGl2aWR1YWxseSwgc28gc21hbGxlciBiYXRjaCBzaXplcyBhcmUgY29tbW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKi9cbiAgcmVhZG9ubHkgYmF0Y2hTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogVGhlc2Ugd2lsbCBiZSBtZXJnZWQgd2l0aCBkZWZhdWx0IGVudmlyb25tZW50IHZhcmlhYmxlcyBpbmNsdWRpbmdcbiAgICogSVRFTV9MT0FEX1RPUElDX0FSTiBhbmQgTE9HX0xFVkVMLiBVc2UgdGhpcyBmb3IgY3VzdG9tIGNvbmZpZ3VyYXRpb25cbiAgICogb3IgdG8gcGFzcyBjcmVkZW50aWFscyBmb3IgZXh0ZXJuYWwgZGF0YSBzb3VyY2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBBUk4gb2YgdGhlIFNOUyB0b3BpYyB0byBwdWJsaXNoIGdlbmVyYXRlZCBpdGVtcyB0by5cbiAgICpcbiAgICogVGhpcyBpcyB0eXBpY2FsbHkgdGhlIHRvcGljIGZyb20gYSBTdGFjTG9hZGVyIGNvbnN0cnVjdC5cbiAgICogR2VuZXJhdGVkIFNUQUMgaXRlbXMgd2lsbCBiZSBwdWJsaXNoZWQgaGVyZSBmb3IgZG93bnN0cmVhbVxuICAgKiBwcm9jZXNzaW5nIGFuZCBkYXRhYmFzZSBpbnNlcnRpb24uXG4gICAqL1xuICByZWFkb25seSBpdGVtTG9hZFRvcGljQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxhbWJkYSBmdW5jdGlvbiBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmluZWQgaW4gdGhlIGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG59XG5cbi8qKlxuICogQVdTIENESyBDb25zdHJ1Y3QgZm9yIFNUQUMgSXRlbSBHZW5lcmF0aW9uIEluZnJhc3RydWN0dXJlXG4gKlxuICogVGhlIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgY3JlYXRlcyBhIHNlcnZlcmxlc3MsIGV2ZW50LWRyaXZlbiBzeXN0ZW0gZm9yIGdlbmVyYXRpbmdcbiAqIFNUQUMgKFNwYXRpb1RlbXBvcmFsIEFzc2V0IENhdGFsb2cpIGl0ZW1zIGZyb20gc291cmNlIGRhdGEuIFRoaXMgY29uc3RydWN0XG4gKiBpbXBsZW1lbnRzIHRoZSBmaXJzdCBwaGFzZSBvZiBhIHR3by1zdGFnZSBpbmdlc3Rpb24gcGlwZWxpbmUgdGhhdCB0cmFuc2Zvcm1zXG4gKiByYXcgZ2Vvc3BhdGlhbCBkYXRhIGludG8gc3RhbmRhcmRpemVkIFNUQUMgbWV0YWRhdGEuXG4gKlxuICogIyMgQXJjaGl0ZWN0dXJlIE92ZXJ2aWV3XG4gKlxuICogVGhpcyBjb25zdHJ1Y3QgY3JlYXRlcyB0aGUgZm9sbG93aW5nIEFXUyByZXNvdXJjZXM6XG4gKiAtICoqU05TIFRvcGljKio6IEVudHJ5IHBvaW50IGZvciB0cmlnZ2VyaW5nIGl0ZW0gZ2VuZXJhdGlvbiB3b3JrZmxvd3NcbiAqIC0gKipTUVMgUXVldWUqKjogQnVmZmVycyBnZW5lcmF0aW9uIHJlcXVlc3RzICgxMjAtc2Vjb25kIHZpc2liaWxpdHkgdGltZW91dClcbiAqIC0gKipEZWFkIExldHRlciBRdWV1ZSoqOiBDYXB0dXJlcyBmYWlsZWQgbWVzc2FnZXMgYWZ0ZXIgNSBwcm9jZXNzaW5nIGF0dGVtcHRzXG4gKiAtICoqTGFtYmRhIEZ1bmN0aW9uKio6IENvbnRhaW5lcml6ZWQgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcyB1c2luZyBzdGFjdG9vbHNcbiAqXG4gKiAjIyBEYXRhIEZsb3dcbiAqXG4gKiAxLiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhlIFNOUyB0b3BpYyB3aXRoIG1ldGFkYXRhIGFib3V0IGFzc2V0c1xuICogMi4gVGhlIFNRUyBxdWV1ZSBidWZmZXJzIHRoZXNlIG1lc3NhZ2VzIGFuZCB0cmlnZ2VycyB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gKiAzLiBUaGUgTGFtYmRhIGZ1bmN0aW9uOlxuICogICAgLSBVc2VzIGB1dnhgIHRvIGluc3RhbGwgdGhlIHJlcXVpcmVkIHN0YWN0b29scyBwYWNrYWdlXG4gKiAgICAtIEV4ZWN1dGVzIHRoZSBgY3JlYXRlLWl0ZW1gIENMSSBjb21tYW5kIHdpdGggcHJvdmlkZWQgYXJndW1lbnRzXG4gKiAgICAtIFB1Ymxpc2hlcyBnZW5lcmF0ZWQgU1RBQyBpdGVtcyB0byB0aGUgSXRlbUxvYWQgdG9waWNcbiAqIDQuIEZhaWxlZCBwcm9jZXNzaW5nIGF0dGVtcHRzIGFyZSBzZW50IHRvIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIE9wZXJhdGlvbmFsIENoYXJhY3RlcmlzdGljc1xuICpcbiAqIC0gKipTY2FsYWJpbGl0eSoqOiBMYW1iZGEgc2NhbGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gcXVldWUgZGVwdGggKHVwIHRvIG1heENvbmN1cnJlbmN5KVxuICogLSAqKkZsZXhpYmlsaXR5Kio6IFN1cHBvcnRzIGFueSBzdGFjdG9vbHMgcGFja2FnZSB0aHJvdWdoIGR5bmFtaWMgaW5zdGFsbGF0aW9uXG4gKiAtICoqUmVsaWFiaWxpdHkqKjogRGVhZCBsZXR0ZXIgcXVldWUgY2FwdHVyZXMgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gKipJc29sYXRpb24qKjogRWFjaCBnZW5lcmF0aW9uIHRhc2sgcnVucyBpbiBhIGZyZXNoIGNvbnRhaW5lciBlbnZpcm9ubWVudFxuICogLSAqKk9ic2VydmFiaWxpdHkqKjogQ2xvdWRXYXRjaCBsb2dzIHJldGFpbmVkIGZvciBvbmUgd2Vla1xuICpcbiAqICMjIE1lc3NhZ2UgU2NoZW1hXG4gKlxuICogVGhlIGZ1bmN0aW9uIGV4cGVjdHMgbWVzc2FnZXMgbWF0Y2hpbmcgdGhlIEl0ZW1SZXF1ZXN0IG1vZGVsOlxuICpcbiAqIGBgYGpzb25cbiAqIHtcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL2V4YW1wbGUuY29tL2RhdGEudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH1cbiAqIGBgYFxuICpcbiAqICMjIFVzYWdlIEV4YW1wbGVcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDcmVhdGUgaXRlbSBsb2FkZXIgZmlyc3QgKG9yIGdldCBleGlzdGluZyB0b3BpYyBBUk4pXG4gKiBjb25zdCBsb2FkZXIgPSBuZXcgU3RhY0xvYWRlcih0aGlzLCAnSXRlbUxvYWRlcicsIHtcbiAqICAgcGdzdGFjRGI6IGRhdGFiYXNlXG4gKiB9KTtcbiAqXG4gKiAvLyBDcmVhdGUgaXRlbSBnZW5lcmF0b3IgdGhhdCBmZWVkcyB0aGUgbG9hZGVyXG4gKiBjb25zdCBnZW5lcmF0b3IgPSBuZXcgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvcih0aGlzLCAnSXRlbUdlbmVyYXRvcicsIHtcbiAqICAgaXRlbUxvYWRUb3BpY0FybjogbG9hZGVyLnRvcGljLnRvcGljQXJuLFxuICogICBsYW1iZGFUaW1lb3V0U2Vjb25kczogMTIwLCAgICAvLyBBbGxvdyB0aW1lIGZvciBwYWNrYWdlIGluc3RhbGxhdGlvblxuICogICBtYXhDb25jdXJyZW5jeTogMTAwLCAgICAgICAgICAvLyBDb250cm9sIHBhcmFsbGVsIHByb2Nlc3NpbmdcbiAqICAgYmF0Y2hTaXplOiAxMCAgICAgICAgICAgICAgICAgLy8gUHJvY2VzcyAxMCByZXF1ZXN0cyBwZXIgaW52b2NhdGlvblxuICogfSk7XG4gKlxuICogLy8gR3JhbnQgcGVybWlzc2lvbiB0byBwdWJsaXNoIHRvIHRoZSBsb2FkZXIgdG9waWNcbiAqIGxvYWRlci50b3BpYy5ncmFudFB1Ymxpc2goZ2VuZXJhdG9yLmxhbWJkYUZ1bmN0aW9uKTtcbiAqIGBgYFxuICpcbiAqICMjIFB1Ymxpc2hpbmcgR2VuZXJhdGlvbiBSZXF1ZXN0c1xuICpcbiAqIFNlbmQgbWVzc2FnZXMgdG8gdGhlIGdlbmVyYXRvciB0b3BpYyB0byB0cmlnZ2VyIGl0ZW0gY3JlYXRpb246XG4gKlxuICogYGBgYmFzaFxuICogYXdzIHNucyBwdWJsaXNoIC0tdG9waWMtYXJuICRJVEVNX0dFTl9UT1BJQyAtLW1lc3NhZ2UgJ3tcbiAqICAgXCJwYWNrYWdlX25hbWVcIjogXCJzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZVwiLFxuICogICBcImdyb3VwX25hbWVcIjogXCJnbGFkZ2xvYmFsZm9yZXN0Y2hhbmdlXCIsXG4gKiAgIFwiY3JlYXRlX2l0ZW1fYXJnc1wiOiBbXG4gKiAgICAgXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZWFydGhlbmdpbmVwYXJ0bmVycy1oYW5zZW4vR0ZDLTIwMjMtdjEuMTEvSGFuc2VuX0dGQy0yMDIzLXYxLjExX2dhaW5fNDBOXzA4MFcudGlmXCJcbiAqICAgXSxcbiAqICAgXCJjb2xsZWN0aW9uX2lkXCI6IFwiZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZS0xLjExXCJcbiAqIH0nXG4gKiBgYGBcbiAqXG4gKiAjIyBCYXRjaCBQcm9jZXNzaW5nIEV4YW1wbGVcbiAqXG4gKiBGb3IgcHJvY2Vzc2luZyBtYW55IGFzc2V0cywgeW91IGNhbiBsb29wIHRocm91Z2ggVVJMczpcbiAqXG4gKiBgYGBiYXNoXG4gKiB3aGlsZSBJRlM9IHJlYWQgLXIgdXJsOyBkb1xuICogICBhd3Mgc25zIHB1Ymxpc2ggLS10b3BpYy1hcm4gXCIkSVRFTV9HRU5fVE9QSUNcIiAtLW1lc3NhZ2UgXCJ7XG4gKiAgICAgXFxcInBhY2thZ2VfbmFtZVxcXCI6IFxcXCJzdGFjdG9vbHMtZ2xhZC1nbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJncm91cF9uYW1lXFxcIjogXFxcImdsYWRnbGNsdTIwMjBcXFwiLFxuICogICAgIFxcXCJjcmVhdGVfaXRlbV9hcmdzXFxcIjogW1xcXCIkdXJsXFxcIl1cbiAqICAgfVwiXG4gKiBkb25lIDwgdXJscy50eHRcbiAqIGBgYFxuICpcbiAqICMjIE1vbml0b3JpbmcgYW5kIFRyb3VibGVzaG9vdGluZ1xuICpcbiAqIC0gTW9uaXRvciBMYW1iZGEgbG9nczogYC9hd3MvbGFtYmRhL3tGdW5jdGlvbk5hbWV9YFxuICogLSBDaGVjayBkZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGdlbmVyYXRpb24gYXR0ZW1wdHNcbiAqIC0gVXNlIENsb3VkV2F0Y2ggbWV0cmljcyB0byB0cmFjayBwcm9jZXNzaW5nIHJhdGVzIGFuZCBlcnJvcnNcbiAqIC0gRmFpbGVkIGl0ZW1zIGNhbiBiZSByZXBsYXllZCBmcm9tIHRoZSBkZWFkIGxldHRlciBxdWV1ZVxuICpcbiAqICMjIFN1cHBvcnRlZCBTdGFjdG9vbHMgUGFja2FnZXNcbiAqXG4gKiBBbnkgcGFja2FnZSBhdmFpbGFibGUgb24gUHlQSSB0aGF0IGZvbGxvd3MgdGhlIHN0YWN0b29scyBwbHVnaW4gcGF0dGVyblxuICogY2FuIGJlIHVzZWQuIEV4YW1wbGVzIGluY2x1ZGU6XG4gKiAtIGBzdGFjdG9vbHMtZ2xhZC1nbG9iYWwtZm9yZXN0LWNoYW5nZWBcbiAqIC0gYHN0YWN0b29scy1nbGFkLWdsY2x1MjAyMGBcbiAqIC0gYHN0YWN0b29scy1sYW5kc2F0YFxuICogLSBgc3RhY3Rvb2xzLXNlbnRpbmVsMmBcbiAqXG4gKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vc3RhY3Rvb2xzLXBhY2thZ2VzfSBmb3IgYXZhaWxhYmxlIHN0YWN0b29scyBwYWNrYWdlc1xuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9zdGFjdG9vbHMucmVhZHRoZWRvY3MuaW8vfSBmb3Igc3RhY3Rvb2xzIGRvY3VtZW50YXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN0YWN0b29sc0l0ZW1HZW5lcmF0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIFNRUyBxdWV1ZSB0aGF0IGJ1ZmZlcnMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBUaGlzIHF1ZXVlIHJlY2VpdmVzIG1lc3NhZ2VzIGZyb20gdGhlIFNOUyB0b3BpYyBjb250YWluaW5nIEl0ZW1SZXF1ZXN0XG4gICAqIHBheWxvYWRzLiBJdCdzIGNvbmZpZ3VyZWQgd2l0aCBhIHZpc2liaWxpdHkgdGltZW91dCB0aGF0IG1hdGNoZXMgdGhlXG4gICAqIExhbWJkYSB0aW1lb3V0IHBsdXMgYnVmZmVyIHRpbWUgdG8gcHJldmVudCBkdXBsaWNhdGUgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBEZWFkIGxldHRlciBxdWV1ZSBmb3IgZmFpbGVkIGl0ZW0gZ2VuZXJhdGlvbiBhdHRlbXB0cy5cbiAgICpcbiAgICogTWVzc2FnZXMgdGhhdCBmYWlsIHByb2Nlc3NpbmcgYWZ0ZXIgNSBhdHRlbXB0cyBhcmUgc2VudCBoZXJlIGZvclxuICAgKiBpbnNwZWN0aW9uIGFuZCBwb3RlbnRpYWwgcmVwbGF5LiBUaGlzIGhlbHBzIHdpdGggZGVidWdnaW5nIHN0YWN0b29sc1xuICAgKiBwYWNrYWdlIGlzc3VlcywgbmV0d29yayBmYWlsdXJlcywgb3IgbWFsZm9ybWVkIHJlcXVlc3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlYWRMZXR0ZXJRdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIC8qKlxuICAgKiBUaGUgU05TIHRvcGljIHRoYXQgcmVjZWl2ZXMgaXRlbSBnZW5lcmF0aW9uIHJlcXVlc3RzLlxuICAgKlxuICAgKiBFeHRlcm5hbCBzeXN0ZW1zIHB1Ymxpc2ggSXRlbVJlcXVlc3QgbWVzc2FnZXMgdG8gdGhpcyB0b3BpYyB0byB0cmlnZ2VyXG4gICAqIFNUQUMgaXRlbSBnZW5lcmF0aW9uLiBUaGUgdG9waWMgZmFucyBvdXQgdG8gdGhlIFNRUyBxdWV1ZSBmb3IgcHJvY2Vzc2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0b3BpYzogc25zLlRvcGljO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFpbmVyaXplZCBMYW1iZGEgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgU1RBQyBpdGVtcy5cbiAgICpcbiAgICogVGhpcyBEb2NrZXItYmFzZWQgZnVuY3Rpb24gZHluYW1pY2FsbHkgaW5zdGFsbHMgc3RhY3Rvb2xzIHBhY2thZ2VzXG4gICAqIHVzaW5nIHV2eCwgcHJvY2Vzc2VzIHNvdXJjZSBkYXRhLCBhbmQgcHVibGlzaGVzIGdlbmVyYXRlZCBTVEFDIGl0ZW1zXG4gICAqIHRvIHRoZSBjb25maWd1cmVkIEl0ZW1Mb2FkIFNOUyB0b3BpYy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkRvY2tlckltYWdlRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHRpbWVvdXRTZWNvbmRzID0gcHJvcHMubGFtYmRhVGltZW91dFNlY29uZHMgPz8gMTIwO1xuICAgIGNvbnN0IGxhbWJkYVJ1bnRpbWUgPSBwcm9wcy5sYW1iZGFSdW50aW1lID8/IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzEyO1xuXG4gICAgLy8gQ3JlYXRlIGRlYWQgbGV0dGVyIHF1ZXVlXG4gICAgdGhpcy5kZWFkTGV0dGVyUXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiRGVhZExldHRlclF1ZXVlXCIsIHtcbiAgICAgIHJldGVudGlvblBlcmlvZDogRHVyYXRpb24uZGF5cygxNCksXG4gICAgfSk7XG5cbiAgICAvLyBDcmVhdGUgbWFpbiBxdWV1ZVxuICAgIHRoaXMucXVldWUgPSBuZXcgc3FzLlF1ZXVlKHRoaXMsIFwiUXVldWVcIiwge1xuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHModGltZW91dFNlY29uZHMgKyAxMCksXG4gICAgICBlbmNyeXB0aW9uOiBzcXMuUXVldWVFbmNyeXB0aW9uLlNRU19NQU5BR0VELFxuICAgICAgZGVhZExldHRlclF1ZXVlOiB7XG4gICAgICAgIG1heFJlY2VpdmVDb3VudDogNSxcbiAgICAgICAgcXVldWU6IHRoaXMuZGVhZExldHRlclF1ZXVlLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSBTTlMgdG9waWNcbiAgICB0aGlzLnRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCBcIlRvcGljXCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBgJHtpZH0tSXRlbUdlblRvcGljYCxcbiAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0aGUgcXVldWUgdG8gdGhlIHRvcGljXG4gICAgdGhpcy50b3BpYy5hZGRTdWJzY3JpcHRpb24oXG4gICAgICBuZXcgc25zU3Vic2NyaXB0aW9ucy5TcXNTdWJzY3JpcHRpb24odGhpcy5xdWV1ZSlcbiAgICApO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5Eb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgY29kZTogbGFtYmRhLkRvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwic3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yL3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBwbGF0Zm9ybTogUGxhdGZvcm0uTElOVVhfQU1ENjQsXG4gICAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICAgIFBZVEhPTl9WRVJTSU9OOiBsYW1iZGFSdW50aW1lLnRvU3RyaW5nKCkucmVwbGFjZShcInB5dGhvblwiLCBcIlwiKSxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyAxMDI0LFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKHRpbWVvdXRTZWNvbmRzKSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgSVRFTV9MT0FEX1RPUElDX0FSTjogcHJvcHMuaXRlbUxvYWRUb3BpY0FybixcbiAgICAgICAgTE9HX0xFVkVMOiBcIklORk9cIixcbiAgICAgICAgLi4ucHJvcHMuZW52aXJvbm1lbnQsXG4gICAgICB9LFxuICAgICAgLy8gb3ZlcndyaXRlcyBkZWZhdWx0cyB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhYmxlIHByb3BlcnRpZXNcbiAgICAgIC4uLnByb3BzLmxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIC8vIEFkZCBTUVMgZXZlbnQgc291cmNlIHRvIHRoZSBsYW1iZGFcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmFkZEV2ZW50U291cmNlKFxuICAgICAgbmV3IGxhbWJkYUV2ZW50U291cmNlcy5TcXNFdmVudFNvdXJjZSh0aGlzLnF1ZXVlLCB7XG4gICAgICAgIGJhdGNoU2l6ZTogcHJvcHMuYmF0Y2hTaXplID8/IDEwLFxuICAgICAgICByZXBvcnRCYXRjaEl0ZW1GYWlsdXJlczogdHJ1ZSxcbiAgICAgICAgbWF4Q29uY3VycmVuY3k6IHByb3BzLm1heENvbmN1cnJlbmN5ID8/IDEwMCxcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIC8vIEdyYW50IHBlcm1pc3Npb25zIHRvIHB1Ymxpc2ggdG8gdGhlIGl0ZW0gbG9hZCB0b3BpY1xuICAgIC8vIE5vdGU6IFRoaXMgd2lsbCBiZSBncmFudGVkIGV4dGVybmFsbHkgc2luY2Ugd2Ugb25seSBoYXZlIHRoZSBBUk5cbiAgICAvLyBUaGUgY29uc3VtaW5nIGNvbnN0cnVjdCBzaG91bGQgaGFuZGxlIHRoaXMgcGVybWlzc2lvblxuXG4gICAgLy8gQ3JlYXRlIG91dHB1dHNcbiAgICBjb25zdCBleHBvcnRQcmVmaXggPSBTdGFjay5vZih0aGlzKS5zdGFja05hbWU7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIlRvcGljQXJuXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnRvcGljLnRvcGljQXJuLFxuICAgICAgZGVzY3JpcHRpb246IFwiQVJOIG9mIHRoZSBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yIFNOUyBUb3BpY1wiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItdG9waWMtYXJuYCxcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJRdWV1ZVVybFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5xdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBTUVMgUXVldWVcIixcbiAgICAgIGV4cG9ydE5hbWU6IGAke2V4cG9ydFByZWZpeH0tc3RhY3Rvb2xzLWl0ZW0tZ2VuZXJhdG9yLXF1ZXVlLXVybGAsXG4gICAgfSk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiRGVhZExldHRlclF1ZXVlVXJsXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmRlYWRMZXR0ZXJRdWV1ZS5xdWV1ZVVybCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlVSTCBvZiB0aGUgU3RhY3Rvb2xzSXRlbUdlbmVyYXRvciBEZWFkIExldHRlciBRdWV1ZVwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItZGVhZGxldHRlci1xdWV1ZS11cmxgLFxuICAgIH0pO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcIkZ1bmN0aW9uTmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbk5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBTdGFjdG9vbHNJdGVtR2VuZXJhdG9yIExhbWJkYSBGdW5jdGlvblwiLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZXhwb3J0UHJlZml4fS1zdGFjdG9vbHMtaXRlbS1nZW5lcmF0b3ItZnVuY3Rpb24tbmFtZWAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
ARG PYTHON_VERSION=3.
|
|
1
|
+
ARG PYTHON_VERSION=3.12
|
|
2
2
|
FROM public.ecr.aws/lambda/python:${PYTHON_VERSION}
|
|
3
3
|
COPY --from=ghcr.io/astral-sh/uv:0.7.8 /uv /uvx /bin/
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ WORKDIR ${LAMBDA_TASK_ROOT}
|
|
|
13
13
|
COPY stactools-item-generator/runtime/pyproject.toml pyproject.toml
|
|
14
14
|
COPY stactools-item-generator/runtime/src/stactools_item_generator/ ${LAMBDA_TASK_ROOT}/stactools_item_generator/
|
|
15
15
|
|
|
16
|
-
RUN
|
|
16
|
+
RUN dnf install -y git && dnf clean all && rm -rf /var/cache/dnf && \
|
|
17
17
|
uv export --no-dev --no-editable -o requirements.txt && \
|
|
18
18
|
uv pip install --target ${LAMBDA_TASK_ROOT} -r requirements.txt && \
|
|
19
19
|
uv tool install --with "numpy<2.3.0",requests stactools;
|
|
@@ -2,14 +2,9 @@
|
|
|
2
2
|
name = "stactools-item-generator"
|
|
3
3
|
version = "0.1.0"
|
|
4
4
|
description = "An application for generating STAC metadata with any stactools package"
|
|
5
|
-
authors = [
|
|
6
|
-
|
|
7
|
-
]
|
|
8
|
-
requires-python = ">=3.11"
|
|
9
|
-
dependencies = [
|
|
10
|
-
"pydantic>=2.11.0",
|
|
11
|
-
"stac-pydantic>=3.2.0",
|
|
12
|
-
]
|
|
5
|
+
authors = [{ name = "hrodmn", email = "henry@developmentseed.org" }]
|
|
6
|
+
requires-python = ">=3.12"
|
|
7
|
+
dependencies = ["pydantic>=2.11.0", "stac-pydantic>=3.2.0"]
|
|
13
8
|
|
|
14
9
|
[build-system]
|
|
15
10
|
requires = ["hatchling"]
|
package/lib/tipg-api/index.js
CHANGED
|
@@ -5,21 +5,21 @@ exports.TiPgApiLambda = exports.TiPgApiLambdaRuntime = void 0;
|
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
7
|
const constructs_1 = require("constructs");
|
|
8
|
-
const lambda_api_gateway_1 = require("../lambda-api-gateway");
|
|
9
8
|
const path = require("path");
|
|
9
|
+
const lambda_api_gateway_1 = require("../lambda-api-gateway");
|
|
10
10
|
class TiPgApiLambdaRuntime extends constructs_1.Construct {
|
|
11
11
|
constructor(scope, id, props) {
|
|
12
12
|
super(scope, id);
|
|
13
13
|
this.lambdaFunction = new aws_cdk_lib_1.aws_lambda.Function(this, "lambda", {
|
|
14
14
|
// defaults
|
|
15
|
-
runtime: aws_cdk_lib_1.aws_lambda.Runtime.
|
|
15
|
+
runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_12,
|
|
16
16
|
handler: "handler.handler",
|
|
17
17
|
memorySize: 1024,
|
|
18
18
|
logRetention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_WEEK,
|
|
19
19
|
timeout: aws_cdk_lib_1.Duration.seconds(30),
|
|
20
20
|
code: aws_cdk_lib_1.aws_lambda.Code.fromDockerBuild(path.join(__dirname, ".."), {
|
|
21
21
|
file: "tipg-api/runtime/Dockerfile",
|
|
22
|
-
buildArgs: { PYTHON_VERSION: "3.
|
|
22
|
+
buildArgs: { PYTHON_VERSION: "3.12" },
|
|
23
23
|
}),
|
|
24
24
|
vpc: props.vpc,
|
|
25
25
|
vpcSubnets: props.subnetSelection,
|
|
@@ -41,7 +41,7 @@ class TiPgApiLambdaRuntime extends constructs_1.Construct {
|
|
|
41
41
|
}
|
|
42
42
|
exports.TiPgApiLambdaRuntime = TiPgApiLambdaRuntime;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
TiPgApiLambdaRuntime[_a] = { fqn: "eoapi-cdk.TiPgApiLambdaRuntime", version: "10.
|
|
44
|
+
TiPgApiLambdaRuntime[_a] = { fqn: "eoapi-cdk.TiPgApiLambdaRuntime", version: "10.1.1" };
|
|
45
45
|
class TiPgApiLambda extends constructs_1.Construct {
|
|
46
46
|
constructor(scope, id, props) {
|
|
47
47
|
super(scope, id);
|
|
@@ -67,5 +67,5 @@ class TiPgApiLambda extends constructs_1.Construct {
|
|
|
67
67
|
}
|
|
68
68
|
exports.TiPgApiLambda = TiPgApiLambda;
|
|
69
69
|
_b = JSII_RTTI_SYMBOL_1;
|
|
70
|
-
TiPgApiLambda[_b] = { fqn: "eoapi-cdk.TiPgApiLambda", version: "10.
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
TiPgApiLambda[_b] = { fqn: "eoapi-cdk.TiPgApiLambda", version: "10.1.1" };
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVVxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsNkJBQTZCO0FBQzdCLDhEQUF5RDtBQUd6RCxNQUFhLG9CQUFxQixTQUFRLHNCQUFTO0lBR2pELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0M7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksd0JBQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN4RCxXQUFXO1lBQ1gsT0FBTyxFQUFFLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsc0JBQUksQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUN6QyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksRUFBRSx3QkFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQzVELElBQUksRUFBRSw2QkFBNkI7Z0JBQ25DLFNBQVMsRUFBRSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUU7YUFDdEMsQ0FBQztZQUNGLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFVBQVUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUNqQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFdBQVcsRUFBRTtnQkFDWCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVM7Z0JBQzNDLGdCQUFnQixFQUFFLEdBQUc7Z0JBQ3JCLGdCQUFnQixFQUFFLEdBQUc7Z0JBQ3JCLEdBQUcsS0FBSyxDQUFDLE1BQU07YUFDaEI7WUFDRCxpRUFBaUU7WUFDakUsR0FBRyxLQUFLLENBQUMscUJBQXFCO1NBQy9CLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5QyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDckMsS0FBSyxDQUFDLEVBQUUsRUFDUixxQkFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQ2xCLDZCQUE2QixDQUM5QixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7O0FBdkNILG9EQXdDQzs7O0FBb0NELE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBZ0IxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3hELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDWixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUI7U0FDbkQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUV2RSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxxQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO1lBQ2hELGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztZQUN0QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsaUJBQWlCO1NBQ3hELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUksQ0FBQztRQUVwQixJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3JDLFVBQVUsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsVUFBVTtZQUNqRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF4Q0gsc0NBeUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX2FwaWdhdGV3YXl2MiBhcyBhcGlnYXRld2F5djIsXG4gIENmbk91dHB1dCxcbiAgRHVyYXRpb24sXG4gIGF3c19lYzIgYXMgZWMyLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xvZ3MgYXMgbG9ncyxcbiAgYXdzX3JkcyBhcyByZHMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzZWNyZXRzbWFuYWdlcixcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCB7IExhbWJkYUFwaUdhdGV3YXkgfSBmcm9tIFwiLi4vbGFtYmRhLWFwaS1nYXRld2F5XCI7XG5pbXBvcnQgeyBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBjbGFzcyBUaVBnQXBpTGFtYmRhUnVudGltZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUaVBnQXBpTGFtYmRhUnVudGltZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwibGFtYmRhXCIsIHtcbiAgICAgIC8vIGRlZmF1bHRzXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMixcbiAgICAgIGhhbmRsZXI6IFwiaGFuZGxlci5oYW5kbGVyXCIsXG4gICAgICBtZW1vcnlTaXplOiAxMDI0LFxuICAgICAgbG9nUmV0ZW50aW9uOiBsb2dzLlJldGVudGlvbkRheXMuT05FX1dFRUssXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIpLCB7XG4gICAgICAgIGZpbGU6IFwidGlwZy1hcGkvcnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIGJ1aWxkQXJnczogeyBQWVRIT05fVkVSU0lPTjogXCIzLjEyXCIgfSxcbiAgICAgIH0pLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFBHU1RBQ19TRUNSRVRfQVJOOiBwcm9wcy5kYlNlY3JldC5zZWNyZXRBcm4sXG4gICAgICAgIERCX01JTl9DT05OX1NJWkU6IFwiMVwiLFxuICAgICAgICBEQl9NQVhfQ09OTl9TSVpFOiBcIjFcIixcbiAgICAgICAgLi4ucHJvcHMuYXBpRW52LFxuICAgICAgfSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQodGhpcy5sYW1iZGFGdW5jdGlvbik7XG5cbiAgICBpZiAocHJvcHMudnBjKSB7XG4gICAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmNvbm5lY3Rpb25zLmFsbG93VG8oXG4gICAgICAgIHByb3BzLmRiLFxuICAgICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICAgIFwiYWxsb3cgY29ubmVjdGlvbnMgZnJvbSB0aXBnXCJcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGlQZ0FwaUxhbWJkYVJ1bnRpbWVQcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBSRFMgSW5zdGFuY2Ugd2l0aCBpbnN0YWxsZWQgcGdTVEFDIG9yIHBnYm91bmNlciBzZXJ2ZXIuXG4gICAqL1xuICByZWFkb25seSBkYjogcmRzLklEYXRhYmFzZUluc3RhbmNlIHwgZWMyLklJbnN0YW5jZTtcblxuICAvKipcbiAgICogU3VibmV0IGludG8gd2hpY2ggdGhlIGxhbWJkYSBzaG91bGQgYmUgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBwZ1NUQUMgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogQ3VzdG9taXplZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2VuZCB0byB0aXRpbGVyLXBnc3RhYyBydW50aW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGFtYmRhIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGNsYXNzIFRpUGdBcGlMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVVJMIGZvciB0aGUgVGlQZyBBUEkuXG4gICAqL1xuICByZWFkb25seSB1cmw6IHN0cmluZztcblxuICAvKipcbiAgICogTGFtYmRhIGZ1bmN0aW9uIGZvciB0aGUgVGlQZyBBUEkuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLkZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHVzZSBsYW1iZGFGdW5jdGlvbiBpbnN0ZWFkXG4gICAqL1xuICBwdWJsaWMgdGlQZ0xhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFRpUGdBcGlMYW1iZGFQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBydW50aW1lID0gbmV3IFRpUGdBcGlMYW1iZGFSdW50aW1lKHRoaXMsIFwicnVudGltZVwiLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uLFxuICAgICAgZGI6IHByb3BzLmRiLFxuICAgICAgZGJTZWNyZXQ6IHByb3BzLmRiU2VjcmV0LFxuICAgICAgYXBpRW52OiBwcm9wcy5hcGlFbnYsXG4gICAgICBsYW1iZGFGdW5jdGlvbk9wdGlvbnM6IHByb3BzLmxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcbiAgICB9KTtcbiAgICB0aGlzLnRpUGdMYW1iZGFGdW5jdGlvbiA9IHRoaXMubGFtYmRhRnVuY3Rpb24gPSBydW50aW1lLmxhbWJkYUZ1bmN0aW9uO1xuXG4gICAgY29uc3QgeyBhcGkgfSA9IG5ldyBMYW1iZGFBcGlHYXRld2F5KHRoaXMsIFwiYXBpXCIsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBydW50aW1lLmxhbWJkYUZ1bmN0aW9uLFxuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSA/PyBwcm9wcy50aXBnQXBpRG9tYWluTmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMudXJsID0gYXBpLnVybCE7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwidGlwZy1hcGktb3V0cHV0XCIsIHtcbiAgICAgIGV4cG9ydE5hbWU6IGAke1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZX0tdGlwLXVybGAsXG4gICAgICB2YWx1ZTogdGhpcy51cmwsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaVBnQXBpTGFtYmRhUHJvcHMgZXh0ZW5kcyBUaVBnQXBpTGFtYmRhUnVudGltZVByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiBOYW1lIGZvciB0aGUgVGlQZyBBUEkuIElmIGRlZmluZWQsIHdpbGwgY3JlYXRlIHRoZSBkb21haW4gbmFtZSBhbmQgaW50ZWdyYXRlIGl0IHdpdGggdGhlIFRpUGcgQVBJLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IGFwaWdhdGV3YXl2Mi5JRG9tYWluTmFtZTtcblxuICAvKipcbiAgICogQ3VzdG9tIERvbWFpbiBOYW1lIGZvciB0aXBnIEFQSS4gSWYgZGVmaW5lZCwgd2lsbCBjcmVhdGUgdGhlXG4gICAqIGRvbWFpbiBuYW1lIGFuZCBpbnRlZ3JhdGUgaXQgd2l0aCB0aGUgdGlwZyBBUEkuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSAnZG9tYWluTmFtZScgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHRpcGdBcGlEb21haW5OYW1lPzogYXBpZ2F0ZXdheXYyLklEb21haW5OYW1lO1xufVxuIl19
|
|
@@ -8,6 +8,9 @@ COPY tipg-api/runtime/requirements.txt requirements.txt
|
|
|
8
8
|
RUN python -m pip install -r requirements.txt "mangum>=0.14,<0.15" -t /asset --no-binary pydantic
|
|
9
9
|
|
|
10
10
|
# Reduce package size and remove useless files
|
|
11
|
+
RUN dnf install -y findutils && \
|
|
12
|
+
dnf clean all && \
|
|
13
|
+
rm -rf /var/cache/dnf
|
|
11
14
|
RUN cd /asset && find . -type f -name '*.pyc' | while read f; do n=$(echo $f | sed 's/__pycache__\///' | sed 's/.cpython-[0-9]*//'); cp $f $n; done;
|
|
12
15
|
RUN cd /asset && find . -type d -a -name '__pycache__' -print0 | xargs -0 rm -rf
|
|
13
16
|
RUN cd /asset && find . -type f -a -name '*.py' -print0 | xargs -0 rm -f
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aws_apigatewayv2 as apigatewayv2, aws_ec2 as ec2,
|
|
1
|
+
import { aws_apigatewayv2 as apigatewayv2, aws_ec2 as ec2, aws_lambda as lambda, aws_rds as rds, aws_secretsmanager as secretsmanager } from "aws-cdk-lib";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { CustomLambdaFunctionProps } from "../utils";
|
|
4
4
|
export declare class TitilerPgstacApiLambdaRuntime extends Construct {
|
|
@@ -5,8 +5,8 @@ exports.TitilerPgstacApiLambda = exports.TitilerPgstacApiLambdaRuntime = void 0;
|
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
7
|
const constructs_1 = require("constructs");
|
|
8
|
-
const lambda_api_gateway_1 = require("../lambda-api-gateway");
|
|
9
8
|
const path = require("path");
|
|
9
|
+
const lambda_api_gateway_1 = require("../lambda-api-gateway");
|
|
10
10
|
// default settings that can be overridden by the user-provided environment.
|
|
11
11
|
let defaultTitilerPgstacEnv = {
|
|
12
12
|
CPL_VSIL_CURL_ALLOWED_EXTENSIONS: ".tif,.TIF,.tiff",
|
|
@@ -27,14 +27,14 @@ class TitilerPgstacApiLambdaRuntime extends constructs_1.Construct {
|
|
|
27
27
|
super(scope, id);
|
|
28
28
|
this.lambdaFunction = new aws_cdk_lib_1.aws_lambda.Function(this, "lambda", {
|
|
29
29
|
// defaults
|
|
30
|
-
runtime: aws_cdk_lib_1.aws_lambda.Runtime.
|
|
30
|
+
runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_12,
|
|
31
31
|
handler: "handler.handler",
|
|
32
32
|
memorySize: 3008,
|
|
33
33
|
logRetention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_WEEK,
|
|
34
34
|
timeout: aws_cdk_lib_1.Duration.seconds(30),
|
|
35
35
|
code: aws_cdk_lib_1.aws_lambda.Code.fromDockerBuild(path.join(__dirname, ".."), {
|
|
36
36
|
file: "titiler-pgstac-api/runtime/Dockerfile",
|
|
37
|
-
buildArgs: { PYTHON_VERSION: "3.
|
|
37
|
+
buildArgs: { PYTHON_VERSION: "3.12" },
|
|
38
38
|
}),
|
|
39
39
|
vpc: props.vpc,
|
|
40
40
|
vpcSubnets: props.subnetSelection,
|
|
@@ -64,7 +64,7 @@ class TitilerPgstacApiLambdaRuntime extends constructs_1.Construct {
|
|
|
64
64
|
}
|
|
65
65
|
exports.TitilerPgstacApiLambdaRuntime = TitilerPgstacApiLambdaRuntime;
|
|
66
66
|
_a = JSII_RTTI_SYMBOL_1;
|
|
67
|
-
TitilerPgstacApiLambdaRuntime[_a] = { fqn: "eoapi-cdk.TitilerPgstacApiLambdaRuntime", version: "10.
|
|
67
|
+
TitilerPgstacApiLambdaRuntime[_a] = { fqn: "eoapi-cdk.TitilerPgstacApiLambdaRuntime", version: "10.1.1" };
|
|
68
68
|
class TitilerPgstacApiLambda extends constructs_1.Construct {
|
|
69
69
|
constructor(scope, id, props) {
|
|
70
70
|
super(scope, id);
|
|
@@ -92,5 +92,5 @@ class TitilerPgstacApiLambda extends constructs_1.Construct {
|
|
|
92
92
|
}
|
|
93
93
|
exports.TitilerPgstacApiLambda = TitilerPgstacApiLambda;
|
|
94
94
|
_b = JSII_RTTI_SYMBOL_1;
|
|
95
|
-
TitilerPgstacApiLambda[_b] = { fqn: "eoapi-cdk.TitilerPgstacApiLambda", version: "10.
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFFdkMsOERBQXlEO0FBQ3pELDZCQUE2QjtBQUU3Qiw0RUFBNEU7QUFDNUUsSUFBSSx1QkFBdUIsR0FBMkI7SUFDcEQsZ0NBQWdDLEVBQUUsaUJBQWlCO0lBQ25ELGFBQWEsRUFBRSxLQUFLO0lBQ3BCLDRCQUE0QixFQUFFLFdBQVc7SUFDekMsMkJBQTJCLEVBQUUsT0FBTztJQUNwQyxrQ0FBa0MsRUFBRSxLQUFLO0lBQ3pDLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsaUJBQWlCLEVBQUUsR0FBRztJQUN0QixjQUFjLEVBQUUsUUFBUTtJQUN4QixTQUFTLEVBQUUsTUFBTTtJQUNqQixjQUFjLEVBQUUsU0FBUztJQUN6QixnQkFBZ0IsRUFBRSxHQUFHO0lBQ3JCLGdCQUFnQixFQUFFLEdBQUc7Q0FDdEIsQ0FBQztBQUVGLE1BQWEsNkJBQThCLFNBQVEsc0JBQVM7SUFHMUQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBeUM7UUFFekMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksd0JBQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN4RCxXQUFXO1lBQ1gsT0FBTyxFQUFFLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsc0JBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUM3QyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksRUFBRSx3QkFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxT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c0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX2FwaWdhdGV3YXl2MiBhcyBhcGlnYXRld2F5djIsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX3JkcyBhcyByZHMsXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gIER1cmF0aW9uLFxuICBhd3NfbG9ncyxcbiAgQ2ZuT3V0cHV0LFxuICBTdGFjayxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcyB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgTGFtYmRhQXBpR2F0ZXdheSB9IGZyb20gXCIuLi9sYW1iZGEtYXBpLWdhdGV3YXlcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuLy8gZGVmYXVsdCBzZXR0aW5ncyB0aGF0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSB1c2VyLXByb3ZpZGVkIGVudmlyb25tZW50LlxubGV0IGRlZmF1bHRUaXRpbGVyUGdzdGFjRW52OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBDUExfVlNJTF9DVVJMX0FMTE9XRURfRVhURU5TSU9OUzogXCIudGlmLC5USUYsLnRpZmZcIixcbiAgR0RBTF9DQUNIRU1BWDogXCIyMDBcIixcbiAgR0RBTF9ESVNBQkxFX1JFQURESVJfT05fT1BFTjogXCJFTVBUWV9ESVJcIixcbiAgR0RBTF9JTkdFU1RFRF9CWVRFU19BVF9PUEVOOiBcIjMyNzY4XCIsXG4gIEdEQUxfSFRUUF9NRVJHRV9DT05TRUNVVElWRV9SQU5HRVM6IFwiWUVTXCIsXG4gIEdEQUxfSFRUUF9NVUxUSVBMRVg6IFwiWUVTXCIsXG4gIEdEQUxfSFRUUF9WRVJTSU9OOiBcIjJcIixcbiAgUFlUSE9OV0FSTklOR1M6IFwiaWdub3JlXCIsXG4gIFZTSV9DQUNIRTogXCJUUlVFXCIsXG4gIFZTSV9DQUNIRV9TSVpFOiBcIjUwMDAwMDBcIixcbiAgREJfTUlOX0NPTk5fU0laRTogXCIxXCIsXG4gIERCX01BWF9DT05OX1NJWkU6IFwiMVwiLFxufTtcblxuZXhwb3J0IGNsYXNzIFRpdGlsZXJQZ3N0YWNBcGlMYW1iZGFSdW50aW1lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUnVudGltZVByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcImxhbWJkYVwiLCB7XG4gICAgICAvLyBkZWZhdWx0c1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTEsXG4gICAgICBoYW5kbGVyOiBcImhhbmRsZXIuaGFuZGxlclwiLFxuICAgICAgbWVtb3J5U2l6ZTogMzAwOCxcbiAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbURvY2tlckJ1aWxkKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiksIHtcbiAgICAgICAgZmlsZTogXCJ0aXRpbGVyLXBnc3RhYy1hcGkvcnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIGJ1aWxkQXJnczogeyBQWVRIT05fVkVSU0lPTjogXCIzLjExXCIgfSxcbiAgICAgIH0pLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLmRlZmF1bHRUaXRpbGVyUGdzdGFjRW52LFxuICAgICAgICAuLi5wcm9wcy5hcGlFbnYsIC8vIGlmIHVzZXIgcHJvdmlkZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBtZXJnZSB0aGVtIHdpdGggdGhlIGRlZmF1bHRzLlxuICAgICAgICBQR1NUQUNfU0VDUkVUX0FSTjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgfSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBncmFudCBhY2Nlc3MgdG8gYnVja2V0cyB1c2luZyBhZGRUb1JvbGVQb2xpY3lcbiAgICBpZiAocHJvcHMuYnVja2V0cykge1xuICAgICAgcHJvcHMuYnVja2V0cy5mb3JFYWNoKChidWNrZXQpID0+IHtcbiAgICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wiczM6R2V0T2JqZWN0XCJdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6czM6Ojoke2J1Y2tldH0vKmBdLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQodGhpcy5sYW1iZGFGdW5jdGlvbik7XG5cbiAgICBpZiAocHJvcHMudnBjKSB7XG4gICAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmNvbm5lY3Rpb25zLmFsbG93VG8oXG4gICAgICAgIHByb3BzLmRiLFxuICAgICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICAgIFwiYWxsb3cgY29ubmVjdGlvbnMgZnJvbSB0aXRpbGVyXCJcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGl0aWxlclBnc3RhY0FwaUxhbWJkYVJ1bnRpbWVQcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBSRFMgSW5zdGFuY2Ugd2l0aCBpbnN0YWxsZWQgcGdTVEFDIG9yIHBnYm91bmNlciBzZXJ2ZXIuXG4gICAqL1xuICByZWFkb25seSBkYjogcmRzLklEYXRhYmFzZUluc3RhbmNlIHwgZWMyLklJbnN0YW5jZTtcblxuICAvKipcbiAgICogU3VibmV0IGludG8gd2hpY2ggdGhlIGxhbWJkYSBzaG91bGQgYmUgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBwZ1NUQUMgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogQ3VzdG9taXplZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2VuZCB0byB0aXRpbGVyLXBnc3RhYyBydW50aW1lLiBUaGVzZSB3aWxsIGJlIG1lcmdlZCB3aXRoIGBkZWZhdWx0VGl0aWxlclBnc3RhY0VudmAuXG4gICAqIFRoZSBkYXRhYmFzZSBzZWNyZXQgYXJuIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhdCBkZXBsb3ltZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogbGlzdCBvZiBidWNrZXRzIHRoZSBsYW1iZGEgd2lsbCBiZSBncmFudGVkIGFjY2VzcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGFtYmRhIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGNsYXNzIFRpdGlsZXJQZ3N0YWNBcGlMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVVJMIGZvciB0aGUgVGl0aWxlciBQZ3N0YWMgQVBJLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExhbWJkYSBmdW5jdGlvbiBmb3IgdGhlIFRpdGlsZXIgUGdzdGFjIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGxhbWJkYUZ1bmN0aW9uIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyB0aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFRpdGlsZXJQZ3N0YWNBcGlMYW1iZGFQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcnVudGltZSA9IG5ldyBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUnVudGltZSh0aGlzLCBcInJ1bnRpbWVcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBzdWJuZXRTZWxlY3Rpb246IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGRiOiBwcm9wcy5kYixcbiAgICAgIGRiU2VjcmV0OiBwcm9wcy5kYlNlY3JldCxcbiAgICAgIGFwaUVudjogcHJvcHMuYXBpRW52LFxuICAgICAgYnVja2V0czogcHJvcHMuYnVja2V0cyxcbiAgICAgIGxhbWJkYUZ1bmN0aW9uT3B0aW9uczogcHJvcHMubGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgIH0pO1xuICAgIHRoaXMudGl0aWxlclBnc3RhY0xhbWJkYUZ1bmN0aW9uID0gdGhpcy5sYW1iZGFGdW5jdGlvbiA9XG4gICAgICBydW50aW1lLmxhbWJkYUZ1bmN0aW9uO1xuXG4gICAgY29uc3QgeyBhcGkgfSA9IG5ldyBMYW1iZGFBcGlHYXRld2F5KHRoaXMsIFwidGl0bGllci1wZ3N0YWMtYXBpXCIsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBydW50aW1lLmxhbWJkYUZ1bmN0aW9uLFxuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSA/PyBwcm9wcy50aXRpbGVyUGdzdGFjQXBpRG9tYWluTmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMudXJsID0gYXBpLnVybCE7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwidGl0aWxlci1wZ3N0YWMtYXBpLW91dHB1dFwiLCB7XG4gICAgICBleHBvcnROYW1lOiBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LXRpdGlsZXItcGdzdGFjLXVybGAsXG4gICAgICB2YWx1ZTogdGhpcy51cmwsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUHJvcHNcbiAgZXh0ZW5kcyBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUnVudGltZVByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiBOYW1lIGZvciB0aGUgVGl0aWxlciBQZ3N0YWMgQVBJLiBJZiBkZWZpbmVkLCB3aWxsIGNyZWF0ZSB0aGUgZG9tYWluIG5hbWUgYW5kIGludGVncmF0ZSBpdCB3aXRoIHRoZSBUaXRpbGVyIFBnc3RhYyBBUEkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IGFwaWdhdGV3YXl2Mi5JRG9tYWluTmFtZTtcblxuICAvKipcbiAgICogQ3VzdG9tIERvbWFpbiBOYW1lIE9wdGlvbnMgZm9yIFRpdGlsZXIgUGdzdGFjIEFQSSxcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlICdkb21haW5OYW1lJyBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGlsZXJQZ3N0YWNBcGlEb21haW5OYW1lPzogYXBpZ2F0ZXdheXYyLklEb21haW5OYW1lO1xufVxuIl19
|
|
95
|
+
TitilerPgstacApiLambda[_b] = { fqn: "eoapi-cdk.TitilerPgstacApiLambda", version: "10.1.1" };
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsNkJBQTZCO0FBQzdCLDhEQUF5RDtBQUd6RCw0RUFBNEU7QUFDNUUsSUFBSSx1QkFBdUIsR0FBMkI7SUFDcEQsZ0NBQWdDLEVBQUUsaUJBQWlCO0lBQ25ELGFBQWEsRUFBRSxLQUFLO0lBQ3BCLDRCQUE0QixFQUFFLFdBQVc7SUFDekMsMkJBQTJCLEVBQUUsT0FBTztJQUNwQyxrQ0FBa0MsRUFBRSxLQUFLO0lBQ3pDLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsaUJBQWlCLEVBQUUsR0FBRztJQUN0QixjQUFjLEVBQUUsUUFBUTtJQUN4QixTQUFTLEVBQUUsTUFBTTtJQUNqQixjQUFjLEVBQUUsU0FBUztJQUN6QixnQkFBZ0IsRUFBRSxHQUFHO0lBQ3JCLGdCQUFnQixFQUFFLEdBQUc7Q0FDdEIsQ0FBQztBQUVGLE1BQWEsNkJBQThCLFNBQVEsc0JBQVM7SUFHMUQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBeUM7UUFFekMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksd0JBQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUN4RCxXQUFXO1lBQ1gsT0FBTyxFQUFFLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsc0JBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUM3QyxPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLElBQUksRUFBRSx3QkFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxT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c0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX2FwaWdhdGV3YXl2MiBhcyBhcGlnYXRld2F5djIsXG4gIGF3c19sb2dzLFxuICBDZm5PdXRwdXQsXG4gIER1cmF0aW9uLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfcmRzIGFzIHJkcyxcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNtYW5hZ2VyLFxuICBTdGFjayxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgTGFtYmRhQXBpR2F0ZXdheSB9IGZyb20gXCIuLi9sYW1iZGEtYXBpLWdhdGV3YXlcIjtcbmltcG9ydCB7IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuLy8gZGVmYXVsdCBzZXR0aW5ncyB0aGF0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSB1c2VyLXByb3ZpZGVkIGVudmlyb25tZW50LlxubGV0IGRlZmF1bHRUaXRpbGVyUGdzdGFjRW52OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICBDUExfVlNJTF9DVVJMX0FMTE9XRURfRVhURU5TSU9OUzogXCIudGlmLC5USUYsLnRpZmZcIixcbiAgR0RBTF9DQUNIRU1BWDogXCIyMDBcIixcbiAgR0RBTF9ESVNBQkxFX1JFQURESVJfT05fT1BFTjogXCJFTVBUWV9ESVJcIixcbiAgR0RBTF9JTkdFU1RFRF9CWVRFU19BVF9PUEVOOiBcIjMyNzY4XCIsXG4gIEdEQUxfSFRUUF9NRVJHRV9DT05TRUNVVElWRV9SQU5HRVM6IFwiWUVTXCIsXG4gIEdEQUxfSFRUUF9NVUxUSVBMRVg6IFwiWUVTXCIsXG4gIEdEQUxfSFRUUF9WRVJTSU9OOiBcIjJcIixcbiAgUFlUSE9OV0FSTklOR1M6IFwiaWdub3JlXCIsXG4gIFZTSV9DQUNIRTogXCJUUlVFXCIsXG4gIFZTSV9DQUNIRV9TSVpFOiBcIjUwMDAwMDBcIixcbiAgREJfTUlOX0NPTk5fU0laRTogXCIxXCIsXG4gIERCX01BWF9DT05OX1NJWkU6IFwiMVwiLFxufTtcblxuZXhwb3J0IGNsYXNzIFRpdGlsZXJQZ3N0YWNBcGlMYW1iZGFSdW50aW1lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUnVudGltZVByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcImxhbWJkYVwiLCB7XG4gICAgICAvLyBkZWZhdWx0c1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTIsXG4gICAgICBoYW5kbGVyOiBcImhhbmRsZXIuaGFuZGxlclwiLFxuICAgICAgbWVtb3J5U2l6ZTogMzAwOCxcbiAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbURvY2tlckJ1aWxkKHBhdGguam9pbihfX2Rpcm5hbWUsIFwiLi5cIiksIHtcbiAgICAgICAgZmlsZTogXCJ0aXRpbGVyLXBnc3RhYy1hcGkvcnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIGJ1aWxkQXJnczogeyBQWVRIT05fVkVSU0lPTjogXCIzLjEyXCIgfSxcbiAgICAgIH0pLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLmRlZmF1bHRUaXRpbGVyUGdzdGFjRW52LFxuICAgICAgICAuLi5wcm9wcy5hcGlFbnYsIC8vIGlmIHVzZXIgcHJvdmlkZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBtZXJnZSB0aGVtIHdpdGggdGhlIGRlZmF1bHRzLlxuICAgICAgICBQR1NUQUNfU0VDUkVUX0FSTjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLFxuICAgICAgfSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBncmFudCBhY2Nlc3MgdG8gYnVja2V0cyB1c2luZyBhZGRUb1JvbGVQb2xpY3lcbiAgICBpZiAocHJvcHMuYnVja2V0cykge1xuICAgICAgcHJvcHMuYnVja2V0cy5mb3JFYWNoKChidWNrZXQpID0+IHtcbiAgICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbi5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wiczM6R2V0T2JqZWN0XCJdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6czM6Ojoke2J1Y2tldH0vKmBdLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQodGhpcy5sYW1iZGFGdW5jdGlvbik7XG5cbiAgICBpZiAocHJvcHMudnBjKSB7XG4gICAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmNvbm5lY3Rpb25zLmFsbG93VG8oXG4gICAgICAgIHByb3BzLmRiLFxuICAgICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICAgIFwiYWxsb3cgY29ubmVjdGlvbnMgZnJvbSB0aXRpbGVyXCJcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGl0aWxlclBnc3RhY0FwaUxhbWJkYVJ1bnRpbWVQcm9wcyB7XG4gIC8qKlxuICAgKiBWUEMgaW50byB3aGljaCB0aGUgbGFtYmRhIHNob3VsZCBiZSBkZXBsb3llZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBSRFMgSW5zdGFuY2Ugd2l0aCBpbnN0YWxsZWQgcGdTVEFDIG9yIHBnYm91bmNlciBzZXJ2ZXIuXG4gICAqL1xuICByZWFkb25seSBkYjogcmRzLklEYXRhYmFzZUluc3RhbmNlIHwgZWMyLklJbnN0YW5jZTtcblxuICAvKipcbiAgICogU3VibmV0IGludG8gd2hpY2ggdGhlIGxhbWJkYSBzaG91bGQgYmUgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWNyZXQgY29udGFpbmluZyBjb25uZWN0aW9uIGluZm9ybWF0aW9uIGZvciBwZ1NUQUMgZGF0YWJhc2UuXG4gICAqL1xuICByZWFkb25seSBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcblxuICAvKipcbiAgICogQ3VzdG9taXplZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2VuZCB0byB0aXRpbGVyLXBnc3RhYyBydW50aW1lLiBUaGVzZSB3aWxsIGJlIG1lcmdlZCB3aXRoIGBkZWZhdWx0VGl0aWxlclBnc3RhY0VudmAuXG4gICAqIFRoZSBkYXRhYmFzZSBzZWNyZXQgYXJuIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBhdCBkZXBsb3ltZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogbGlzdCBvZiBidWNrZXRzIHRoZSBsYW1iZGEgd2lsbCBiZSBncmFudGVkIGFjY2VzcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgbGFtYmRhIGZ1bmN0aW9uIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGNsYXNzIFRpdGlsZXJQZ3N0YWNBcGlMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVVJMIGZvciB0aGUgVGl0aWxlciBQZ3N0YWMgQVBJLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExhbWJkYSBmdW5jdGlvbiBmb3IgdGhlIFRpdGlsZXIgUGdzdGFjIEFQSS5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGxhbWJkYUZ1bmN0aW9uIGluc3RlYWRcbiAgICovXG4gIHB1YmxpYyB0aXRpbGVyUGdzdGFjTGFtYmRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IFRpdGlsZXJQZ3N0YWNBcGlMYW1iZGFQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcnVudGltZSA9IG5ldyBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUnVudGltZSh0aGlzLCBcInJ1bnRpbWVcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBzdWJuZXRTZWxlY3Rpb246IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGRiOiBwcm9wcy5kYixcbiAgICAgIGRiU2VjcmV0OiBwcm9wcy5kYlNlY3JldCxcbiAgICAgIGFwaUVudjogcHJvcHMuYXBpRW52LFxuICAgICAgYnVja2V0czogcHJvcHMuYnVja2V0cyxcbiAgICAgIGxhbWJkYUZ1bmN0aW9uT3B0aW9uczogcHJvcHMubGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgIH0pO1xuICAgIHRoaXMudGl0aWxlclBnc3RhY0xhbWJkYUZ1bmN0aW9uID0gdGhpcy5sYW1iZGFGdW5jdGlvbiA9XG4gICAgICBydW50aW1lLmxhbWJkYUZ1bmN0aW9uO1xuXG4gICAgY29uc3QgeyBhcGkgfSA9IG5ldyBMYW1iZGFBcGlHYXRld2F5KHRoaXMsIFwidGl0bGllci1wZ3N0YWMtYXBpXCIsIHtcbiAgICAgIGxhbWJkYUZ1bmN0aW9uOiBydW50aW1lLmxhbWJkYUZ1bmN0aW9uLFxuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSA/PyBwcm9wcy50aXRpbGVyUGdzdGFjQXBpRG9tYWluTmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMudXJsID0gYXBpLnVybCE7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwidGl0aWxlci1wZ3N0YWMtYXBpLW91dHB1dFwiLCB7XG4gICAgICBleHBvcnROYW1lOiBgJHtTdGFjay5vZih0aGlzKS5zdGFja05hbWV9LXRpdGlsZXItcGdzdGFjLXVybGAsXG4gICAgICB2YWx1ZTogdGhpcy51cmwsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUHJvcHNcbiAgZXh0ZW5kcyBUaXRpbGVyUGdzdGFjQXBpTGFtYmRhUnVudGltZVByb3BzIHtcbiAgLyoqXG4gICAqIERvbWFpbiBOYW1lIGZvciB0aGUgVGl0aWxlciBQZ3N0YWMgQVBJLiBJZiBkZWZpbmVkLCB3aWxsIGNyZWF0ZSB0aGUgZG9tYWluIG5hbWUgYW5kIGludGVncmF0ZSBpdCB3aXRoIHRoZSBUaXRpbGVyIFBnc3RhYyBBUEkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZT86IGFwaWdhdGV3YXl2Mi5JRG9tYWluTmFtZTtcblxuICAvKipcbiAgICogQ3VzdG9tIERvbWFpbiBOYW1lIE9wdGlvbnMgZm9yIFRpdGlsZXIgUGdzdGFjIEFQSSxcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlICdkb21haW5OYW1lJyBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCAtIHVuZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGlsZXJQZ3N0YWNBcGlEb21haW5OYW1lPzogYXBpZ2F0ZXdheXYyLklEb21haW5OYW1lO1xufVxuIl19
|
|
@@ -5,13 +5,17 @@ WORKDIR /tmp
|
|
|
5
5
|
RUN python -m pip install pip -U
|
|
6
6
|
|
|
7
7
|
# Install system dependencies to compile (numexpr)
|
|
8
|
-
RUN
|
|
8
|
+
RUN dnf install -y gcc-c++ findutils
|
|
9
9
|
|
|
10
10
|
COPY titiler-pgstac-api/runtime/requirements.txt requirements.txt
|
|
11
11
|
RUN python -m pip install -r requirements.txt "mangum>=0.14,<0.15" -t /asset
|
|
12
12
|
|
|
13
|
+
# copy libexpat.so.1 into a location included in LD_LIBRARY_PATH in the Lambda runtime environment
|
|
14
|
+
# (/usr/lib64 is not available in the Lambda runtime, just the build environment)
|
|
15
|
+
RUN cp /usr/lib64/libexpat.so.1 /asset/
|
|
16
|
+
|
|
13
17
|
# Remove system dependencies
|
|
14
|
-
RUN
|
|
18
|
+
RUN dnf remove -y gcc-c++
|
|
15
19
|
|
|
16
20
|
# Reduce package size and remove useless files
|
|
17
21
|
RUN find /asset -type f -name '*.pyc' | while read f; do n=$(echo $f | sed 's/__pycache__\///' | sed 's/.cpython-[0-9]*//'); cp $f $n; done;
|