@aws-solutions-constructs/core 2.95.1 → 2.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -116,7 +116,7 @@ function CreateTestStateMachine(scope, id) {
116
116
  function CreateTestStateMachineDefinitionBody(scope, id) {
117
117
  const smStep = new lambda.Function(scope, `lambda${id}`, {
118
118
  code: new lambda.InlineCode("exports.handler = async (event) => console.log(event)"),
119
- runtime: lambda.Runtime.NODEJS_20_X,
119
+ runtime: defaults.COMMERCIAL_REGION_LAMBDA_NODE_RUNTIME,
120
120
  handler: "index.handler",
121
121
  });
122
122
  const task = new sftasks.LambdaInvoke(scope, `task${id}`, {
@@ -346,4 +346,4 @@ function SetConsistentFeatureFlags(stack) {
346
346
  stack.node.setContext("@aws-cdk/aws-s3:publicAccessBlockedByDefault", true);
347
347
  stack.node.setContext("@aws-cdk/aws-lambda:useCdkManagedLogGroup", false);
348
348
  }
349
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQTBCSCw4Q0EyQ0M7QUFRRCx3REFJQztBQUdELGdDQVlDO0FBRUQsZ0RBTUM7QUFFRCx3REFJQztBQUVELG9GQWlCQztBQUVELGtGQVNDO0FBRUQsMENBK0JDO0FBU0Qsc0ZBaUJDO0FBRUQsZ0RBR0M7QUFnQkQsc0NBbUNDO0FBRUQsa0RBZ0JDO0FBTUQsOERBSUM7QUFPRCxvRUFFQztBQU9ELDhEQTZFQztBQXBYRCwrQ0FBMkU7QUFDM0UsNkNBQTJGO0FBQzNGLGtEQUE2QztBQUM3QyxzREFBNEY7QUFDNUYsd0NBQWtFO0FBQ2xFLHFDQUFxQztBQUNyQyxrRUFBbUU7QUFDbkUsNkJBQTZCO0FBQzdCLHFEQUFxRDtBQUNyRCwyQ0FBMkM7QUFDM0MsMERBQTBEO0FBRTFELHNFQUFrRTtBQUNsRSx1REFBeUQ7QUFDekQsaURBQWlEO0FBQ2pELHFEQUFxRDtBQUNyRCwrREFBK0Q7QUFDL0Qsa0RBQWtEO0FBRXJDLFFBQUEsY0FBYyxHQUFHLHlEQUF5RCxDQUFDO0FBRXhGLCtFQUErRTtBQUMvRSxTQUFnQixpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtJQUV2RixJQUFJLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLE1BQU0sWUFBWSxHQUFnQjtRQUNoQyxTQUFTLEVBQUUsSUFBSTtRQUNmLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtRQUN2QyxVQUFVLEVBQUUsSUFBSTtLQUNqQixDQUFDO0lBRUYsMEJBQTBCO0lB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QUMsQ0FBQztJQUMzRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxRUFBcUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0Q0FBNEMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1REFBdUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQ0FBK0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1Q0FBdUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrREFBa0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1RUFBdUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5REFBeUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2Q0FBNkMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxREFBcUQsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrREFBa0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5REFBeUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2REFBNkQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnREFBZ0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1RkFBdUYsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNySCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQ0FBZ0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywyREFBMkQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQ0FBK0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrREFBa0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzRUFBc0UsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtREFBbUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQ0FBc0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtRUFBbUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvREFBb0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1REFBdUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxRkFBcUYsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuSCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4REFBOEQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3REFBd0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywwRUFBMEUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnRkFBZ0YsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrREFBK0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtREFBbUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzREFBc0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5Q0FBeUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQ0FBc0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywrQ0FBK0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpRUFBaUUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrREFBa0QsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzREFBc0QsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5Q0FBeUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3REFBd0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnREFBZ0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1Q0FBdUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw2REFBNkQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMzRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrRkFBa0YsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoSCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywyRUFBMkUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx1REFBdUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzREFBc0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx5REFBeUQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0RUFBNEUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0RkFBNEYsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxSCxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvREFBb0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrREFBa0QsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4Q0FBOEMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4Q0FBOEMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyx3Q0FBd0MsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQ0FBMEMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw0REFBNEQsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRixLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrRUFBa0UsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvRUFBb0UsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyw4Q0FBOEMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1RSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCdWNrZXQsIEJ1Y2tldFByb3BzLCBCdWNrZXRFbmNyeXB0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgQ2ZuUmVzb3VyY2UsIFJlbW92YWxQb2xpY3ksIFN0YWNrLCBBc3BlY3RzLCBJQXNwZWN0LCBBd3MsIEZuIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBidWlsZFZwYyB9IGZyb20gJy4uL2xpYi92cGMtaGVscGVyJztcbmltcG9ydCB7IERlZmF1bHRQdWJsaWNQcml2YXRlVnBjUHJvcHMsIERlZmF1bHRJc29sYXRlZFZwY1Byb3BzIH0gZnJvbSAnLi4vbGliL3ZwYy1kZWZhdWx0cyc7XG5pbXBvcnQgeyBvdmVycmlkZVByb3BzLCBhZGRDZm5TdXBwcmVzc1J1bGVzIH0gZnJvbSBcIi4uL2xpYi91dGlsc1wiO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgY3JlYXRlQ2FjaGVTdWJuZXRHcm91cCB9IGZyb20gXCIuLi9saWIvZWxhc3RpY2FjaGUtaGVscGVyXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgY2FjaGUgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNhY2hlJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGFjbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbmltcG9ydCB7IENmbkZ1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IEdldERlZmF1bHRDYWNoZVBvcnQgfSBmcm9tIFwiLi4vbGliL2VsYXN0aWNhY2hlLWRlZmF1bHRzXCI7XG5pbXBvcnQgeyBNYXRjaCwgVGVtcGxhdGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hc3NlcnRpb25zJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0ICogYXMgc2ZuIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3RlcGZ1bmN0aW9uc1wiO1xuaW1wb3J0ICogYXMgc2Z0YXNrcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3NcIjtcbmltcG9ydCAqIGFzIGFwaSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXlcIjtcblxuZXhwb3J0IGNvbnN0IGZha2VFY3JSZXBvQXJuID0gJ2Fybjphd3M6ZWNyOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6cmVwb3NpdG9yeS9mYWtlLXJlcG8nO1xuXG4vLyBDcmVhdGVzIGEgYnVja2V0IHVzZWQgZm9yIHRlc3RpbmcgLSBtaW5pbWFsIHByb3BlcnRpZXMsIGRlc3Ryb3llZCBhZnRlciB0ZXN0XG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlU2NyYXBCdWNrZXQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBCdWNrZXRQcm9wcyB8IGFueSkge1xuXG4gIGlmIChwcm9wcz8uc2VydmVyQWNjZXNzTG9nc0J1Y2tldCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkRvbid0IHRyeSB0byBzZW5kIGEgbG9nIGJ1Y2tldCB0byBDcmVhdGVTY3JhcEJ1Y2tldFwiKTtcbiAgfVxuXG4gIC8vIEJhc2ljIHByb3BzIGZvciBzY3JhcCBhbmQgbG9nIGJ1Y2tldHNcbiAgY29uc3QgZGVmYXVsdFByb3BzOiBCdWNrZXRQcm9wcyA9IHtcbiAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgIGVuY3J5cHRpb246IEJ1Y2tldEVuY3J5cHRpb24uUzNfTUFOQUdFRCxcbiAgICBlbmZvcmNlU1NMOiB0cnVlXG4gIH07XG5cbiAgLy8gQ3JlYXRlIGJhc2ljIGxvZyBidWNrZXRcbiAgY29uc3QgbG9nQnVja2V0ID0gbmV3IEJ1Y2tldChzY29wZSwgYCR7aWR9TG9nYCwgZGVmYXVsdFByb3BzKTtcblxuICAvLyBDb21iaW5lIGJhc2ljIHByb3BzIHdpdGggc3BlY2lhbCBwcm9wcyBmcm9tIHRlc3QgY2xpZW50XG4gIGxldCBzeW50aGVzaXplZFByb3BzOiBCdWNrZXRQcm9wcztcbiAgaWYgKHByb3BzKSB7XG4gICAgc3ludGhlc2l6ZWRQcm9wcyA9IG92ZXJyaWRlUHJvcHMoZGVmYXVsdFByb3BzLCBwcm9wcyk7XG4gIH0gZWxzZSB7XG4gICAgc3ludGhlc2l6ZWRQcm9wcyA9IGRlZmF1bHRQcm9wcztcbiAgfVxuXG4gIC8vIEZpbmFsbHkgLSBzZXQgdXAgbG9nZ2luZyBmb3IgdGhlIHNjcmFwIGJ1Y2tldFxuICBjb25zdCBmaW5hbFByb3BzID0gb3ZlcnJpZGVQcm9wcyhzeW50aGVzaXplZFByb3BzLCB7IHNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQ6IGxvZ0J1Y2tldCB9KTtcblxuICBjb25zdCBzY3JpcHRCdWNrZXQgPSBuZXcgQnVja2V0KFxuICAgIHNjb3BlLFxuICAgIGlkLFxuICAgIGZpbmFsUHJvcHNcbiAgKTtcblxuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGxvZ0J1Y2tldCwgW1xuICAgIHtcbiAgICAgIGlkOiBcIlczNVwiLFxuICAgICAgcmVhc29uOiBcIlRoaXMgaXMgYSBsb2cgYnVja2V0XCIsXG4gICAgfVxuICBdKTtcblxuICByZXR1cm4gc2NyaXB0QnVja2V0O1xufVxuXG4vKipcbiAqIEBzdW1tYXJ5IENyZWF0ZXMgYSBzdGFjayBuYW1lIGZvciBJbnRlZ3JhdGlvbiB0ZXN0c1xuICogQHBhcmFtIHtzdHJpbmd9IGZpbGVuYW1lIC0gdGhlIGZpbGVuYW1lIG9mIHRoZSBpbnRlZyB0ZXN0XG4gKiBAcmV0dXJucyB7c3RyaW5nfSAtIGEgc3RyaW5nIHdpdGggY3VycmVudCBmaWxlbmFtZSBhZnRlciByZW1vdmluZyBhbnl0aGluZyBiZWZvcmUgdGhlIHByZWZpeCAnLicgYW5kIHN1ZmZpeCAnLmpzJ1xuICogZS5nLiAnaW50ZWcuYXBpZ2F0ZXdheS1keW5hbW9kYi1DUlVELmpzJyB3aWxsIHJldHVybiAnYXBpZ2F0ZXdheS1keW5hbW9kYi1DUlVEJ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZmlsZSA9IHBhdGguYmFzZW5hbWUoZmlsZW5hbWUsIHBhdGguZXh0bmFtZShmaWxlbmFtZSkpO1xuICBjb25zdCBzdGFja25hbWUgPSBmaWxlLnNsaWNlKGZpbGUubGFzdEluZGV4T2YoJy4nKSArIDEpLnJlcGxhY2UoL18vZywgJy0nKTtcbiAgcmV0dXJuIHN0YWNrbmFtZTtcbn1cblxuLy8gSGVscGVyIEZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRlc3RWcGMoc3RhY2s6IFN0YWNrLCBwdWJsaWNGYWNpbmc6IGJvb2xlYW4gPSB0cnVlLCB1c2VyVnBjUHJvcHM/OiBlYzIuVnBjUHJvcHMpIHtcbiAgcmV0dXJuIGJ1aWxkVnBjKHN0YWNrLCB7XG4gICAgZGVmYXVsdFZwY1Byb3BzOiBwdWJsaWNGYWNpbmcgP1xuICAgICAgRGVmYXVsdFB1YmxpY1ByaXZhdGVWcGNQcm9wcygpIDpcbiAgICAgIERlZmF1bHRJc29sYXRlZFZwY1Byb3BzKCksXG4gICAgY29uc3RydWN0VnBjUHJvcHM6IHtcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBpcEFkZHJlc3NlczogZWMyLklwQWRkcmVzc2VzLmNpZHIoJzE3Mi4xNjguMC4wLzE2JyksXG4gICAgfSxcbiAgICB1c2VyVnBjUHJvcHNcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGYWtlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyk6IGFjbS5JQ2VydGlmaWNhdGUge1xuICByZXR1cm4gYWNtLkNlcnRpZmljYXRlLmZyb21DZXJ0aWZpY2F0ZUFybihcbiAgICBzY29wZSxcbiAgICBpZCxcbiAgICBcImFybjphd3M6YWNtOnVzLWVhc3QtMToxMjM0NTY3ODkwMTI6Y2VydGlmaWNhdGUvMTExMTIyMjItMzMzMy0xMjM0LTEyMzQtMTIzNDU2Nzg5MDEyXCJcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZVRlc3RTdGF0ZU1hY2hpbmUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZyk6IHNmbi5TdGF0ZU1hY2hpbmUge1xuICByZXR1cm4gbmV3IHNmbi5TdGF0ZU1hY2hpbmUoc2NvcGUsIGlkLCB7XG4gICAgZGVmaW5pdGlvbkJvZHk6IGRlZmF1bHRzLkNyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzY29wZSwgaWQpXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlVGVzdFN0YXRlTWFjaGluZURlZmluaXRpb25Cb2R5KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpOiBzZm4uRGVmaW5pdGlvbkJvZHkge1xuXG4gIGNvbnN0IHNtU3RlcCA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc2NvcGUsIGBsYW1iZGEke2lkfWAsIHtcbiAgICBjb2RlOiBuZXcgbGFtYmRhLklubGluZUNvZGUoXG4gICAgICBcImV4cG9ydHMuaGFuZGxlciA9IGFzeW5jIChldmVudCkgPT4gY29uc29sZS5sb2coZXZlbnQpXCJcbiAgICApLFxuICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLk5PREVKU18yMF9YLFxuICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICB9KTtcblxuICBjb25zdCB0YXNrID0gbmV3IHNmdGFza3MuTGFtYmRhSW52b2tlKHNjb3BlLCBgdGFzayR7aWR9YCwge1xuICAgIGxhbWJkYUZ1bmN0aW9uOiBzbVN0ZXAsXG4gIH0pO1xuXG4gIFN1cHByZXNzQ2ZuTmFnTGFtYmRhV2FybmluZ3MoU3RhY2sub2Yoc2NvcGUpKTtcblxuICByZXR1cm4gc2ZuLkRlZmluaXRpb25Cb2R5LmZyb21DaGFpbmFibGUodGFzayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwcmVzc0N1c3RvbUhhbmRsZXJDZm5OYWdXYXJuaW5ncyhzdGFjazogU3RhY2ssIGhhbmRsZXJJZDogc3RyaW5nKSB7XG4gIHN0YWNrLm5vZGUuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgaWYgKGNoaWxkLm5vZGUuaWQgPT09IGhhbmRsZXJJZCkge1xuICAgICAgY29uc3QgaGFuZGxlckZ1bmN0aW9uID0gY2hpbGQubm9kZS5maW5kQ2hpbGQoJ0hhbmRsZXInKSBhcyBDZm5GdW5jdGlvbjtcbiAgICAgIGFkZENmblN1cHByZXNzUnVsZXMoaGFuZGxlckZ1bmN0aW9uLCBbeyBpZDogXCJXNThcIiwgcmVhc29uOiBcIkNESyBnZW5lcmF0ZWQgY3VzdG9tIHJlc291cmNlXCIgfV0pO1xuICAgICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhoYW5kbGVyRnVuY3Rpb24sIFt7IGlkOiBcIlc4OVwiLCByZWFzb246IFwiQ0RLIGdlbmVyYXRlZCBjdXN0b20gcmVzb3VyY2VcIiB9XSk7XG4gICAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKGhhbmRsZXJGdW5jdGlvbiwgW3sgaWQ6IFwiVzkyXCIsIHJlYXNvbjogXCJDREsgZ2VuZXJhdGVkIGN1c3RvbSByZXNvdXJjZVwiIH1dKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlVGVzdENhY2hlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHZwYzogZWMyLklWcGMsIHBvcnQ/OiBudW1iZXIpIHtcbiAgY29uc3QgY2FjaGVQb3J0ID0gcG9ydCA/PyBHZXREZWZhdWx0Q2FjaGVQb3J0KCk7XG5cbiAgLy8gQ3JlYXRlIHRoZSBzdWJuZXQgZ3JvdXAgZnJvbSBhbGwgdGhlIGlzb2xhdGVkIHN1Ym5ldHMgaW4gdGhlIFZQQ1xuICBjb25zdCBzdWJuZXRHcm91cCA9IGNyZWF0ZUNhY2hlU3VibmV0R3JvdXAoc2NvcGUsIHZwYywgaWQpO1xuICBjb25zdCBlbXB0eVNHID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHNjb3BlLCBgJHtpZH0tY2FjaGVzZ2AsIHtcbiAgICB2cGMsXG4gICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgfSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoZW1wdHlTRywgW3sgaWQ6IFwiVzQwXCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGVtcHR5U0csIFt7IGlkOiBcIlc1XCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGVtcHR5U0csIFt7IGlkOiBcIlczNlwiLCByZWFzb246IFwiVGVzdCBSZXNvdXJjZVwiIH1dKTtcblxuICBjb25zdCBjYWNoZVByb3BzID0ge1xuICAgIGNsdXN0ZXJOYW1lOiBgJHtpZH0tY2RrLWNsdXN0ZXJgLFxuICAgIGNhY2hlTm9kZVR5cGU6IFwiY2FjaGUudDMubWVkaXVtXCIsXG4gICAgZW5naW5lOiBcIm1lbWNhY2hlZFwiLFxuICAgIG51bUNhY2hlTm9kZXM6IDIsXG4gICAgcG9ydDogY2FjaGVQb3J0LFxuICAgIGF6TW9kZTogXCJjcm9zcy1helwiLFxuICAgIHZwY1NlY3VyaXR5R3JvdXBJZHM6IFtlbXB0eVNHLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgY2FjaGVTdWJuZXRHcm91cE5hbWU6IHN1Ym5ldEdyb3VwLmNhY2hlU3VibmV0R3JvdXBOYW1lLFxuICB9O1xuXG4gIGNvbnN0IG5ld0NhY2hlID0gbmV3IGNhY2hlLkNmbkNhY2hlQ2x1c3RlcihcbiAgICBzY29wZSxcbiAgICBgJHtpZH0tY2x1c3RlcmAsXG4gICAgY2FjaGVQcm9wc1xuICApO1xuICBuZXdDYWNoZS5hZGREZXBlbmRlbmN5KHN1Ym5ldEdyb3VwKTtcbiAgcmV0dXJuIG5ld0NhY2hlO1xufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIEtNUyBrZXkgd2l0aCBhIHNwZWNpZmljIGRlc2NyaXB0aW9uIGV4aXN0cyBvbiBhIHJlc291cmNlXG4gKlxuICogQHBhcmFtIHN0YWNrIFRoZSBDbG91ZEZvcm1hdGlvbiBTdGFjayB0aGF0IGNvbnRhaW5zIHRoZSB0byB2YWxpZGF0ZS5cbiAqIEBwYXJhbSBwYXJlbnRSZXNvdXJjZVR5cGUgVGhlIHR5cGUgb2YgQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2UgdGhhdCBzaG91bGQgaGF2ZSB0aGUga2V5IHNldCBvbiBpdCwgZS5nLiwgYEFXUzo6U05TOjpUb3BpY2AsIGV0Yy4uLlxuICogQHBhcmFtIGRlc2NyaXB0aW9uIFRoZSB2YWx1ZSBvZiB0aGUgRGVzY3JpcHRpb24gcHJvcGVydHkgb24gdGhlIEtNUyBLZXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEttc0tleUF0dGFjaGVkVG9Db3JyZWN0UmVzb3VyY2Uoc3RhY2s6IFN0YWNrLCBwYXJlbnRSZXNvdXJjZVR5cGU6IHN0cmluZywga2V5RGVzY3JpcHRpb246IHN0cmluZykge1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIGNvbnN0IHJlc291cmNlID0gdGVtcGxhdGUuZmluZFJlc291cmNlcygnQVdTOjpLTVM6OktleScsIHtcbiAgICBQcm9wZXJ0aWVzOiB7XG4gICAgICBEZXNjcmlwdGlvbjogTWF0Y2guZXhhY3Qoa2V5RGVzY3JpcHRpb24pXG4gICAgfVxuICB9KTtcblxuICBjb25zdCBbbG9naWNhbElkXSA9IE9iamVjdC5rZXlzKHJlc291cmNlKTtcbiAgVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKS5oYXNSZXNvdXJjZVByb3BlcnRpZXMocGFyZW50UmVzb3VyY2VUeXBlLCB7XG4gICAgS21zTWFzdGVyS2V5SWQ6IHtcbiAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgIGxvZ2ljYWxJZCxcbiAgICAgICAgXCJBcm5cIlxuICAgICAgXVxuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3ROb25leGlzdGVuY2Uoc3RhY2s6IFN0YWNrLCB0eXBlOiBzdHJpbmcsIHByb3BzOiBvYmplY3QpIHtcbiAgY29uc3Qgc2hvdWxkRmluZE5vdGhpbmcgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spLmZpbmRSZXNvdXJjZXModHlwZSwgcHJvcHMpO1xuICBleHBlY3QoT2JqZWN0LmtleXMoc2hvdWxkRmluZE5vdGhpbmcpLmxlbmd0aCkudG9FcXVhbCgwKTtcbn1cblxuLy8gcHJpdmF0ZSBoZWxwZXIgY2xhc3MgdG8gc3VwcHJlc3MgdGhlIHN0YW5kYXJkIGNmbiBuYWcgd2FybmluZ3MgZm9yIGxhbWJkYSBmdW5jdGlvbnMgdXNlZCBpbiBpbnRlZyB0ZXN0c1xuY2xhc3MgQ2ZuTmFnTGFtYmRhQXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHB1YmxpYyB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBub2RlIGFzIENmblJlc291cmNlO1xuICAgIGlmIChyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUgPT09ICdBV1M6OkxhbWJkYTo6RnVuY3Rpb24nKSB7XG4gICAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKHJlc291cmNlLCBbXG4gICAgICAgIHsgaWQ6ICdXNTgnLCByZWFzb246ICdUaGlzIExhbWJkYSBGdW5jdGlvbiBpcyBjcmVhdGVkIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIGlzIG5vdCBwYXJ0IG9mIGFuIGFjdHVhbCBjb25zdHJ1Y3QnIH0sXG4gICAgICAgIHsgaWQ6ICdXODknLCByZWFzb246ICdUaGlzIExhbWJkYSBGdW5jdGlvbiBpcyBjcmVhdGVkIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIGlzIG5vdCBwYXJ0IG9mIGFuIGFjdHVhbCBjb25zdHJ1Y3QnIH0sXG4gICAgICAgIHsgaWQ6ICdXOTInLCByZWFzb246ICdUaGlzIExhbWJkYSBGdW5jdGlvbiBpcyBjcmVhdGVkIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIGlzIG5vdCBwYXJ0IG9mIGFuIGFjdHVhbCBjb25zdHJ1Y3QnIH1cbiAgICAgIF0pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlVGVzdEFwaShzdGFjazogU3RhY2ssIGlkOiBzdHJpbmcpOiBhcGkuTGFtYmRhUmVzdEFwaSB7XG4gIGNvbnN0IGxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbihzdGFjaywgYCR7aWR9RnVuY3Rpb25gLCB7XG4gICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KGAke19fZGlybmFtZX0vbGFtYmRhYCksXG4gICAgcnVudGltZTogZGVmYXVsdHMuQ09NTUVSQ0lBTF9SRUdJT05fTEFNQkRBX05PREVfUlVOVElNRSxcbiAgICBoYW5kbGVyOiBcIi5oYW5kbGVyXCIsXG4gIH0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGxhbWJkYUZ1bmN0aW9uLCBbeyBpZDogXCJXNThcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMobGFtYmRhRnVuY3Rpb24sIFt7IGlkOiBcIlc4OVwiLCByZWFzb246IFwiVGVzdCBSZXNvdXJjZVwiIH1dKTtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhsYW1iZGFGdW5jdGlvbiwgW3sgaWQ6IFwiVzkyXCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuXG4gIGNvbnN0IHJlc3RBcGkgPSBuZXcgYXBpLkxhbWJkYVJlc3RBcGkoc3RhY2ssIGAke2lkfUFwaWAsIHtcbiAgICBoYW5kbGVyOiBsYW1iZGFGdW5jdGlvbixcbiAgICBkZWZhdWx0TWV0aG9kT3B0aW9uczoge1xuICAgICAgYXV0aG9yaXphdGlvblR5cGU6IGFwaS5BdXRob3JpemF0aW9uVHlwZS5DVVNUT00sXG4gICAgICBhdXRob3JpemVyOiBDcmVhdGVBcGlBdXRob3JpemVyKHN0YWNrLCBgJHtpZH0tYXV0aG9yaXplcmApXG4gICAgfVxuICB9KTtcblxuICBjb25zdCBuZXdEZXBsb3ltZW50ID0gcmVzdEFwaS5sYXRlc3REZXBsb3ltZW50O1xuICBpZiAobmV3RGVwbG95bWVudCkge1xuICAgIGFkZENmblN1cHByZXNzUnVsZXMobmV3RGVwbG95bWVudCwgW1xuICAgICAgeyBpZDogXCJXNjhcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9LFxuICAgIF0pO1xuICB9XG5cbiAgY29uc3QgbmV3TWV0aG9kID0gcmVzdEFwaS5tZXRob2RzWzBdO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKG5ld01ldGhvZCwgW3sgaWQ6IFwiVzU5XCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBjb25zdCBuZXdNZXRob2RUd28gPSByZXN0QXBpLm1ldGhvZHNbMV07XG4gIGFkZENmblN1cHByZXNzUnVsZXMobmV3TWV0aG9kVHdvLCBbeyBpZDogXCJXNTlcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG5cbiAgY29uc3QgbmV3U3RhZ2UgPSByZXN0QXBpLmRlcGxveW1lbnRTdGFnZTtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhuZXdTdGFnZSwgW3sgaWQ6IFwiVzY0XCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKG5ld1N0YWdlLCBbeyBpZDogXCJXNjlcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG5cbiAgcmV0dXJuIHJlc3RBcGk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVBcGlBdXRob3JpemVyKHN0YWNrOiBTdGFjaywgaWQ6IHN0cmluZyk6IGFwaS5JQXV0aG9yaXplciB7XG4gIGNvbnN0IGF1dGhGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc3RhY2ssIGAke2lkfUF1dGhGdW5jdGlvbmAsIHtcbiAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCR7X19kaXJuYW1lfS9sYW1iZGFgKSxcbiAgICBydW50aW1lOiBkZWZhdWx0cy5DT01NRVJDSUFMX1JFR0lPTl9MQU1CREFfTk9ERV9SVU5USU1FLFxuICAgIGhhbmRsZXI6IFwiLmhhbmRsZXJcIixcbiAgfSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoYXV0aEZuLCBbeyBpZDogXCJXNThcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoYXV0aEZuLCBbeyBpZDogXCJXODlcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoYXV0aEZuLCBbeyBpZDogXCJXOTJcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG5cbiAgY29uc3QgYXV0aG9yaXplciA9IG5ldyBhcGkuUmVxdWVzdEF1dGhvcml6ZXIoc3RhY2ssIGlkLCB7XG4gICAgaGFuZGxlcjogYXV0aEZuLFxuICAgIGlkZW50aXR5U291cmNlczogW2FwaS5JZGVudGl0eVNvdXJjZS5oZWFkZXIoJ0F1dGhvcml6YXRpb24nKV1cbiAgfSk7XG5cbiAgcmV0dXJuIGF1dGhvcml6ZXI7XG59XG5cbi8vIENyZWF0ZSBhIHNob3J0LCB1bmlxdWUgdG8gdGhpcyBzdGFjayBuYW1lXG4vLyB0ZWNobmljYWxseSB0aGlzIGlzIG5vdCAxMDAlIE9LLCBhcyBpdCBvbmx5IHVzZXMgYSBwb3J0aW9uIG9mIHRoZVxuLy8gc3RhY2sgZ3VpZCAtIGJ1dCBpdCdzIGZvciB0ZXN0cyBvbmx5IHNvIGlmIHRoZSBsYXN0IHNlZ21lbnQgb2YgMiBzdGFjayBndWlkcyBjb2xsaWRlIHNvbWVkYXlcbi8vIChWRVJZIHVubGlrZWx5KSwganVzdCBydW5uaW5nIGFnYWluIHNob3VsZCB0YWtlIGNhcmUgb2YgaXQuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlU2hvcnRVbmlxdWVUZXN0TmFtZShzdHViOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3RhY2tHdWlkID0gRm4uc2VsZWN0KDIsIEZuLnNwbGl0KCcvJywgYCR7QXdzLlNUQUNLX0lEfWApKTtcbiAgY29uc3QgZ3VpZFBvcnRpb24gPSBGbi5zZWxlY3QoNCwgRm4uc3BsaXQoJy0nLCBzdGFja0d1aWQpKTtcbiAgcmV0dXJuIEZuLmpvaW4oXCItXCIsIFtzdHViLCBndWlkUG9ydGlvbl0pO1xufVxuXG4vKipcbiAqIFVzZWQgdG8gc3VwcHJlc3MgY2ZuIG5hZyBXNTgsIFc4OSwgYW5kIFc5MiBydWxlcyBvbiBsYW1iZGEgaW50ZWdyYXRpb24gdGVzdCByZXNvdXJjZXMuXG4gKlxuICogQHBhcmFtIHN0YWNrIC0gVGhlIHN0YWNrIHRvIHN1cHByZXNzIGNmbiBuYWcgbGFtYmRhIHJ1bGVzIG9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTdXBwcmVzc0Nmbk5hZ0xhbWJkYVdhcm5pbmdzKHN0YWNrOiBTdGFjaykge1xuICBBc3BlY3RzLm9mKHN0YWNrKS5hZGQobmV3IENmbk5hZ0xhbWJkYUFzcGVjdCgpKTtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGFzc3VtZSBleHBsaWNpdCBjb250cm9sIG92ZXIgZmVhdHVyZSBmbGFncyBpbiBpbnRlZy1ydW5uZXIgdGVzdHNcbiAqXG4gKiBAcGFyYW0gc3RhY2sgLSBUaGUgc3RhY2sgZm9yIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRDb25zaXN0ZW50RmVhdHVyZUZsYWdzKHN0YWNrOiBTdGFjaykge1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtbGFtYmRhOmNyZWF0ZU5ld1BvbGljaWVzV2l0aEFkZFRvUm9sZVBvbGljeVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXMzOnNlcnZlckFjY2Vzc0xvZ3NVc2VCdWNrZXRQb2xpY3lcIiwgdHJ1ZSk7XG5cbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvY29yZTpjaGVja1NlY3JldFVzYWdlXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOnRhcmdldC1wYXJ0aXRpb25zXCIsIFtcbiAgICBcImF3c1wiLFxuICAgIFwiYXdzLWNuXCJcbiAgXSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uczplbmFibGVEZWZhdWx0TG9nRHJpdmVyXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWMyOnVuaXF1ZUltZHN2MlRlbXBsYXRlTmFtZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjczphcm5Gb3JtYXRJbmNsdWRlc0NsdXN0ZXJOYW1lXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtaWFtOm1pbmltaXplUG9saWNpZXNcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2NvcmU6dmFsaWRhdGVTbmFwc2hvdFJlbW92YWxQb2xpY3lcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6Y3Jvc3NBY2NvdW50S2V5QWxpYXNTdGFja1NhZmVSZXNvdXJjZU5hbWVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1zMzpjcmVhdGVEZWZhdWx0TG9nZ2luZ1BvbGljeVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXNucy1zdWJzY3JpcHRpb25zOnJlc3RyaWN0U3FzRGVzY3J5cHRpb25cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OmRpc2FibGVDbG91ZFdhdGNoUm9sZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvY29yZTplbmFibGVQYXJ0aXRpb25MaXRlcmFsc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWV2ZW50czpldmVudHNUYXJnZXRRdWV1ZVNhbWVBY2NvdW50XCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWNzOmRpc2FibGVFeHBsaWNpdERlcGxveW1lbnRDb250cm9sbGVyRm9yQ2lyY3VpdEJyZWFrZXJcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1pYW06aW1wb3J0ZWRSb2xlU3RhY2tTYWZlRGVmYXVsdFBvbGljeU5hbWVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yb3V0ZTUzLXBhdHRlcnM6dXNlQ2VydGlmaWNhdGVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2N1c3RvbXJlc291cmNlczppbnN0YWxsTGF0ZXN0QXdzU2RrRGVmYXVsdFwiLCBmYWxzZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6ZGF0YWJhc2VQcm94eVVuaXF1ZVJlc291cmNlTmFtZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWNvZGVkZXBsb3k6cmVtb3ZlQWxhcm1zRnJvbURlcGxveW1lbnRHcm91cFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6YXV0aG9yaXplckNoYW5nZURlcGxveW1lbnRMb2dpY2FsSWRcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lYzI6bGF1bmNoVGVtcGxhdGVEZWZhdWx0VXNlckRhdGFcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1zZWNyZXRzbWFuYWdlcjp1c2VBdHRhY2hlZFNlY3JldFJlc291cmNlUG9saWN5Rm9yU2VjcmV0VGFyZ2V0QXR0YWNobWVudHNcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZWRzaGlmdDpjb2x1bW5JZFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3M6ZW5hYmxlRW1yU2VydmljZVBvbGljeVYyXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWMyOnJlc3RyaWN0RGVmYXVsdFNlY3VyaXR5R3JvdXBcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OnJlcXVlc3RWYWxpZGF0b3JVbmlxdWVJZFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWttczphbGlhc05hbWVSZWZcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1hdXRvc2NhbGluZzpnZW5lcmF0ZUxhdW5jaFRlbXBsYXRlSW5zdGVhZE9mTGF1bmNoQ29uZmlnXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOmluY2x1ZGVQcmVmaXhJblVuaXF1ZU5hbWVHZW5lcmF0aW9uXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWZzOmRlbnlBbm9ueW1vdXNBY2Nlc3NcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1vcGVuc2VhcmNoc2VydmljZTplbmFibGVPcGVuc2VhcmNoTXVsdGlBeldpdGhTdGFuZGJ5XCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtbGFtYmRhLW5vZGVqczp1c2VMYXRlc3RSdW50aW1lVmVyc2lvblwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVmczptb3VudFRhcmdldE9yZGVySW5zZW5zaXRpdmVMb2dpY2FsSWRcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6YXVyb3JhQ2x1c3RlckNoYW5nZVNjb3BlT2ZJbnN0YW5jZVBhcmFtZXRlckdyb3VwV2l0aEVhY2hQYXJhbWV0ZXJzXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtYXBwc3luYzp1c2VBcm5Gb3JTb3VyY2VBcGlBc3NvY2lhdGlvbklkZW50aWZpZXJcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6cHJldmVudFJlbmRlcmluZ0RlcHJlY2F0ZWRDcmVkZW50aWFsc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zOnVzZU5ld0RlZmF1bHRCcmFuY2hGb3JDb2RlQ29tbWl0U291cmNlXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtY2xvdWR3YXRjaC1hY3Rpb25zOmNoYW5nZUxhbWJkYVBlcm1pc3Npb25Mb2dpY2FsSWRGb3JMYW1iZGFBY3Rpb25cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6Y3Jvc3NBY2NvdW50S2V5c0RlZmF1bHRWYWx1ZVRvRmFsc2VcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6ZGVmYXVsdFBpcGVsaW5lVHlwZVRvVjJcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1rbXM6cmVkdWNlQ3Jvc3NBY2NvdW50UmVnaW9uUG9saWN5U2NvcGVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1la3M6bm9kZWdyb3VwTmFtZUF0dHJpYnV0ZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjplYnNEZWZhdWx0R3AzVm9sdW1lXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWNzOnJlbW92ZURlZmF1bHREZXBsb3ltZW50QWxhcm1cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2N1c3RvbS1yZXNvdXJjZXM6bG9nQXBpUmVzcG9uc2VEYXRhUHJvcGVydHlUcnVlRGVmYXVsdFwiLCBmYWxzZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1zMzprZWVwTm90aWZpY2F0aW9uSW5JbXBvcnRlZEJ1Y2tldFwiLCBmYWxzZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lY3M6ZW5hYmxlSW1kc0Jsb2NraW5nRGVwcmVjYXRlZEZlYXR1cmVcIiwgZmFsc2UpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWNzOmRpc2FibGVFY3NJbWRzQmxvY2tpbmdcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lY3M6cmVkdWNlRWMyRmFyZ2F0ZUNsb3VkV2F0Y2hQZXJtaXNzaW9uc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWR5bmFtb2RiOnJlc291cmNlUG9saWN5UGVyUmVwbGljYVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjplYzJTdW1USW1lb3V0RW5hYmxlZFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWFwcHN5bmM6YXBwU3luY0dyYXBoUUxBUElTY29wZUxhbWJkYVBlcm1pc3Npb25cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6c2V0Q29ycmVjdFZhbHVlRm9yRGF0YWJhc2VJbnN0YW5jZVJlYWRSZXBsaWNhSW5zdGFuY2VSZXNvdXJjZUlkXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOmNmbkluY2x1ZGVSZWplY3RDb21wbGV4UmVzb3VyY2VVcGRhdGVDcmVhdGVQb2xpY3lJbnRyaW5zaWNzXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtbGFtYmRhLW5vZGVqczpzZGtWM0V4Y2x1ZGVTbWl0aHlQYWNrYWdlc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3M6Zml4UnVuRWNzVGFza1BvbGljeVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjpiYXN0aW9uSG9zdFVzZUFtYXpvbkxpbnV4MjAyM0J5RGVmYXVsdFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXJvdXRlNTMtdGFyZ2V0czp1c2VyUG9vbERvbWFpbk5hbWVNZXRob2RXaXRob3V0Q3VzdG9tUmVzb3VyY2VcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ1YyOmFsYkR1YWxzdGFja1dpdGhvdXRQdWJsaWNJcHY0U2VjdXJpdHlHcm91cFJ1bGVzRGVmYXVsdFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWlhbTpvaWRjUmVqZWN0VW5hdXRob3JpemVkQ29ubmVjdGlvbnNcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2NvcmU6ZW5hYmxlQWRkaXRpb25hbE1ldGFkYXRhQ29sbGVjdGlvblwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXMzOnNldFVuaXF1ZVJlcGxpY2F0aW9uUm9sZU5hbWVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1ldmVudHM6cmVxdWlyZUV2ZW50QnVzUG9saWN5U2lkXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOmFzcGVjdFByaW9yaXRpZXNNdXRhdGluZ1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWR5bmFtb2RiOnJldGFpblRhYmxlUmVwbGljYVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnM6dXNlRGlzdHJpYnV0ZWRNYXBSZXN1bHRXcml0ZXJWMlwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvczMtbm90aWZpY2F0aW9uczphZGRTM1RydXN0S2V5UG9saWN5Rm9yU25zU3Vic2NyaXB0aW9uc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjpyZXF1aXJlUHJpdmF0ZVN1Ym5ldHNGb3JFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5XCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtczM6cHVibGljQWNjZXNzQmxvY2tlZEJ5RGVmYXVsdFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWxhbWJkYTp1c2VDZGtNYW5hZ2VkTG9nR3JvdXBcIiwgZmFsc2UpO1xufSJdfQ==
349
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7OztBQTBCSCw4Q0EyQ0M7QUFRRCx3REFJQztBQUdELGdDQVlDO0FBRUQsZ0RBTUM7QUFFRCx3REFJQztBQUVELG9GQWlCQztBQUVELGtGQVNDO0FBRUQsMENBK0JDO0FBU0Qsc0ZBaUJDO0FBRUQsZ0RBR0M7QUFnQkQsc0NBbUNDO0FBRUQsa0RBZ0JDO0FBTUQsOERBSUM7QUFPRCxvRUFFQztBQU9ELDhEQTZFQztBQXBYRCwrQ0FBMkU7QUFDM0UsNkNBQTJGO0FBQzNGLGtEQUE2QztBQUM3QyxzREFBNEY7QUFDNUYsd0NBQWtFO0FBQ2xFLHFDQUFxQztBQUNyQyxrRUFBbUU7QUFDbkUsNkJBQTZCO0FBQzdCLHFEQUFxRDtBQUNyRCwyQ0FBMkM7QUFDM0MsMERBQTBEO0FBRTFELHNFQUFrRTtBQUNsRSx1REFBeUQ7QUFDekQsaURBQWlEO0FBQ2pELHFEQUFxRDtBQUNyRCwrREFBK0Q7QUFDL0Qsa0RBQWtEO0FBRXJDLFFBQUEsY0FBYyxHQUFHLHlEQUF5RCxDQUFDO0FBRXhGLCtFQUErRTtBQUMvRSxTQUFnQixpQkFBaUIsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtJQUV2RixJQUFJLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLE1BQU0sWUFBWSxHQUFnQjtRQUNoQyxTQUFTLEVBQUUsSUFBSTtRQUNmLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87UUFDcEMsaUJBQWlCLEVBQUUsSUFBSTtRQUN2QixVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtRQUN2QyxVQUFVLEVBQUUsSUFBSTtLQUNqQixDQUFDO0lBRUYsMEJBQTBCO0lB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SUFDM0UsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMscUVBQXFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsNENBQTRDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdURBQXVELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsK0NBQStDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0UsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdUNBQXVDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0RBQWtELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdUVBQXVFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMseURBQXlELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsNkNBQTZDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0UsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMscURBQXFELEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0RBQWtELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMseURBQXlELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsNkRBQTZELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0YsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0RBQWdELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdUZBQXVGLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckgsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMkRBQTJELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsK0NBQStDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0UsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0RBQWtELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsK0JBQStCLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0VBQXNFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsbURBQW1ELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0NBQXNDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsbUVBQW1FLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsb0RBQW9ELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdURBQXVELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMscUZBQXFGLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkgsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsOERBQThELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsd0RBQXdELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMEVBQTBFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0ZBQWdGLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsK0RBQStELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0YsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsbURBQW1ELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0RBQXNELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMseUNBQXlDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0NBQXNDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsK0NBQStDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0UsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaUVBQWlFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0RBQWtELEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0RBQXNELEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMseUNBQXlDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsd0RBQXdELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0RBQWdELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdUNBQXVDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsNkRBQTZELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0YsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0ZBQWtGLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEgsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMkVBQTJFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDekcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsdURBQXVELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDckYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsc0RBQXNELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMseURBQXlELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsNEVBQTRFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsNEZBQTRGLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUgsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsb0RBQW9ELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0RBQWtELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsOENBQThDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsOENBQThDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsd0NBQXdDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMENBQTBDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsNERBQTRELEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDMUYsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0VBQWtFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsb0VBQW9FLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbEcsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsOENBQThDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUUsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsMkNBQTJDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8vIEltcG9ydHNcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQnVja2V0LCBCdWNrZXRQcm9wcywgQnVja2V0RW5jcnlwdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IENmblJlc291cmNlLCBSZW1vdmFsUG9saWN5LCBTdGFjaywgQXNwZWN0cywgSUFzcGVjdCwgQXdzLCBGbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgYnVpbGRWcGMgfSBmcm9tICcuLi9saWIvdnBjLWhlbHBlcic7XG5pbXBvcnQgeyBEZWZhdWx0UHVibGljUHJpdmF0ZVZwY1Byb3BzLCBEZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcyB9IGZyb20gJy4uL2xpYi92cGMtZGVmYXVsdHMnO1xuaW1wb3J0IHsgb3ZlcnJpZGVQcm9wcywgYWRkQ2ZuU3VwcHJlc3NSdWxlcyB9IGZyb20gXCIuLi9saWIvdXRpbHNcIjtcbmltcG9ydCAqIGFzIGRlZmF1bHRzIGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IGNyZWF0ZUNhY2hlU3VibmV0R3JvdXAgfSBmcm9tIFwiLi4vbGliL2VsYXN0aWNhY2hlLWhlbHBlclwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGNhY2hlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lbGFzdGljYWNoZSc7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBhY20gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgeyBDZm5GdW5jdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBHZXREZWZhdWx0Q2FjaGVQb3J0IH0gZnJvbSBcIi4uL2xpYi9lbGFzdGljYWNoZS1kZWZhdWx0c1wiO1xuaW1wb3J0IHsgTWF0Y2gsIFRlbXBsYXRlIH0gZnJvbSAnYXdzLWNkay1saWIvYXNzZXJ0aW9ucyc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCAqIGFzIHNmbiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnNcIjtcbmltcG9ydCAqIGFzIHNmdGFza3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zdGVwZnVuY3Rpb25zLXRhc2tzXCI7XG5pbXBvcnQgKiBhcyBhcGkgZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5cbmV4cG9ydCBjb25zdCBmYWtlRWNyUmVwb0FybiA9ICdhcm46YXdzOmVjcjp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOnJlcG9zaXRvcnkvZmFrZS1yZXBvJztcblxuLy8gQ3JlYXRlcyBhIGJ1Y2tldCB1c2VkIGZvciB0ZXN0aW5nIC0gbWluaW1hbCBwcm9wZXJ0aWVzLCBkZXN0cm95ZWQgYWZ0ZXIgdGVzdFxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZVNjcmFwQnVja2V0KHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQnVja2V0UHJvcHMgfCBhbnkpIHtcblxuICBpZiAocHJvcHM/LnNlcnZlckFjY2Vzc0xvZ3NCdWNrZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJEb24ndCB0cnkgdG8gc2VuZCBhIGxvZyBidWNrZXQgdG8gQ3JlYXRlU2NyYXBCdWNrZXRcIik7XG4gIH1cblxuICAvLyBCYXNpYyBwcm9wcyBmb3Igc2NyYXAgYW5kIGxvZyBidWNrZXRzXG4gIGNvbnN0IGRlZmF1bHRQcm9wczogQnVja2V0UHJvcHMgPSB7XG4gICAgdmVyc2lvbmVkOiB0cnVlLFxuICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICBhdXRvRGVsZXRlT2JqZWN0czogdHJ1ZSxcbiAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgZW5mb3JjZVNTTDogdHJ1ZVxuICB9O1xuXG4gIC8vIENyZWF0ZSBiYXNpYyBsb2cgYnVja2V0XG4gIGNvbnN0IGxvZ0J1Y2tldCA9IG5ldyBCdWNrZXQoc2NvcGUsIGAke2lkfUxvZ2AsIGRlZmF1bHRQcm9wcyk7XG5cbiAgLy8gQ29tYmluZSBiYXNpYyBwcm9wcyB3aXRoIHNwZWNpYWwgcHJvcHMgZnJvbSB0ZXN0IGNsaWVudFxuICBsZXQgc3ludGhlc2l6ZWRQcm9wczogQnVja2V0UHJvcHM7XG4gIGlmIChwcm9wcykge1xuICAgIHN5bnRoZXNpemVkUHJvcHMgPSBvdmVycmlkZVByb3BzKGRlZmF1bHRQcm9wcywgcHJvcHMpO1xuICB9IGVsc2Uge1xuICAgIHN5bnRoZXNpemVkUHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4gIH1cblxuICAvLyBGaW5hbGx5IC0gc2V0IHVwIGxvZ2dpbmcgZm9yIHRoZSBzY3JhcCBidWNrZXRcbiAgY29uc3QgZmluYWxQcm9wcyA9IG92ZXJyaWRlUHJvcHMoc3ludGhlc2l6ZWRQcm9wcywgeyBzZXJ2ZXJBY2Nlc3NMb2dzQnVja2V0OiBsb2dCdWNrZXQgfSk7XG5cbiAgY29uc3Qgc2NyaXB0QnVja2V0ID0gbmV3IEJ1Y2tldChcbiAgICBzY29wZSxcbiAgICBpZCxcbiAgICBmaW5hbFByb3BzXG4gICk7XG5cbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhsb2dCdWNrZXQsIFtcbiAgICB7XG4gICAgICBpZDogXCJXMzVcIixcbiAgICAgIHJlYXNvbjogXCJUaGlzIGlzIGEgbG9nIGJ1Y2tldFwiLFxuICAgIH1cbiAgXSk7XG5cbiAgcmV0dXJuIHNjcmlwdEJ1Y2tldDtcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBDcmVhdGVzIGEgc3RhY2sgbmFtZSBmb3IgSW50ZWdyYXRpb24gdGVzdHNcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSAtIHRoZSBmaWxlbmFtZSBvZiB0aGUgaW50ZWcgdGVzdFxuICogQHJldHVybnMge3N0cmluZ30gLSBhIHN0cmluZyB3aXRoIGN1cnJlbnQgZmlsZW5hbWUgYWZ0ZXIgcmVtb3ZpbmcgYW55dGhpbmcgYmVmb3JlIHRoZSBwcmVmaXggJy4nIGFuZCBzdWZmaXggJy5qcydcbiAqIGUuZy4gJ2ludGVnLmFwaWdhdGV3YXktZHluYW1vZGItQ1JVRC5qcycgd2lsbCByZXR1cm4gJ2FwaWdhdGV3YXktZHluYW1vZGItQ1JVRCdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSW50ZWdTdGFja05hbWUoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGZpbGUgPSBwYXRoLmJhc2VuYW1lKGZpbGVuYW1lLCBwYXRoLmV4dG5hbWUoZmlsZW5hbWUpKTtcbiAgY29uc3Qgc3RhY2tuYW1lID0gZmlsZS5zbGljZShmaWxlLmxhc3RJbmRleE9mKCcuJykgKyAxKS5yZXBsYWNlKC9fL2csICctJyk7XG4gIHJldHVybiBzdGFja25hbWU7XG59XG5cbi8vIEhlbHBlciBGdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBnZXRUZXN0VnBjKHN0YWNrOiBTdGFjaywgcHVibGljRmFjaW5nOiBib29sZWFuID0gdHJ1ZSwgdXNlclZwY1Byb3BzPzogZWMyLlZwY1Byb3BzKSB7XG4gIHJldHVybiBidWlsZFZwYyhzdGFjaywge1xuICAgIGRlZmF1bHRWcGNQcm9wczogcHVibGljRmFjaW5nID9cbiAgICAgIERlZmF1bHRQdWJsaWNQcml2YXRlVnBjUHJvcHMoKSA6XG4gICAgICBEZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcygpLFxuICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgaXBBZGRyZXNzZXM6IGVjMi5JcEFkZHJlc3Nlcy5jaWRyKCcxNzIuMTY4LjAuMC8xNicpLFxuICAgIH0sXG4gICAgdXNlclZwY1Byb3BzXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmFrZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpOiBhY20uSUNlcnRpZmljYXRlIHtcbiAgcmV0dXJuIGFjbS5DZXJ0aWZpY2F0ZS5mcm9tQ2VydGlmaWNhdGVBcm4oXG4gICAgc2NvcGUsXG4gICAgaWQsXG4gICAgXCJhcm46YXdzOmFjbTp1cy1lYXN0LTE6MTIzNDU2Nzg5MDEyOmNlcnRpZmljYXRlLzExMTEyMjIyLTMzMzMtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMlwiXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVUZXN0U3RhdGVNYWNoaW5lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpOiBzZm4uU3RhdGVNYWNoaW5lIHtcbiAgcmV0dXJuIG5ldyBzZm4uU3RhdGVNYWNoaW5lKHNjb3BlLCBpZCwge1xuICAgIGRlZmluaXRpb25Cb2R5OiBkZWZhdWx0cy5DcmVhdGVUZXN0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbkJvZHkoc2NvcGUsIGlkKVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZVRlc3RTdGF0ZU1hY2hpbmVEZWZpbml0aW9uQm9keShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKTogc2ZuLkRlZmluaXRpb25Cb2R5IHtcblxuICBjb25zdCBzbVN0ZXAgPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHNjb3BlLCBgbGFtYmRhJHtpZH1gLCB7XG4gICAgY29kZTogbmV3IGxhbWJkYS5JbmxpbmVDb2RlKFxuICAgICAgXCJleHBvcnRzLmhhbmRsZXIgPSBhc3luYyAoZXZlbnQpID0+IGNvbnNvbGUubG9nKGV2ZW50KVwiXG4gICAgKSxcbiAgICBydW50aW1lOiBkZWZhdWx0cy5DT01NRVJDSUFMX1JFR0lPTl9MQU1CREFfTk9ERV9SVU5USU1FLFxuICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICB9KTtcblxuICBjb25zdCB0YXNrID0gbmV3IHNmdGFza3MuTGFtYmRhSW52b2tlKHNjb3BlLCBgdGFzayR7aWR9YCwge1xuICAgIGxhbWJkYUZ1bmN0aW9uOiBzbVN0ZXAsXG4gIH0pO1xuXG4gIFN1cHByZXNzQ2ZuTmFnTGFtYmRhV2FybmluZ3MoU3RhY2sub2Yoc2NvcGUpKTtcblxuICByZXR1cm4gc2ZuLkRlZmluaXRpb25Cb2R5LmZyb21DaGFpbmFibGUodGFzayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdXBwcmVzc0N1c3RvbUhhbmRsZXJDZm5OYWdXYXJuaW5ncyhzdGFjazogU3RhY2ssIGhhbmRsZXJJZDogc3RyaW5nKSB7XG4gIHN0YWNrLm5vZGUuY2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgaWYgKGNoaWxkLm5vZGUuaWQgPT09IGhhbmRsZXJJZCkge1xuICAgICAgY29uc3QgaGFuZGxlckZ1bmN0aW9uID0gY2hpbGQubm9kZS5maW5kQ2hpbGQoJ0hhbmRsZXInKSBhcyBDZm5GdW5jdGlvbjtcbiAgICAgIGFkZENmblN1cHByZXNzUnVsZXMoaGFuZGxlckZ1bmN0aW9uLCBbeyBpZDogXCJXNThcIiwgcmVhc29uOiBcIkNESyBnZW5lcmF0ZWQgY3VzdG9tIHJlc291cmNlXCIgfV0pO1xuICAgICAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhoYW5kbGVyRnVuY3Rpb24sIFt7IGlkOiBcIlc4OVwiLCByZWFzb246IFwiQ0RLIGdlbmVyYXRlZCBjdXN0b20gcmVzb3VyY2VcIiB9XSk7XG4gICAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKGhhbmRsZXJGdW5jdGlvbiwgW3sgaWQ6IFwiVzkyXCIsIHJlYXNvbjogXCJDREsgZ2VuZXJhdGVkIGN1c3RvbSByZXNvdXJjZVwiIH1dKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlVGVzdENhY2hlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHZwYzogZWMyLklWcGMsIHBvcnQ/OiBudW1iZXIpIHtcbiAgY29uc3QgY2FjaGVQb3J0ID0gcG9ydCA/PyBHZXREZWZhdWx0Q2FjaGVQb3J0KCk7XG5cbiAgLy8gQ3JlYXRlIHRoZSBzdWJuZXQgZ3JvdXAgZnJvbSBhbGwgdGhlIGlzb2xhdGVkIHN1Ym5ldHMgaW4gdGhlIFZQQ1xuICBjb25zdCBzdWJuZXRHcm91cCA9IGNyZWF0ZUNhY2hlU3VibmV0R3JvdXAoc2NvcGUsIHZwYywgaWQpO1xuICBjb25zdCBlbXB0eVNHID0gbmV3IGVjMi5TZWN1cml0eUdyb3VwKHNjb3BlLCBgJHtpZH0tY2FjaGVzZ2AsIHtcbiAgICB2cGMsXG4gICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgfSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoZW1wdHlTRywgW3sgaWQ6IFwiVzQwXCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGVtcHR5U0csIFt7IGlkOiBcIlc1XCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGVtcHR5U0csIFt7IGlkOiBcIlczNlwiLCByZWFzb246IFwiVGVzdCBSZXNvdXJjZVwiIH1dKTtcblxuICBjb25zdCBjYWNoZVByb3BzID0ge1xuICAgIGNsdXN0ZXJOYW1lOiBgJHtpZH0tY2RrLWNsdXN0ZXJgLFxuICAgIGNhY2hlTm9kZVR5cGU6IFwiY2FjaGUudDMubWVkaXVtXCIsXG4gICAgZW5naW5lOiBcIm1lbWNhY2hlZFwiLFxuICAgIG51bUNhY2hlTm9kZXM6IDIsXG4gICAgcG9ydDogY2FjaGVQb3J0LFxuICAgIGF6TW9kZTogXCJjcm9zcy1helwiLFxuICAgIHZwY1NlY3VyaXR5R3JvdXBJZHM6IFtlbXB0eVNHLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgY2FjaGVTdWJuZXRHcm91cE5hbWU6IHN1Ym5ldEdyb3VwLmNhY2hlU3VibmV0R3JvdXBOYW1lLFxuICB9O1xuXG4gIGNvbnN0IG5ld0NhY2hlID0gbmV3IGNhY2hlLkNmbkNhY2hlQ2x1c3RlcihcbiAgICBzY29wZSxcbiAgICBgJHtpZH0tY2x1c3RlcmAsXG4gICAgY2FjaGVQcm9wc1xuICApO1xuICBuZXdDYWNoZS5hZGREZXBlbmRlbmN5KHN1Ym5ldEdyb3VwKTtcbiAgcmV0dXJuIG5ld0NhY2hlO1xufVxuXG4vKipcbiAqIEFzc2VydHMgdGhhdCBhIEtNUyBrZXkgd2l0aCBhIHNwZWNpZmljIGRlc2NyaXB0aW9uIGV4aXN0cyBvbiBhIHJlc291cmNlXG4gKlxuICogQHBhcmFtIHN0YWNrIFRoZSBDbG91ZEZvcm1hdGlvbiBTdGFjayB0aGF0IGNvbnRhaW5zIHRoZSB0byB2YWxpZGF0ZS5cbiAqIEBwYXJhbSBwYXJlbnRSZXNvdXJjZVR5cGUgVGhlIHR5cGUgb2YgQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2UgdGhhdCBzaG91bGQgaGF2ZSB0aGUga2V5IHNldCBvbiBpdCwgZS5nLiwgYEFXUzo6U05TOjpUb3BpY2AsIGV0Yy4uLlxuICogQHBhcmFtIGRlc2NyaXB0aW9uIFRoZSB2YWx1ZSBvZiB0aGUgRGVzY3JpcHRpb24gcHJvcGVydHkgb24gdGhlIEtNUyBLZXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGVjdEttc0tleUF0dGFjaGVkVG9Db3JyZWN0UmVzb3VyY2Uoc3RhY2s6IFN0YWNrLCBwYXJlbnRSZXNvdXJjZVR5cGU6IHN0cmluZywga2V5RGVzY3JpcHRpb246IHN0cmluZykge1xuICBjb25zdCB0ZW1wbGF0ZSA9IFRlbXBsYXRlLmZyb21TdGFjayhzdGFjayk7XG4gIGNvbnN0IHJlc291cmNlID0gdGVtcGxhdGUuZmluZFJlc291cmNlcygnQVdTOjpLTVM6OktleScsIHtcbiAgICBQcm9wZXJ0aWVzOiB7XG4gICAgICBEZXNjcmlwdGlvbjogTWF0Y2guZXhhY3Qoa2V5RGVzY3JpcHRpb24pXG4gICAgfVxuICB9KTtcblxuICBjb25zdCBbbG9naWNhbElkXSA9IE9iamVjdC5rZXlzKHJlc291cmNlKTtcbiAgVGVtcGxhdGUuZnJvbVN0YWNrKHN0YWNrKS5oYXNSZXNvdXJjZVByb3BlcnRpZXMocGFyZW50UmVzb3VyY2VUeXBlLCB7XG4gICAgS21zTWFzdGVyS2V5SWQ6IHtcbiAgICAgIFwiRm46OkdldEF0dFwiOiBbXG4gICAgICAgIGxvZ2ljYWxJZCxcbiAgICAgICAgXCJBcm5cIlxuICAgICAgXVxuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBlY3ROb25leGlzdGVuY2Uoc3RhY2s6IFN0YWNrLCB0eXBlOiBzdHJpbmcsIHByb3BzOiBvYmplY3QpIHtcbiAgY29uc3Qgc2hvdWxkRmluZE5vdGhpbmcgPSBUZW1wbGF0ZS5mcm9tU3RhY2soc3RhY2spLmZpbmRSZXNvdXJjZXModHlwZSwgcHJvcHMpO1xuICBleHBlY3QoT2JqZWN0LmtleXMoc2hvdWxkRmluZE5vdGhpbmcpLmxlbmd0aCkudG9FcXVhbCgwKTtcbn1cblxuLy8gcHJpdmF0ZSBoZWxwZXIgY2xhc3MgdG8gc3VwcHJlc3MgdGhlIHN0YW5kYXJkIGNmbiBuYWcgd2FybmluZ3MgZm9yIGxhbWJkYSBmdW5jdGlvbnMgdXNlZCBpbiBpbnRlZyB0ZXN0c1xuY2xhc3MgQ2ZuTmFnTGFtYmRhQXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHB1YmxpYyB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBub2RlIGFzIENmblJlc291cmNlO1xuICAgIGlmIChyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUgPT09ICdBV1M6OkxhbWJkYTo6RnVuY3Rpb24nKSB7XG4gICAgICBhZGRDZm5TdXBwcmVzc1J1bGVzKHJlc291cmNlLCBbXG4gICAgICAgIHsgaWQ6ICdXNTgnLCByZWFzb246ICdUaGlzIExhbWJkYSBGdW5jdGlvbiBpcyBjcmVhdGVkIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIGlzIG5vdCBwYXJ0IG9mIGFuIGFjdHVhbCBjb25zdHJ1Y3QnIH0sXG4gICAgICAgIHsgaWQ6ICdXODknLCByZWFzb246ICdUaGlzIExhbWJkYSBGdW5jdGlvbiBpcyBjcmVhdGVkIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIGlzIG5vdCBwYXJ0IG9mIGFuIGFjdHVhbCBjb25zdHJ1Y3QnIH0sXG4gICAgICAgIHsgaWQ6ICdXOTInLCByZWFzb246ICdUaGlzIExhbWJkYSBGdW5jdGlvbiBpcyBjcmVhdGVkIGZvciBpbnRlZ3JhdGlvbiB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkgYW5kIGlzIG5vdCBwYXJ0IG9mIGFuIGFjdHVhbCBjb25zdHJ1Y3QnIH1cbiAgICAgIF0pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlVGVzdEFwaShzdGFjazogU3RhY2ssIGlkOiBzdHJpbmcpOiBhcGkuTGFtYmRhUmVzdEFwaSB7XG4gIGNvbnN0IGxhbWJkYUZ1bmN0aW9uID0gbmV3IGxhbWJkYS5GdW5jdGlvbihzdGFjaywgYCR7aWR9RnVuY3Rpb25gLCB7XG4gICAgY29kZTogbGFtYmRhLkNvZGUuZnJvbUFzc2V0KGAke19fZGlybmFtZX0vbGFtYmRhYCksXG4gICAgcnVudGltZTogZGVmYXVsdHMuQ09NTUVSQ0lBTF9SRUdJT05fTEFNQkRBX05PREVfUlVOVElNRSxcbiAgICBoYW5kbGVyOiBcIi5oYW5kbGVyXCIsXG4gIH0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKGxhbWJkYUZ1bmN0aW9uLCBbeyBpZDogXCJXNThcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMobGFtYmRhRnVuY3Rpb24sIFt7IGlkOiBcIlc4OVwiLCByZWFzb246IFwiVGVzdCBSZXNvdXJjZVwiIH1dKTtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhsYW1iZGFGdW5jdGlvbiwgW3sgaWQ6IFwiVzkyXCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuXG4gIGNvbnN0IHJlc3RBcGkgPSBuZXcgYXBpLkxhbWJkYVJlc3RBcGkoc3RhY2ssIGAke2lkfUFwaWAsIHtcbiAgICBoYW5kbGVyOiBsYW1iZGFGdW5jdGlvbixcbiAgICBkZWZhdWx0TWV0aG9kT3B0aW9uczoge1xuICAgICAgYXV0aG9yaXphdGlvblR5cGU6IGFwaS5BdXRob3JpemF0aW9uVHlwZS5DVVNUT00sXG4gICAgICBhdXRob3JpemVyOiBDcmVhdGVBcGlBdXRob3JpemVyKHN0YWNrLCBgJHtpZH0tYXV0aG9yaXplcmApXG4gICAgfVxuICB9KTtcblxuICBjb25zdCBuZXdEZXBsb3ltZW50ID0gcmVzdEFwaS5sYXRlc3REZXBsb3ltZW50O1xuICBpZiAobmV3RGVwbG95bWVudCkge1xuICAgIGFkZENmblN1cHByZXNzUnVsZXMobmV3RGVwbG95bWVudCwgW1xuICAgICAgeyBpZDogXCJXNjhcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9LFxuICAgIF0pO1xuICB9XG5cbiAgY29uc3QgbmV3TWV0aG9kID0gcmVzdEFwaS5tZXRob2RzWzBdO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKG5ld01ldGhvZCwgW3sgaWQ6IFwiVzU5XCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBjb25zdCBuZXdNZXRob2RUd28gPSByZXN0QXBpLm1ldGhvZHNbMV07XG4gIGFkZENmblN1cHByZXNzUnVsZXMobmV3TWV0aG9kVHdvLCBbeyBpZDogXCJXNTlcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG5cbiAgY29uc3QgbmV3U3RhZ2UgPSByZXN0QXBpLmRlcGxveW1lbnRTdGFnZTtcbiAgYWRkQ2ZuU3VwcHJlc3NSdWxlcyhuZXdTdGFnZSwgW3sgaWQ6IFwiVzY0XCIsIHJlYXNvbjogXCJUZXN0IFJlc291cmNlXCIgfV0pO1xuICBhZGRDZm5TdXBwcmVzc1J1bGVzKG5ld1N0YWdlLCBbeyBpZDogXCJXNjlcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG5cbiAgcmV0dXJuIHJlc3RBcGk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVBcGlBdXRob3JpemVyKHN0YWNrOiBTdGFjaywgaWQ6IHN0cmluZyk6IGFwaS5JQXV0aG9yaXplciB7XG4gIGNvbnN0IGF1dGhGbiA9IG5ldyBsYW1iZGEuRnVuY3Rpb24oc3RhY2ssIGAke2lkfUF1dGhGdW5jdGlvbmAsIHtcbiAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCR7X19kaXJuYW1lfS9sYW1iZGFgKSxcbiAgICBydW50aW1lOiBkZWZhdWx0cy5DT01NRVJDSUFMX1JFR0lPTl9MQU1CREFfTk9ERV9SVU5USU1FLFxuICAgIGhhbmRsZXI6IFwiLmhhbmRsZXJcIixcbiAgfSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoYXV0aEZuLCBbeyBpZDogXCJXNThcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoYXV0aEZuLCBbeyBpZDogXCJXODlcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG4gIGFkZENmblN1cHByZXNzUnVsZXMoYXV0aEZuLCBbeyBpZDogXCJXOTJcIiwgcmVhc29uOiBcIlRlc3QgUmVzb3VyY2VcIiB9XSk7XG5cbiAgY29uc3QgYXV0aG9yaXplciA9IG5ldyBhcGkuUmVxdWVzdEF1dGhvcml6ZXIoc3RhY2ssIGlkLCB7XG4gICAgaGFuZGxlcjogYXV0aEZuLFxuICAgIGlkZW50aXR5U291cmNlczogW2FwaS5JZGVudGl0eVNvdXJjZS5oZWFkZXIoJ0F1dGhvcml6YXRpb24nKV1cbiAgfSk7XG5cbiAgcmV0dXJuIGF1dGhvcml6ZXI7XG59XG5cbi8vIENyZWF0ZSBhIHNob3J0LCB1bmlxdWUgdG8gdGhpcyBzdGFjayBuYW1lXG4vLyB0ZWNobmljYWxseSB0aGlzIGlzIG5vdCAxMDAlIE9LLCBhcyBpdCBvbmx5IHVzZXMgYSBwb3J0aW9uIG9mIHRoZVxuLy8gc3RhY2sgZ3VpZCAtIGJ1dCBpdCdzIGZvciB0ZXN0cyBvbmx5IHNvIGlmIHRoZSBsYXN0IHNlZ21lbnQgb2YgMiBzdGFjayBndWlkcyBjb2xsaWRlIHNvbWVkYXlcbi8vIChWRVJZIHVubGlrZWx5KSwganVzdCBydW5uaW5nIGFnYWluIHNob3VsZCB0YWtlIGNhcmUgb2YgaXQuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlU2hvcnRVbmlxdWVUZXN0TmFtZShzdHViOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3RhY2tHdWlkID0gRm4uc2VsZWN0KDIsIEZuLnNwbGl0KCcvJywgYCR7QXdzLlNUQUNLX0lEfWApKTtcbiAgY29uc3QgZ3VpZFBvcnRpb24gPSBGbi5zZWxlY3QoNCwgRm4uc3BsaXQoJy0nLCBzdGFja0d1aWQpKTtcbiAgcmV0dXJuIEZuLmpvaW4oXCItXCIsIFtzdHViLCBndWlkUG9ydGlvbl0pO1xufVxuXG4vKipcbiAqIFVzZWQgdG8gc3VwcHJlc3MgY2ZuIG5hZyBXNTgsIFc4OSwgYW5kIFc5MiBydWxlcyBvbiBsYW1iZGEgaW50ZWdyYXRpb24gdGVzdCByZXNvdXJjZXMuXG4gKlxuICogQHBhcmFtIHN0YWNrIC0gVGhlIHN0YWNrIHRvIHN1cHByZXNzIGNmbiBuYWcgbGFtYmRhIHJ1bGVzIG9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTdXBwcmVzc0Nmbk5hZ0xhbWJkYVdhcm5pbmdzKHN0YWNrOiBTdGFjaykge1xuICBBc3BlY3RzLm9mKHN0YWNrKS5hZGQobmV3IENmbk5hZ0xhbWJkYUFzcGVjdCgpKTtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGFzc3VtZSBleHBsaWNpdCBjb250cm9sIG92ZXIgZmVhdHVyZSBmbGFncyBpbiBpbnRlZy1ydW5uZXIgdGVzdHNcbiAqXG4gKiBAcGFyYW0gc3RhY2sgLSBUaGUgc3RhY2sgZm9yIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBTZXRDb25zaXN0ZW50RmVhdHVyZUZsYWdzKHN0YWNrOiBTdGFjaykge1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtbGFtYmRhOmNyZWF0ZU5ld1BvbGljaWVzV2l0aEFkZFRvUm9sZVBvbGljeVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXMzOnNlcnZlckFjY2Vzc0xvZ3NVc2VCdWNrZXRQb2xpY3lcIiwgdHJ1ZSk7XG5cbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvY29yZTpjaGVja1NlY3JldFVzYWdlXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOnRhcmdldC1wYXJ0aXRpb25zXCIsIFtcbiAgICBcImF3c1wiLFxuICAgIFwiYXdzLWNuXCJcbiAgXSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrLWNvbnRhaW5lcnMvZWNzLXNlcnZpY2UtZXh0ZW5zaW9uczplbmFibGVEZWZhdWx0TG9nRHJpdmVyXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWMyOnVuaXF1ZUltZHN2MlRlbXBsYXRlTmFtZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjczphcm5Gb3JtYXRJbmNsdWRlc0NsdXN0ZXJOYW1lXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtaWFtOm1pbmltaXplUG9saWNpZXNcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2NvcmU6dmFsaWRhdGVTbmFwc2hvdFJlbW92YWxQb2xpY3lcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6Y3Jvc3NBY2NvdW50S2V5QWxpYXNTdGFja1NhZmVSZXNvdXJjZU5hbWVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1zMzpjcmVhdGVEZWZhdWx0TG9nZ2luZ1BvbGljeVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXNucy1zdWJzY3JpcHRpb25zOnJlc3RyaWN0U3FzRGVzY3J5cHRpb25cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OmRpc2FibGVDbG91ZFdhdGNoUm9sZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvY29yZTplbmFibGVQYXJ0aXRpb25MaXRlcmFsc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWV2ZW50czpldmVudHNUYXJnZXRRdWV1ZVNhbWVBY2NvdW50XCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWNzOmRpc2FibGVFeHBsaWNpdERlcGxveW1lbnRDb250cm9sbGVyRm9yQ2lyY3VpdEJyZWFrZXJcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1pYW06aW1wb3J0ZWRSb2xlU3RhY2tTYWZlRGVmYXVsdFBvbGljeU5hbWVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yb3V0ZTUzLXBhdHRlcnM6dXNlQ2VydGlmaWNhdGVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2N1c3RvbXJlc291cmNlczppbnN0YWxsTGF0ZXN0QXdzU2RrRGVmYXVsdFwiLCBmYWxzZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6ZGF0YWJhc2VQcm94eVVuaXF1ZVJlc291cmNlTmFtZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWNvZGVkZXBsb3k6cmVtb3ZlQWxhcm1zRnJvbURlcGxveW1lbnRHcm91cFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWFwaWdhdGV3YXk6YXV0aG9yaXplckNoYW5nZURlcGxveW1lbnRMb2dpY2FsSWRcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lYzI6bGF1bmNoVGVtcGxhdGVEZWZhdWx0VXNlckRhdGFcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1zZWNyZXRzbWFuYWdlcjp1c2VBdHRhY2hlZFNlY3JldFJlc291cmNlUG9saWN5Rm9yU2VjcmV0VGFyZ2V0QXR0YWNobWVudHNcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZWRzaGlmdDpjb2x1bW5JZFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3M6ZW5hYmxlRW1yU2VydmljZVBvbGljeVYyXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWMyOnJlc3RyaWN0RGVmYXVsdFNlY3VyaXR5R3JvdXBcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1hcGlnYXRld2F5OnJlcXVlc3RWYWxpZGF0b3JVbmlxdWVJZFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWttczphbGlhc05hbWVSZWZcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1hdXRvc2NhbGluZzpnZW5lcmF0ZUxhdW5jaFRlbXBsYXRlSW5zdGVhZE9mTGF1bmNoQ29uZmlnXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOmluY2x1ZGVQcmVmaXhJblVuaXF1ZU5hbWVHZW5lcmF0aW9uXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWZzOmRlbnlBbm9ueW1vdXNBY2Nlc3NcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1vcGVuc2VhcmNoc2VydmljZTplbmFibGVPcGVuc2VhcmNoTXVsdGlBeldpdGhTdGFuZGJ5XCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtbGFtYmRhLW5vZGVqczp1c2VMYXRlc3RSdW50aW1lVmVyc2lvblwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVmczptb3VudFRhcmdldE9yZGVySW5zZW5zaXRpdmVMb2dpY2FsSWRcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6YXVyb3JhQ2x1c3RlckNoYW5nZVNjb3BlT2ZJbnN0YW5jZVBhcmFtZXRlckdyb3VwV2l0aEVhY2hQYXJhbWV0ZXJzXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtYXBwc3luYzp1c2VBcm5Gb3JTb3VyY2VBcGlBc3NvY2lhdGlvbklkZW50aWZpZXJcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6cHJldmVudFJlbmRlcmluZ0RlcHJlY2F0ZWRDcmVkZW50aWFsc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWNvZGVwaXBlbGluZS1hY3Rpb25zOnVzZU5ld0RlZmF1bHRCcmFuY2hGb3JDb2RlQ29tbWl0U291cmNlXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtY2xvdWR3YXRjaC1hY3Rpb25zOmNoYW5nZUxhbWJkYVBlcm1pc3Npb25Mb2dpY2FsSWRGb3JMYW1iZGFBY3Rpb25cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6Y3Jvc3NBY2NvdW50S2V5c0RlZmF1bHRWYWx1ZVRvRmFsc2VcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1jb2RlcGlwZWxpbmU6ZGVmYXVsdFBpcGVsaW5lVHlwZVRvVjJcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1rbXM6cmVkdWNlQ3Jvc3NBY2NvdW50UmVnaW9uUG9saWN5U2NvcGVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1la3M6bm9kZWdyb3VwTmFtZUF0dHJpYnV0ZVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjplYnNEZWZhdWx0R3AzVm9sdW1lXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWNzOnJlbW92ZURlZmF1bHREZXBsb3ltZW50QWxhcm1cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2N1c3RvbS1yZXNvdXJjZXM6bG9nQXBpUmVzcG9uc2VEYXRhUHJvcGVydHlUcnVlRGVmYXVsdFwiLCBmYWxzZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1zMzprZWVwTm90aWZpY2F0aW9uSW5JbXBvcnRlZEJ1Y2tldFwiLCBmYWxzZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lY3M6ZW5hYmxlSW1kc0Jsb2NraW5nRGVwcmVjYXRlZEZlYXR1cmVcIiwgZmFsc2UpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtZWNzOmRpc2FibGVFY3NJbWRzQmxvY2tpbmdcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lY3M6cmVkdWNlRWMyRmFyZ2F0ZUNsb3VkV2F0Y2hQZXJtaXNzaW9uc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWR5bmFtb2RiOnJlc291cmNlUG9saWN5UGVyUmVwbGljYVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjplYzJTdW1USW1lb3V0RW5hYmxlZFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWFwcHN5bmM6YXBwU3luY0dyYXBoUUxBUElTY29wZUxhbWJkYVBlcm1pc3Npb25cIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1yZHM6c2V0Q29ycmVjdFZhbHVlRm9yRGF0YWJhc2VJbnN0YW5jZVJlYWRSZXBsaWNhSW5zdGFuY2VSZXNvdXJjZUlkXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOmNmbkluY2x1ZGVSZWplY3RDb21wbGV4UmVzb3VyY2VVcGRhdGVDcmVhdGVQb2xpY3lJbnRyaW5zaWNzXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtbGFtYmRhLW5vZGVqczpzZGtWM0V4Y2x1ZGVTbWl0aHlQYWNrYWdlc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3M6Zml4UnVuRWNzVGFza1BvbGljeVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjpiYXN0aW9uSG9zdFVzZUFtYXpvbkxpbnV4MjAyM0J5RGVmYXVsdFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXJvdXRlNTMtdGFyZ2V0czp1c2VyUG9vbERvbWFpbk5hbWVNZXRob2RXaXRob3V0Q3VzdG9tUmVzb3VyY2VcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ1YyOmFsYkR1YWxzdGFja1dpdGhvdXRQdWJsaWNJcHY0U2VjdXJpdHlHcm91cFJ1bGVzRGVmYXVsdFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWlhbTpvaWRjUmVqZWN0VW5hdXRob3JpemVkQ29ubmVjdGlvbnNcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2NvcmU6ZW5hYmxlQWRkaXRpb25hbE1ldGFkYXRhQ29sbGVjdGlvblwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXMzOnNldFVuaXF1ZVJlcGxpY2F0aW9uUm9sZU5hbWVcIiwgdHJ1ZSk7XG4gIHN0YWNrLm5vZGUuc2V0Q29udGV4dChcIkBhd3MtY2RrL2F3cy1ldmVudHM6cmVxdWlyZUV2ZW50QnVzUG9saWN5U2lkXCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9jb3JlOmFzcGVjdFByaW9yaXRpZXNNdXRhdGluZ1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWR5bmFtb2RiOnJldGFpblRhYmxlUmVwbGljYVwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLXN0ZXBmdW5jdGlvbnM6dXNlRGlzdHJpYnV0ZWRNYXBSZXN1bHRXcml0ZXJWMlwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvczMtbm90aWZpY2F0aW9uczphZGRTM1RydXN0S2V5UG9saWN5Rm9yU25zU3Vic2NyaXB0aW9uc1wiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWVjMjpyZXF1aXJlUHJpdmF0ZVN1Ym5ldHNGb3JFZ3Jlc3NPbmx5SW50ZXJuZXRHYXRld2F5XCIsIHRydWUpO1xuICBzdGFjay5ub2RlLnNldENvbnRleHQoXCJAYXdzLWNkay9hd3MtczM6cHVibGljQWNjZXNzQmxvY2tlZEJ5RGVmYXVsdFwiLCB0cnVlKTtcbiAgc3RhY2subm9kZS5zZXRDb250ZXh0KFwiQGF3cy1jZGsvYXdzLWxhbWJkYTp1c2VDZGtNYW5hZ2VkTG9nR3JvdXBcIiwgZmFsc2UpO1xufSJdfQ==
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
5
+ * with the License. A copy of the License is located at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
10
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
11
+ * and limitations under the License.
12
+ */
13
+ export {};