projen 0.92.9 → 0.92.11
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 +13854 -408
- package/lib/awscdk/auto-discover.js +5 -5
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +3 -3
- package/lib/awscdk/awscdk-construct.js +2 -2
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +1 -1
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +4 -4
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/circleci/circleci.js +3 -2
- package/lib/circleci/model.d.ts +2 -0
- package/lib/circleci/model.js +1 -1
- package/lib/cleanup.js +4 -3
- package/lib/component.js +1 -1
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome-config.d.ts +2522 -0
- package/lib/javascript/biome/biome-config.js +10 -0
- package/lib/javascript/biome/biome.d.ts +67 -0
- package/lib/javascript/biome/biome.js +128 -0
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/index.d.ts +2 -0
- package/lib/javascript/index.js +4 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.d.ts +13 -0
- package/lib/javascript/node-project.js +9 -2
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.d.ts +1 -1
- package/lib/javascript/projenrc.js +5 -2
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +3 -3
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +5 -4
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +2 -2
- package/lib/projenrc.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.d.ts +3 -1
- package/lib/release/publisher.js +5 -2
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/renovatebot.js +1 -1
- package/lib/sample-file.js +6 -5
- package/lib/semver.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/task-runtime.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +4 -2
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +13 -7
- package/lib/util/synth.js +5 -4
- package/lib/util.d.ts +20 -2
- package/lib/util.js +20 -8
- package/lib/version.js +2 -2
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +4 -4
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/pump/index.js +1 -1
- package/node_modules/pump/package.json +1 -1
- package/package.json +6 -3
- package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -97
- package/node_modules/balanced-match/index.js +0 -62
- package/node_modules/balanced-match/package.json +0 -48
- package/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
- package/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/brace-expansion/README.md +0 -135
- package/node_modules/brace-expansion/index.js +0 -203
- package/node_modules/brace-expansion/package.json +0 -46
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/glob/LICENSE +0 -15
- package/node_modules/glob/README.md +0 -399
- package/node_modules/glob/common.js +0 -244
- package/node_modules/glob/glob.js +0 -790
- package/node_modules/glob/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/glob/node_modules/minimatch/README.md +0 -259
- package/node_modules/glob/node_modules/minimatch/lib/path.js +0 -4
- package/node_modules/glob/node_modules/minimatch/minimatch.js +0 -944
- package/node_modules/glob/node_modules/minimatch/package.json +0 -35
- package/node_modules/glob/package.json +0 -55
- package/node_modules/glob/sync.js +0 -486
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/LICENSE +0 -0
- /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/README.md +0 -0
- /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/index.js +0 -0
- /package/node_modules/{fast-glob/node_modules/glob-parent → glob-parent}/package.json +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/LICENSE +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/README.md +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/index.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/append/constant.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/append.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/count.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/help.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store/constant.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store/false.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store/true.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/store.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/subparsers.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action/version.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/action_container.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argparse.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument/error.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument/exclusive.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument/group.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/argument_parser.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/const.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/help/added_formatters.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/help/formatter.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/namespace.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/lib/utils.js +0 -0
- /package/node_modules/{argparse → xmlbuilder2/node_modules/argparse}/package.json +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/LICENSE +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/README.md +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/bin/js-yaml.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/dist/js-yaml.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/dist/js-yaml.min.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/index.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/common.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/dumper.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/exception.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/loader.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/mark.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/core.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/default_full.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/default_safe.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/failsafe.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema/json.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/schema.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/binary.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/bool.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/float.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/int.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/js/function.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/js/regexp.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/js/undefined.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/map.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/merge.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/null.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/omap.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/pairs.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/seq.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/set.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/str.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type/timestamp.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml/type.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/lib/js-yaml.js +0 -0
- /package/node_modules/{js-yaml → xmlbuilder2/node_modules/js-yaml}/package.json +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Types for Biome version: 1.9.4
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
/**
|
|
5
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
6
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
7
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlvbWUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2phdmFzY3JpcHQvYmlvbWUvYmlvbWUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpQ0FBaUM7QUFDakMsb0JBQW9CO0FBQ3BCOzs7O0dBSUciLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUeXBlcyBmb3IgQmlvbWUgdmVyc2lvbjogMS45LjRcbi8qIGVzbGludC1kaXNhYmxlICovXG4vKipcbiAqIFRoaXMgZmlsZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkganNvbi1zY2hlbWEtdG8tdHlwZXNjcmlwdC5cbiAqIERPIE5PVCBNT0RJRlkgSVQgQlkgSEFORC4gSW5zdGVhZCwgbW9kaWZ5IHRoZSBzb3VyY2UgSlNPTlNjaGVtYSBmaWxlLFxuICogYW5kIHJ1biBqc29uLXNjaGVtYS10by10eXBlc2NyaXB0IHRvIHJlZ2VuZXJhdGUgdGhpcyBmaWxlLlxuICovXG5cbmV4cG9ydCB0eXBlIElSdWxlQXNzaXN0Q29uZmlndXJhdGlvbiA9IFwib25cIiB8IFwib2ZmXCI7XG5leHBvcnQgdHlwZSBJU3RyaW5nU2V0ID0gc3RyaW5nW107XG5leHBvcnQgdHlwZSBJSW5kZW50U3R5bGUgPSBcInRhYlwiIHwgXCJzcGFjZVwiO1xuZXhwb3J0IHR5cGUgSUluZGVudFdpZHRoID0gbnVtYmVyO1xuZXhwb3J0IHR5cGUgSUxpbmVFbmRpbmcgPSBcImxmXCIgfCBcImNybGZcIiB8IFwiY3JcIjtcbi8qKlxuICogVmFsaWRhdGVkIHZhbHVlIGZvciB0aGUgYGxpbmVfd2lkdGhgIGZvcm1hdHRlciBvcHRpb25zXG4gKlxuICogVGhlIGFsbG93ZWQgcmFuZ2Ugb2YgdmFsdWVzIGlzIDEuLj0zMjBcbiAqL1xuZXhwb3J0IHR5cGUgSUxpbmVXaWR0aCA9IG51bWJlcjtcbmV4cG9ydCB0eXBlIElRdW90ZVN0eWxlID0gXCJkb3VibGVcIiB8IFwic2luZ2xlXCI7XG5leHBvcnQgdHlwZSBJQXR0cmlidXRlUG9zaXRpb24gPSBcImF1dG9cIiB8IFwibXVsdGlsaW5lXCI7XG5leHBvcnQgdHlwZSBJQnJhY2tldFNwYWNpbmcgPSBib29sZWFuO1xuZXhwb3J0IHR5cGUgSUFycm93UGFyZW50aGVzZXMgPSBcImFsd2F5c1wiIHwgXCJhc05lZWRlZFwiO1xuZXhwb3J0IHR5cGUgSVF1b3RlUHJvcGVydGllcyA9IFwiYXNOZWVkZWRcIiB8IFwicHJlc2VydmVcIjtcbmV4cG9ydCB0eXBlIElTZW1pY29sb25zID0gXCJhbHdheXNcIiB8IFwiYXNOZWVkZWRcIjtcbi8qKlxuICogUHJpbnQgdHJhaWxpbmcgY29tbWFzIHdoZXJldmVyIHBvc3NpYmxlIGluIG11bHRpLWxpbmUgY29tbWEtc2VwYXJhdGVkIHN5bnRhY3RpYyBzdHJ1Y3R1cmVzLlxuICovXG5leHBvcnQgdHlwZSBJVHJhaWxpbmdDb21tYXMgPSBcImFsbFwiIHwgXCJlczVcIiB8IFwibm9uZVwiO1xuLyoqXG4gKiBJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgcnVudGltZSBvciB0cmFuc2Zvcm1hdGlvbiB1c2VkIGZvciBpbnRlcnByZXRpbmcgSlNYLlxuICovXG5leHBvcnQgdHlwZSBJSnN4UnVudGltZSA9IFwidHJhbnNwYXJlbnRcIiB8IFwicmVhY3RDbGFzc2ljXCI7XG5leHBvcnQgdHlwZSBJVHJhaWxpbmdDb21tYXMyID0gXCJub25lXCIgfCBcImFsbFwiO1xuZXhwb3J0IHR5cGUgSVJ1bGVGaXhDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhGaXhOb09wdGlvbnM7XG5leHBvcnQgdHlwZSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiA9IFwid2FyblwiIHwgXCJlcnJvclwiIHwgXCJpbmZvXCIgfCBcIm9mZlwiO1xuLyoqXG4gKiBVc2VkIHRvIGlkZW50aWZ5IHRoZSBraW5kIG9mIGNvZGUgYWN0aW9uIGVtaXR0ZWQgYnkgYSBydWxlXG4gKi9cbmV4cG9ydCB0eXBlIElGaXhLaW5kID0gXCJub25lXCIgfCBcInNhZmVcIiB8IFwidW5zYWZlXCI7XG5leHBvcnQgdHlwZSBJQWxsb3dEb21haW5Db25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhBbGxvd0RvbWFpbk9wdGlvbnM7XG5leHBvcnQgdHlwZSBJTm9MYWJlbFdpdGhvdXRDb250cm9sQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9MYWJlbFdpdGhvdXRDb250cm9sT3B0aW9ucztcbmV4cG9ydCB0eXBlIElSdWxlQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9PcHRpb25zO1xuZXhwb3J0IHR5cGUgSVZhbGlkQXJpYVJvbGVDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhWYWxpZEFyaWFSb2xlT3B0aW9ucztcbmV4cG9ydCB0eXBlIElDb21wbGV4aXR5Q29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoQ29tcGxleGl0eU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc0NvbmZpZ3VyYXRpb24gPVxuICB8IElSdWxlUGxhaW5Db25maWd1cmF0aW9uXG4gIHwgSVJ1bGVXaXRoVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc09wdGlvbnM7XG5leHBvcnQgdHlwZSBJU3RhYmxlSG9va1Jlc3VsdCA9IGJvb2xlYW4gfCBudW1iZXJbXTtcbmV4cG9ydCB0eXBlIElEZXByZWNhdGVkSG9va3NDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhEZXByZWNhdGVkSG9va3NPcHRpb25zO1xuZXhwb3J0IHR5cGUgSVVzZUltcG9ydEV4dGVuc2lvbnNDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhVc2VJbXBvcnRFeHRlbnNpb25zT3B0aW9ucztcbmV4cG9ydCB0eXBlIElSZXN0cmljdGVkSW1wb3J0c0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aFJlc3RyaWN0ZWRJbXBvcnRzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElOb1Jlc3RyaWN0ZWRUeXBlc0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aE5vUmVzdHJpY3RlZFR5cGVzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElDdXN0b21SZXN0cmljdGVkVHlwZSA9IHN0cmluZyB8IElDdXN0b21SZXN0cmljdGVkVHlwZU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJTm9TZWNyZXRzQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9TZWNyZXRzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc0NvbmZpZ3VyYXRpb24gPVxuICB8IElSdWxlUGxhaW5Db25maWd1cmF0aW9uXG4gIHwgSVJ1bGVXaXRoVXNlQ29tcG9uZW50RXhwb3J0T25seU1vZHVsZXNPcHRpb25zO1xuZXhwb3J0IHR5cGUgSUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5Q29uZmlndXJhdGlvbiA9XG4gIHwgSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb25cbiAgfCBJUnVsZVdpdGhDb25zaXN0ZW50TWVtYmVyQWNjZXNzaWJpbGl0eU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJQWNjZXNzaWJpbGl0eSA9IFwibm9QdWJsaWNcIiB8IFwiZXhwbGljaXRcIiB8IFwibm9uZVwiO1xuZXhwb3J0IHR5cGUgSVV0aWxpdHlDbGFzc1NvcnRpbmdDb25maWd1cmF0aW9uID0gSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb24gfCBJUnVsZVdpdGhVdGlsaXR5Q2xhc3NTb3J0aW5nT3B0aW9ucztcbmV4cG9ydCB0eXBlIElVc2VWYWxpZEF1dG9jb21wbGV0ZUNvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aFVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucztcbmV4cG9ydCB0eXBlIElSZXN0cmljdGVkR2xvYmFsc0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aFJlc3RyaWN0ZWRHbG9iYWxzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElDb25zaXN0ZW50QXJyYXlUeXBlQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoQ29uc2lzdGVudEFycmF5VHlwZU9wdGlvbnM7XG5leHBvcnQgdHlwZSBJQ29uc2lzdGVudEFycmF5VHlwZSA9IFwic2hvcnRoYW5kXCIgfCBcImdlbmVyaWNcIjtcbmV4cG9ydCB0eXBlIElGaWxlbmFtaW5nQ29udmVudGlvbkNvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aEZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucztcbi8qKlxuICogU3VwcG9ydGVkIGNhc2VzIGZvciBmaWxlIG5hbWVzLlxuICovXG5leHBvcnQgdHlwZSBJRmlsZW5hbWVDYXNlID0gXCJjYW1lbENhc2VcIiB8IFwiZXhwb3J0XCIgfCBcImtlYmFiLWNhc2VcIiB8IFwiUGFzY2FsQ2FzZVwiIHwgXCJzbmFrZV9jYXNlXCI7XG5leHBvcnQgdHlwZSBJRmlsZW5hbWVDYXNlcyA9IElGaWxlbmFtZUNhc2VbXTtcbmV4cG9ydCB0eXBlIElOYW1pbmdDb252ZW50aW9uQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTmFtaW5nQ29udmVudGlvbk9wdGlvbnM7XG4vKipcbiAqIFN1cHBvcnRlZCBjYXNlcy5cbiAqL1xuZXhwb3J0IHR5cGUgSUZvcm1hdCA9IFwiY2FtZWxDYXNlXCIgfCBcIkNPTlNUQU5UX0NBU0VcIiB8IFwiUGFzY2FsQ2FzZVwiIHwgXCJzbmFrZV9jYXNlXCI7XG5leHBvcnQgdHlwZSBJRm9ybWF0cyA9IElGb3JtYXRbXTtcbmV4cG9ydCB0eXBlIElSZWdleCA9IHN0cmluZztcbmV4cG9ydCB0eXBlIElLaW5kID1cbiAgfCAoXG4gICAgICB8IFwiY2xhc3NcIlxuICAgICAgfCBcImVudW1cIlxuICAgICAgfCBcImludGVyZmFjZVwiXG4gICAgICB8IFwiZW51bU1lbWJlclwiXG4gICAgICB8IFwiaW1wb3J0TmFtZXNwYWNlXCJcbiAgICAgIHwgXCJleHBvcnROYW1lc3BhY2VcIlxuICAgICAgfCBcInZhcmlhYmxlXCJcbiAgICAgIHwgXCJjb25zdFwiXG4gICAgICB8IFwibGV0XCJcbiAgICAgIHwgXCJ1c2luZ1wiXG4gICAgICB8IFwidmFyXCJcbiAgICAgIHwgXCJjYXRjaFBhcmFtZXRlclwiXG4gICAgICB8IFwiaW5kZXhQYXJhbWV0ZXJcIlxuICAgICAgfCBcImV4cG9ydEFsaWFzXCJcbiAgICAgIHwgXCJpbXBvcnRBbGlhc1wiXG4gICAgICB8IFwiY2xhc3NHZXR0ZXJcIlxuICAgICAgfCBcImNsYXNzU2V0dGVyXCJcbiAgICAgIHwgXCJjbGFzc01ldGhvZFwiXG4gICAgICB8IFwib2JqZWN0TGl0ZXJhbFByb3BlcnR5XCJcbiAgICAgIHwgXCJvYmplY3RMaXRlcmFsR2V0dGVyXCJcbiAgICAgIHwgXCJvYmplY3RMaXRlcmFsU2V0dGVyXCJcbiAgICAgIHwgXCJvYmplY3RMaXRlcmFsTWV0aG9kXCJcbiAgICAgIHwgXCJ0eXBlQWxpYXNcIlxuICAgIClcbiAgfCBcImFueVwiXG4gIHwgXCJ0eXBlTGlrZVwiXG4gIHwgXCJmdW5jdGlvblwiXG4gIHwgXCJuYW1lc3BhY2VMaWtlXCJcbiAgfCBcIm5hbWVzcGFjZVwiXG4gIHwgXCJmdW5jdGlvblBhcmFtZXRlclwiXG4gIHwgXCJ0eXBlUGFyYW1ldGVyXCJcbiAgfCBcImNsYXNzTWVtYmVyXCJcbiAgfCBcImNsYXNzUHJvcGVydHlcIlxuICB8IFwib2JqZWN0TGl0ZXJhbE1lbWJlclwiXG4gIHwgXCJ0eXBlTWVtYmVyXCJcbiAgfCBcInR5cGVHZXR0ZXJcIlxuICB8IFwidHlwZVByb3BlcnR5XCJcbiAgfCBcInR5cGVTZXR0ZXJcIlxuICB8IFwidHlwZU1ldGhvZFwiO1xuZXhwb3J0IHR5cGUgSVJlc3RyaWN0ZWRNb2RpZmllciA9IFwiYWJzdHJhY3RcIiB8IFwicHJpdmF0ZVwiIHwgXCJwcm90ZWN0ZWRcIiB8IFwicmVhZG9ubHlcIiB8IFwic3RhdGljXCI7XG5leHBvcnQgdHlwZSBJTW9kaWZpZXJzID0gSVJlc3RyaWN0ZWRNb2RpZmllcltdO1xuZXhwb3J0IHR5cGUgSVNjb3BlID0gXCJhbnlcIiB8IFwiZ2xvYmFsXCI7XG5leHBvcnQgdHlwZSBJTm9Db25zb2xlQ29uZmlndXJhdGlvbiA9IElSdWxlUGxhaW5Db25maWd1cmF0aW9uIHwgSVJ1bGVXaXRoTm9Db25zb2xlT3B0aW9ucztcbmV4cG9ydCB0eXBlIElOb0RvdWJsZUVxdWFsc0NvbmZpZ3VyYXRpb24gPSBJUnVsZVBsYWluQ29uZmlndXJhdGlvbiB8IElSdWxlV2l0aE5vRG91YmxlRXF1YWxzT3B0aW9ucztcbmV4cG9ydCB0eXBlIElPdmVycmlkZXMgPSBJT3ZlcnJpZGVQYXR0ZXJuW107XG5leHBvcnQgdHlwZSBJVmNzQ2xpZW50S2luZCA9IFwiZ2l0XCI7XG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gdGhhdCBpcyBjb250YWluZWQgaW5zaWRlIHRoZSBmaWxlIGBiaW9tZS5qc29uYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEEgZmllbGQgZm9yIHRoZSBbSlNPTiBzY2hlbWFdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnLykgc3BlY2lmaWNhdGlvblxuICAgKi9cbiAgLy8kc2NoZW1hPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgYXNzaXN0c1xuICAgKi9cbiAgYXNzaXN0cz86IElBc3Npc3RzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBDc3MgbGFuZ3VhZ2VcbiAgICovXG4gIGNzcz86IElDc3NDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogQSBsaXN0IG9mIHBhdGhzIHRvIG90aGVyIEpTT04gZmlsZXMsIHVzZWQgdG8gZXh0ZW5kcyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZXh0ZW5kcz86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZmlsZXN5c3RlbVxuICAgKi9cbiAgZmlsZXM/OiBJRmlsZXNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZvcm1hdHRlclxuICAgKi9cbiAgZm9ybWF0dGVyPzogSUZvcm1hdHRlckNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBTcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgR3JhcGhRTCBsYW5ndWFnZVxuICAgKi9cbiAgZ3JhcGhxbD86IElHcmFwaHFsQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKYXZhU2NyaXB0IGxhbmd1YWdlXG4gICAqL1xuICBqYXZhc2NyaXB0PzogSUphdmFzY3JpcHRDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEpzb24gbGFuZ3VhZ2VcbiAgICovXG4gIGpzb24/OiBJSnNvbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGxpbnRlclxuICAgKi9cbiAgbGludGVyPzogSUxpbnRlckNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgaW1wb3J0IHNvcnRpbmdcbiAgICovXG4gIG9yZ2FuaXplSW1wb3J0cz86IElPcmdhbml6ZUltcG9ydHM7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZ3JhbnVsYXIgcGF0dGVybnMgdGhhdCBzaG91bGQgYmUgYXBwbGllZCBvbmx5IHRvIGEgc3ViIHNldCBvZiBmaWxlc1xuICAgKi9cbiAgb3ZlcnJpZGVzPzogSU92ZXJyaWRlcztcbiAgLyoqXG4gICAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBWQ1MgaW50ZWdyYXRpb25cbiAgICovXG4gIHZjcz86IElWY3NDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJQXNzaXN0c0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogV2hldGhlciBCaW9tZSBzaG91bGQgZmFpbCBpbiBDTEkgaWYgdGhlIGFzc2lzdHMgd2VyZSBub3QgYXBwbGllZCB0byB0aGUgY29kZS5cbiAgICovXG4gIGFjdGlvbnM/OiBJQWN0aW9ucztcbiAgLyoqXG4gICAqIFdoZXRoZXIgQmlvbWUgc2hvdWxkIGVuYWJsZSBhc3Npc3RzIHZpYSBMU1AuXG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaWdub3JlIGZpbGVzL2ZvbGRlcnMgdGhhdCB3aWxsIG1hdGNoIHRoZXNlIHBhdHRlcm5zLlxuICAgKi9cbiAgaWdub3JlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaW5jbHVkZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGluY2x1ZGU/OiBJU3RyaW5nU2V0O1xufVxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9ucyB7XG4gIHNvdXJjZT86IElTb3VyY2U7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBydWxlcyB0aGF0IGJlbG9uZyB0byB0aGlzIGdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNvdXJjZSB7XG4gIC8qKlxuICAgKiBFbmZvcmNlIHByb3BzIHNvcnRpbmcgaW4gSlNYIGVsZW1lbnRzLlxuICAgKi9cbiAgc29ydEpzeFByb3BzPzogSVJ1bGVBc3Npc3RDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU29ydHMgdGhlIGtleXMgb2YgYSBKU09OIG9iamVjdCBpbiBuYXR1cmFsIG9yZGVyXG4gICAqL1xuICB1c2VTb3J0ZWRLZXlzPzogSVJ1bGVBc3Npc3RDb25maWd1cmF0aW9uO1xufVxuLyoqXG4gKiBPcHRpb25zIGFwcGxpZWQgdG8gQ1NTIGZpbGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc0NvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogQ1NTIGFzc2lzdHMgb3B0aW9uc1xuICAgKi9cbiAgYXNzaXN0cz86IElDc3NBc3Npc3RzO1xuICAvKipcbiAgICogQ1NTIGZvcm1hdHRlciBvcHRpb25zXG4gICAqL1xuICBmb3JtYXR0ZXI/OiBJQ3NzRm9ybWF0dGVyO1xuICAvKipcbiAgICogQ1NTIGxpbnRlciBvcHRpb25zXG4gICAqL1xuICBsaW50ZXI/OiBJQ3NzTGludGVyO1xuICAvKipcbiAgICogQ1NTIHBhcnNpbmcgb3B0aW9uc1xuICAgKi9cbiAgcGFyc2VyPzogSUNzc1BhcnNlcjtcbn1cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNoYW5nZXMgaG93IHRoZSBDU1MgYXNzaXN0cyBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc0Fzc2lzdHMge1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgYXNzaXN0cyBmb3IgQ1NTIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIE9wdGlvbnMgdGhhdCBjaGFuZ2VzIGhvdyB0aGUgQ1NTIGZvcm1hdHRlciBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc0Zvcm1hdHRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBmb3JtYXR0ZXIgZm9yIENTUyAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlIGFwcGxpZWQgdG8gQ1NTIChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuXG4gICAqL1xuICBpbmRlbnRTdHlsZT86IElJbmRlbnRTdHlsZTtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpbmRlbnRhdGlvbiBhcHBsaWVkIHRvIENTUyAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0IHRvIDIuXG4gICAqL1xuICBpbmRlbnRXaWR0aD86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGxpbmUgZW5kaW5nIGFwcGxpZWQgdG8gQ1NTIChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuXG4gICAqL1xuICBsaW5lRW5kaW5nPzogSUxpbmVFbmRpbmc7XG4gIC8qKlxuICAgKiBXaGF0J3MgdGhlIG1heCB3aWR0aCBvZiBhIGxpbmUgYXBwbGllZCB0byBDU1MgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy4gRGVmYXVsdHMgdG8gODAuXG4gICAqL1xuICBsaW5lV2lkdGg/OiBJTGluZVdpZHRoO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcXVvdGVzIHVzZWQgaW4gQ1NTIGNvZGUuIERlZmF1bHRzIHRvIGRvdWJsZS5cbiAgICovXG4gIHF1b3RlU3R5bGU/OiBJUXVvdGVTdHlsZTtcbn1cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNoYW5nZXMgaG93IHRoZSBDU1MgbGludGVyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3NzTGludGVyIHtcbiAgLyoqXG4gICAqIENvbnRyb2wgdGhlIGxpbnRlciBmb3IgQ1NTIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIE9wdGlvbnMgdGhhdCBjaGFuZ2VzIGhvdyB0aGUgQ1NTIHBhcnNlciBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNzc1BhcnNlciB7XG4gIC8qKlxuICAgKiBBbGxvdyBjb21tZW50cyB0byBhcHBlYXIgb24gaW5jb3JyZWN0IGxpbmVzIGluIGAuY3NzYCBmaWxlc1xuICAgKi9cbiAgYWxsb3dXcm9uZ0xpbmVDb21tZW50cz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGVzIHBhcnNpbmcgb2YgQ1NTIE1vZHVsZXMgc3BlY2lmaWMgZmVhdHVyZXMuXG4gICAqL1xuICBjc3NNb2R1bGVzPzogYm9vbGVhbjtcbn1cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZpbGVzeXN0ZW1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmlsZXNDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBCaW9tZSB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBUZWxscyBCaW9tZSB0byBub3QgZW1pdCBkaWFnbm9zdGljcyB3aGVuIGhhbmRsaW5nIGZpbGVzIHRoYXQgZG9lc24ndCBrbm93XG4gICAqL1xuICBpZ25vcmVVbmtub3duPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBCaW9tZSB3aWxsIGhhbmRsZSBvbmx5IHRob3NlIGZpbGVzL2ZvbGRlcnMgdGhhdCB3aWxsIG1hdGNoIHRoZXNlIHBhdHRlcm5zLlxuICAgKi9cbiAgaW5jbHVkZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBhbGxvd2VkIHNpemUgZm9yIHNvdXJjZSBjb2RlIGZpbGVzIGluIGJ5dGVzLiBGaWxlcyBhYm92ZSB0aGlzIGxpbWl0IHdpbGwgYmUgaWdub3JlZCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4gRGVmYXVsdHMgdG8gMSBNaUJcbiAgICovXG4gIG1heFNpemU/OiBudW1iZXI7XG59XG4vKipcbiAqIEdlbmVyaWMgb3B0aW9ucyBhcHBsaWVkIHRvIGFsbCBmaWxlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElGb3JtYXR0ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBhdHRyaWJ1dGUgcG9zaXRpb24gc3R5bGUgaW4gSFRNTGlzaCBsYW5ndWFnZXMuIEJ5IGRlZmF1bHQgYXV0by5cbiAgICovXG4gIGF0dHJpYnV0ZVBvc2l0aW9uPzogSUF0dHJpYnV0ZVBvc2l0aW9uO1xuICAvKipcbiAgICogV2hldGhlciB0byBpbnNlcnQgc3BhY2VzIGFyb3VuZCBicmFja2V0cyBpbiBvYmplY3QgbGl0ZXJhbHMuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICBicmFja2V0U3BhY2luZz86IElCcmFja2V0U3BhY2luZztcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdG9yZXMgd2hldGhlciBmb3JtYXR0aW5nIHNob3VsZCBiZSBhbGxvd2VkIHRvIHByb2NlZWQgaWYgYSBnaXZlbiBmaWxlIGhhcyBzeW50YXggZXJyb3JzXG4gICAqL1xuICBmb3JtYXRXaXRoRXJyb3JzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaWdub3JlIGZpbGVzL2ZvbGRlcnMgdGhhdCB3aWxsIG1hdGNoIHRoZXNlIHBhdHRlcm5zLlxuICAgKi9cbiAgaWdub3JlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBVbml4IHNoZWxsIHN0eWxlIHBhdHRlcm5zLiBUaGUgZm9ybWF0dGVyIHdpbGwgaW5jbHVkZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGluY2x1ZGU/OiBJU3RyaW5nU2V0O1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uLCAyIGJ5IGRlZmF1bHQgKGRlcHJlY2F0ZWQsIHVzZSBgaW5kZW50LXdpZHRoYClcbiAgICovXG4gIGluZGVudFNpemU/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlLlxuICAgKi9cbiAgaW5kZW50U3R5bGU/OiBJSW5kZW50U3R5bGU7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24sIDIgYnkgZGVmYXVsdFxuICAgKi9cbiAgaW5kZW50V2lkdGg/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBsaW5lIGVuZGluZy5cbiAgICovXG4gIGxpbmVFbmRpbmc/OiBJTGluZUVuZGluZztcbiAgLyoqXG4gICAqIFdoYXQncyB0aGUgbWF4IHdpZHRoIG9mIGEgbGluZS4gRGVmYXVsdHMgdG8gODAuXG4gICAqL1xuICBsaW5lV2lkdGg/OiBJTGluZVdpZHRoO1xuICAvKipcbiAgICogVXNlIGFueSBgLmVkaXRvcmNvbmZpZ2AgZmlsZXMgdG8gY29uZmlndXJlIHRoZSBmb3JtYXR0ZXIuIENvbmZpZ3VyYXRpb24gaW4gYGJpb21lLmpzb25gIHdpbGwgb3ZlcnJpZGUgYC5lZGl0b3Jjb25maWdgIGNvbmZpZ3VyYXRpb24uIERlZmF1bHQ6IGZhbHNlLlxuICAgKi9cbiAgdXNlRWRpdG9yY29uZmlnPzogYm9vbGVhbjtcbn1cbi8qKlxuICogT3B0aW9ucyBhcHBsaWVkIHRvIEdyYXBoUUwgZmlsZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JhcGhxbENvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogR3JhcGhRTCBmb3JtYXR0ZXIgb3B0aW9uc1xuICAgKi9cbiAgZm9ybWF0dGVyPzogSUdyYXBocWxGb3JtYXR0ZXI7XG4gIGxpbnRlcj86IElHcmFwaHFsTGludGVyO1xufVxuLyoqXG4gKiBPcHRpb25zIHRoYXQgY2hhbmdlcyBob3cgdGhlIEdyYXBoUUwgZm9ybWF0dGVyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JhcGhxbEZvcm1hdHRlciB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluc2VydCBzcGFjZXMgYXJvdW5kIGJyYWNrZXRzIGluIG9iamVjdCBsaXRlcmFscy4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIGJyYWNrZXRTcGFjaW5nPzogSUJyYWNrZXRTcGFjaW5nO1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgZm9ybWF0dGVyIGZvciBHcmFwaFFMIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlIGFwcGxpZWQgdG8gR3JhcGhRTCBmaWxlcy5cbiAgICovXG4gIGluZGVudFN0eWxlPzogSUluZGVudFN0eWxlO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uIGFwcGxpZWQgdG8gR3JhcGhRTCBmaWxlcy4gRGVmYXVsdCB0byAyLlxuICAgKi9cbiAgaW5kZW50V2lkdGg/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBsaW5lIGVuZGluZyBhcHBsaWVkIHRvIEdyYXBoUUwgZmlsZXMuXG4gICAqL1xuICBsaW5lRW5kaW5nPzogSUxpbmVFbmRpbmc7XG4gIC8qKlxuICAgKiBXaGF0J3MgdGhlIG1heCB3aWR0aCBvZiBhIGxpbmUgYXBwbGllZCB0byBHcmFwaFFMIGZpbGVzLiBEZWZhdWx0cyB0byA4MC5cbiAgICovXG4gIGxpbmVXaWR0aD86IElMaW5lV2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBxdW90ZXMgdXNlZCBpbiBHcmFwaFFMIGNvZGUuIERlZmF1bHRzIHRvIGRvdWJsZS5cbiAgICovXG4gIHF1b3RlU3R5bGU/OiBJUXVvdGVTdHlsZTtcbn1cbi8qKlxuICogT3B0aW9ucyB0aGF0IGNoYW5nZXMgaG93IHRoZSBHcmFwaFFMIGxpbnRlciBiZWhhdmVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyYXBocWxMaW50ZXIge1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgZm9ybWF0dGVyIGZvciBHcmFwaFFMIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIEEgc2V0IG9mIG9wdGlvbnMgYXBwbGllZCB0byB0aGUgSmF2YVNjcmlwdCBmaWxlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElKYXZhc2NyaXB0Q29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBBc3Npc3RzIG9wdGlvbnNcbiAgICovXG4gIGFzc2lzdHM/OiBJSmF2YXNjcmlwdEFzc2lzdHM7XG4gIC8qKlxuICAgKiBGb3JtYXR0aW5nIG9wdGlvbnNcbiAgICovXG4gIGZvcm1hdHRlcj86IElKYXZhc2NyaXB0Rm9ybWF0dGVyO1xuICAvKipcbiAgICogQSBsaXN0IG9mIGdsb2JhbCBiaW5kaW5ncyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkIGJ5IHRoZSBhbmFseXplcnNcbiAgICpcbiAgICogSWYgZGVmaW5lZCBoZXJlLCB0aGV5IHNob3VsZCBub3QgZW1pdCBkaWFnbm9zdGljcy5cbiAgICovXG4gIGdsb2JhbHM/OiBJU3RyaW5nU2V0O1xuICAvKipcbiAgICogSW5kaWNhdGVzIHRoZSB0eXBlIG9mIHJ1bnRpbWUgb3IgdHJhbnNmb3JtYXRpb24gdXNlZCBmb3IgaW50ZXJwcmV0aW5nIEpTWC5cbiAgICovXG4gIGpzeFJ1bnRpbWU/OiBJSnN4UnVudGltZTtcbiAgLyoqXG4gICAqIExpbnRlciBvcHRpb25zXG4gICAqL1xuICBsaW50ZXI/OiBJSmF2YXNjcmlwdExpbnRlcjtcbiAgb3JnYW5pemVJbXBvcnRzPzogSUphdmFzY3JpcHRPcmdhbml6ZUltcG9ydHM7XG4gIC8qKlxuICAgKiBQYXJzaW5nIG9wdGlvbnNcbiAgICovXG4gIHBhcnNlcj86IElKYXZhc2NyaXB0UGFyc2VyO1xufVxuLyoqXG4gKiBMaW50ZXIgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgSmF2YVNjcmlwdCBsaW50ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdEFzc2lzdHMge1xuICAvKipcbiAgICogQ29udHJvbCB0aGUgbGludGVyIGZvciBKYXZhU2NyaXB0IChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuXG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbn1cbi8qKlxuICogRm9ybWF0dGluZyBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSBKYXZhU2NyaXB0IGZpbGVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUphdmFzY3JpcHRGb3JtYXR0ZXIge1xuICAvKipcbiAgICogV2hldGhlciB0byBhZGQgbm9uLW5lY2Vzc2FyeSBwYXJlbnRoZXNlcyB0byBhcnJvdyBmdW5jdGlvbnMuIERlZmF1bHRzIHRvIFwiYWx3YXlzXCIuXG4gICAqL1xuICBhcnJvd1BhcmVudGhlc2VzPzogSUFycm93UGFyZW50aGVzZXM7XG4gIC8qKlxuICAgKiBUaGUgYXR0cmlidXRlIHBvc2l0aW9uIHN0eWxlIGluIGpzeCBlbGVtZW50cy4gRGVmYXVsdHMgdG8gYXV0by5cbiAgICovXG4gIGF0dHJpYnV0ZVBvc2l0aW9uPzogSUF0dHJpYnV0ZVBvc2l0aW9uO1xuICAvKipcbiAgICogV2hldGhlciB0byBodWcgdGhlIGNsb3NpbmcgYnJhY2tldCBvZiBtdWx0aWxpbmUgSFRNTC9KU1ggdGFncyB0byB0aGUgZW5kIG9mIHRoZSBsYXN0IGxpbmUsIHJhdGhlciB0aGFuIGJlaW5nIGFsb25lIG9uIHRoZSBmb2xsb3dpbmcgbGluZS4gRGVmYXVsdHMgdG8gZmFsc2UuXG4gICAqL1xuICBicmFja2V0U2FtZUxpbmU/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciB0byBpbnNlcnQgc3BhY2VzIGFyb3VuZCBicmFja2V0cyBpbiBvYmplY3QgbGl0ZXJhbHMuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqL1xuICBicmFja2V0U3BhY2luZz86IElCcmFja2V0U3BhY2luZztcbiAgLyoqXG4gICAqIENvbnRyb2wgdGhlIGZvcm1hdHRlciBmb3IgSmF2YVNjcmlwdCAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24gYXBwbGllZCB0byBKYXZhU2NyaXB0IChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuIERlZmF1bHQgdG8gMi5cbiAgICovXG4gIGluZGVudFNpemU/OiBJSW5kZW50V2lkdGg7XG4gIC8qKlxuICAgKiBUaGUgaW5kZW50IHN0eWxlIGFwcGxpZWQgdG8gSmF2YVNjcmlwdCAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgaW5kZW50U3R5bGU/OiBJSW5kZW50U3R5bGU7XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24gYXBwbGllZCB0byBKYXZhU2NyaXB0IChhbmQgaXRzIHN1cGVyIGxhbmd1YWdlcykgZmlsZXMuIERlZmF1bHQgdG8gMi5cbiAgICovXG4gIGluZGVudFdpZHRoPzogSUluZGVudFdpZHRoO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcXVvdGVzIHVzZWQgaW4gSlNYLiBEZWZhdWx0cyB0byBkb3VibGUuXG4gICAqL1xuICBqc3hRdW90ZVN0eWxlPzogSVF1b3RlU3R5bGU7XG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBsaW5lIGVuZGluZyBhcHBsaWVkIHRvIEphdmFTY3JpcHQgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGxpbmVFbmRpbmc/OiBJTGluZUVuZGluZztcbiAgLyoqXG4gICAqIFdoYXQncyB0aGUgbWF4IHdpZHRoIG9mIGEgbGluZSBhcHBsaWVkIHRvIEphdmFTY3JpcHQgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy4gRGVmYXVsdHMgdG8gODAuXG4gICAqL1xuICBsaW5lV2lkdGg/OiBJTGluZVdpZHRoO1xuICAvKipcbiAgICogV2hlbiBwcm9wZXJ0aWVzIGluIG9iamVjdHMgYXJlIHF1b3RlZC4gRGVmYXVsdHMgdG8gYXNOZWVkZWQuXG4gICAqL1xuICBxdW90ZVByb3BlcnRpZXM/OiBJUXVvdGVQcm9wZXJ0aWVzO1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgcXVvdGVzIHVzZWQgaW4gSmF2YVNjcmlwdCBjb2RlLiBEZWZhdWx0cyB0byBkb3VibGUuXG4gICAqL1xuICBxdW90ZVN0eWxlPzogSVF1b3RlU3R5bGU7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBmb3JtYXR0ZXIgcHJpbnRzIHNlbWljb2xvbnMgZm9yIGFsbCBzdGF0ZW1lbnRzIG9yIG9ubHkgaW4gZm9yIHN0YXRlbWVudHMgd2hlcmUgaXQgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb2YgQVNJLlxuICAgKi9cbiAgc2VtaWNvbG9ucz86IElTZW1pY29sb25zO1xuICAvKipcbiAgICogUHJpbnQgdHJhaWxpbmcgY29tbWFzIHdoZXJldmVyIHBvc3NpYmxlIGluIG11bHRpLWxpbmUgY29tbWEtc2VwYXJhdGVkIHN5bnRhY3RpYyBzdHJ1Y3R1cmVzLiBEZWZhdWx0cyB0byBcImFsbFwiLlxuICAgKi9cbiAgdHJhaWxpbmdDb21tYT86IElUcmFpbGluZ0NvbW1hcztcbiAgLyoqXG4gICAqIFByaW50IHRyYWlsaW5nIGNvbW1hcyB3aGVyZXZlciBwb3NzaWJsZSBpbiBtdWx0aS1saW5lIGNvbW1hLXNlcGFyYXRlZCBzeW50YWN0aWMgc3RydWN0dXJlcy4gRGVmYXVsdHMgdG8gXCJhbGxcIi5cbiAgICovXG4gIHRyYWlsaW5nQ29tbWFzPzogSVRyYWlsaW5nQ29tbWFzO1xufVxuLyoqXG4gKiBMaW50ZXIgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgSmF2YVNjcmlwdCBsaW50ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdExpbnRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBsaW50ZXIgZm9yIEphdmFTY3JpcHQgKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdE9yZ2FuaXplSW1wb3J0cyB7fVxuLyoqXG4gKiBPcHRpb25zIHRoYXQgY2hhbmdlcyBob3cgdGhlIEphdmFTY3JpcHQgcGFyc2VyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSmF2YXNjcmlwdFBhcnNlciB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIHRoZSBleHBlcmltZW50YWwgYW5kIHVuc2FmZSBwYXJzaW5nIG9mIHBhcmFtZXRlciBkZWNvcmF0b3JzXG4gICAqXG4gICAqIFRoZXNlIGRlY29yYXRvcnMgYmVsb25nIHRvIGFuIG9sZCBwcm9wb3NhbCwgYW5kIHRoZXkgYXJlIHN1YmplY3QgdG8gY2hhbmdlLlxuICAgKi9cbiAgdW5zYWZlUGFyYW1ldGVyRGVjb3JhdG9yc0VuYWJsZWQ/OiBib29sZWFuO1xufVxuLyoqXG4gKiBPcHRpb25zIGFwcGxpZWQgdG8gSlNPTiBmaWxlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElKc29uQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBBc3Npc3RzIG9wdGlvbnNcbiAgICovXG4gIGFzc2lzdHM/OiBJSnNvbkFzc2lzdHM7XG4gIC8qKlxuICAgKiBGb3JtYXR0aW5nIG9wdGlvbnNcbiAgICovXG4gIGZvcm1hdHRlcj86IElKc29uRm9ybWF0dGVyO1xuICAvKipcbiAgICogTGludGluZyBvcHRpb25zXG4gICAqL1xuICBsaW50ZXI/OiBJSnNvbkxpbnRlcjtcbiAgLyoqXG4gICAqIFBhcnNpbmcgb3B0aW9uc1xuICAgKi9cbiAgcGFyc2VyPzogSUpzb25QYXJzZXI7XG59XG4vKipcbiAqIExpbnRlciBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSBKU09OIGxpbnRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIElKc29uQXNzaXN0cyB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBsaW50ZXIgZm9yIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBJSnNvbkZvcm1hdHRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBmb3JtYXR0ZXIgZm9yIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0IHRvIDIuXG4gICAqL1xuICBpbmRlbnRTaXplPzogSUluZGVudFdpZHRoO1xuICAvKipcbiAgICogVGhlIGluZGVudCBzdHlsZSBhcHBsaWVkIHRvIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGluZGVudFN0eWxlPzogSUluZGVudFN0eWxlO1xuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGluZGVudGF0aW9uIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0IHRvIDIuXG4gICAqL1xuICBpbmRlbnRXaWR0aD86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGxpbmUgZW5kaW5nIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLlxuICAgKi9cbiAgbGluZUVuZGluZz86IElMaW5lRW5kaW5nO1xuICAvKipcbiAgICogV2hhdCdzIHRoZSBtYXggd2lkdGggb2YgYSBsaW5lIGFwcGxpZWQgdG8gSlNPTiAoYW5kIGl0cyBzdXBlciBsYW5ndWFnZXMpIGZpbGVzLiBEZWZhdWx0cyB0byA4MC5cbiAgICovXG4gIGxpbmVXaWR0aD86IElMaW5lV2lkdGg7XG4gIC8qKlxuICAgKiBQcmludCB0cmFpbGluZyBjb21tYXMgd2hlcmV2ZXIgcG9zc2libGUgaW4gbXVsdGktbGluZSBjb21tYS1zZXBhcmF0ZWQgc3ludGFjdGljIHN0cnVjdHVyZXMuIERlZmF1bHRzIHRvIFwibm9uZVwiLlxuICAgKi9cbiAgdHJhaWxpbmdDb21tYXM/OiBJVHJhaWxpbmdDb21tYXMyO1xufVxuLyoqXG4gKiBMaW50ZXIgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgSlNPTiBsaW50ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSnNvbkxpbnRlciB7XG4gIC8qKlxuICAgKiBDb250cm9sIHRoZSBsaW50ZXIgZm9yIEpTT04gKGFuZCBpdHMgc3VwZXIgbGFuZ3VhZ2VzKSBmaWxlcy5cbiAgICovXG4gIGVuYWJsZWQ/OiBib29sZWFuO1xufVxuLyoqXG4gKiBPcHRpb25zIHRoYXQgY2hhbmdlcyBob3cgdGhlIEpTT04gcGFyc2VyIGJlaGF2ZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSnNvblBhcnNlciB7XG4gIC8qKlxuICAgKiBBbGxvdyBwYXJzaW5nIGNvbW1lbnRzIGluIGAuanNvbmAgZmlsZXNcbiAgICovXG4gIGFsbG93Q29tbWVudHM/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3cgcGFyc2luZyB0cmFpbGluZyBjb21tYXMgaW4gYC5qc29uYCBmaWxlc1xuICAgKi9cbiAgYWxsb3dUcmFpbGluZ0NvbW1hcz86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIElMaW50ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIGlmIGBmYWxzZWAsIGl0IGRpc2FibGVzIHRoZSBmZWF0dXJlIGFuZCB0aGUgbGludGVyIHdvbid0IGJlIGV4ZWN1dGVkLiBgdHJ1ZWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGluY2x1ZGUgZmlsZXMvZm9sZGVycyB0aGF0IHdpbGwgbWF0Y2ggdGhlc2UgcGF0dGVybnMuXG4gICAqL1xuICBpbmNsdWRlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVsZXNcbiAgICovXG4gIHJ1bGVzPzogSVJ1bGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZXMge1xuICBhMTF5PzogSUExMXk7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcy4gVGhlIHJ1bGVzIHRoYXQgYmVsb25nIHRvIGBudXJzZXJ5YCB3b24ndCBiZSBlbmFibGVkLlxuICAgKi9cbiAgYWxsPzogYm9vbGVhbjtcbiAgY29tcGxleGl0eT86IElDb21wbGV4aXR5O1xuICBjb3JyZWN0bmVzcz86IElDb3JyZWN0bmVzcztcbiAgbnVyc2VyeT86IElOdXJzZXJ5O1xuICBwZXJmb3JtYW5jZT86IElQZXJmb3JtYW5jZTtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIGxpbnQgcnVsZXMgcmVjb21tZW5kZWQgYnkgQmlvbWUuIGB0cnVlYCBieSBkZWZhdWx0LlxuICAgKi9cbiAgcmVjb21tZW5kZWQ/OiBib29sZWFuO1xuICBzZWN1cml0eT86IElTZWN1cml0eTtcbiAgc3R5bGU/OiBJU3R5bGU7XG4gIHN1c3BpY2lvdXM/OiBJU3VzcGljaW91cztcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQTExeSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgdGhlIGFjY2Vzc0tleSBhdHRyaWJ1dGUgaXMgbm90IHVzZWQgb24gYW55IEhUTUwgZWxlbWVudC5cbiAgICovXG4gIG5vQWNjZXNzS2V5PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGlzIG5vdCBzZXQgb24gZm9jdXNhYmxlIGVsZW1lbnRzLlxuICAgKi9cbiAgbm9BcmlhSGlkZGVuT25Gb2N1c2FibGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgZWxlbWVudHMgdGhhdCBkbyBub3Qgc3VwcG9ydCBBUklBIHJvbGVzLCBzdGF0ZXMsIGFuZCBwcm9wZXJ0aWVzIGRvIG5vdCBoYXZlIHRob3NlIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBub0FyaWFVbnN1cHBvcnRlZEVsZW1lbnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGF1dG9Gb2N1cyBwcm9wIGlzIG5vdCB1c2VkIG9uIGVsZW1lbnRzLlxuICAgKi9cbiAgbm9BdXRvZm9jdXM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0YXJnZXQ9XCJfYmxhbmtcIiBhdHRyaWJ1dGUgd2l0aG91dCByZWw9XCJub3JlZmVycmVyXCJcbiAgICovXG4gIG5vQmxhbmtUYXJnZXQ/OiBJQWxsb3dEb21haW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZXMgdGhhdCBubyBkaXN0cmFjdGluZyBlbGVtZW50cyBhcmUgdXNlZC5cbiAgICovXG4gIG5vRGlzdHJhY3RpbmdFbGVtZW50cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBzY29wZSBwcm9wIHNob3VsZCBiZSB1c2VkIG9ubHkgb24gXFw8dGg+IGVsZW1lbnRzLlxuICAgKi9cbiAgbm9IZWFkZXJTY29wZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhhdCBub24taW50ZXJhY3RpdmUgQVJJQSByb2xlcyBhcmUgbm90IGFzc2lnbmVkIHRvIGludGVyYWN0aXZlIEhUTUwgZWxlbWVudHMuXG4gICAqL1xuICBub0ludGVyYWN0aXZlRWxlbWVudFRvTm9uaW50ZXJhY3RpdmVSb2xlPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGEgbGFiZWwgZWxlbWVudCBvciBjb21wb25lbnQgaGFzIGEgdGV4dCBsYWJlbCBhbmQgYW4gYXNzb2NpYXRlZCBpbnB1dC5cbiAgICovXG4gIG5vTGFiZWxXaXRob3V0Q29udHJvbD86IElOb0xhYmVsV2l0aG91dENvbnRyb2xDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGludGVyYWN0aXZlIEFSSUEgcm9sZXMgYXJlIG5vdCBhc3NpZ25lZCB0byBub24taW50ZXJhY3RpdmUgSFRNTCBlbGVtZW50cy5cbiAgICovXG4gIG5vTm9uaW50ZXJhY3RpdmVFbGVtZW50VG9JbnRlcmFjdGl2ZVJvbGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgdGFiSW5kZXggaXMgbm90IGFzc2lnbmVkIHRvIG5vbi1pbnRlcmFjdGl2ZSBIVE1MIGVsZW1lbnRzLlxuICAgKi9cbiAgbm9Ob25pbnRlcmFjdGl2ZVRhYmluZGV4PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB0aGUgdXNhZ2Ugb2YgcG9zaXRpdmUgaW50ZWdlcnMgb24gdGFiSW5kZXggcHJvcGVydHlcbiAgICovXG4gIG5vUG9zaXRpdmVUYWJpbmRleD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgaW1nIGFsdCBwcm9wIGRvZXMgbm90IGNvbnRhaW4gdGhlIHdvcmQgXCJpbWFnZVwiLCBcInBpY3R1cmVcIiwgb3IgXCJwaG90b1wiLlxuICAgKi9cbiAgbm9SZWR1bmRhbnRBbHQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIGV4cGxpY2l0IHJvbGUgcHJvcGVydHkgaXMgbm90IHRoZSBzYW1lIGFzIGltcGxpY2l0L2RlZmF1bHQgcm9sZSBwcm9wZXJ0eSBvbiBhbiBlbGVtZW50LlxuICAgKi9cbiAgbm9SZWR1bmRhbnRSb2xlcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2VzIHRoZSB1c2FnZSBvZiB0aGUgdGl0bGUgZWxlbWVudCBmb3IgdGhlIHN2ZyBlbGVtZW50LlxuICAgKi9cbiAgbm9TdmdXaXRob3V0VGl0bGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIHRoZSByZWNvbW1lbmRlZCBydWxlcyBmb3IgdGhpcyBncm91cFxuICAgKi9cbiAgcmVjb21tZW5kZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGFsbCBlbGVtZW50cyB0aGF0IHJlcXVpcmUgYWx0ZXJuYXRpdmUgdGV4dCBoYXZlIG1lYW5pbmdmdWwgaW5mb3JtYXRpb24gdG8gcmVsYXkgYmFjayB0byB0aGUgZW5kIHVzZXIuXG4gICAqL1xuICB1c2VBbHRUZXh0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGFuY2hvcnMgaGF2ZSBjb250ZW50IGFuZCB0aGF0IHRoZSBjb250ZW50IGlzIGFjY2Vzc2libGUgdG8gc2NyZWVuIHJlYWRlcnMuXG4gICAqL1xuICB1c2VBbmNob3JDb250ZW50PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IHRhYkluZGV4IGlzIGFzc2lnbmVkIHRvIG5vbi1pbnRlcmFjdGl2ZSBIVE1MIGVsZW1lbnRzIHdpdGggYXJpYS1hY3RpdmVkZXNjZW5kYW50LlxuICAgKi9cbiAgdXNlQXJpYUFjdGl2ZWRlc2NlbmRhbnRXaXRoVGFiaW5kZXg/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgZWxlbWVudHMgd2l0aCBBUklBIHJvbGVzIG11c3QgaGF2ZSBhbGwgcmVxdWlyZWQgQVJJQSBhdHRyaWJ1dGVzIGZvciB0aGF0IHJvbGUuXG4gICAqL1xuICB1c2VBcmlhUHJvcHNGb3JSb2xlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZXMgdGhlIHVzYWdlIG9mIHRoZSBhdHRyaWJ1dGUgdHlwZSBmb3IgdGhlIGVsZW1lbnQgYnV0dG9uXG4gICAqL1xuICB1c2VCdXR0b25UeXBlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRWxlbWVudHMgd2l0aCBhbiBpbnRlcmFjdGl2ZSByb2xlIGFuZCBpbnRlcmFjdGlvbiBoYW5kbGVycyBtdXN0IGJlIGZvY3VzYWJsZS5cbiAgICovXG4gIHVzZUZvY3VzYWJsZUludGVyYWN0aXZlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgYSBtaXNzaW5nIGdlbmVyaWMgZmFtaWx5IGtleXdvcmQgd2l0aGluIGZvbnQgZmFtaWxpZXMuXG4gICAqL1xuICB1c2VHZW5lcmljRm9udE5hbWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IGhlYWRpbmcgZWxlbWVudHMgKGgxLCBoMiwgZXRjLikgaGF2ZSBjb250ZW50IGFuZCB0aGF0IHRoZSBjb250ZW50IGlzIGFjY2Vzc2libGUgdG8gc2NyZWVuIHJlYWRlcnMuIEFjY2Vzc2libGUgbWVhbnMgdGhhdCBpdCBpcyBub3QgaGlkZGVuIHVzaW5nIHRoZSBhcmlhLWhpZGRlbiBwcm9wLlxuICAgKi9cbiAgdXNlSGVhZGluZ0NvbnRlbnQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgaHRtbCBlbGVtZW50IGhhcyBsYW5nIGF0dHJpYnV0ZS5cbiAgICovXG4gIHVzZUh0bWxMYW5nPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZXMgdGhlIHVzYWdlIG9mIHRoZSBhdHRyaWJ1dGUgdGl0bGUgZm9yIHRoZSBlbGVtZW50IGlmcmFtZS5cbiAgICovXG4gIHVzZUlmcmFtZVRpdGxlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBvbkNsaWNrIGlzIGFjY29tcGFuaWVkIGJ5IGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nOiBvbktleVVwLCBvbktleURvd24sIG9uS2V5UHJlc3MuXG4gICAqL1xuICB1c2VLZXlXaXRoQ2xpY2tFdmVudHM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIG9uTW91c2VPdmVyIC8gb25Nb3VzZU91dCBhcmUgYWNjb21wYW5pZWQgYnkgb25Gb2N1cyAvIG9uQmx1ci5cbiAgICovXG4gIHVzZUtleVdpdGhNb3VzZUV2ZW50cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2VzIHRoYXQgYXVkaW8gYW5kIHZpZGVvIGVsZW1lbnRzIG11c3QgaGF2ZSBhIHRyYWNrIGZvciBjYXB0aW9ucy5cbiAgICovXG4gIHVzZU1lZGlhQ2FwdGlvbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGRldGVjdHMgdGhlIHVzZSBvZiByb2xlIGF0dHJpYnV0ZXMgaW4gSlNYIGVsZW1lbnRzIGFuZCBzdWdnZXN0cyB1c2luZyBzZW1hbnRpYyBlbGVtZW50cyBpbnN0ZWFkLlxuICAgKi9cbiAgdXNlU2VtYW50aWNFbGVtZW50cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhhdCBhbGwgYW5jaG9ycyBhcmUgdmFsaWQsIGFuZCB0aGV5IGFyZSBuYXZpZ2FibGUgZWxlbWVudHMuXG4gICAqL1xuICB1c2VWYWxpZEFuY2hvcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhhdCBBUklBIHByb3BlcnRpZXMgYXJpYS0qIGFyZSBhbGwgdmFsaWQuXG4gICAqL1xuICB1c2VWYWxpZEFyaWFQcm9wcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVsZW1lbnRzIHdpdGggQVJJQSByb2xlcyBtdXN0IHVzZSBhIHZhbGlkLCBub24tYWJzdHJhY3QgQVJJQSByb2xlLlxuICAgKi9cbiAgdXNlVmFsaWRBcmlhUm9sZT86IElWYWxpZEFyaWFSb2xlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhhdCBBUklBIHN0YXRlIGFuZCBwcm9wZXJ0eSB2YWx1ZXMgYXJlIHZhbGlkLlxuICAgKi9cbiAgdXNlVmFsaWRBcmlhVmFsdWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIGF0dHJpYnV0ZSBwYXNzZWQgdG8gdGhlIGxhbmcgYXR0cmlidXRlIGlzIGEgY29ycmVjdCBJU08gbGFuZ3VhZ2UgYW5kL29yIGNvdW50cnkuXG4gICAqL1xuICB1c2VWYWxpZExhbmc/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aEZpeE5vT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aEFsbG93RG9tYWluT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElBbGxvd0RvbWFpbk9wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElBbGxvd0RvbWFpbk9wdGlvbnMge1xuICAvKipcbiAgICogTGlzdCBvZiBkb21haW5zIHRvIGFsbG93IGB0YXJnZXQ9XCJfYmxhbmtcImAgd2l0aG91dCBgcmVsPVwibm9yZWZlcnJlclwiYFxuICAgKi9cbiAgYWxsb3dEb21haW5zPzogc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aE5vTGFiZWxXaXRob3V0Q29udHJvbE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElOb0xhYmVsV2l0aG91dENvbnRyb2xPcHRpb25zO1xufVxuZXhwb3J0IGludGVyZmFjZSBJTm9MYWJlbFdpdGhvdXRDb250cm9sT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBjb21wb25lbnQgbmFtZXMgdGhhdCBzaG91bGQgYmUgY29uc2lkZXJlZCB0aGUgc2FtZSBhcyBhbiBgaW5wdXRgIGVsZW1lbnQuXG4gICAqL1xuICBpbnB1dENvbXBvbmVudHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEFycmF5IG9mIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyB0aGUgYGxhYmVsYCBhY2Nlc3NpYmxlIHRleHQgY29udGVudC5cbiAgICovXG4gIGxhYmVsQXR0cmlidXRlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogQXJyYXkgb2YgY29tcG9uZW50IG5hbWVzIHRoYXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdGhlIHNhbWUgYXMgYSBgbGFiZWxgIGVsZW1lbnQuXG4gICAqL1xuICBsYWJlbENvbXBvbmVudHM/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoTm9PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhWYWxpZEFyaWFSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElWYWxpZEFyaWFSb2xlT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkQXJpYVJvbGVPcHRpb25zIHtcbiAgYWxsb3dJbnZhbGlkUm9sZXM/OiBzdHJpbmdbXTtcbiAgaWdub3JlTm9uRG9tPzogYm9vbGVhbjtcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29tcGxleGl0eSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBwcmltaXRpdmUgdHlwZSBhbGlhc2VzIGFuZCBtaXNsZWFkaW5nIHR5cGVzLlxuICAgKi9cbiAgbm9CYW5uZWRUeXBlcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGVtcHR5IHR5cGUgcGFyYW1ldGVycyBpbiB0eXBlIGFsaWFzZXMgYW5kIGludGVyZmFjZXMuXG4gICAqL1xuICBub0VtcHR5VHlwZVBhcmFtZXRlcnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmdW5jdGlvbnMgdGhhdCBleGNlZWQgYSBnaXZlbiBDb2duaXRpdmUgQ29tcGxleGl0eSBzY29yZS5cbiAgICovXG4gIG5vRXhjZXNzaXZlQ29nbml0aXZlQ29tcGxleGl0eT86IElDb21wbGV4aXR5Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSBlbmZvcmNlcyBhIG1heGltdW0gZGVwdGggdG8gbmVzdGVkIGRlc2NyaWJlKCkgaW4gdGVzdCBmaWxlcy5cbiAgICovXG4gIG5vRXhjZXNzaXZlTmVzdGVkVGVzdFN1aXRlcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGJvb2xlYW4gY2FzdHNcbiAgICovXG4gIG5vRXh0cmFCb29sZWFuQ2FzdD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZWZlciBmb3IuLi5vZiBzdGF0ZW1lbnQgaW5zdGVhZCBvZiBBcnJheS5mb3JFYWNoLlxuICAgKi9cbiAgbm9Gb3JFYWNoPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5jbGVhciB1c2FnZSBvZiBjb25zZWN1dGl2ZSBzcGFjZSBjaGFyYWN0ZXJzIGluIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFsc1xuICAgKi9cbiAgbm9NdWx0aXBsZVNwYWNlc0luUmVndWxhckV4cHJlc3Npb25MaXRlcmFscz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSByZXBvcnRzIHdoZW4gYSBjbGFzcyBoYXMgbm8gbm9uLXN0YXRpYyBtZW1iZXJzLCBzdWNoIGFzIGZvciBhIGNsYXNzIHVzZWQgZXhjbHVzaXZlbHkgYXMgYSBzdGF0aWMgbmFtZXNwYWNlLlxuICAgKi9cbiAgbm9TdGF0aWNPbmx5Q2xhc3M/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGlzIGFuZCBzdXBlciBpbiBzdGF0aWMgY29udGV4dHMuXG4gICAqL1xuICBub1RoaXNJblN0YXRpYz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGNhdGNoIGNsYXVzZXMuXG4gICAqL1xuICBub1VzZWxlc3NDYXRjaD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGNvbnN0cnVjdG9ycy5cbiAgICovXG4gIG5vVXNlbGVzc0NvbnN0cnVjdG9yPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZW1wdHkgZXhwb3J0cyB0aGF0IGRvbid0IGNoYW5nZSBhbnl0aGluZyBpbiBhIG1vZHVsZSBmaWxlLlxuICAgKi9cbiAgbm9Vc2VsZXNzRW1wdHlFeHBvcnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bm5lY2Vzc2FyeSBmcmFnbWVudHNcbiAgICovXG4gIG5vVXNlbGVzc0ZyYWdtZW50cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGxhYmVscy5cbiAgICovXG4gIG5vVXNlbGVzc0xhYmVsPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5uZWNlc3NhcnkgbmVzdGVkIGJsb2NrIHN0YXRlbWVudHMuXG4gICAqL1xuICBub1VzZWxlc3NMb25lQmxvY2tTdGF0ZW1lbnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgcmVuYW1pbmcgaW1wb3J0LCBleHBvcnQsIGFuZCBkZXN0cnVjdHVyZWQgYXNzaWdubWVudHMgdG8gdGhlIHNhbWUgbmFtZS5cbiAgICovXG4gIG5vVXNlbGVzc1JlbmFtZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGNvbmNhdGVuYXRpb24gb2Ygc3RyaW5nIG9yIHRlbXBsYXRlIGxpdGVyYWxzLlxuICAgKi9cbiAgbm9Vc2VsZXNzU3RyaW5nQ29uY2F0PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlbGVzcyBjYXNlIGluIHN3aXRjaCBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgbm9Vc2VsZXNzU3dpdGNoQ2FzZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRlcm5hcnkgb3BlcmF0b3JzIHdoZW4gc2ltcGxlciBhbHRlcm5hdGl2ZXMgZXhpc3QuXG4gICAqL1xuICBub1VzZWxlc3NUZXJuYXJ5PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlbGVzcyB0aGlzIGFsaWFzaW5nLlxuICAgKi9cbiAgbm9Vc2VsZXNzVGhpc0FsaWFzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgYW55IG9yIHVua25vd24gYXMgdHlwZSBjb25zdHJhaW50LlxuICAgKi9cbiAgbm9Vc2VsZXNzVHlwZUNvbnN0cmFpbnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBpbml0aWFsaXppbmcgdmFyaWFibGVzIHRvIHVuZGVmaW5lZC5cbiAgICovXG4gIG5vVXNlbGVzc1VuZGVmaW5lZEluaXRpYWxpemF0aW9uPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiB2b2lkIG9wZXJhdG9ycywgd2hpY2ggaXMgbm90IGEgZmFtaWxpYXIgb3BlcmF0b3IuXG4gICAqL1xuICBub1ZvaWQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB3aXRoIHN0YXRlbWVudHMgaW4gbm9uLXN0cmljdCBjb250ZXh0cy5cbiAgICovXG4gIG5vV2l0aD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBVc2UgYXJyb3cgZnVuY3Rpb25zIG92ZXIgZnVuY3Rpb24gZXhwcmVzc2lvbnMuXG4gICAqL1xuICB1c2VBcnJvd0Z1bmN0aW9uPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVXNlIERhdGUubm93KCkgdG8gZ2V0IHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHNpbmNlIHRoZSBVbml4IEVwb2NoLlxuICAgKi9cbiAgdXNlRGF0ZU5vdz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2Ugb2YgLmZsYXRNYXAoKSB3aGVuIG1hcCgpLmZsYXQoKSBhcmUgdXNlZCB0b2dldGhlci5cbiAgICovXG4gIHVzZUZsYXRNYXA/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoZSB1c2FnZSBvZiBhIGxpdGVyYWwgYWNjZXNzIHRvIHByb3BlcnRpZXMgb3ZlciBjb21wdXRlZCBwcm9wZXJ0eSBhY2Nlc3MuXG4gICAqL1xuICB1c2VMaXRlcmFsS2V5cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdXNpbmcgY29uY2lzZSBvcHRpb25hbCBjaGFpbiBpbnN0ZWFkIG9mIGNoYWluZWQgbG9naWNhbCBleHByZXNzaW9ucy5cbiAgICovXG4gIHVzZU9wdGlvbmFsQ2hhaW4/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoZSB1c2Ugb2YgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFscyBpbnN0ZWFkIG9mIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgaWYgcG9zc2libGUuXG4gICAqL1xuICB1c2VSZWdleExpdGVyYWxzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbnVtYmVyIGxpdGVyYWwgb2JqZWN0IG1lbWJlciBuYW1lcyB3aGljaCBhcmUgbm90IGJhc2UxMCBvciB1c2VzIHVuZGVyc2NvcmUgYXMgc2VwYXJhdG9yXG4gICAqL1xuICB1c2VTaW1wbGVOdW1iZXJLZXlzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzY2FyZCByZWR1bmRhbnQgdGVybXMgZnJvbSBsb2dpY2FsIGV4cHJlc3Npb25zLlxuICAgKi9cbiAgdXNlU2ltcGxpZmllZExvZ2ljRXhwcmVzc2lvbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoQ29tcGxleGl0eU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElDb21wbGV4aXR5T3B0aW9ucztcbn1cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIHJ1bGUgYG5vRXhjZXNzaXZlQ29nbml0aXZlQ29tcGxleGl0eWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbXBsZXhpdHlPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIGNvbXBsZXhpdHkgc2NvcmUgdGhhdCB3ZSBhbGxvdy4gQW55dGhpbmcgaGlnaGVyIGlzIGNvbnNpZGVyZWQgZXhjZXNzaXZlLlxuICAgKi9cbiAgbWF4QWxsb3dlZENvbXBsZXhpdHk/OiBudW1iZXI7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBydWxlcyB0aGF0IGJlbG9uZyB0byB0aGlzIGdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvcnJlY3RuZXNzIHtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgQUxMIHJ1bGVzIGZvciB0aGlzIGdyb3VwLlxuICAgKi9cbiAgYWxsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByZXZlbnQgcGFzc2luZyBvZiBjaGlsZHJlbiBhcyBwcm9wcy5cbiAgICovXG4gIG5vQ2hpbGRyZW5Qcm9wPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudHMgZnJvbSBoYXZpbmcgY29uc3QgdmFyaWFibGVzIGJlaW5nIHJlLWFzc2lnbmVkLlxuICAgKi9cbiAgbm9Db25zdEFzc2lnbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbnN0YW50IGV4cHJlc3Npb25zIGluIGNvbmRpdGlvbnNcbiAgICovXG4gIG5vQ29uc3RhbnRDb25kaXRpb24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIE1hdGgubWluIGFuZCBNYXRoLm1heCB0byBjbGFtcCBhIHZhbHVlIHdoZXJlIHRoZSByZXN1bHQgaXRzZWxmIGlzIGNvbnN0YW50LlxuICAgKi9cbiAgbm9Db25zdGFudE1hdGhNaW5NYXhDbGFtcD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHJldHVybmluZyBhIHZhbHVlIGZyb20gYSBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIG5vQ29uc3RydWN0b3JSZXR1cm4/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBlbXB0eSBjaGFyYWN0ZXIgY2xhc3NlcyBpbiByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbHMuXG4gICAqL1xuICBub0VtcHR5Q2hhcmFjdGVyQ2xhc3NJblJlZ2V4PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3dzIGVtcHR5IGRlc3RydWN0dXJpbmcgcGF0dGVybnMuXG4gICAqL1xuICBub0VtcHR5UGF0dGVybj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRvIHVzZSB1bm5lY2Vzc2FyeSBjYWxsYmFjayBvbiBmbGF0TWFwLlxuICAgKi9cbiAgbm9GbGF0TWFwSWRlbnRpdHk/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBjYWxsaW5nIGdsb2JhbCBvYmplY3QgcHJvcGVydGllcyBhcyBmdW5jdGlvbnNcbiAgICovXG4gIG5vR2xvYmFsT2JqZWN0Q2FsbHM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmdW5jdGlvbiBhbmQgdmFyIGRlY2xhcmF0aW9ucyB0aGF0IGFyZSBhY2Nlc3NpYmxlIG91dHNpZGUgdGhlaXIgYmxvY2suXG4gICAqL1xuICBub0lubmVyRGVjbGFyYXRpb25zPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5zdXJlIHRoYXQgYnVpbHRpbnMgYXJlIGNvcnJlY3RseSBpbnN0YW50aWF0ZWQuXG4gICAqL1xuICBub0ludmFsaWRCdWlsdGluSW5zdGFudGlhdGlvbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIHRoZSBpbmNvcnJlY3QgdXNlIG9mIHN1cGVyKCkgaW5zaWRlIGNsYXNzZXMuIEl0IGFsc28gY2hlY2tzIHdoZXRoZXIgYSBjYWxsIHN1cGVyKCkgaXMgbWlzc2luZyBmcm9tIGNsYXNzZXMgdGhhdCBleHRlbmRzIG90aGVyIGNvbnN0cnVjdG9ycy5cbiAgICovXG4gIG5vSW52YWxpZENvbnN0cnVjdG9yU3VwZXI/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBub24tc3RhbmRhcmQgZGlyZWN0aW9uIHZhbHVlcyBmb3IgbGluZWFyIGdyYWRpZW50IGZ1bmN0aW9ucy5cbiAgICovXG4gIG5vSW52YWxpZERpcmVjdGlvbkluTGluZWFyR3JhZGllbnQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvd3MgaW52YWxpZCBuYW1lZCBncmlkIGFyZWFzIGluIENTUyBHcmlkIExheW91dHMuXG4gICAqL1xuICBub0ludmFsaWRHcmlkQXJlYXM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBuZXcgb3BlcmF0b3JzIHdpdGggZ2xvYmFsIG5vbi1jb25zdHJ1Y3RvciBmdW5jdGlvbnMuXG4gICAqL1xuICBub0ludmFsaWROZXdCdWlsdGluPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBAaW1wb3J0IGF0LXJ1bGVzIGluIGludmFsaWQgcG9zaXRpb25zLlxuICAgKi9cbiAgbm9JbnZhbGlkUG9zaXRpb25BdEltcG9ydFJ1bGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb24gcGFyYW1ldGVycyBiZWZvcmUgdGhlaXIgZGVjbGFyYXRpb25cbiAgICovXG4gIG5vSW52YWxpZFVzZUJlZm9yZURlY2xhcmF0aW9uPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbmV3IG9wZXJhdG9ycyB3aXRoIHRoZSBTeW1ib2wgb2JqZWN0LlxuICAgKi9cbiAgbm9OZXdTeW1ib2w/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBGb3JiaWQgdGhlIHVzZSBvZiBOb2RlLmpzIGJ1aWx0aW4gbW9kdWxlcy5cbiAgICovXG4gIG5vTm9kZWpzTW9kdWxlcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IFxcOCBhbmQgXFw5IGVzY2FwZSBzZXF1ZW5jZXMgaW4gc3RyaW5nIGxpdGVyYWxzLlxuICAgKi9cbiAgbm9Ob25vY3RhbERlY2ltYWxFc2NhcGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBsaXRlcmFsIG51bWJlcnMgdGhhdCBsb3NlIHByZWNpc2lvblxuICAgKi9cbiAgbm9QcmVjaXNpb25Mb3NzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB0aGUgdXNhZ2Ugb2YgdGhlIHJldHVybiB2YWx1ZSBvZiBSZWFjdC5yZW5kZXIuXG4gICAqL1xuICBub1JlbmRlclJldHVyblZhbHVlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgYXNzaWdubWVudHMgd2hlcmUgYm90aCBzaWRlcyBhcmUgZXhhY3RseSB0aGUgc2FtZS5cbiAgICovXG4gIG5vU2VsZkFzc2lnbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHJldHVybmluZyBhIHZhbHVlIGZyb20gYSBzZXR0ZXJcbiAgICovXG4gIG5vU2V0dGVyUmV0dXJuPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgY29tcGFyaXNvbiBvZiBleHByZXNzaW9ucyBtb2RpZnlpbmcgdGhlIHN0cmluZyBjYXNlIHdpdGggbm9uLWNvbXBsaWFudCB2YWx1ZS5cbiAgICovXG4gIG5vU3RyaW5nQ2FzZU1pc21hdGNoPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbGV4aWNhbCBkZWNsYXJhdGlvbnMgaW4gc3dpdGNoIGNsYXVzZXMuXG4gICAqL1xuICBub1N3aXRjaERlY2xhcmF0aW9ucz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgZGVwZW5kZW5jaWVzIHRoYXQgYXJlbid0IHNwZWNpZmllZCBpbiB0aGUgcGFja2FnZS5qc29uLlxuICAgKi9cbiAgbm9VbmRlY2xhcmVkRGVwZW5kZW5jaWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudHMgdGhlIHVzYWdlIG9mIHZhcmlhYmxlcyB0aGF0IGhhdmVuJ3QgYmVlbiBkZWNsYXJlZCBpbnNpZGUgdGhlIGRvY3VtZW50LlxuICAgKi9cbiAgbm9VbmRlY2xhcmVkVmFyaWFibGVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biBDU1MgdmFsdWUgZnVuY3Rpb25zLlxuICAgKi9cbiAgbm9Vbmtub3duRnVuY3Rpb24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bmtub3duIG1lZGlhIGZlYXR1cmUgbmFtZXMuXG4gICAqL1xuICBub1Vua25vd25NZWRpYUZlYXR1cmVOYW1lPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biBwcm9wZXJ0aWVzLlxuICAgKi9cbiAgbm9Vbmtub3duUHJvcGVydHk/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bmtub3duIENTUyB1bml0cy5cbiAgICovXG4gIG5vVW5rbm93blVuaXQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1bm1hdGNoYWJsZSBBbitCIHNlbGVjdG9ycy5cbiAgICovXG4gIG5vVW5tYXRjaGFibGVBbmJTZWxlY3Rvcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEF2b2lkIHVzaW5nIHVubmVjZXNzYXJ5IGNvbnRpbnVlLlxuICAgKi9cbiAgbm9Vbm5lY2Vzc2FyeUNvbnRpbnVlPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5yZWFjaGFibGUgY29kZVxuICAgKi9cbiAgbm9VbnJlYWNoYWJsZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIHN1cGVyKCkgY29uc3RydWN0b3IgaXMgY2FsbGVkIGV4YWN0bHkgb25jZSBvbiBldmVyeSBjb2RlICBwYXRoIGluIGEgY2xhc3MgY29uc3RydWN0b3IgYmVmb3JlIHRoaXMgaXMgYWNjZXNzZWQgaWYgdGhlIGNsYXNzIGhhcyBhIHN1cGVyY2xhc3NcbiAgICovXG4gIG5vVW5yZWFjaGFibGVTdXBlcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbnRyb2wgZmxvdyBzdGF0ZW1lbnRzIGluIGZpbmFsbHkgYmxvY2tzLlxuICAgKi9cbiAgbm9VbnNhZmVGaW5hbGx5PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBvcHRpb25hbCBjaGFpbmluZyBpbiBjb250ZXh0cyB3aGVyZSB0aGUgdW5kZWZpbmVkIHZhbHVlIGlzIG5vdCBhbGxvd2VkLlxuICAgKi9cbiAgbm9VbnNhZmVPcHRpb25hbENoYWluaW5nPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXG4gICAqL1xuICBub1VudXNlZEZ1bmN0aW9uUGFyYW1ldGVycz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVudXNlZCBpbXBvcnRzLlxuICAgKi9cbiAgbm9VbnVzZWRJbXBvcnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIGxhYmVscy5cbiAgICovXG4gIG5vVW51c2VkTGFiZWxzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIHByaXZhdGUgY2xhc3MgbWVtYmVyc1xuICAgKi9cbiAgbm9VbnVzZWRQcml2YXRlQ2xhc3NNZW1iZXJzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW51c2VkIHZhcmlhYmxlcy5cbiAgICovXG4gIG5vVW51c2VkVmFyaWFibGVzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhpcyBydWxlcyBwcmV2ZW50cyB2b2lkIGVsZW1lbnRzIChBS0Egc2VsZi1jbG9zaW5nIGVsZW1lbnRzKSBmcm9tIGhhdmluZyBjaGlsZHJlbi5cbiAgICovXG4gIG5vVm9pZEVsZW1lbnRzV2l0aENoaWxkcmVuPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgcmV0dXJuaW5nIGEgdmFsdWUgZnJvbSBhIGZ1bmN0aW9uIHdpdGggdGhlIHJldHVybiB0eXBlICd2b2lkJ1xuICAgKi9cbiAgbm9Wb2lkVHlwZVJldHVybj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBBcnJheSBjb25zdHJ1Y3RvcnMuXG4gICAqL1xuICB1c2VBcnJheUxpdGVyYWxzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBhbGwgZGVwZW5kZW5jaWVzIGFyZSBjb3JyZWN0bHkgc3BlY2lmaWVkIGluIGEgUmVhY3QgaG9vay5cbiAgICovXG4gIHVzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXM/OiBJVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc0NvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoYXQgYWxsIFJlYWN0IGhvb2tzIGFyZSBiZWluZyBjYWxsZWQgZnJvbSB0aGUgVG9wIExldmVsIGNvbXBvbmVudCBmdW5jdGlvbnMuXG4gICAqL1xuICB1c2VIb29rQXRUb3BMZXZlbD86IElEZXByZWNhdGVkSG9va3NDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBmaWxlIGV4dGVuc2lvbnMgZm9yIHJlbGF0aXZlIGltcG9ydHMuXG4gICAqL1xuICB1c2VJbXBvcnRFeHRlbnNpb25zPzogSVVzZUltcG9ydEV4dGVuc2lvbnNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBjYWxscyB0byBpc05hTigpIHdoZW4gY2hlY2tpbmcgZm9yIE5hTi5cbiAgICovXG4gIHVzZUlzTmFuPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbWlzc2luZyBrZXkgcHJvcHMgaW4gaXRlcmF0b3JzL2NvbGxlY3Rpb24gbGl0ZXJhbHMuXG4gICAqL1xuICB1c2VKc3hLZXlJbkl0ZXJhYmxlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBcImZvclwiIGxvb3AgdXBkYXRlIGNsYXVzZSBtb3ZpbmcgdGhlIGNvdW50ZXIgaW4gdGhlIHJpZ2h0IGRpcmVjdGlvbi5cbiAgICovXG4gIHVzZVZhbGlkRm9yRGlyZWN0aW9uPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBnZW5lcmF0b3IgZnVuY3Rpb25zIHRvIGNvbnRhaW4geWllbGQuXG4gICAqL1xuICB1c2VZaWVsZD86IElSdWxlQ29uZmlndXJhdGlvbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoVXNlRXhoYXVzdGl2ZURlcGVuZGVuY2llc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElVc2VFeGhhdXN0aXZlRGVwZW5kZW5jaWVzT3B0aW9ucztcbn1cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIHJ1bGUgYHVzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXNgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZUV4aGF1c3RpdmVEZXBlbmRlbmNpZXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgaG9va3Mgb2Ygd2hpY2ggdGhlIGRlcGVuZGVuY2llcyBzaG91bGQgYmUgdmFsaWRhdGVkLlxuICAgKi9cbiAgaG9va3M/OiBJSG9va1tdO1xuICAvKipcbiAgICogV2hldGhlciB0byByZXBvcnQgYW4gZXJyb3Igd2hlbiBhIGhvb2sgaGFzIG5vIGRlcGVuZGVuY2llcyBhcnJheS5cbiAgICovXG4gIHJlcG9ydE1pc3NpbmdEZXBlbmRlbmNpZXNBcnJheT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcG9ydCBhbiBlcnJvciB3aGVuIGEgZGVwZW5kZW5jeSBpcyBsaXN0ZWQgaW4gdGhlIGRlcGVuZGVuY2llcyBhcnJheSBidXQgaXNuJ3QgdXNlZC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIHJlcG9ydFVubmVjZXNzYXJ5RGVwZW5kZW5jaWVzPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUhvb2sge1xuICAvKipcbiAgICogVGhlIFwicG9zaXRpb25cIiBvZiB0aGUgY2xvc3VyZSBmdW5jdGlvbiwgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgZm9yIFJlYWN0J3MgYHVzZUVmZmVjdCgpYCBob29rLCB0aGUgY2xvc3VyZSBpbmRleCBpcyAwLlxuICAgKi9cbiAgY2xvc3VyZUluZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIFwicG9zaXRpb25cIiBvZiB0aGUgYXJyYXkgb2YgZGVwZW5kZW5jaWVzLCBzdGFydGluZyBmcm9tIHplcm8uXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBmb3IgUmVhY3QncyBgdXNlRWZmZWN0KClgIGhvb2ssIHRoZSBkZXBlbmRlbmNpZXMgaW5kZXggaXMgMS5cbiAgICovXG4gIGRlcGVuZGVuY2llc0luZGV4PzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGhvb2suXG4gICAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVzdWx0IG9mIHRoZSBob29rIGlzIHN0YWJsZS5cbiAgICpcbiAgICogU2V0IHRvIGB0cnVlYCB0byBtYXJrIHRoZSBpZGVudGl0eSBvZiB0aGUgaG9vaydzIHJldHVybiB2YWx1ZSBhcyBzdGFibGUsIG9yIHVzZSBhIG51bWJlci9hbiBhcnJheSBvZiBudW1iZXJzIHRvIG1hcmsgdGhlIFwicG9zaXRpb25zXCIgaW4gdGhlIHJldHVybiBhcnJheSBhcyBzdGFibGUuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBmb3IgUmVhY3QncyBgdXNlUmVmKClgIGhvb2sgdGhlIHZhbHVlIHdvdWxkIGJlIGB0cnVlYCwgd2hpbGUgZm9yIGB1c2VTdGF0ZSgpYCBpdCB3b3VsZCBiZSBgWzFdYC5cbiAgICovXG4gIHN0YWJsZVJlc3VsdD86IElTdGFibGVIb29rUmVzdWx0O1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhEZXByZWNhdGVkSG9va3NPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJRGVwcmVjYXRlZEhvb2tzT3B0aW9ucztcbn1cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGB1c2VIb29rQXRUb3BMZXZlbGAgcnVsZSBoYXZlIGJlZW4gZGVwcmVjYXRlZCwgc2luY2Ugd2Ugbm93IHVzZSB0aGUgUmVhY3QgaG9vayBuYW1pbmcgY29udmVudGlvbiB0byBkZXRlcm1pbmUgd2hldGhlciBhIGZ1bmN0aW9uIGlzIGEgaG9vay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGVwcmVjYXRlZEhvb2tzT3B0aW9ucyB7fVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhVc2VJbXBvcnRFeHRlbnNpb25zT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElVc2VJbXBvcnRFeHRlbnNpb25zT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZUltcG9ydEV4dGVuc2lvbnNPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgbWFwIG9mIGN1c3RvbSBpbXBvcnQgZXh0ZW5zaW9uIG1hcHBpbmdzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBpbnNwZWN0ZWQgZmlsZSBleHRlbnNpb24sIGFuZCB0aGUgdmFsdWUgaXMgYSBwYWlyIG9mIGBtb2R1bGVgIGV4dGVuc2lvbiBhbmQgYGNvbXBvbmVudGAgaW1wb3J0IGV4dGVuc2lvblxuICAgKi9cbiAgc3VnZ2VzdGVkRXh0ZW5zaW9ucz86IHtcbiAgICBbazogc3RyaW5nXTogSVN1Z2dlc3RlZEV4dGVuc2lvbk1hcHBpbmc7XG4gIH07XG59XG5leHBvcnQgaW50ZXJmYWNlIElTdWdnZXN0ZWRFeHRlbnNpb25NYXBwaW5nIHtcbiAgLyoqXG4gICAqIEV4dGVuc2lvbiB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBjb21wb25lbnQgZmlsZSBpbXBvcnRzXG4gICAqL1xuICBjb21wb25lbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFeHRlbnNpb24gdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgbW9kdWxlIGltcG9ydHNcbiAgICovXG4gIG1vZHVsZT86IHN0cmluZztcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTnVyc2VyeSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB1c2Ugb2YgQ29tbW9uSnMgbW9kdWxlIHN5c3RlbSBpbiBmYXZvciBvZiBFU00gc3R5bGUgaW1wb3J0cy5cbiAgICovXG4gIG5vQ29tbW9uSnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBhIGxvd2VyIHNwZWNpZmljaXR5IHNlbGVjdG9yIGZyb20gY29taW5nIGFmdGVyIGEgaGlnaGVyIHNwZWNpZmljaXR5IHNlbGVjdG9yLlxuICAgKi9cbiAgbm9EZXNjZW5kaW5nU3BlY2lmaWNpdHk/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBkaXJlY3QgYXNzaWdubWVudHMgdG8gZG9jdW1lbnQuY29va2llLlxuICAgKi9cbiAgbm9Eb2N1bWVudENvb2tpZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIGltcG9ydGluZyBuZXh0L2RvY3VtZW50IG91dHNpZGUgb2YgcGFnZXMvX2RvY3VtZW50LmpzeCBpbiBOZXh0LmpzIHByb2plY3RzLlxuICAgKi9cbiAgbm9Eb2N1bWVudEltcG9ydEluUGFnZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBjdXN0b20gcHJvcGVydGllcyB3aXRoaW4gZGVjbGFyYXRpb24gYmxvY2tzLlxuICAgKi9cbiAgbm9EdXBsaWNhdGVDdXN0b21Qcm9wZXJ0aWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZHVwbGljYXRlIGNvbmRpdGlvbnMgaW4gaWYtZWxzZS1pZiBjaGFpbnNcbiAgICovXG4gIG5vRHVwbGljYXRlRWxzZUlmPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZHVwbGljYXRlIHByb3BlcnRpZXMgd2l0aGluIGRlY2xhcmF0aW9uIGJsb2Nrcy5cbiAgICovXG4gIG5vRHVwbGljYXRlUHJvcGVydGllcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIE5vIGR1cGxpY2F0ZWQgZmllbGRzIGluIEdyYXBoUUwgb3BlcmF0aW9ucy5cbiAgICovXG4gIG5vRHVwbGljYXRlZEZpZWxkcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGFjY2Vzc2luZyBuYW1lc3BhY2UgaW1wb3J0cyBkeW5hbWljYWxseS5cbiAgICovXG4gIG5vRHluYW1pY05hbWVzcGFjZUltcG9ydEFjY2Vzcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IFR5cGVTY3JpcHQgZW51bS5cbiAgICovXG4gIG5vRW51bT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGV4cG9ydGluZyBhbiBpbXBvcnRlZCB2YXJpYWJsZS5cbiAgICovXG4gIG5vRXhwb3J0ZWRJbXBvcnRzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB1c2FnZSBvZiBcXDxoZWFkPiBlbGVtZW50IGluIGEgTmV4dC5qcyBwcm9qZWN0LlxuICAgKi9cbiAgbm9IZWFkRWxlbWVudD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnQgdXNpbmcgdGhlIG5leHQvaGVhZCBtb2R1bGUgaW4gcGFnZXMvX2RvY3VtZW50LmpzIG9uIE5leHQuanMgcHJvamVjdHMuXG4gICAqL1xuICBub0hlYWRJbXBvcnRJbkRvY3VtZW50PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCB1c2FnZSBvZiBcXDxpbWc+IGVsZW1lbnQgaW4gYSBOZXh0LmpzIHByb2plY3QuXG4gICAqL1xuICBub0ltZ0VsZW1lbnQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvd3MgdGhlIHVzZSBvZiBpcnJlZ3VsYXIgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgbm9JcnJlZ3VsYXJXaGl0ZXNwYWNlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbWlzc2luZyB2YXIgZnVuY3Rpb24gZm9yIGNzcyB2YXJpYWJsZXMuXG4gICAqL1xuICBub01pc3NpbmdWYXJGdW5jdGlvbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IG5lc3RlZCB0ZXJuYXJ5IGV4cHJlc3Npb25zLlxuICAgKi9cbiAgbm9OZXN0ZWRUZXJuYXJ5PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgb2N0YWwgZXNjYXBlIHNlcXVlbmNlcyBpbiBzdHJpbmcgbGl0ZXJhbHNcbiAgICovXG4gIG5vT2N0YWxFc2NhcGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHByb2Nlc3MuZW52LlxuICAgKi9cbiAgbm9Qcm9jZXNzRW52PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgc3BlY2lmaWVkIG1vZHVsZXMgd2hlbiBsb2FkZWQgYnkgaW1wb3J0IG9yIHJlcXVpcmUuXG4gICAqL1xuICBub1Jlc3RyaWN0ZWRJbXBvcnRzPzogSVJlc3RyaWN0ZWRJbXBvcnRzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVzZXIgZGVmaW5lZCB0eXBlcy5cbiAgICovXG4gIG5vUmVzdHJpY3RlZFR5cGVzPzogSU5vUmVzdHJpY3RlZFR5cGVzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVzYWdlIG9mIHNlbnNpdGl2ZSBkYXRhIHN1Y2ggYXMgQVBJIGtleXMgYW5kIHRva2Vucy5cbiAgICovXG4gIG5vU2VjcmV0cz86IElOb1NlY3JldHNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IHN0YXRpYywgdmlzaWJsZSBlbGVtZW50cyAoc3VjaCBhcyBcXDxkaXY+KSB0aGF0IGhhdmUgY2xpY2sgaGFuZGxlcnMgdXNlIHRoZSB2YWxpZCByb2xlIGF0dHJpYnV0ZS5cbiAgICovXG4gIG5vU3RhdGljRWxlbWVudEludGVyYWN0aW9ucz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhlIHVzZSBvZiBTdHJpbmcuc2xpY2UoKSBvdmVyIFN0cmluZy5zdWJzdHIoKSBhbmQgU3RyaW5nLnN1YnN0cmluZygpLlxuICAgKi9cbiAgbm9TdWJzdHI/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0ZW1wbGF0ZSBsaXRlcmFsIHBsYWNlaG9sZGVyIHN5bnRheCBpbiByZWd1bGFyIHN0cmluZ3MuXG4gICAqL1xuICBub1RlbXBsYXRlQ3VybHlJblN0cmluZz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVua25vd24gcHNldWRvLWNsYXNzIHNlbGVjdG9ycy5cbiAgICovXG4gIG5vVW5rbm93blBzZXVkb0NsYXNzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biBwc2V1ZG8tZWxlbWVudCBzZWxlY3RvcnMuXG4gICAqL1xuICBub1Vua25vd25Qc2V1ZG9FbGVtZW50PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5rbm93biB0eXBlIHNlbGVjdG9ycy5cbiAgICovXG4gIG5vVW5rbm93blR5cGVTZWxlY3Rvcj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVubmVjZXNzYXJ5IGVzY2FwZSBzZXF1ZW5jZSBpbiByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbHMuXG4gICAqL1xuICBub1VzZWxlc3NFc2NhcGVJblJlZ2V4PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdW5uZWNlc3NhcnkgU3RyaW5nLnJhdyBmdW5jdGlvbiBpbiB0ZW1wbGF0ZSBzdHJpbmcgbGl0ZXJhbHMgd2l0aG91dCBhbnkgZXNjYXBlIHNlcXVlbmNlLlxuICAgKi9cbiAgbm9Vc2VsZXNzU3RyaW5nUmF3PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlIG9mIEB2YWx1ZSBydWxlIGluIGNzcyBtb2R1bGVzLlxuICAgKi9cbiAgbm9WYWx1ZUF0UnVsZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIG92ZXJsb2FkIHNpZ25hdHVyZXMgdGhhdCBhcmUgbm90IG5leHQgdG8gZWFjaCBvdGhlci5cbiAgICovXG4gIHVzZUFkamFjZW50T3ZlcmxvYWRTaWduYXR1cmVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGF0IEFSSUEgcHJvcGVydGllcyBhcmUgdmFsaWQgZm9yIHRoZSByb2xlcyB0aGF0IGFyZSBzdXBwb3J0ZWQgYnkgdGhlIGVsZW1lbnQuXG4gICAqL1xuICB1c2VBcmlhUHJvcHNTdXBwb3J0ZWRCeVJvbGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBVc2UgYXQoKSBpbnN0ZWFkIG9mIGludGVnZXIgaW5kZXggYWNjZXNzLlxuICAgKi9cbiAgdXNlQXRJbmRleD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdXNpbmcgc2luZ2xlIGlmIGluc3RlYWQgb2YgbmVzdGVkIGlmIGNsYXVzZXMuXG4gICAqL1xuICB1c2VDb2xsYXBzZWRJZj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgZGVjbGFyaW5nIGNvbXBvbmVudHMgb25seSB3aXRoaW4gbW9kdWxlcyB0aGF0IGV4cG9ydCBSZWFjdCBDb21wb25lbnRzIGV4Y2x1c2l2ZWx5LlxuICAgKi9cbiAgdXNlQ29tcG9uZW50RXhwb3J0T25seU1vZHVsZXM/OiBJVXNlQ29tcG9uZW50RXhwb3J0T25seU1vZHVsZXNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogVGhpcyBydWxlIGVuZm9yY2VzIGNvbnNpc3RlbnQgdXNlIG9mIGN1cmx5IGJyYWNlcyBpbnNpZGUgSlNYIGF0dHJpYnV0ZXMgYW5kIEpTWCBjaGlsZHJlbi5cbiAgICovXG4gIHVzZUNvbnNpc3RlbnRDdXJseUJyYWNlcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgY29uc2lzdGVudCBhY2Nlc3NpYmlsaXR5IG1vZGlmaWVycyBvbiBjbGFzcyBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLlxuICAgKi9cbiAgdXNlQ29uc2lzdGVudE1lbWJlckFjY2Vzc2liaWxpdHk/OiBJQ29uc2lzdGVudE1lbWJlckFjY2Vzc2liaWxpdHlDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBzcGVjaWZ5aW5nIHRoZSByZWFzb24gYXJndW1lbnQgd2hlbiB1c2luZyBAZGVwcmVjYXRlZCBkaXJlY3RpdmVcbiAgICovXG4gIHVzZURlcHJlY2F0ZWRSZWFzb24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSZXF1aXJlIGV4cGxpY2l0IHJldHVybiB0eXBlcyBvbiBmdW5jdGlvbnMgYW5kIGNsYXNzIG1ldGhvZHMuXG4gICAqL1xuICB1c2VFeHBsaWNpdFR5cGU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlcyB0aGUgdXNlIG9mIGEgcmVjb21tZW5kZWQgZGlzcGxheSBzdHJhdGVneSB3aXRoIEdvb2dsZSBGb250cy5cbiAgICovXG4gIHVzZUdvb2dsZUZvbnREaXNwbGF5PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSBmb3ItaW4gbG9vcHMgdG8gaW5jbHVkZSBhbiBpZiBzdGF0ZW1lbnQuXG4gICAqL1xuICB1c2VHdWFyZEZvckluPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3dzIHBhY2thZ2UgcHJpdmF0ZSBpbXBvcnRzLlxuICAgKi9cbiAgdXNlSW1wb3J0UmVzdHJpY3Rpb25zPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgc29ydGluZyBvZiBDU1MgdXRpbGl0eSBjbGFzc2VzLlxuICAgKi9cbiAgdXNlU29ydGVkQ2xhc3Nlcz86IElVdGlsaXR5Q2xhc3NTb3J0aW5nQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdGhlIHVzZSBvZiB0aGUgZGlyZWN0aXZlIFwidXNlIHN0cmljdFwiIGluIHNjcmlwdCBmaWxlcy5cbiAgICovXG4gIHVzZVN0cmljdE1vZGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHRoZSB1c2Ugb2YgU3RyaW5nLnRyaW1TdGFydCgpIGFuZCBTdHJpbmcudHJpbUVuZCgpIG92ZXIgU3RyaW5nLnRyaW1MZWZ0KCkgYW5kIFN0cmluZy50cmltUmlnaHQoKS5cbiAgICovXG4gIHVzZVRyaW1TdGFydEVuZD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFVzZSB2YWxpZCB2YWx1ZXMgZm9yIHRoZSBhdXRvY29tcGxldGUgYXR0cmlidXRlIG9uIGlucHV0IGVsZW1lbnRzLlxuICAgKi9cbiAgdXNlVmFsaWRBdXRvY29tcGxldGU/OiBJVXNlVmFsaWRBdXRvY29tcGxldGVDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhSZXN0cmljdGVkSW1wb3J0c09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElSZXN0cmljdGVkSW1wb3J0c09wdGlvbnM7XG59XG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBydWxlIGBub1Jlc3RyaWN0ZWRJbXBvcnRzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUmVzdHJpY3RlZEltcG9ydHNPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBuYW1lcyB0aGF0IHNob3VsZCB0cmlnZ2VyIHRoZSBydWxlXG4gICAqL1xuICBwYXRocz86IHtcbiAgICBbazogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhOb1Jlc3RyaWN0ZWRUeXBlc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGtpbmQgb2YgdGhlIGNvZGUgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlXG4gICAqL1xuICBmaXg/OiBJRml4S2luZDtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJTm9SZXN0cmljdGVkVHlwZXNPcHRpb25zO1xufVxuZXhwb3J0IGludGVyZmFjZSBJTm9SZXN0cmljdGVkVHlwZXNPcHRpb25zIHtcbiAgdHlwZXM/OiB7XG4gICAgW2s6IHN0cmluZ106IElDdXN0b21SZXN0cmljdGVkVHlwZTtcbiAgfTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVJlc3RyaWN0ZWRUeXBlT3B0aW9ucyB7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHVzZT86IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoTm9TZWNyZXRzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSU5vU2VjcmV0c09wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElOb1NlY3JldHNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNldCBlbnRyb3B5IHRocmVzaG9sZCAoZGVmYXVsdCBpcyA0MSkuXG4gICAqL1xuICBlbnRyb3B5VGhyZXNob2xkPzogbnVtYmVyO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc09wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElVc2VDb21wb25lbnRFeHBvcnRPbmx5TW9kdWxlc09wdGlvbnMge1xuICAvKipcbiAgICogQWxsb3dzIHRoZSBleHBvcnQgb2YgY29uc3RhbnRzLiBUaGlzIG9wdGlvbiBpcyBmb3IgZW52aXJvbm1lbnRzIHRoYXQgc3VwcG9ydCBpdCwgc3VjaCBhcyBbVml0ZV0oaHR0cHM6Ly92aXRlanMuZGV2LylcbiAgICovXG4gIGFsbG93Q29uc3RhbnRFeHBvcnQ/OiBib29sZWFuO1xuICAvKipcbiAgICogQSBsaXN0IG9mIG5hbWVzIHRoYXQgY2FuIGJlIGFkZGl0aW9uYWxseSBleHBvcnRlZCBmcm9tIHRoZSBtb2R1bGUgVGhpcyBvcHRpb24gaXMgZm9yIGV4cG9ydHMgdGhhdCBkbyBub3QgaGluZGVyIFtSZWFjdCBGYXN0IFJlZnJlc2hdKGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL21haW4vcGFja2FnZXMvcmVhY3QtcmVmcmVzaCksIHN1Y2ggYXMgW2BtZXRhYCBpbiBSZW1peF0oaHR0cHM6Ly9yZW1peC5ydW4vZG9jcy9lbi9tYWluL3JvdXRlL21ldGEpXG4gICAqL1xuICBhbGxvd0V4cG9ydE5hbWVzPzogc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aENvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5T3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnNpc3RlbnRNZW1iZXJBY2Nlc3NpYmlsaXR5T3B0aW9ucyB7XG4gIGFjY2Vzc2liaWxpdHk/OiBJQWNjZXNzaWJpbGl0eSAmIHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoVXRpbGl0eUNsYXNzU29ydGluZ09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGtpbmQgb2YgdGhlIGNvZGUgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlXG4gICAqL1xuICBmaXg/OiBJRml4S2luZDtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJVXRpbGl0eUNsYXNzU29ydGluZ09wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElVdGlsaXR5Q2xhc3NTb3J0aW5nT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGF0dHJpYnV0ZXMgdGhhdCB3aWxsIGJlIHNvcnRlZC5cbiAgICovXG4gIGF0dHJpYnV0ZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE5hbWVzIG9mIHRoZSBmdW5jdGlvbnMgb3IgdGFnZ2VkIHRlbXBsYXRlcyB0aGF0IHdpbGwgYmUgc29ydGVkLlxuICAgKi9cbiAgZnVuY3Rpb25zPzogc3RyaW5nW107XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aFVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSVVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVVzZVZhbGlkQXV0b2NvbXBsZXRlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBgaW5wdXRgIGxpa2UgY3VzdG9tIGNvbXBvbmVudHMgdGhhdCBzaG91bGQgYmUgY2hlY2tlZC5cbiAgICovXG4gIGlucHV0Q29tcG9uZW50cz86IHN0cmluZ1tdO1xufVxuLyoqXG4gKiBBIGxpc3Qgb2YgcnVsZXMgdGhhdCBiZWxvbmcgdG8gdGhpcyBncm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQZXJmb3JtYW5jZSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHNwcmVhZCAoLi4uKSBzeW50YXggb24gYWNjdW11bGF0b3JzLlxuICAgKi9cbiAgbm9BY2N1bXVsYXRpbmdTcHJlYWQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIGJhcnJlbCBmaWxlLlxuICAgKi9cbiAgbm9CYXJyZWxGaWxlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiB0aGUgZGVsZXRlIG9wZXJhdG9yLlxuICAgKi9cbiAgbm9EZWxldGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBBdm9pZCByZS1leHBvcnQgYWxsLlxuICAgKi9cbiAgbm9SZUV4cG9ydEFsbD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZXF1aXJlIHJlZ2V4IGxpdGVyYWxzIHRvIGJlIGRlY2xhcmVkIGF0IHRoZSB0b3AgbGV2ZWwuXG4gICAqL1xuICB1c2VUb3BMZXZlbFJlZ2V4PzogSVJ1bGVDb25maWd1cmF0aW9uO1xufVxuLyoqXG4gKiBBIGxpc3Qgb2YgcnVsZXMgdGhhdCBiZWxvbmcgdG8gdGhpcyBncm91cFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTZWN1cml0eSB7XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIEFMTCBydWxlcyBmb3IgdGhpcyBncm91cC5cbiAgICovXG4gIGFsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQcmV2ZW50IHRoZSB1c2FnZSBvZiBkYW5nZXJvdXMgSlNYIHByb3BzXG4gICAqL1xuICBub0Rhbmdlcm91c2x5U2V0SW5uZXJIdG1sPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVwb3J0IHdoZW4gYSBET00gZWxlbWVudCBvciBhIGNvbXBvbmVudCB1c2VzIGJvdGggY2hpbGRyZW4gYW5kIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIHByb3AuXG4gICAqL1xuICBub0Rhbmdlcm91c2x5U2V0SW5uZXJIdG1sV2l0aENoaWxkcmVuPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBnbG9iYWwgZXZhbCgpLlxuICAgKi9cbiAgbm9HbG9iYWxFdmFsPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogSXQgZW5hYmxlcyB0aGUgcmVjb21tZW5kZWQgcnVsZXMgZm9yIHRoaXMgZ3JvdXBcbiAgICovXG4gIHJlY29tbWVuZGVkPzogYm9vbGVhbjtcbn1cbi8qKlxuICogQSBsaXN0IG9mIHJ1bGVzIHRoYXQgYmVsb25nIHRvIHRoaXMgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU3R5bGUge1xuICAvKipcbiAgICogSXQgZW5hYmxlcyBBTEwgcnVsZXMgZm9yIHRoaXMgZ3JvdXAuXG4gICAqL1xuICBhbGw/OiBib29sZWFuO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBhcmd1bWVudHMuXG4gICAqL1xuICBub0FyZ3VtZW50cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbW1hIG9wZXJhdG9yLlxuICAgKi9cbiAgbm9Db21tYU9wZXJhdG9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZGVmYXVsdCBleHBvcnRzLlxuICAgKi9cbiAgbm9EZWZhdWx0RXhwb3J0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgYSBjYWxsYmFjayBpbiBhc3luY2hyb25vdXMgdGVzdHMgYW5kIGhvb2tzLlxuICAgKi9cbiAgbm9Eb25lQ2FsbGJhY2s/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBpbXBsaWNpdCB0cnVlIHZhbHVlcyBvbiBKU1ggYm9vbGVhbiBhdHRyaWJ1dGVzXG4gICAqL1xuICBub0ltcGxpY2l0Qm9vbGVhbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHR5cGUgYW5ub3RhdGlvbnMgZm9yIHZhcmlhYmxlcywgcGFyYW1ldGVycywgYW5kIGNsYXNzIHByb3BlcnRpZXMgaW5pdGlhbGl6ZWQgd2l0aCBhIGxpdGVyYWwgZXhwcmVzc2lvbi5cbiAgICovXG4gIG5vSW5mZXJyYWJsZVR5cGVzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBUeXBlU2NyaXB0J3MgbmFtZXNwYWNlcy5cbiAgICovXG4gIG5vTmFtZXNwYWNlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBuYW1lc3BhY2UgaW1wb3J0cy5cbiAgICovXG4gIG5vTmFtZXNwYWNlSW1wb3J0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgbmVnYXRpb24gaW4gdGhlIGNvbmRpdGlvbiBvZiBhbiBpZiBzdGF0ZW1lbnQgaWYgaXQgaGFzIGFuIGVsc2UgY2xhdXNlLlxuICAgKi9cbiAgbm9OZWdhdGlvbkVsc2U/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBub24tbnVsbCBhc3NlcnRpb25zIHVzaW5nIHRoZSAhIHBvc3RmaXggb3BlcmF0b3IuXG4gICAqL1xuICBub05vbk51bGxBc3NlcnRpb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyByZWFzc2lnbmluZyBmdW5jdGlvbiBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgbm9QYXJhbWV0ZXJBc3NpZ24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgdXNlIG9mIHBhcmFtZXRlciBwcm9wZXJ0aWVzIGluIGNsYXNzIGNvbnN0cnVjdG9ycy5cbiAgICovXG4gIG5vUGFyYW1ldGVyUHJvcGVydGllcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSBhbGxvd3MgeW91IHRvIHNwZWNpZnkgZ2xvYmFsIHZhcmlhYmxlIG5hbWVzIHRoYXQgeW91IGRvbuKAmXQgd2FudCB0byB1c2UgaW4geW91ciBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUmVzdHJpY3RlZEdsb2JhbHM/OiBJUmVzdHJpY3RlZEdsb2JhbHNDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBjb25zdGFudHMgd2hpY2ggaXRzIHZhbHVlIGlzIHRoZSB1cHBlci1jYXNlIHZlcnNpb24gb2YgaXRzIG5hbWUuXG4gICAqL1xuICBub1Nob3V0eUNvbnN0YW50cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRlbXBsYXRlIGxpdGVyYWxzIGlmIGludGVycG9sYXRpb24gYW5kIHNwZWNpYWwtY2hhcmFjdGVyIGhhbmRsaW5nIGFyZSBub3QgbmVlZGVkXG4gICAqL1xuICBub1VudXNlZFRlbXBsYXRlTGl0ZXJhbD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGVsc2UgYmxvY2sgd2hlbiB0aGUgaWYgYmxvY2sgYnJlYWtzIGVhcmx5LlxuICAgKi9cbiAgbm9Vc2VsZXNzRWxzZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgdmFyXG4gICAqL1xuICBub1Zhcj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgeW9kYSBleHByZXNzaW9ucy5cbiAgICovXG4gIG5vWW9kYUV4cHJlc3Npb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBJdCBlbmFibGVzIHRoZSByZWNvbW1lbmRlZCBydWxlcyBmb3IgdGhpcyBncm91cFxuICAgKi9cbiAgcmVjb21tZW5kZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgdXNlIG9mIGFzIGNvbnN0IG92ZXIgbGl0ZXJhbCB0eXBlIGFuZCB0eXBlIGFubm90YXRpb24uXG4gICAqL1xuICB1c2VBc0NvbnN0QXNzZXJ0aW9uPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZXMgZm9sbG93aW5nIGN1cmx5IGJyYWNlIGNvbnZlbnRpb25zLlxuICAgKi9cbiAgdXNlQmxvY2tTdGF0ZW1lbnRzPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB1c2luZyBlbHNlIGlmIGluc3RlYWQgb2YgbmVzdGVkIGlmIGluIGVsc2UgY2xhdXNlcy5cbiAgICovXG4gIHVzZUNvbGxhcHNlZEVsc2VJZj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgY29uc2lzdGVudGx5IHVzaW5nIGVpdGhlciBUXFxbXSBvciBBcnJheVxcPFQ+XG4gICAqL1xuICB1c2VDb25zaXN0ZW50QXJyYXlUeXBlPzogSUNvbnNpc3RlbnRBcnJheVR5cGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgdXNlIG9mIG5ldyBmb3IgYWxsIGJ1aWx0aW5zLCBleGNlcHQgU3RyaW5nLCBOdW1iZXIgYW5kIEJvb2xlYW4uXG4gICAqL1xuICB1c2VDb25zaXN0ZW50QnVpbHRpbkluc3RhbnRpYXRpb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSZXF1aXJlIGNvbnN0IGRlY2xhcmF0aW9ucyBmb3IgdmFyaWFibGVzIHRoYXQgYXJlIG9ubHkgYXNzaWduZWQgb25jZS5cbiAgICovXG4gIHVzZUNvbnN0PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBkZWZhdWx0IGZ1bmN0aW9uIHBhcmFtZXRlcnMgYW5kIG9wdGlvbmFsIGZ1bmN0aW9uIHBhcmFtZXRlcnMgdG8gYmUgbGFzdC5cbiAgICovXG4gIHVzZURlZmF1bHRQYXJhbWV0ZXJMYXN0PzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSB0aGUgZGVmYXVsdCBjbGF1c2UgaW4gc3dpdGNoIHN0YXRlbWVudHMuXG4gICAqL1xuICB1c2VEZWZhdWx0U3dpdGNoQ2xhdXNlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUmVxdWlyZSB0aGF0IGVhY2ggZW51bSBtZW1iZXIgdmFsdWUgYmUgZXhwbGljaXRseSBpbml0aWFsaXplZC5cbiAgICovXG4gIHVzZUVudW1Jbml0aWFsaXplcnM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIGV4cGxpY2l0bHkgY29tcGFyaW5nIHRoZSBsZW5ndGgsIHNpemUsIGJ5dGVMZW5ndGggb3IgYnl0ZU9mZnNldCBwcm9wZXJ0eSBvZiBhIHZhbHVlLlxuICAgKi9cbiAgdXNlRXhwbGljaXRMZW5ndGhDaGVjaz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgTWF0aC5wb3cgaW4gZmF2b3Igb2YgdGhlICoqIG9wZXJhdG9yLlxuICAgKi9cbiAgdXNlRXhwb25lbnRpYXRpb25PcGVyYXRvcj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2Ugb2YgZXhwb3J0IHR5cGUgZm9yIHR5cGVzLlxuICAgKi9cbiAgdXNlRXhwb3J0VHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgbmFtaW5nIGNvbnZlbnRpb25zIGZvciBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVuYW1lcy5cbiAgICovXG4gIHVzZUZpbGVuYW1pbmdDb252ZW50aW9uPzogSUZpbGVuYW1pbmdDb252ZW50aW9uQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSByZWNvbW1lbmRzIGEgZm9yLW9mIGxvb3Agd2hlbiBpbiBhIGZvciBsb29wLCB0aGUgaW5kZXggdXNlZCB0byBleHRyYWN0IGFuIGl0ZW0gZnJvbSB0aGUgaXRlcmF0ZWQgYXJyYXkuXG4gICAqL1xuICB1c2VGb3JPZj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoaXMgcnVsZSBlbmZvcmNlcyB0aGUgdXNlIG9mIFxcPD4uLi5cXDwvPiBvdmVyIFxcPEZyYWdtZW50Pi4uLlxcPC9GcmFnbWVudD4uXG4gICAqL1xuICB1c2VGcmFnbWVudFN5bnRheD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2Ugb2YgaW1wb3J0IHR5cGUgZm9yIHR5cGVzLlxuICAgKi9cbiAgdXNlSW1wb3J0VHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgYWxsIGVudW0gbWVtYmVycyB0byBiZSBsaXRlcmFsIHZhbHVlcy5cbiAgICovXG4gIHVzZUxpdGVyYWxFbnVtTWVtYmVycz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgbmFtaW5nIGNvbnZlbnRpb25zIGZvciBldmVyeXRoaW5nIGFjcm9zcyBhIGNvZGViYXNlLlxuICAgKi9cbiAgdXNlTmFtaW5nQ29udmVudGlvbj86IElOYW1pbmdDb252ZW50aW9uQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByb21vdGVzIHRoZSB1c2FnZSBvZiBub2RlOmFzc2VydC9zdHJpY3Qgb3ZlciBub2RlOmFzc2VydC5cbiAgICovXG4gIHVzZU5vZGVBc3NlcnRTdHJpY3Q/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlcyB1c2luZyB0aGUgbm9kZTogcHJvdG9jb2wgZm9yIE5vZGUuanMgYnVpbHRpbiBtb2R1bGVzLlxuICAgKi9cbiAgdXNlTm9kZWpzSW1wb3J0UHJvdG9jb2w/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBVc2UgdGhlIE51bWJlciBwcm9wZXJ0aWVzIGluc3RlYWQgb2YgZ2xvYmFsIG9uZXMuXG4gICAqL1xuICB1c2VOdW1iZXJOYW1lc3BhY2U/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBwYXJzZUludCgpIGFuZCBOdW1iZXIucGFyc2VJbnQoKSBpbiBmYXZvciBvZiBiaW5hcnksIG9jdGFsLCBhbmQgaGV4YWRlY2ltYWwgbGl0ZXJhbHNcbiAgICovXG4gIHVzZU51bWVyaWNMaXRlcmFscz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnQgZXh0cmEgY2xvc2luZyB0YWdzIGZvciBjb21wb25lbnRzIHdpdGhvdXQgY2hpbGRyZW5cbiAgICovXG4gIHVzZVNlbGZDbG9zaW5nRWxlbWVudHM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBXaGVuIGV4cHJlc3NpbmcgYXJyYXkgdHlwZXMsIHRoaXMgcnVsZSBwcm9tb3RlcyB0aGUgdXNhZ2Ugb2YgVFxcW10gc2hvcnRoYW5kIGluc3RlYWQgb2YgQXJyYXlcXDxUPi5cbiAgICovXG4gIHVzZVNob3J0aGFuZEFycmF5VHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgYXNzaWdubWVudCBvcGVyYXRvciBzaG9ydGhhbmQgd2hlcmUgcG9zc2libGUuXG4gICAqL1xuICB1c2VTaG9ydGhhbmRBc3NpZ24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHVzaW5nIGZ1bmN0aW9uIHR5cGVzIGluc3RlYWQgb2Ygb2JqZWN0IHR5cGUgd2l0aCBjYWxsIHNpZ25hdHVyZXMuXG4gICAqL1xuICB1c2VTaG9ydGhhbmRGdW5jdGlvblR5cGU/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlcyBzd2l0Y2ggY2xhdXNlcyBoYXZlIGEgc2luZ2xlIHN0YXRlbWVudCwgZW1pdHMgYSBxdWljayBmaXggd3JhcHBpbmcgdGhlIHN0YXRlbWVudHMgaW4gYSBibG9jay5cbiAgICovXG4gIHVzZVNpbmdsZUNhc2VTdGF0ZW1lbnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBtdWx0aXBsZSB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgaW4gdGhlIHNhbWUgdmFyaWFibGUgc3RhdGVtZW50XG4gICAqL1xuICB1c2VTaW5nbGVWYXJEZWNsYXJhdG9yPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJlZmVyIHRlbXBsYXRlIGxpdGVyYWxzIG92ZXIgc3RyaW5nIGNvbmNhdGVuYXRpb24uXG4gICAqL1xuICB1c2VUZW1wbGF0ZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgbmV3IHdoZW4gdGhyb3dpbmcgYW4gZXJyb3IuXG4gICAqL1xuICB1c2VUaHJvd05ld0Vycm9yPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhyb3dpbmcgbm9uLUVycm9yIHZhbHVlcy5cbiAgICovXG4gIHVzZVRocm93T25seUVycm9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSB0aGUgdXNlIG9mIHdoaWxlIGxvb3BzIGluc3RlYWQgb2YgZm9yIGxvb3BzIHdoZW4gdGhlIGluaXRpYWxpemVyIGFuZCB1cGRhdGUgZXhwcmVzc2lvbnMgYXJlIG5vdCBuZWVkZWQuXG4gICAqL1xuICB1c2VXaGlsZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bGVXaXRoUmVzdHJpY3RlZEdsb2JhbHNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJUmVzdHJpY3RlZEdsb2JhbHNPcHRpb25zO1xufVxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgcnVsZSBgbm9SZXN0cmljdGVkR2xvYmFsc2AuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlc3RyaWN0ZWRHbG9iYWxzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbmFtZXMgdGhhdCBzaG91bGQgdHJpZ2dlciB0aGUgcnVsZVxuICAgKi9cbiAgZGVuaWVkR2xvYmFscz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhDb25zaXN0ZW50QXJyYXlUeXBlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUga2luZCBvZiB0aGUgY29kZSBhY3Rpb25zIGVtaXR0ZWQgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGZpeD86IElGaXhLaW5kO1xuICAvKipcbiAgICogVGhlIHNldmVyaXR5IG9mIHRoZSBlbWl0dGVkIGRpYWdub3N0aWNzIGJ5IHRoZSBydWxlXG4gICAqL1xuICBsZXZlbDogSVJ1bGVQbGFpbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSdWxlJ3Mgb3B0aW9uc1xuICAgKi9cbiAgb3B0aW9ucz86IElDb25zaXN0ZW50QXJyYXlUeXBlT3B0aW9ucztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnNpc3RlbnRBcnJheVR5cGVPcHRpb25zIHtcbiAgc3ludGF4PzogSUNvbnNpc3RlbnRBcnJheVR5cGUgJiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aEZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSUZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucztcbn1cbi8qKlxuICogUnVsZSdzIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZpbGVuYW1pbmdDb252ZW50aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBbGxvd2VkIGNhc2VzIGZvciBmaWxlIG5hbWVzLlxuICAgKi9cbiAgZmlsZW5hbWVDYXNlcz86IElGaWxlbmFtZUNhc2VzO1xuICAvKipcbiAgICogSWYgYGZhbHNlYCwgdGhlbiBub24tQVNDSUkgY2hhcmFjdGVycyBhcmUgYWxsb3dlZC5cbiAgICovXG4gIHJlcXVpcmVBc2NpaT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiBgZmFsc2VgLCB0aGVuIGNvbnNlY3V0aXZlIHVwcGVyY2FzZSBhcmUgYWxsb3dlZCBpbiBfY2FtZWxfIGFuZCBfcGFzY2FsXyBjYXNlcy4gVGhpcyBkb2VzIG5vdCBhZmZlY3Qgb3RoZXIgW0Nhc2VdLlxuICAgKi9cbiAgc3RyaWN0Q2FzZT86IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIElSdWxlV2l0aE5hbWluZ0NvbnZlbnRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIHRoZSBjb2RlIGFjdGlvbnMgZW1pdHRlZCBieSB0aGUgcnVsZVxuICAgKi9cbiAgZml4PzogSUZpeEtpbmQ7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSU5hbWluZ0NvbnZlbnRpb25PcHRpb25zO1xufVxuLyoqXG4gKiBSdWxlJ3Mgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTmFtaW5nQ29udmVudGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGNvbnZlbnRpb25zLlxuICAgKi9cbiAgY29udmVudGlvbnM/OiBJQ29udmVudGlvbltdO1xuICAvKipcbiAgICogQWxsb3dlZCBjYXNlcyBmb3IgX1R5cGVTY3JpcHRfIGBlbnVtYCBtZW1iZXIgbmFtZXMuXG4gICAqL1xuICBlbnVtTWVtYmVyQ2FzZT86IElGb3JtYXQ7XG4gIC8qKlxuICAgKiBJZiBgZmFsc2VgLCB0aGVuIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGFyZSBhbGxvd2VkLlxuICAgKi9cbiAgcmVxdWlyZUFzY2lpPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIGBmYWxzZWAsIHRoZW4gY29uc2VjdXRpdmUgdXBwZXJjYXNlIGFyZSBhbGxvd2VkIGluIF9jYW1lbF8gYW5kIF9wYXNjYWxfIGNhc2VzLiBUaGlzIGRvZXMgbm90IGFmZmVjdCBvdGhlciBbQ2FzZV0uXG4gICAqL1xuICBzdHJpY3RDYXNlPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnZlbnRpb24ge1xuICAvKipcbiAgICogU3RyaW5nIGNhc2VzIHRvIGVuZm9yY2VcbiAgICovXG4gIGZvcm1hdHM/OiBJRm9ybWF0cztcbiAgLyoqXG4gICAqIFJlZ3VsYXIgZXhwcmVzc2lvbiB0byBlbmZvcmNlXG4gICAqL1xuICBtYXRjaD86IElSZWdleDtcbiAgLyoqXG4gICAqIERlY2xhcmF0aW9ucyBjb25jZXJuZWQgYnkgdGhpcyBjb252ZW50aW9uXG4gICAqL1xuICBzZWxlY3Rvcj86IElTZWxlY3Rvcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdG9yIHtcbiAgLyoqXG4gICAqIERlY2xhcmF0aW9uIGtpbmRcbiAgICovXG4gIGtpbmQ/OiBJS2luZDtcbiAgLyoqXG4gICAqIE1vZGlmaWVycyB1c2VkIG9uIHRoZSBkZWNsYXJhdGlvblxuICAgKi9cbiAgbW9kaWZpZXJzPzogSU1vZGlmaWVycztcbiAgLyoqXG4gICAqIFNjb3BlIG9mIHRoZSBkZWNsYXJhdGlvblxuICAgKi9cbiAgc2NvcGU/OiBJU2NvcGU7XG59XG4vKipcbiAqIEEgbGlzdCBvZiBydWxlcyB0aGF0IGJlbG9uZyB0byB0aGlzIGdyb3VwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVN1c3BpY2lvdXMge1xuICAvKipcbiAgICogSXQgZW5hYmxlcyBBTEwgcnVsZXMgZm9yIHRoaXMgZ3JvdXAuXG4gICAqL1xuICBhbGw/OiBib29sZWFuO1xuICAvKipcbiAgICogVXNlIHN0YW5kYXJkIGNvbnN0YW50cyBpbnN0ZWFkIG9mIGFwcHJveGltYXRlZCBsaXRlcmFscy5cbiAgICovXG4gIG5vQXBwcm94aW1hdGl2ZU51bWVyaWNDb25zdGFudD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2NvdXJhZ2UgdGhlIHVzYWdlIG9mIEFycmF5IGluZGV4IGluIGtleXMuXG4gICAqL1xuICBub0FycmF5SW5kZXhLZXk/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBhc3NpZ25tZW50cyBpbiBleHByZXNzaW9ucy5cbiAgICovXG4gIG5vQXNzaWduSW5FeHByZXNzaW9ucz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93cyB1c2luZyBhbiBhc3luYyBmdW5jdGlvbiBhcyBhIFByb21pc2UgZXhlY3V0b3IuXG4gICAqL1xuICBub0FzeW5jUHJvbWlzZUV4ZWN1dG9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgcmVhc3NpZ25pbmcgZXhjZXB0aW9ucyBpbiBjYXRjaCBjbGF1c2VzLlxuICAgKi9cbiAgbm9DYXRjaEFzc2lnbj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHJlYXNzaWduaW5nIGNsYXNzIG1lbWJlcnMuXG4gICAqL1xuICBub0NsYXNzQXNzaWduPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUHJldmVudCBjb21tZW50cyBmcm9tIGJlaW5nIGluc2VydGVkIGFzIHRleHQgbm9kZXNcbiAgICovXG4gIG5vQ29tbWVudFRleHQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBjb21wYXJpbmcgYWdhaW5zdCAtMFxuICAgKi9cbiAgbm9Db21wYXJlTmVnWmVybz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGxhYmVsZWQgc3RhdGVtZW50cyB0aGF0IGFyZSBub3QgbG9vcHMuXG4gICAqL1xuICBub0NvbmZ1c2luZ0xhYmVscz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHZvaWQgdHlwZSBvdXRzaWRlIG9mIGdlbmVyaWMgb3IgcmV0dXJuIHR5cGVzLlxuICAgKi9cbiAgbm9Db25mdXNpbmdWb2lkVHlwZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgY29uc29sZS5cbiAgICovXG4gIG5vQ29uc29sZT86IElOb0NvbnNvbGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIHVzZSBvZiBjb25zb2xlLmxvZ1xuICAgKi9cbiAgbm9Db25zb2xlTG9nPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgVHlwZVNjcmlwdCBjb25zdCBlbnVtXG4gICAqL1xuICBub0NvbnN0RW51bT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIGZyb20gaGF2aW5nIGNvbnRyb2wgY2hhcmFjdGVycyBhbmQgc29tZSBlc2NhcGUgc2VxdWVuY2VzIHRoYXQgbWF0Y2ggY29udHJvbCBjaGFyYWN0ZXJzIGluIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAqL1xuICBub0NvbnRyb2xDaGFyYWN0ZXJzSW5SZWdleD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZSB1c2Ugb2YgZGVidWdnZXJcbiAgICovXG4gIG5vRGVidWdnZXI/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBSZXF1aXJlIHRoZSB1c2Ugb2YgPT09IGFuZCAhPT0uXG4gICAqL1xuICBub0RvdWJsZUVxdWFscz86IElOb0RvdWJsZUVxdWFsc0NvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBkdXBsaWNhdGUgQGltcG9ydCBydWxlcy5cbiAgICovXG4gIG5vRHVwbGljYXRlQXRJbXBvcnRSdWxlcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBjYXNlIGxhYmVscy5cbiAgICovXG4gIG5vRHVwbGljYXRlQ2FzZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBjbGFzcyBtZW1iZXJzLlxuICAgKi9cbiAgbm9EdXBsaWNhdGVDbGFzc01lbWJlcnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBkdXBsaWNhdGUgbmFtZXMgd2l0aGluIGZvbnQgZmFtaWxpZXMuXG4gICAqL1xuICBub0R1cGxpY2F0ZUZvbnROYW1lcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIEpTWCBwcm9wZXJ0aWVzIHRvIGJlIGFzc2lnbmVkIG11bHRpcGxlIHRpbWVzLlxuICAgKi9cbiAgbm9EdXBsaWNhdGVKc3hQcm9wcz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHR3byBrZXlzIHdpdGggdGhlIHNhbWUgbmFtZSBpbnNpZGUgb2JqZWN0cy5cbiAgICovXG4gIG5vRHVwbGljYXRlT2JqZWN0S2V5cz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBmdW5jdGlvbiBwYXJhbWV0ZXIgbmFtZS5cbiAgICovXG4gIG5vRHVwbGljYXRlUGFyYW1ldGVycz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGR1cGxpY2F0ZSBzZWxlY3RvcnMgd2l0aGluIGtleWZyYW1lIGJsb2Nrcy5cbiAgICovXG4gIG5vRHVwbGljYXRlU2VsZWN0b3JzS2V5ZnJhbWVCbG9jaz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEEgZGVzY3JpYmUgYmxvY2sgc2hvdWxkIG5vdCBjb250YWluIGR1cGxpY2F0ZSBob29rcy5cbiAgICovXG4gIG5vRHVwbGljYXRlVGVzdEhvb2tzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgQ1NTIGVtcHR5IGJsb2Nrcy5cbiAgICovXG4gIG5vRW1wdHlCbG9jaz86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGVtcHR5IGJsb2NrIHN0YXRlbWVudHMgYW5kIHN0YXRpYyBibG9ja3MuXG4gICAqL1xuICBub0VtcHR5QmxvY2tTdGF0ZW1lbnRzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdGhlIGRlY2xhcmF0aW9uIG9mIGVtcHR5IGludGVyZmFjZXMuXG4gICAqL1xuICBub0VtcHR5SW50ZXJmYWNlPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdmFyaWFibGVzIGZyb20gZXZvbHZpbmcgaW50byBhbnkgdHlwZSB0aHJvdWdoIHJlYXNzaWdubWVudHMuXG4gICAqL1xuICBub0V2b2x2aW5nVHlwZXM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyB0aGUgYW55IHR5cGUgdXNhZ2UuXG4gICAqL1xuICBub0V4cGxpY2l0QW55PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgZXhwb3J0IG9yIG1vZHVsZS5leHBvcnRzIGluIGZpbGVzIGNvbnRhaW5pbmcgdGVzdHNcbiAgICovXG4gIG5vRXhwb3J0c0luVGVzdD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFByZXZlbnRzIHRoZSB3cm9uZyB1c2FnZSBvZiB0aGUgbm9uLW51bGwgYXNzZXJ0aW9uIG9wZXJhdG9yICghKSBpbiBUeXBlU2NyaXB0IGZpbGVzLlxuICAgKi9cbiAgbm9FeHRyYU5vbk51bGxBc3NlcnRpb24/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmYWxsdGhyb3VnaCBvZiBzd2l0Y2ggY2xhdXNlcy5cbiAgICovXG4gIG5vRmFsbHRocm91Z2hTd2l0Y2hDbGF1c2U/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBmb2N1c2VkIHRlc3RzLlxuICAgKi9cbiAgbm9Gb2N1c2VkVGVzdHM/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyByZWFzc2lnbmluZyBmdW5jdGlvbiBkZWNsYXJhdGlvbnMuXG4gICAqL1xuICBub0Z1bmN0aW9uQXNzaWduPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgYXNzaWdubWVudHMgdG8gbmF0aXZlIG9iamVjdHMgYW5kIHJlYWQtb25seSBnbG9iYWwgdmFyaWFibGVzLlxuICAgKi9cbiAgbm9HbG9iYWxBc3NpZ24/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBVc2UgTnVtYmVyLmlzRmluaXRlIGluc3RlYWQgb2YgZ2xvYmFsIGlzRmluaXRlLlxuICAgKi9cbiAgbm9HbG9iYWxJc0Zpbml0ZT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFVzZSBOdW1iZXIuaXNOYU4gaW5zdGVhZCBvZiBnbG9iYWwgaXNOYU4uXG4gICAqL1xuICBub0dsb2JhbElzTmFuPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNlIG9mIGltcGxpY2l0IGFueSB0eXBlIG9uIHZhcmlhYmxlIGRlY2xhcmF0aW9ucy5cbiAgICovXG4gIG5vSW1wbGljaXRBbnlMZXQ/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBhc3NpZ25pbmcgdG8gaW1wb3J0ZWQgYmluZGluZ3NcbiAgICovXG4gIG5vSW1wb3J0QXNzaWduPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgaW52YWxpZCAhaW1wb3J0YW50IHdpdGhpbiBrZXlmcmFtZSBkZWNsYXJhdGlvbnNcbiAgICovXG4gIG5vSW1wb3J0YW50SW5LZXlmcmFtZT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGxhYmVscyB0aGF0IHNoYXJlIGEgbmFtZSB3aXRoIGEgdmFyaWFibGVcbiAgICovXG4gIG5vTGFiZWxWYXI/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBEaXNhbGxvdyBjaGFyYWN0ZXJzIG1hZGUgd2l0aCBtdWx0aXBsZSBjb2RlIHBvaW50cyBpbiBjaGFyYWN0ZXIgY2xhc3Mgc3ludGF4LlxuICAgKi9cbiAgbm9NaXNsZWFkaW5nQ2hhcmFjdGVyQ2xhc3M/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIHByb3BlciB1c2FnZSBvZiBuZXcgYW5kIGNvbnN0cnVjdG9yLlxuICAgKi9cbiAgbm9NaXNsZWFkaW5nSW5zdGFudGlhdG9yPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogQ2hlY2tzIHRoYXQgdGhlIGFzc2VydGlvbiBmdW5jdGlvbiwgZm9yIGV4YW1wbGUgZXhwZWN0LCBpcyBwbGFjZWQgaW5zaWRlIGFuIGl0KCkgZnVuY3Rpb24gY2FsbC5cbiAgICovXG4gIG5vTWlzcGxhY2VkQXNzZXJ0aW9uPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgc2hvcnRoYW5kIGFzc2lnbiB3aGVuIHZhcmlhYmxlIGFwcGVhcnMgb24gYm90aCBzaWRlcy5cbiAgICovXG4gIG5vTWlzcmVmYWN0b3JlZFNob3J0aGFuZEFzc2lnbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGRpcmVjdCB1c2Ugb2YgT2JqZWN0LnByb3RvdHlwZSBidWlsdGlucy5cbiAgICovXG4gIG5vUHJvdG90eXBlQnVpbHRpbnM/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBQcmV2ZW50cyBSZWFjdC1zcGVjaWZpYyBKU1ggcHJvcGVydGllcyBmcm9tIGJlaW5nIHVzZWQuXG4gICAqL1xuICBub1JlYWN0U3BlY2lmaWNQcm9wcz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHZhcmlhYmxlLCBmdW5jdGlvbiwgY2xhc3MsIGFuZCB0eXBlIHJlZGVjbGFyYXRpb25zIGluIHRoZSBzYW1lIHNjb3BlLlxuICAgKi9cbiAgbm9SZWRlY2xhcmU/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBQcmV2ZW50cyBmcm9tIGhhdmluZyByZWR1bmRhbnQgXCJ1c2Ugc3RyaWN0XCIuXG4gICAqL1xuICBub1JlZHVuZGFudFVzZVN0cmljdD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IGNvbXBhcmlzb25zIHdoZXJlIGJvdGggc2lkZXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUuXG4gICAqL1xuICBub1NlbGZDb21wYXJlPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgaWRlbnRpZmllcnMgZnJvbSBzaGFkb3dpbmcgcmVzdHJpY3RlZCBuYW1lcy5cbiAgICovXG4gIG5vU2hhZG93UmVzdHJpY3RlZE5hbWVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgc2hvcnRoYW5kIHByb3BlcnRpZXMgdGhhdCBvdmVycmlkZSByZWxhdGVkIGxvbmdoYW5kIHByb3BlcnRpZXMuXG4gICAqL1xuICBub1Nob3J0aGFuZFByb3BlcnR5T3ZlcnJpZGVzPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgZGlzYWJsZWQgdGVzdHMuXG4gICAqL1xuICBub1NraXBwZWRUZXN0cz86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHNwYXJzZSBhcnJheXNcbiAgICovXG4gIG5vU3BhcnNlQXJyYXk/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBJdCBkZXRlY3RzIHBvc3NpYmxlIFwid3JvbmdcIiBzZW1pY29sb25zIGluc2lkZSBKU1ggZWxlbWVudHMuXG4gICAqL1xuICBub1N1c3BpY2lvdXNTZW1pY29sb25JbkpzeD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHRoZW4gcHJvcGVydHkuXG4gICAqL1xuICBub1RoZW5Qcm9wZXJ0eT86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIERpc2FsbG93IHVuc2FmZSBkZWNsYXJhdGlvbiBtZXJnaW5nIGJldHdlZW4gaW50ZXJmYWNlcyBhbmQgY2xhc3Nlcy5cbiAgICovXG4gIG5vVW5zYWZlRGVjbGFyYXRpb25NZXJnaW5nPzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRGlzYWxsb3cgdXNpbmcgdW5zYWZlIG5lZ2F0aW9uLlxuICAgKi9cbiAgbm9VbnNhZmVOZWdhdGlvbj86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEl0IGVuYWJsZXMgdGhlIHJlY29tbWVuZGVkIHJ1bGVzIGZvciB0aGlzIGdyb3VwXG4gICAqL1xuICByZWNvbW1lbmRlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbnN1cmUgYXN5bmMgZnVuY3Rpb25zIHV0aWxpemUgYXdhaXQuXG4gICAqL1xuICB1c2VBd2FpdD86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgZGVmYXVsdCBjbGF1c2VzIGluIHN3aXRjaCBzdGF0ZW1lbnRzIHRvIGJlIGxhc3RcbiAgICovXG4gIHVzZURlZmF1bHRTd2l0Y2hDbGF1c2VMYXN0PzogSVJ1bGVDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogRW5mb3JjZSBwYXNzaW5nIGEgbWVzc2FnZSB2YWx1ZSB3aGVuIGNyZWF0aW5nIGEgYnVpbHQtaW4gZXJyb3IuXG4gICAqL1xuICB1c2VFcnJvck1lc3NhZ2U/OiBJUnVsZUNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBFbmZvcmNlIGdldCBtZXRob2RzIHRvIGFsd2F5cyByZXR1cm4gYSB2YWx1ZS5cbiAgICovXG4gIHVzZUdldHRlclJldHVybj86IElSdWxlQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFVzZSBBcnJheS5pc0FycmF5KCkgaW5zdGVhZCBvZiBpbnN0YW5jZW9mIEFycmF5LlxuICAgKi9cbiAgdXNlSXNBcnJheT86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJlcXVpcmUgdXNpbmcgdGhlIG5hbWVzcGFjZSBrZXl3b3JkIG92ZXIgdGhlIG1vZHVsZSBrZXl3b3JkIHRvIGRlY2xhcmUgVHlwZVNjcmlwdCBuYW1lc3BhY2VzLlxuICAgKi9cbiAgdXNlTmFtZXNwYWNlS2V5d29yZD86IElSdWxlRml4Q29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIEVuZm9yY2UgdXNpbmcgdGhlIGRpZ2l0cyBhcmd1bWVudCB3aXRoIE51bWJlciN0b0ZpeGVkKCkuXG4gICAqL1xuICB1c2VOdW1iZXJUb0ZpeGVkRGlnaXRzQXJndW1lbnQ/OiBJUnVsZUZpeENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBUaGlzIHJ1bGUgdmVyaWZpZXMgdGhlIHJlc3VsdCBvZiB0eXBlb2YgJGV4cHIgdW5hcnkgZXhwcmVzc2lvbnMgaXMgYmVpbmcgY29tcGFyZWQgdG8gdmFsaWQgdmFsdWVzLCBlaXRoZXIgc3RyaW5nIGxpdGVyYWxzIGNvbnRhaW5pbmcgdmFsaWQgdHlwZSBuYW1lcyBvciBvdGhlciB0eXBlb2YgZXhwcmVzc2lvbnNcbiAgICovXG4gIHVzZVZhbGlkVHlwZW9mPzogSVJ1bGVGaXhDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhOb0NvbnNvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIHRoZSBjb2RlIGFjdGlvbnMgZW1pdHRlZCBieSB0aGUgcnVsZVxuICAgKi9cbiAgZml4PzogSUZpeEtpbmQ7XG4gIC8qKlxuICAgKiBUaGUgc2V2ZXJpdHkgb2YgdGhlIGVtaXR0ZWQgZGlhZ25vc3RpY3MgYnkgdGhlIHJ1bGVcbiAgICovXG4gIGxldmVsOiBJUnVsZVBsYWluQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFJ1bGUncyBvcHRpb25zXG4gICAqL1xuICBvcHRpb25zPzogSU5vQ29uc29sZU9wdGlvbnM7XG59XG5leHBvcnQgaW50ZXJmYWNlIElOb0NvbnNvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFsbG93ZWQgY2FsbHMgb24gdGhlIGNvbnNvbGUgb2JqZWN0LlxuICAgKi9cbiAgYWxsb3c6IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJUnVsZVdpdGhOb0RvdWJsZUVxdWFsc09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGtpbmQgb2YgdGhlIGNvZGUgYWN0aW9ucyBlbWl0dGVkIGJ5IHRoZSBydWxlXG4gICAqL1xuICBmaXg/OiBJRml4S2luZDtcbiAgLyoqXG4gICAqIFRoZSBzZXZlcml0eSBvZiB0aGUgZW1pdHRlZCBkaWFnbm9zdGljcyBieSB0aGUgcnVsZVxuICAgKi9cbiAgbGV2ZWw6IElSdWxlUGxhaW5Db25maWd1cmF0aW9uO1xuICAvKipcbiAgICogUnVsZSdzIG9wdGlvbnNcbiAgICovXG4gIG9wdGlvbnM/OiBJTm9Eb3VibGVFcXVhbHNPcHRpb25zO1xufVxuLyoqXG4gKiBSdWxlJ3Mgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElOb0RvdWJsZUVxdWFsc09wdGlvbnMge1xuICAvKipcbiAgICogSWYgYHRydWVgLCBhbiBleGNlcHRpb24gaXMgbWFkZSB3aGVuIGNvbXBhcmluZyB3aXRoIGBudWxsYCwgYXMgaXQncyBvZnRlbiByZWxpZWQgb24gdG8gY2hlY2sgYm90aCBmb3IgYG51bGxgIG9yIGB1bmRlZmluZWRgLlxuICAgKlxuICAgKiBJZiBgZmFsc2VgLCBubyBzdWNoIGV4Y2VwdGlvbiB3aWxsIGJlIG1hZGUuXG4gICAqL1xuICBpZ25vcmVOdWxsPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSU9yZ2FuaXplSW1wb3J0cyB7XG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBvcmdhbml6YXRpb24gb2YgaW1wb3J0c1xuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGluY2x1ZGUgZmlsZXMvZm9sZGVycyB0aGF0IHdpbGwgbWF0Y2ggdGhlc2UgcGF0dGVybnMuXG4gICAqL1xuICBpbmNsdWRlPzogSVN0cmluZ1NldDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSU92ZXJyaWRlUGF0dGVybiB7XG4gIC8qKlxuICAgKiBTcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgQ3NzIGxhbmd1YWdlXG4gICAqL1xuICBjc3M/OiBJQ3NzQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKc29uIGxhbmd1YWdlXG4gICAqL1xuICBmb3JtYXR0ZXI/OiBJT3ZlcnJpZGVGb3JtYXR0ZXJDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEdyYXBocWwgbGFuZ3VhZ2VcbiAgICovXG4gIGdyYXBocWw/OiBJR3JhcGhxbENvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGlnbm9yZSBmaWxlcy9mb2xkZXJzIHRoYXQgd2lsbCBtYXRjaCB0aGVzZSBwYXR0ZXJucy5cbiAgICovXG4gIGlnbm9yZT86IElTdHJpbmdTZXQ7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgVW5peCBzaGVsbCBzdHlsZSBwYXR0ZXJucy4gVGhlIGZvcm1hdHRlciB3aWxsIGluY2x1ZGUgZmlsZXMvZm9sZGVycyB0aGF0IHdpbGwgbWF0Y2ggdGhlc2UgcGF0dGVybnMuXG4gICAqL1xuICBpbmNsdWRlPzogSVN0cmluZ1NldDtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKYXZhU2NyaXB0IGxhbmd1YWdlXG4gICAqL1xuICBqYXZhc2NyaXB0PzogSUphdmFzY3JpcHRDb25maWd1cmF0aW9uO1xuICAvKipcbiAgICogU3BlY2lmaWMgY29uZmlndXJhdGlvbiBmb3IgdGhlIEpzb24gbGFuZ3VhZ2VcbiAgICovXG4gIGpzb24/OiBJSnNvbkNvbmZpZ3VyYXRpb247XG4gIC8qKlxuICAgKiBTcGVjaWZpYyBjb25maWd1cmF0aW9uIGZvciB0aGUgSnNvbiBsYW5ndWFnZVxuICAgKi9cbiAgbGludGVyPzogSU92ZXJyaWRlTGludGVyQ29uZmlndXJhdGlvbjtcbiAgLyoqXG4gICAqIFNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBKc29uIGxhbmd1YWdlXG4gICAqL1xuICBvcmdhbml6ZUltcG9ydHM/OiBJT3ZlcnJpZGVPcmdhbml6ZUltcG9ydHNDb25maWd1cmF0aW9uO1xufVxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcnJpZGVGb3JtYXR0ZXJDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBhdHRyaWJ1dGUgcG9zaXRpb24gc3R5bGUuXG4gICAqL1xuICBhdHRyaWJ1dGVQb3NpdGlvbj86IElBdHRyaWJ1dGVQb3NpdGlvbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5zZXJ0IHNwYWNlcyBhcm91bmQgYnJhY2tldHMgaW4gb2JqZWN0IGxpdGVyYWxzLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKi9cbiAgYnJhY2tldFNwYWNpbmc/OiBJQnJhY2tldFNwYWNpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogU3RvcmVzIHdoZXRoZXIgZm9ybWF0dGluZyBzaG91bGQgYmUgYWxsb3dlZCB0byBwcm9jZWVkIGlmIGEgZ2l2ZW4gZmlsZSBoYXMgc3ludGF4IGVycm9yc1xuICAgKi9cbiAgZm9ybWF0V2l0aEVycm9ycz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgaW5kZW50YXRpb24sIDIgYnkgZGVmYXVsdCAoZGVwcmVjYXRlZCwgdXNlIGBpbmRlbnQtd2lkdGhgKVxuICAgKi9cbiAgaW5kZW50U2l6ZT86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSBpbmRlbnQgc3R5bGUuXG4gICAqL1xuICBpbmRlbnRTdHlsZT86IElJbmRlbnRTdHlsZTtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBpbmRlbnRhdGlvbiwgMiBieSBkZWZhdWx0XG4gICAqL1xuICBpbmRlbnRXaWR0aD86IElJbmRlbnRXaWR0aDtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGxpbmUgZW5kaW5nLlxuICAgKi9cbiAgbGluZUVuZGluZz86IElMaW5lRW5kaW5nO1xuICAvKipcbiAgICogV2hhdCdzIHRoZSBtYXggd2lkdGggb2YgYSBsaW5lLiBEZWZhdWx0cyB0byA4MC5cbiAgICovXG4gIGxpbmVXaWR0aD86IElMaW5lV2lkdGg7XG59XG5leHBvcnQgaW50ZXJmYWNlIElPdmVycmlkZUxpbnRlckNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogaWYgYGZhbHNlYCwgaXQgZGlzYWJsZXMgdGhlIGZlYXR1cmUgYW5kIHRoZSBsaW50ZXIgd29uJ3QgYmUgZXhlY3V0ZWQuIGB0cnVlYCBieSBkZWZhdWx0XG4gICAqL1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVsZXNcbiAgICovXG4gIHJ1bGVzPzogSVJ1bGVzO1xufVxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcnJpZGVPcmdhbml6ZUltcG9ydHNDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIGlmIGBmYWxzZWAsIGl0IGRpc2FibGVzIHRoZSBmZWF0dXJlIGFuZCB0aGUgbGludGVyIHdvbid0IGJlIGV4ZWN1dGVkLiBgdHJ1ZWAgYnkgZGVmYXVsdFxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG59XG4vKipcbiAqIFNldCBvZiBwcm9wZXJ0aWVzIHRvIGludGVncmF0ZSBCaW9tZSB3aXRoIGEgVkNTIHNvZnR3YXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElWY3NDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBraW5kIG9mIGNsaWVudC5cbiAgICovXG4gIGNsaWVudEtpbmQ/OiBJVmNzQ2xpZW50S2luZDtcbiAgLyoqXG4gICAqIFRoZSBtYWluIGJyYW5jaCBvZiB0aGUgcHJvamVjdFxuICAgKi9cbiAgZGVmYXVsdEJyYW5jaD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgQmlvbWUgc2hvdWxkIGludGVncmF0ZSBpdHNlbGYgd2l0aCB0aGUgVkNTIGNsaWVudFxuICAgKi9cbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBUaGUgZm9sZGVyIHdoZXJlIEJpb21lIHNob3VsZCBjaGVjayBmb3IgVkNTIGZpbGVzLiBCeSBkZWZhdWx0LCBCaW9tZSB3aWxsIHVzZSB0aGUgc2FtZSBmb2xkZXIgd2hlcmUgYGJpb21lLmpzb25gIHdhcyBmb3VuZC5cbiAgICpcbiAgICogSWYgQmlvbWUgY2FuJ3QgZmluZCB0aGUgY29uZmlndXJhdGlvbiwgaXQgd2lsbCBhdHRlbXB0IHRvIHVzZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gSWYgbm8gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBjYW4ndCBiZSBmb3VuZCwgQmlvbWUgd29uJ3QgdXNlIHRoZSBWQ1MgaW50ZWdyYXRpb24sIGFuZCBhIGRpYWdub3N0aWMgd2lsbCBiZSBlbWl0dGVkXG4gICAqL1xuICByb290Pzogc3RyaW5nO1xuICAvKipcbiAgICogV2hldGhlciBCaW9tZSBzaG91bGQgdXNlIHRoZSBWQ1MgaWdub3JlIGZpbGUuIFdoZW4gW3RydWVdLCBCaW9tZSB3aWxsIGlnbm9yZSB0aGUgZmlsZXMgc3BlY2lmaWVkIGluIHRoZSBpZ25vcmUgZmlsZS5cbiAgICovXG4gIHVzZUlnbm9yZUZpbGU/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { IConfiguration } from "./biome-config";
|
|
2
|
+
import { Component } from "../../component";
|
|
3
|
+
import type { NodeProject } from "../../javascript/node-project";
|
|
4
|
+
import { JsonFile } from "../../json";
|
|
5
|
+
import type { Project } from "../../project";
|
|
6
|
+
import type { Task } from "../../task";
|
|
7
|
+
export interface BiomeOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Version of Biome to use
|
|
10
|
+
*
|
|
11
|
+
* @default "^1"
|
|
12
|
+
*/
|
|
13
|
+
readonly version?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Enable linting. Replaces Eslint.
|
|
16
|
+
*
|
|
17
|
+
* @default true
|
|
18
|
+
*/
|
|
19
|
+
readonly linter?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Enable code formatter. Replaces mainly Prettier
|
|
22
|
+
*
|
|
23
|
+
* @default false
|
|
24
|
+
*/
|
|
25
|
+
readonly formatter?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Enable import sorting/organizing. Replaces mainly Prettier
|
|
28
|
+
*
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
readonly organizeImports?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Should arrays be merged or overwritten when creating Biome configuration
|
|
34
|
+
*
|
|
35
|
+
* By default arrays are merged and duplicate values are removed
|
|
36
|
+
*
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
readonly mergeArraysInConfiguration?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Full Biome configuration. Note that this configuration dictates the final outcome if value is set.
|
|
42
|
+
*
|
|
43
|
+
* @example if linter is disabled on main level, it can be enabled on fullConfiguration.formatter.enabled.
|
|
44
|
+
*/
|
|
45
|
+
readonly biomeConfig?: IConfiguration;
|
|
46
|
+
}
|
|
47
|
+
export declare class Biome extends Component {
|
|
48
|
+
static of(project: Project): Biome | undefined;
|
|
49
|
+
private readonly biomeConfiguration;
|
|
50
|
+
private readonly _lintPatterns;
|
|
51
|
+
private readonly biomeCommand;
|
|
52
|
+
/**
|
|
53
|
+
* Biome task.
|
|
54
|
+
*/
|
|
55
|
+
readonly task: Task;
|
|
56
|
+
/**
|
|
57
|
+
* Biome configuration file content
|
|
58
|
+
*/
|
|
59
|
+
readonly file: JsonFile;
|
|
60
|
+
constructor(project: NodeProject, options?: BiomeOptions);
|
|
61
|
+
/**
|
|
62
|
+
* Update the task with the current list of lint patterns and file extensions
|
|
63
|
+
*/
|
|
64
|
+
private updateTask;
|
|
65
|
+
addLintPattern(pattern: string): void;
|
|
66
|
+
private createLocalBiomeTask;
|
|
67
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Biome = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const fast_json_patch_1 = require("fast-json-patch");
|
|
7
|
+
const component_1 = require("../../component");
|
|
8
|
+
const json_1 = require("../../json");
|
|
9
|
+
const util_1 = require("../../util");
|
|
10
|
+
/**
|
|
11
|
+
* Enabling VCS configuration by default.
|
|
12
|
+
*
|
|
13
|
+
* Note that this differs from `biome init`, as projen can be presumed to use version control
|
|
14
|
+
*/
|
|
15
|
+
const DEFAULT_CONFIG = {
|
|
16
|
+
vcs: {
|
|
17
|
+
clientKind: "git",
|
|
18
|
+
enabled: true,
|
|
19
|
+
useIgnoreFile: true,
|
|
20
|
+
},
|
|
21
|
+
files: {
|
|
22
|
+
ignoreUnknown: false,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Default linting configuration if linter is enabled.
|
|
27
|
+
*
|
|
28
|
+
* Ignores by default following patterns: '*.js', '*.d.ts', 'node_modules/', '*.generated.ts', 'coverage'.
|
|
29
|
+
*/
|
|
30
|
+
const DEFAULT_LINTER = {
|
|
31
|
+
linter: {
|
|
32
|
+
enabled: true,
|
|
33
|
+
rules: {
|
|
34
|
+
recommended: true,
|
|
35
|
+
},
|
|
36
|
+
// Default ignore's from Projen
|
|
37
|
+
ignore: [
|
|
38
|
+
"**/*.js",
|
|
39
|
+
"**/*.d.ts",
|
|
40
|
+
"**/node_modules/",
|
|
41
|
+
"**/*.generated.ts",
|
|
42
|
+
"**/coverage",
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Default formatting configuration if formatter is enabled.
|
|
48
|
+
*/
|
|
49
|
+
const DEFAULT_FORMATTER = {
|
|
50
|
+
formatter: {
|
|
51
|
+
enabled: true,
|
|
52
|
+
indentStyle: "tab",
|
|
53
|
+
},
|
|
54
|
+
javascript: {
|
|
55
|
+
formatter: {
|
|
56
|
+
quoteStyle: "double",
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Default formatting configuration if organize imports is enabled.
|
|
62
|
+
*/
|
|
63
|
+
const DEFAULT_ORGANIZE_IMPORTS = {
|
|
64
|
+
organizeImports: {
|
|
65
|
+
enabled: true,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
class Biome extends component_1.Component {
|
|
69
|
+
static of(project) {
|
|
70
|
+
const isBiome = (c) => c instanceof Biome;
|
|
71
|
+
return project.components.find(isBiome);
|
|
72
|
+
}
|
|
73
|
+
constructor(project, options = {}) {
|
|
74
|
+
super(project);
|
|
75
|
+
this.biomeCommand = "biome check --write";
|
|
76
|
+
project.addDevDeps(`@biomejs/biome@${options.version ?? "^1"}`);
|
|
77
|
+
const defaultConfig = {
|
|
78
|
+
...DEFAULT_CONFIG,
|
|
79
|
+
...(options.linter ?? true ? DEFAULT_LINTER : {}),
|
|
80
|
+
...(options.formatter ?? false ? DEFAULT_FORMATTER : {}),
|
|
81
|
+
...(options.organizeImports ?? false ? DEFAULT_ORGANIZE_IMPORTS : {}),
|
|
82
|
+
};
|
|
83
|
+
this.biomeConfiguration = (0, util_1.deepMerge)([(0, fast_json_patch_1.deepClone)(defaultConfig), (0, fast_json_patch_1.deepClone)(options.biomeConfig ?? {})], { mergeArrays: options.mergeArraysInConfiguration ?? true });
|
|
84
|
+
this.file = new json_1.JsonFile(this, "biome.jsonc", {
|
|
85
|
+
obj: this.biomeConfiguration,
|
|
86
|
+
allowComments: true,
|
|
87
|
+
marker: true,
|
|
88
|
+
});
|
|
89
|
+
this._lintPatterns = new Set([]);
|
|
90
|
+
this.task = this.createLocalBiomeTask();
|
|
91
|
+
project.testTask.spawn(this.task);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Update the task with the current list of lint patterns and file extensions
|
|
95
|
+
*/
|
|
96
|
+
updateTask() {
|
|
97
|
+
const args = new Set();
|
|
98
|
+
for (const arg of this._lintPatterns) {
|
|
99
|
+
args.add(arg);
|
|
100
|
+
}
|
|
101
|
+
this.task.reset([
|
|
102
|
+
this.biomeCommand,
|
|
103
|
+
// Allow also external arguments
|
|
104
|
+
"$@",
|
|
105
|
+
...args,
|
|
106
|
+
].join(" "), {
|
|
107
|
+
args: this.task.steps[0].args,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
addLintPattern(pattern) {
|
|
111
|
+
this._lintPatterns.add(pattern);
|
|
112
|
+
this.updateTask();
|
|
113
|
+
}
|
|
114
|
+
createLocalBiomeTask() {
|
|
115
|
+
return this.project.addTask("biome", {
|
|
116
|
+
description: "Runs Biome against the codebase",
|
|
117
|
+
steps: [
|
|
118
|
+
{
|
|
119
|
+
exec: this.biomeCommand,
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
exports.Biome = Biome;
|
|
126
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
127
|
+
Biome[_a] = { fqn: "projen.javascript.Biome", version: "0.92.11" };
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlvbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvamF2YXNjcmlwdC9iaW9tZS9iaW9tZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUE0QztBQUU1QywrQ0FBNEM7QUFFNUMscUNBQXNDO0FBR3RDLHFDQUF1QztBQUV2Qzs7OztHQUlHO0FBQ0gsTUFBTSxjQUFjLEdBQTBDO0lBQzVELEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsYUFBYSxFQUFFLElBQUk7S0FDcEI7SUFDRCxLQUFLLEVBQUU7UUFDTCxhQUFhLEVBQUUsS0FBSztLQUNyQjtDQUNGLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxjQUFjLEdBQW1DO0lBQ3JELE1BQU0sRUFBRTtRQUNOLE9BQU8sRUFBRSxJQUFJO1FBQ2IsS0FBSyxFQUFFO1lBQ0wsV0FBVyxFQUFFLElBQUk7U0FDbEI7UUFDRCwrQkFBK0I7UUFDL0IsTUFBTSxFQUFFO1lBQ04sU0FBUztZQUNULFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGFBQWE7U0FDZDtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBcUQ7SUFDMUUsU0FBUyxFQUFFO1FBQ1QsT0FBTyxFQUFFLElBQUk7UUFDYixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNELFVBQVUsRUFBRTtRQUNWLFNBQVMsRUFBRTtZQUNULFVBQVUsRUFBRSxRQUFRO1NBQ3JCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHdCQUF3QixHQUE0QztJQUN4RSxlQUFlLEVBQUU7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkO0NBQ0YsQ0FBQztBQTJDRixNQUFhLEtBQU0sU0FBUSxxQkFBUztJQUMzQixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQWdCO1FBQy9CLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBWSxFQUFjLEVBQUUsQ0FBQyxDQUFDLFlBQVksS0FBSyxDQUFDO1FBQ2pFLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQWNELFlBQVksT0FBb0IsRUFBRSxVQUF3QixFQUFFO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQVhBLGlCQUFZLEdBQUcscUJBQXFCLENBQUM7UUFZcEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sYUFBYSxHQUFtQjtZQUNwQyxHQUFHLGNBQWM7WUFDakIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDeEQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ3RFLENBQUM7UUFFRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBQSxnQkFBUyxFQUNqQyxDQUFDLElBQUEsMkJBQVMsRUFBQyxhQUFhLENBQUMsRUFBRSxJQUFBLDJCQUFTLEVBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUNoRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsMEJBQTBCLElBQUksSUFBSSxFQUFFLENBQzVELENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDNUMsR0FBRyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDNUIsYUFBYSxFQUFFLElBQUk7WUFDbkIsTUFBTSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRWpDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDeEMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNLLFVBQVU7UUFDaEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUUvQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FDYjtZQUNFLElBQUksQ0FBQyxZQUFZO1lBQ2pCLGdDQUFnQztZQUNoQyxJQUFJO1lBQ0osR0FBRyxJQUFJO1NBQ1IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ1g7WUFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUM5QixDQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYyxDQUFDLE9BQWU7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkMsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2lCQUN4QjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFuRkgsc0JBb0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSBcImZhc3QtanNvbi1wYXRjaFwiO1xuaW1wb3J0IHR5cGUgeyBJQ29uZmlndXJhdGlvbiB9IGZyb20gXCIuL2Jpb21lLWNvbmZpZ1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBOb2RlUHJvamVjdCB9IGZyb20gXCIuLi8uLi9qYXZhc2NyaXB0L25vZGUtcHJvamVjdFwiO1xuaW1wb3J0IHsgSnNvbkZpbGUgfSBmcm9tIFwiLi4vLi4vanNvblwiO1xuaW1wb3J0IHR5cGUgeyBQcm9qZWN0IH0gZnJvbSBcIi4uLy4uL3Byb2plY3RcIjtcbmltcG9ydCB0eXBlIHsgVGFzayB9IGZyb20gXCIuLi8uLi90YXNrXCI7XG5pbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tIFwiLi4vLi4vdXRpbFwiO1xuXG4vKipcbiAqIEVuYWJsaW5nIFZDUyBjb25maWd1cmF0aW9uIGJ5IGRlZmF1bHQuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgZGlmZmVycyBmcm9tIGBiaW9tZSBpbml0YCwgYXMgcHJvamVuIGNhbiBiZSBwcmVzdW1lZCB0byB1c2UgdmVyc2lvbiBjb250cm9sXG4gKi9cbmNvbnN0IERFRkFVTFRfQ09ORklHOiBQaWNrPElDb25maWd1cmF0aW9uLCBcInZjc1wiIHwgXCJmaWxlc1wiPiA9IHtcbiAgdmNzOiB7XG4gICAgY2xpZW50S2luZDogXCJnaXRcIixcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHVzZUlnbm9yZUZpbGU6IHRydWUsXG4gIH0sXG4gIGZpbGVzOiB7XG4gICAgaWdub3JlVW5rbm93bjogZmFsc2UsXG4gIH0sXG59O1xuXG4vKipcbiAqIERlZmF1bHQgbGludGluZyBjb25maWd1cmF0aW9uIGlmIGxpbnRlciBpcyBlbmFibGVkLlxuICpcbiAqIElnbm9yZXMgYnkgZGVmYXVsdCBmb2xsb3dpbmcgcGF0dGVybnM6ICcqLmpzJywgJyouZC50cycsICdub2RlX21vZHVsZXMvJywgJyouZ2VuZXJhdGVkLnRzJywgJ2NvdmVyYWdlJy5cbiAqL1xuY29uc3QgREVGQVVMVF9MSU5URVI6IFBpY2s8SUNvbmZpZ3VyYXRpb24sIFwibGludGVyXCI+ID0ge1xuICBsaW50ZXI6IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIHJ1bGVzOiB7XG4gICAgICByZWNvbW1lbmRlZDogdHJ1ZSxcbiAgICB9LFxuICAgIC8vIERlZmF1bHQgaWdub3JlJ3MgZnJvbSBQcm9qZW5cbiAgICBpZ25vcmU6IFtcbiAgICAgIFwiKiovKi5qc1wiLFxuICAgICAgXCIqKi8qLmQudHNcIixcbiAgICAgIFwiKiovbm9kZV9tb2R1bGVzL1wiLFxuICAgICAgXCIqKi8qLmdlbmVyYXRlZC50c1wiLFxuICAgICAgXCIqKi9jb3ZlcmFnZVwiLFxuICAgIF0sXG4gIH0sXG59O1xuXG4vKipcbiAqIERlZmF1bHQgZm9ybWF0dGluZyBjb25maWd1cmF0aW9uIGlmIGZvcm1hdHRlciBpcyBlbmFibGVkLlxuICovXG5jb25zdCBERUZBVUxUX0ZPUk1BVFRFUjogUGljazxJQ29uZmlndXJhdGlvbiwgXCJmb3JtYXR0ZXJcIiB8IFwiamF2YXNjcmlwdFwiPiA9IHtcbiAgZm9ybWF0dGVyOiB7XG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBpbmRlbnRTdHlsZTogXCJ0YWJcIixcbiAgfSxcbiAgamF2YXNjcmlwdDoge1xuICAgIGZvcm1hdHRlcjoge1xuICAgICAgcXVvdGVTdHlsZTogXCJkb3VibGVcIixcbiAgICB9LFxuICB9LFxufTtcblxuLyoqXG4gKiBEZWZhdWx0IGZvcm1hdHRpbmcgY29uZmlndXJhdGlvbiBpZiBvcmdhbml6ZSBpbXBvcnRzIGlzIGVuYWJsZWQuXG4gKi9cbmNvbnN0IERFRkFVTFRfT1JHQU5JWkVfSU1QT1JUUzogUGljazxJQ29uZmlndXJhdGlvbiwgXCJvcmdhbml6ZUltcG9ydHNcIj4gPSB7XG4gIG9yZ2FuaXplSW1wb3J0czoge1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gIH0sXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEJpb21lT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIEJpb21lIHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCBcIl4xXCJcbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbmFibGUgbGludGluZy4gUmVwbGFjZXMgRXNsaW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsaW50ZXI/OiBib29sZWFuO1xuICAvKipcbiAgICogRW5hYmxlIGNvZGUgZm9ybWF0dGVyLiBSZXBsYWNlcyBtYWlubHkgUHJldHRpZXJcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcm1hdHRlcj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBFbmFibGUgaW1wb3J0IHNvcnRpbmcvb3JnYW5pemluZy4gUmVwbGFjZXMgbWFpbmx5IFByZXR0aWVyXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBvcmdhbml6ZUltcG9ydHM/OiBib29sZWFuO1xuICAvKipcbiAgICogU2hvdWxkIGFycmF5cyBiZSBtZXJnZWQgb3Igb3ZlcndyaXR0ZW4gd2hlbiBjcmVhdGluZyBCaW9tZSBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEJ5IGRlZmF1bHQgYXJyYXlzIGFyZSBtZXJnZWQgYW5kIGR1cGxpY2F0ZSB2YWx1ZXMgYXJlIHJlbW92ZWRcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbWVyZ2VBcnJheXNJbkNvbmZpZ3VyYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogRnVsbCBCaW9tZSBjb25maWd1cmF0aW9uLiBOb3RlIHRoYXQgdGhpcyBjb25maWd1cmF0aW9uIGRpY3RhdGVzIHRoZSBmaW5hbCBvdXRjb21lIGlmIHZhbHVlIGlzIHNldC5cbiAgICpcbiAgICogQGV4YW1wbGUgaWYgbGludGVyIGlzIGRpc2FibGVkIG9uIG1haW4gbGV2ZWwsIGl0IGNhbiBiZSBlbmFibGVkIG9uIGZ1bGxDb25maWd1cmF0aW9uLmZvcm1hdHRlci5lbmFibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYmlvbWVDb25maWc/OiBJQ29uZmlndXJhdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIEJpb21lIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHVibGljIHN0YXRpYyBvZihwcm9qZWN0OiBQcm9qZWN0KTogQmlvbWUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGlzQmlvbWUgPSAoYzogQ29tcG9uZW50KTogYyBpcyBCaW9tZSA9PiBjIGluc3RhbmNlb2YgQmlvbWU7XG4gICAgcmV0dXJuIHByb2plY3QuY29tcG9uZW50cy5maW5kKGlzQmlvbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBiaW9tZUNvbmZpZ3VyYXRpb246IElDb25maWd1cmF0aW9uO1xuICBwcml2YXRlIHJlYWRvbmx5IF9saW50UGF0dGVybnM6IFNldDxzdHJpbmc+O1xuICBwcml2YXRlIHJlYWRvbmx5IGJpb21lQ29tbWFuZCA9IFwiYmlvbWUgY2hlY2sgLS13cml0ZVwiO1xuICAvKipcbiAgICogQmlvbWUgdGFzay5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB0YXNrOiBUYXNrO1xuICAvKipcbiAgICogQmlvbWUgY29uZmlndXJhdGlvbiBmaWxlIGNvbnRlbnRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmaWxlOiBKc29uRmlsZTtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogQmlvbWVPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICBwcm9qZWN0LmFkZERldkRlcHMoYEBiaW9tZWpzL2Jpb21lQCR7b3B0aW9ucy52ZXJzaW9uID8/IFwiXjFcIn1gKTtcblxuICAgIGNvbnN0IGRlZmF1bHRDb25maWc6IElDb25maWd1cmF0aW9uID0ge1xuICAgICAgLi4uREVGQVVMVF9DT05GSUcsXG4gICAgICAuLi4ob3B0aW9ucy5saW50ZXIgPz8gdHJ1ZSA/IERFRkFVTFRfTElOVEVSIDoge30pLFxuICAgICAgLi4uKG9wdGlvbnMuZm9ybWF0dGVyID8/IGZhbHNlID8gREVGQVVMVF9GT1JNQVRURVIgOiB7fSksXG4gICAgICAuLi4ob3B0aW9ucy5vcmdhbml6ZUltcG9ydHMgPz8gZmFsc2UgPyBERUZBVUxUX09SR0FOSVpFX0lNUE9SVFMgOiB7fSksXG4gICAgfTtcblxuICAgIHRoaXMuYmlvbWVDb25maWd1cmF0aW9uID0gZGVlcE1lcmdlKFxuICAgICAgW2RlZXBDbG9uZShkZWZhdWx0Q29uZmlnKSwgZGVlcENsb25lKG9wdGlvbnMuYmlvbWVDb25maWcgPz8ge30pXSxcbiAgICAgIHsgbWVyZ2VBcnJheXM6IG9wdGlvbnMubWVyZ2VBcnJheXNJbkNvbmZpZ3VyYXRpb24gPz8gdHJ1ZSB9XG4gICAgKTtcblxuICAgIHRoaXMuZmlsZSA9IG5ldyBKc29uRmlsZSh0aGlzLCBcImJpb21lLmpzb25jXCIsIHtcbiAgICAgIG9iajogdGhpcy5iaW9tZUNvbmZpZ3VyYXRpb24sXG4gICAgICBhbGxvd0NvbW1lbnRzOiB0cnVlLFxuICAgICAgbWFya2VyOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5fbGludFBhdHRlcm5zID0gbmV3IFNldChbXSk7XG5cbiAgICB0aGlzLnRhc2sgPSB0aGlzLmNyZWF0ZUxvY2FsQmlvbWVUYXNrKCk7XG4gICAgcHJvamVjdC50ZXN0VGFzay5zcGF3bih0aGlzLnRhc2spO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgdGFzayB3aXRoIHRoZSBjdXJyZW50IGxpc3Qgb2YgbGludCBwYXR0ZXJucyBhbmQgZmlsZSBleHRlbnNpb25zXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRhc2soKSB7XG4gICAgY29uc3QgYXJncyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCBhcmcgb2YgdGhpcy5fbGludFBhdHRlcm5zKSB7XG4gICAgICBhcmdzLmFkZChhcmcpO1xuICAgIH1cblxuICAgIHRoaXMudGFzay5yZXNldChcbiAgICAgIFtcbiAgICAgICAgdGhpcy5iaW9tZUNvbW1hbmQsXG4gICAgICAgIC8vIEFsbG93IGFsc28gZXh0ZXJuYWwgYXJndW1lbnRzXG4gICAgICAgIFwiJEBcIixcbiAgICAgICAgLi4uYXJncyxcbiAgICAgIF0uam9pbihcIiBcIiksXG4gICAgICB7XG4gICAgICAgIGFyZ3M6IHRoaXMudGFzay5zdGVwc1swXS5hcmdzLFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWRkTGludFBhdHRlcm4ocGF0dGVybjogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGludFBhdHRlcm5zLmFkZChwYXR0ZXJuKTtcbiAgICB0aGlzLnVwZGF0ZVRhc2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTG9jYWxCaW9tZVRhc2soKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvamVjdC5hZGRUYXNrKFwiYmlvbWVcIiwge1xuICAgICAgZGVzY3JpcHRpb246IFwiUnVucyBCaW9tZSBhZ2FpbnN0IHRoZSBjb2RlYmFzZVwiLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6IHRoaXMuYmlvbWVDb21tYW5kLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -184,7 +184,7 @@ class Bundler extends component_1.Component {
|
|
|
184
184
|
}
|
|
185
185
|
exports.Bundler = Bundler;
|
|
186
186
|
_a = JSII_RTTI_SYMBOL_1;
|
|
187
|
-
Bundler[_a] = { fqn: "projen.javascript.Bundler", version: "0.92.
|
|
187
|
+
Bundler[_a] = { fqn: "projen.javascript.Bundler", version: "0.92.11" };
|
|
188
188
|
/**
|
|
189
189
|
* Options for BundlerOptions.runBundleTask
|
|
190
190
|
*/
|
package/lib/javascript/eslint.js
CHANGED
|
@@ -369,7 +369,7 @@ class Eslint extends component_1.Component {
|
|
|
369
369
|
}
|
|
370
370
|
exports.Eslint = Eslint;
|
|
371
371
|
_a = JSII_RTTI_SYMBOL_1;
|
|
372
|
-
Eslint[_a] = { fqn: "projen.javascript.Eslint", version: "0.92.
|
|
372
|
+
Eslint[_a] = { fqn: "projen.javascript.Eslint", version: "0.92.11" };
|
|
373
373
|
/**
|
|
374
374
|
* A compare protocol tp sort the extends array in eslint config using known ESLint best practices.
|
|
375
375
|
*
|
package/lib/javascript/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.biome_config = void 0;
|
|
17
18
|
__exportStar(require("./bundler"), exports);
|
|
18
19
|
__exportStar(require("./eslint"), exports);
|
|
19
20
|
__exportStar(require("./jest"), exports);
|
|
@@ -26,4 +27,6 @@ __exportStar(require("./projenrc"), exports);
|
|
|
26
27
|
__exportStar(require("./typescript-config"), exports);
|
|
27
28
|
__exportStar(require("./upgrade-dependencies"), exports);
|
|
28
29
|
__exportStar(require("./yarnrc"), exports);
|
|
29
|
-
|
|
30
|
+
__exportStar(require("./biome/biome"), exports);
|
|
31
|
+
exports.biome_config = require("./biome/biome-config");
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YXNjcmlwdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUEwQjtBQUMxQiwyQ0FBeUI7QUFDekIseUNBQXVCO0FBQ3ZCLG9EQUFrQztBQUNsQyxpREFBK0I7QUFDL0IsaURBQStCO0FBQy9CLCtDQUE2QjtBQUM3Qiw2Q0FBMkI7QUFDM0IsNkNBQTJCO0FBQzNCLHNEQUFvQztBQUNwQyx5REFBdUM7QUFDdkMsMkNBQXlCO0FBQ3pCLGdEQUE4QjtBQUM5Qix1REFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9idW5kbGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lc2xpbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2plc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpY2Vuc2UtY2hlY2tlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9kZS1wYWNrYWdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub2RlLXByb2plY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25wbS1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZXR0aWVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9qZW5yY1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNjcmlwdC1jb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VwZ3JhZGUtZGVwZW5kZW5jaWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi95YXJucmNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Jpb21lL2Jpb21lXCI7XG5leHBvcnQgKiBhcyBiaW9tZV9jb25maWcgZnJvbSBcIi4vYmlvbWUvYmlvbWUtY29uZmlnXCI7XG4iXX0=
|