@aws-amplify/graphql-api-construct 1.12.0-gen2-migration.0 → 1.12.0-gen2-migration-0809.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.jsii +314 -117
- package/API.md +4 -0
- package/CHANGELOG.md +15 -1
- package/lib/amplify-dynamodb-table-wrapper.js +1 -1
- package/lib/amplify-graphql-api.js +16 -10
- package/lib/amplify-graphql-definition.js +1 -1
- package/lib/internal/default-parameters.js +2 -1
- package/lib/sql-model-datasource-strategy.js +1 -1
- package/lib/types.d.ts +33 -1
- package/lib/types.js +1 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/CHANGELOG.md +9 -1
- package/node_modules/@aws-amplify/graphql-auth-transformer/package.json +15 -15
- package/node_modules/@aws-amplify/graphql-default-value-transformer/CHANGELOG.md +9 -1
- package/node_modules/@aws-amplify/graphql-default-value-transformer/package.json +8 -8
- package/node_modules/@aws-amplify/graphql-directives/CHANGELOG.md +6 -0
- package/node_modules/@aws-amplify/graphql-directives/LICENSE +201 -0
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/belongs-to.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/belongs-to.js +1 -1
- package/node_modules/@aws-amplify/graphql-directives/lib/directives/belongs-to.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-directives/package.json +3 -2
- package/node_modules/@aws-amplify/graphql-function-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-function-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-http-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-http-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-index-transformer/CHANGELOG.md +9 -1
- package/node_modules/@aws-amplify/graphql-index-transformer/package.json +10 -10
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/CHANGELOG.md +11 -1
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/lib/assets/mapping-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-maps-to-transformer/package.json +13 -13
- package/node_modules/@aws-amplify/graphql-model-transformer/CHANGELOG.md +16 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-notification-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/rds-patching-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js +10 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-dynamo-model-resource-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts +13 -4
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js +179 -15
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/amplify-table-manager-handler.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/cfn-response.d.ts +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/cfn-response.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/cfn-response.js +2 -2
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/cfn-response.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/.package-lock.json +13 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/LICENSE +47 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/README.md +18 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/index.js +1848 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/node_modules/lodash.isequal/package.json +16 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/package-lock.json +21 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/lib/resources/amplify-dynamodb-table/amplify-table-manager-lambda/package.json +11 -0
- package/node_modules/@aws-amplify/graphql-model-transformer/package.json +15 -12
- package/node_modules/@aws-amplify/graphql-predictions-transformer/CHANGELOG.md +5 -1
- package/node_modules/@aws-amplify/graphql-predictions-transformer/lib/predictionsLambdaFunction.zip +0 -0
- package/node_modules/@aws-amplify/graphql-predictions-transformer/package.json +9 -9
- package/node_modules/@aws-amplify/graphql-relational-transformer/CHANGELOG.md +14 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js +14 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-belongs-to-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js +12 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-many-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js +12 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/graphql-has-one-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.js +7 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-many/has-many-directive-ddb-references-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.js +7 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/has-one/has-one-directive-ddb-references-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js +7 -8
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/resolver/rds-generator.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/types.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js +9 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/lib/utils.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-relational-transformer/package.json +11 -11
- package/node_modules/@aws-amplify/graphql-searchable-transformer/CHANGELOG.md +9 -1
- package/node_modules/@aws-amplify/graphql-searchable-transformer/lib/streaming-lambda.zip +0 -0
- package/node_modules/@aws-amplify/graphql-searchable-transformer/package.json +10 -10
- package/node_modules/@aws-amplify/graphql-sql-transformer/CHANGELOG.md +9 -1
- package/node_modules/@aws-amplify/graphql-sql-transformer/package.json +10 -10
- package/node_modules/@aws-amplify/graphql-transformer/API.md +1 -0
- package/node_modules/@aws-amplify/graphql-transformer/CHANGELOG.md +11 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js +4 -3
- package/node_modules/@aws-amplify/graphql-transformer/lib/graphql-transformer.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer/package.json +17 -17
- package/node_modules/@aws-amplify/graphql-transformer/src/graphql-transformer.ts +6 -3
- package/node_modules/@aws-amplify/graphql-transformer-core/CHANGELOG.md +7 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-core/lib/transformer-context/transform-parameters.js.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-core/package.json +7 -7
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/API.md +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/CHANGELOG.md +7 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/lib/transformer-context/transform-parameters.d.ts.map +1 -1
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/package.json +4 -4
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/src/transformer-context/transform-parameters.ts +1 -0
- package/node_modules/@aws-amplify/graphql-transformer-interfaces/tsconfig.tsbuildinfo +1 -1
- package/node_modules/graphql-transformer-common/CHANGELOG.md +1 -1
- package/node_modules/graphql-transformer-common/package.json +2 -2
- package/package.json +23 -23
- package/src/amplify-graphql-api.ts +15 -8
- package/src/internal/default-parameters.ts +1 -0
- package/src/types.ts +35 -1
package/lib/types.js
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIH0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5LCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB9IGZyb20gJy4vbW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgSUFNIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICogQHN0cnVjdCAtIHJlcXVpcmVkIHNpbmNlIHRoaXMgaW50ZXJmYWNlIGJlZ2lucyB3aXRoIGFuICdJJ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBTUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogSUQgZm9yIHRoZSBDb2duaXRvIElkZW50aXR5IFBvb2wgdmVuZGluZyBhdXRoIGFuZCB1bmF1dGggcm9sZXMuXG4gICAqIEZvcm1hdDogYDxyZWdpb24+OjxpZCBzdHJpbmc+YFxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuaWRlbnRpdHlQb29sSWQnIGluc3RlYWQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlYWN0L3Rvb2xzL2NsaS9taWdyYXRpb24vaWFtLWF1dGgtdXBkYXRlcy1mb3ItY2RrLWNvbnN0cnVjdCBmb3IgZGV0YWlscy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwcml2YXRlIH0gYWNjZXNzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuYXV0aGVudGljYXRlZFVzZXJSb2xlJyBpbnN0ZWFkLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogVW5hdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwdWJsaWMgfSBhY2Nlc3MuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSAnSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScgaW5zdGVhZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIElBTSByb2xlcyB3aGljaCB3aWxsIGJlIGdyYW50ZWQgZnVsbCByZWFkL3dyaXRlIGFjY2VzcyB0byB0aGUgZ2VuZXJhdGVkIG1vZGVsIGlmIElBTSBhdXRoIGlzIGVuYWJsZWQuXG4gICAqIElmIGFuIElSb2xlIGlzIHByb3ZpZGVkLCB0aGUgcm9sZSBgbmFtZWAgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICogSWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQsIHRoZSByYXcgdmFsdWUgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlICdlbmFibGVJYW1BdXRob3JpemF0aW9uTW9kZScgYW5kIElBTSBQb2xpY3kgdG8gY29udHJvbCBhY2Nlc3MgZm9yIElBTSBwcmluY2lwYWxzLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhbGxvd0xpc3RlZFJvbGVzPzogKElSb2xlIHwgc3RyaW5nKVtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFjY2VzcyBmb3IgSUFNIHByaW5jaXBhbHMuIElmIGVuYWJsZWQgQGF1dGggZGlyZWN0aXZlIHJ1bGVzIGFyZSBub3QgYXBwbGllZC5cbiAgICogSW5zdGVhZCwgYWNjZXNzIHNob3VsZCBiZSBkZWZpbmVkIGJ5IElBTSBQb2xpY3ksIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NhcHBzeW5jLmh0bWwuXG4gICAqXG4gICAqIERvZXMgbm90IGFwcGx5IHRvIGF1dGhlbnRpY2F0ZWQgYW5kIHVuYXV0aGVudGljYXRlZCBJQU0gUm9sZXMgYXR0YWNoZWQgdG8gQ29nbml0byBJZGVudGl0eSBQb29sLlxuICAgKiBVc2UgSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB0byBjb25maWd1cmUgdGhlaXIgYWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSWFtQXV0aG9yaXphdGlvbk1vZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIENvZ25pdG8gSWRlbnRpdHkgUG9vbCBBdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqIEBzdHJ1Y3QgLSByZXF1aXJlZCBzaW5jZSB0aGlzIGludGVyZmFjZSBiZWdpbnMgd2l0aCBhbiAnSSdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eVBvb2xBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIElEIGZvciB0aGUgQ29nbml0byBJZGVudGl0eSBQb29sIHZlbmRpbmcgYXV0aCBhbmQgdW5hdXRoIHJvbGVzLlxuICAgKiBGb3JtYXQ6IGA8cmVnaW9uPjo8aWQgc3RyaW5nPmBcbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHByaXZhdGUgfSBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBVbmF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHB1YmxpYyB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHVuYXV0aGVudGljYXRlZFVzZXJSb2xlOiBJUm9sZTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDb2duaXRvIFVzZXJQb29sIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgd2hpY2ggaXMgdXNlZCB0byBhdXRoZW50aWNhdGVkIEpXVCB0b2tlbnMsIGFuZCB2ZW5kcyBncm91cCBhbmQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgT3BlbklkIENvbm5lY3QgQXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0lEQ0F1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGlzc3VlciBmb3IgdGhlIE9JREMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVXJsIGZvciB0aGUgT0lEQyB0b2tlbiBpc3N1ZXIuXG4gICAqL1xuICByZWFkb25seSBvaWRjSXNzdWVyVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGllbnQgaWRlbnRpZmllciBvZiB0aGUgUmVseWluZyBwYXJ0eSBhdCB0aGUgT3BlbklEIGlkZW50aXR5IHByb3ZpZGVyLlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYW4gYmUgc3BlY2lmaWVkIHNvIEFwcFN5bmMgY2FuIHZhbGlkYXRlIGFnYWluc3QgbXVsdGlwbGUgY2xpZW50IGlkZW50aWZpZXJzIGF0IGEgdGltZS4gRXhhbXBsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGF1dGhlbnRpY2F0ZWQgYnkgT0lEQyBwcm92aWRlci5cbiAgICogYXV0aF90aW1lIGNsYWltIGluIE9JREMgdG9rZW4gaXMgcmVxdWlyZWQgZm9yIHRoaXMgdmFsaWRhdGlvbiB0byB3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tQXV0aDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGlzc3VlZCB0byBhIHVzZXIuXG4gICAqIFRoaXMgdmFsaWRhdGlvbiB1c2VzIGlhdCBjbGFpbSBvZiBPSURDIHRva2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tSXNzdWU6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEFwaSBLZXlzIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgQXBpIEtleSB0byBhdHRhY2ggdG8gdGhlIEFwaS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGR1cmF0aW9uIHJlcHJlc2VudGluZyB0aGUgdGltZSBmcm9tIENsb3VkZm9ybWF0aW9uIGRlcGxveSB1bnRpbCBleHBpcnkuXG4gICAqL1xuICByZWFkb25seSBleHBpcmVzOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDdXN0b20gTGFtYmRhIGF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogSG93IGxvbmcgdGhlIHJlc3VsdHMgYXJlIGNhY2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IHR0bDogRHVyYXRpb247XG59XG5cbi8qKlxuICogQXV0aG9yaXphdGlvbiBNb2RlcyB0byBhcHBseSB0byB0aGUgQXBpLlxuICogQXQgbGVhc3Qgb25lIG1vZGVzIG11c3QgYmUgcHJvdmlkZWQsIGFuZCBpZiBtb3JlIHRoYW4gb25lIGFyZSBwcm92aWRlZCBhIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBtdXN0IGJlIHNwZWNpZmllZC5cbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEFtcGxpZnkgQXBpIGF1dGgsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzLyNhdXRob3JpemF0aW9uLXN0cmF0ZWdpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uTW9kZXMge1xuICAvKipcbiAgICogRGVmYXVsdCBhdXRoIG1vZGUgdG8gcHJvdmlkZSB0byB0aGUgQXBpLCByZXF1aXJlZCBpZiBtb3JlIHRoYW4gb25lIGNvbmZpZyB0eXBlIGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZT86ICdBV1NfSUFNJyB8ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJyB8ICdPUEVOSURfQ09OTkVDVCcgfCAnQVBJX0tFWScgfCAnQVdTX0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIElBTSBBdXRoIGNvbmZpZywgcmVxdWlyZWQgdG8gYWxsb3cgSUFNLWJhc2VkIGFjY2VzcyB0byB0aGlzIEFQSS5cbiAgICogVGhpcyBhcHBsaWVzIHRvIGFueSBJQU0gcHJpbmNpcGFsIGV4Y2VwdCBBbWF6b24gQ29nbml0byBpZGVudGl0eSBwb29sJ3MgYXV0aGVudGljYXRlZCBhbmQgdW5hdXRoZW50aWNhdGVkIHJvbGVzLlxuICAgKiBUaGlzIGJlaGF2aW9yIHdhcyBoYXMgcmVjZW50bHkgYmVlbiBpbXByb3ZlZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgaWFtQ29uZmlnPzogSUFNQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBJZGVudGl0eSBQb29sIGNvbmZpZywgcmVxdWlyZWQgaWYgYW4gJ2lkZW50aXR5UG9vbCcgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAncHVibGljJyBhbmQgJ3ByaXZhdGUnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbENvbmZpZz86IElkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gVXNlclBvb2wgY29uZmlnLCByZXF1aXJlZCBpZiBhICd1c2VyUG9vbHMnIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ293bmVyJywgJ3ByaXZhdGUnLCBhbmQgJ2dyb3VwJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbENvbmZpZz86IFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBPSURDIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnb2lkYycgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnb3duZXInLCAncHJpdmF0ZScsIGFuZCAnZ3JvdXAnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNDb25maWc/OiBPSURDQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQXBwU3luYyBBcGkgS2V5IGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnYXBpS2V5JyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdwdWJsaWMnIGF1dGggc3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBhcGlLZXlDb25maWc/OiBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgY29uZmlnLCByZXF1aXJlZCBpZiBhICdmdW5jdGlvbicgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnY3VzdG9tJyBhdXRoIHN0cmF0ZWd5LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQ29uZmlnPzogTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHJvbGVzIGdyYW50ZWQgZnVsbCBSL1cgYWNjZXNzIHRvIHRoZSBBcGkuXG4gICAqIEBkZXByZWNhdGVkLCB1c2UgaWFtQ29uZmlnLmFsbG93TGlzdGVkUm9sZXMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUm9sZXM/OiBJUm9sZVtdO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBhIHZlcnNpb24gZmllbGQgdG8gdHJhY2sgY29uZmxpY3QgZGV0ZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDb25mbGljdERldGVjdGlvblR5cGUgPSAnVkVSU0lPTicgfCAnTk9ORSc7XG5cbi8qKlxuICogQ29tbW9uIHBhcmFtZXRlcnMgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBjb25mbGljdCBkZXRlY3Rpb24gdHlwZSB1c2VkIGZvciByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0aW9uVHlwZTogQ29uZmxpY3REZXRlY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIEVuYWJsZSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5IG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSBleGVjdXRlcyBhbiBhdXRvLW1lcmdlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdBVVRPTUVSR0UnO1xufVxuXG4vKipcbiAqIEVuYWJsZSBhdXRvbWVyZ2Ugb24gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB0aGUgX3ZlcnNpb24gdG8gcGVyZm9ybSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdPUFRJTUlTVElDX0NPTkNVUlJFTkNZJztcbn1cblxuLyoqXG4gKiBFbmFibGUgY3VzdG9tIHN5bmMgb24gdGhlIHByb2plY3QsIHBvd2VyZWQgYnkgYSBsYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2Uge1xuICAvKipcbiAgICogVGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHN0cmF0ZWd5IHVzZXMgYSBsYW1iZGEgaGFuZGxlciB0eXBlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyVHlwZTogJ0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGludm9rZWQgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdEhhbmRsZXI6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBDb25mbGljdCBSZXNvbHV0aW9uIFN0cmF0ZWd5IHRvIGFwcGx5IHRvIHRoZSBwcm9qZWN0IG9yIGEgcGFydGljdWxhciBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgPVxuICB8IEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICogQGRlcHJlY2F0ZWQgdXNlIERhdGFTdG9yZUNvbmZpZ3VyYXRpb24gaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbGljdFJlc29sdXRpb24gZXh0ZW5kcyBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHt9XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBEYXRhU3RvcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFByb2plY3Qtd2lkZSBjb25maWcgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uIEFwcGxpZXMgdG8gYWxsIG5vbi1vdmVycmlkZGVuIG1vZGVscy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3Q/OiBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneTtcblxuICAvKipcbiAgICogTW9kZWwtc3BlY2lmaWMgY29uZmxpY3QgcmVzb2x1dGlvbiBvdmVycmlkZXMuXG4gICAqL1xuICByZWFkb25seSBtb2RlbHM/OiBSZWNvcmQ8c3RyaW5nLCBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneT47XG59XG5cbi8qKlxuICogUGFyYW1zIGV4cG9zZWQgdG8gc3VwcG9ydCBjb25maWd1cmluZyBhbmQgb3ZlcnJpZGluZyBwaXBlbGluZWQgc2xvdHMuIFRoaXMgYWxsb3dzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24sXG4gKiBpbmNsdWRpbmcgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdE92ZXJyaWRlIHtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGJlZm9yZSB0aGUgZGF0YXNvdXJjZSBpcyBpbnZva2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGFmdGVyIHRoZSBkYXRhc291cmNlIGlzIGludm9rZWQuXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcbn1cblxuLyoqXG4gKiBDb21tb24gc2xvdCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhlIGZpZWxkIHRvIGF0dGFjaCB0aGlzIGZ1bmN0aW9uIHRvIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZpZWxkTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBpbmRleCB0byB1c2UgdG8gaW5qZWN0IHRoaXMgaW50byB0aGUgZXhlY3V0aW9uIHBpcGVsaW5lLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdEluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVycmlkZGVuIGJlaGF2aW9yIGZvciB0aGlzIHNsb3QuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbjogRnVuY3Rpb25TbG90T3ZlcnJpZGU7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgTXV0YXRpb24gUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE11dGF0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBNdXRhdGlvbiB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnTXV0YXRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVVcGRhdGUnIHwgJ3Bvc3RVcGRhdGUnIHwgJ2ZpbmlzaCc7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgUXVlcnkgUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5RnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBRdWVyeSB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnUXVlcnknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVEYXRhTG9hZCcgfCAncG9zdERhdGFMb2FkJyB8ICdmaW5pc2gnO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIFN1YnNjcmlwdGlvbiBSZXNvbHZlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBTdWJzY3JpcHRpb24gdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ1N1YnNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBzbG90IG5hbWUgdG8gaW5qZWN0IHRoaXMgYmVoYXZpb3IgaW50by5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3ROYW1lOiAnaW5pdCcgfCAncHJlQXV0aCcgfCAnYXV0aCcgfCAncG9zdEF1dGgnIHwgJ3ByZVN1YnNjcmliZSc7XG59XG5cbi8qKlxuICogSW5wdXQgcGFyYW1zIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBzbG90IHdoaWNoIGlzIGJlaW5nIG92ZXJyaWRkZW4uXG4gKi9cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uU2xvdCA9IE11dGF0aW9uRnVuY3Rpb25TbG90IHwgUXVlcnlGdW5jdGlvblNsb3QgfCBTdWJzY3JpcHRpb25GdW5jdGlvblNsb3Q7XG5cbi8qKlxuICogU3Ryb25nbHkgdHlwZWQgc2V0IG9mIHNoYXJlZCBwYXJhbWV0ZXJzIGZvciBhbGwgdHJhbnNmb3JtZXJzLCBhbmQgY29yZSBsYXllci5cbiAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZSBmZWF0dXJlIGZsYWdzLCB0byBlbnN1cmUgcGFyYW0gY29lcmNpb24gaGFwcGVucyBpblxuICogYSBzaW5nbGUgbG9jYXRpb24sIGFuZCBpc24ndCBzcHJlYWQgYXJvdW5kIHRoZSB0cmFuc2Zvcm1lcnMsIHdoZXJlIHRoZXkgY2FuXG4gKiBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IGJlaGF2aW9ycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHJlc29sdmVyIGRlZHVwaW5nLCB0aGlzIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMgYmVjYXVzZSBkZWR1cGUgb3JkZXJpbmcgaXNuJ3Qgc3RhYmxlIHRvZGF5LCB3aGljaCBjYW5cbiAgICogbGVhZCB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXMgYWNyb3NzIHN0YWNrcyBpZiBtb2RlbHMgYXJlIHJlb3JkZXJlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVJlc29sdmVyRGVkdXBpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsaW5nIHNhbmRib3ggbW9kZSB3aWxsIGVuYWJsZSBhcGkga2V5IGF1dGggb24gYWxsIG1vZGVscyBpbiB0aGUgdHJhbnNmb3JtZWQgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FuZGJveE1vZGVFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHN1cHByZXNzZXMgZGVmYXVsdCBiZWhhdmlvciBvZiByZWRhY3RpbmcgcmVsYXRpb25hbCBmaWVsZHMgd2hlbiBhdXRoIHJ1bGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3Vic2NyaXB0aW9uc0luaGVyaXRQcmltYXJ5QXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTSTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGJlaGF2aW9yIHdpbGwgb25seSBjb21lIGludG8gZWZmZWN0IHdoZW4gYm90aCBcImFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlc1wiIGFuZCB0aGlzIHZhbHVlIGFyZSBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIGFueSBHU0kgdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTEwgRVhJU1RJTkcgREFUQSBidXRcbiAgICogY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBpbnRlcmZhY2UgZXF1aXZhbGVudCB0byBQYXJ0aWFsPFRyYW5zbGF0aW9uQmVoYXZpb3I+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxpbmcgc2FuZGJveCBtb2RlIHdpbGwgZW5hYmxlIGFwaSBrZXkgYXV0aCBvbiBhbGwgbW9kZWxzIGluIHRoZSB0cmFuc2Zvcm1lZCBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzYW5kYm94TW9kZUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBzdXBwcmVzc2VzIGRlZmF1bHQgYmVoYXZpb3Igb2YgcmVkYWN0aW5nIHJlbGF0aW9uYWwgZmllbGRzIHdoZW4gYXV0aCBydWxlcyBkbyBub3QgZXhhY3RseSBtYXRjaC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnNJbmhlcml0UHJpbWFyeUF1dGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCB0aGUgb3duZXIgZmllbGQgaXMgc3RpbGwgcG9wdWxhdGVkIGV2ZW4gaWYgYSBzdGF0aWMgaWFtIG9yIGdyb3VwIGF1dGhvcml6YXRpb24gYXBwbGllcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcG9wdWxhdGVPd25lckZpZWxkRm9yU3RhdGljR3JvdXBBdXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBkaXNhYmxlZCwgZ2VuZXJhdGVkIEBpbmRleCBhcyBhbiBMU0kgaW5zdGVhZCBvZiBhIEdTSS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vjb25kYXJ5S2V5QXNHU0k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0ZSBnZW5lcmF0aW9uIG9mIHF1ZXJ5IG5hbWVzLCBhbmQgYXMgYSByZXN1bHQgYXR0YWNoaW5nIGFsbCBpbmRleGVzIGFzIHF1ZXJpZXMgdG8gdGhlIGdlbmVyYXRlZCBBcGkuXG4gICAqIElmIGVuYWJsZWQsIEBpbmRleCBjYW4gYmUgcHJvdmlkZWQgYSBudWxsIG5hbWUgZmllbGQgdG8gZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgcXVlcnkgb24gdGhlIEFwaS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQXV0b0luZGV4UXVlcnlOYW1lcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBzZXQgbm9kZVRvTm9kZUVuY3J5cHRpb24gb24gdGhlIHNlYXJjaGFibGUgZG9tYWluIChpZiBvbmUgZXhpc3RzKS4gTm90IHJlY29tbWVuZGVkIGZvciB1c2UsIHByZWZlclxuICAgKiB0byB1c2UgYE9iamVjdC52YWx1ZXMocmVzb3VyY2VzLmFkZGl0aW9uYWxSZXNvdXJjZXNbJ0FXUzo6RWxhc3RpY3NlYXJjaDo6RG9tYWluJ10pLmZvckVhY2goKGRvbWFpbjogQ2ZuRG9tYWluKSA9PiB7XG4gICAqICAgZG9tYWluLk5vZGVUb05vZGVFbmNyeXB0aW9uT3B0aW9ucyA9IHsgRW5hYmxlZDogVHJ1ZSB9O1xuICAgKiB9KTtcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVNlYXJjaE5vZGVUb05vZGVFbmNyeXB0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBpbnRlcm5hbCBjZm4gb3V0cHV0cyB3aGljaCBleGlzdGVkIGluIEFtcGxpZnktZ2VuZXJhdGVkIGFwcHMgd2lsbCBjb250aW51ZSB0byBiZSBlbWl0dGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlVHJhbnNmb3JtZXJDZm5PdXRwdXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhpcyBiZWhhdmlvciB3aWxsIG9ubHkgY29tZSBpbnRvIGVmZmVjdCB3aGVuIGJvdGggXCJhbGxvd0Rlc3RydWN0aXZlR3JhcGhxbFNjaGVtYVVwZGF0ZXNcIiBhbmQgdGhpcyB2YWx1ZSBhcmUgc2V0IHRvIHRydWVcbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhbnkgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCB1cGRhdGUgb3BlcmF0aW9uIHdpbGwgcmVwbGFjZSB0aGUgdGFibGUgaW5zdGVhZCBvZiBpdGVyYXRpdmUgZGVwbG95bWVudCwgd2hpY2ggd2lsbCBXSVBFIEFMTFxuICAgKiBFWElTVElORyBEQVRBIGJ1dCBjb3N0IG11Y2ggbGVzcyB0aW1lIGZvciBkZXBsb3ltZW50IFRoaXMgd2lsbCBvbmx5IGFmZmVjdCBEeW5hbW9EQiB0YWJsZXMgd2l0aCBwcm92aXNpb24gc3RyYXRlZ3kgXCJBTVBMSUZZX1RBQkxFXCIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxhY2VUYWJsZVVwb25Hc2lVcGRhdGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEdyYXBocWwgQXBpIGRlZmluaXRpb24sIHdoaWNoIGNhbiBiZSBpbXBsZW1lbnRlZCBpbiBtdWx0aXBsZSB3YXlzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24ge1xuICAvKipcbiAgICogUmV0dXJuIHRoZSBzY2hlbWEgZGVmaW5pdGlvbiBhcyBhIGdyYXBocWwgc3RyaW5nLCB3aXRoIGFtcGxpZnkgZGlyZWN0aXZlcyBhbGxvd2VkLlxuICAgKiBAcmV0dXJucyB0aGUgcmVuZGVyZWQgc2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgc2NoZW1hOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGFueSBmdW5jdGlvbiBzbG90cyBkZWZpbmVkIGV4cGxpY2l0bHkgaW4gdGhlIEFwaSBkZWZpbml0aW9uLlxuICAgKiBAcmV0dXJucyBnZW5lcmF0ZWQgZnVuY3Rpb24gc2xvdHNcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uU2xvdHM6IEZ1bmN0aW9uU2xvdFtdO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgcmVmZXJlbmNlcyB0byBhbnkgbGFtYmRhIGZ1bmN0aW9ucyB1c2VkIGluIHRoZSBkZWZpbml0aW9uLlxuICAgKiBVc2VmdWwgZm9yIHdpcmluZyB0aHJvdWdoIGF3c19sYW1iZGEuRnVuY3Rpb24gY29uc3RydWN0cyBpbnRvIHRoZSBkZWZpbml0aW9uIGRpcmVjdGx5LFxuICAgKiBhbmQgZ2VuZXJhdGVkIHJlZmVyZW5jZXMgdG8gaW52b2tlIHRoZW0uXG4gICAqIEByZXR1cm5zIGFueSBsYW1iZGEgZnVuY3Rpb25zLCBrZXllZCBieSB0aGVpciByZWZlcmVuY2VkICduYW1lJyBpbiB0aGUgZ2VuZXJhdGVkIHNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IHJlZmVyZW5jZWRMYW1iZGFGdW5jdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBJRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgZGF0YXNvdXJjZSBzdHJhdGVneSBtYXBwaW5nLiBUaGUgZGVmYXVsdCBzdHJhdGVneSBpcyB0byB1c2UgRHluYW1vREIgZnJvbSBDbG91ZEZvcm1hdGlvbi5cbiAgICogQHJldHVybnMgZGF0YXNvdXJjZSBzdHJhdGVneSBtYXBwaW5nXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlU3RyYXRlZ2llczogUmVjb3JkPHN0cmluZywgTW9kZWxEYXRhU291cmNlU3RyYXRlZ3k+O1xuXG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiBjdXN0b20gUXVlcnkgb3IgTXV0YXRpb24gU1FMIGNvbW1hbmRzIHRvIHRoZSBkYXRhIHNvdXJjZXMgdGhhdCByZXNvbHZlcyB0aGVtLlxuICAgKiBAcmV0dXJucyBhIGxpc3Qgb2YgbWFwcGluZ3MgZnJvbSBjdXN0b20gU1FMIGNvbW1hbmRzIHRvIGRhdGEgc291cmNlc1xuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWdpZXM/OiBDdXN0b21TcWxEYXRhU291cmNlU3RyYXRlZ3lbXTtcbn1cblxuLyoqXG4gKiBFbnRyeSByZXByZXNlbnRpbmcgdGhlIHJlcXVpcmVkIG91dHB1dCBmcm9tIHRoZSBiYWNrZW5kIGZvciBjb2RlZ2VuIGdlbmVyYXRlIGNvbW1hbmRzIHRvIHdvcmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tlbmRPdXRwdXRFbnRyeSB7XG4gIC8qKlxuICAgKiBUaGUgcHJvdG9jb2wgdmVyc2lvbiBmb3IgdGhpcyBiYWNrZW5kIG91dHB1dC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0cmluZy1tYXAgcGF5bG9hZCBvZiBnZW5lcmF0ZWQgY29uZmlnIHZhbHVlcy5cbiAgICovXG4gIHJlYWRvbmx5IHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogQmFja2VuZCBvdXRwdXQgc3RyYXRlZ3kgdXNlZCB0byB3cml0ZSBjb25maWcgcmVxdWlyZWQgZm9yIGNvZGVnZW4gdGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3kge1xuICAvKipcbiAgICogQWRkIGFuIGVudHJ5IHRvIGJhY2tlbmQgb3V0cHV0LlxuICAgKiBAcGFyYW0ga2V5TmFtZSB0aGUga2V5XG4gICAqIEBwYXJhbSBiYWNrZW5kT3V0cHV0RW50cnkgdGhlIHJlY29yZCB0byBzdG9yZSBpbiB0aGUgYmFja2VuZCBvdXRwdXRcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVxuICBhZGRCYWNrZW5kT3V0cHV0RW50cnkoa2V5TmFtZTogc3RyaW5nLCBiYWNrZW5kT3V0cHV0RW50cnk6IElCYWNrZW5kT3V0cHV0RW50cnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIElucHV0IHByb3BzIGZvciB0aGUgQW1wbGlmeUdyYXBocWxBcGkgY29uc3RydWN0LiBTcGVjaWZpZXMgd2hhdCB0aGUgaW5wdXQgdG8gdHJhbnNmb3JtIGludG8gYW4gQXBpLCBhbmQgY29uZmlndXJhdGlvbnMgZm9yXG4gKiB0aGUgdHJhbnNmb3JtYXRpb24gcHJvY2Vzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbXBsaWZ5R3JhcGhxbEFwaVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZpbml0aW9uIHRvIHRyYW5zZm9ybSBpbiBhIGZ1bGwgQXBpLlxuICAgKiBDYW4gYmUgY29uc3RydWN0ZWQgdmlhIHRoZSBBbXBsaWZ5R3JhcGhxbERlZmluaXRpb24gY2xhc3MuXG4gICAqL1xuICByZWFkb25seSBkZWZpbml0aW9uOiBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBOYW1lIHRvIGJlIHVzZWQgZm9yIHRoZSBBcHBTeW5jIEFwaS5cbiAgICogRGVmYXVsdDogY29uc3RydWN0IGlkLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUmVxdWlyZWQgYXV0aCBtb2RlcyBmb3IgdGhlIEFwaS4gVGhpcyBvYmplY3QgbXVzdCBiZSBhIHN1cGVyc2V0IG9mIHRoZSBjb25maWd1cmVkIGF1dGggcHJvdmlkZXJzIGluIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzL1xuICAgKi9cbiAgcmVhZG9ubHkgYXV0aG9yaXphdGlvbk1vZGVzOiBBdXRob3JpemF0aW9uTW9kZXM7XG5cbiAgLyoqXG4gICAqIExhbWJkYSBmdW5jdGlvbnMgcmVmZXJlbmNlZCBpbiB0aGUgZGVmaW5pdGlvbnMncyBAZnVuY3Rpb24gZGlyZWN0aXZlcy4gVGhlIGtleXMgb2YgdGhpcyBvYmplY3QgYXJlIGV4cGVjdGVkIHRvIGJlIHRoZVxuICAgKiBmdW5jdGlvbiBuYW1lIHByb3ZpZGVkIGluIHRoZSBkZWZpbml0aW9uLCBhbmQgdmFsdWUgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgbmFtZSByZWZlcnMgdG8uIElmIGEgbmFtZSBpcyBub3QgZm91bmQgaW4gdGhpc1xuICAgKiBtYXAsIHRoZW4gaXQgaXMgaW50ZXJwcmV0ZWQgYXMgdGhlIGBmdW5jdGlvbk5hbWVgLCBhbmQgYW4gYXJuIHdpbGwgYmUgY29uc3RydWN0ZWQgdXNpbmcgdGhlIGN1cnJlbnQgYXdzIGFjY291bnQgYW5kIHJlZ2lvblxuICAgKiAob3Igb3ZlcnJpZGRlbiB2YWx1ZXMsIGlmIHNldCBpbiB0aGUgZGlyZWN0aXZlKS5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uTmFtZU1hcD86IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBjb25mbGljdCByZXNvbHV0aW9uIG9uIHRoZSBBcGksIHdoaWNoIGlzIHJlcXVpcmVkIHRvIGVuYWJsZSBEYXRhU3RvcmUgQXBpIGZ1bmN0aW9uYWxpdHkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvbGliL2RhdGFzdG9yZS9nZXR0aW5nLXN0YXJ0ZWQvcS9wbGF0Zm9ybS9qcy9cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGRhdGFTdG9yZUNvbmZpZ3VyYXRpb24gaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbmZsaWN0UmVzb2x1dGlvbj86IENvbmZsaWN0UmVzb2x1dGlvbjtcblxuICAvKipcbiAgICogU3RhY2tNYXBwaW5ncyBvdmVycmlkZSB0aGUgYXNzaWduZWQgbmVzdGVkIHN0YWNrIG9uIGEgcGVyLXJlc291cmNlIGJhc2lzLiBPbmx5IGFwcGxpZXMgdG8gcmVzb2x2ZXJzLCBhbmQgdGFrZXMgdGhlIGZvcm1cbiAgICogeyA8bG9naWNhbElkPjogPHN0YWNrTmFtZT4gfVxuICAgKiBJdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gdXNlIHRoaXMgcGFyYW1ldGVyIHVubGVzcyB5b3UgYXJlIGVuY291bnRlcmluZyBzdGFjayByZXNvdXJjZSBjb3VudCBsaW1pdHMsIGFuZCB3b3J0aCBub3RpbmcgdGhhdFxuICAgKiBhZnRlciBpbml0aWFsIGRlcGxveW1lbnQgQXBwU3luYyByZXNvbHZlcnMgY2Fubm90IGJlIG1vdmVkIGJldHdlZW4gbmVzdGVkIHN0YWNrcywgdGhleSB3aWxsIG5lZWQgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBhcHAsXG4gICAqIHRoZW4gcmUtYWRkZWQgZnJvbSBhIG5ldyBzdGFjay5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTWFwcGluZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgZm9yIGEgZ2l2ZW4gc2xvdCBpbiB0aGUgZ2VuZXJhdGVkIHJlc29sdmVyIHBpcGVsaW5lcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgd2hhdCBzbG90cyBhcmUgYXZhaWxhYmxlLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNvdmVycmlkZS1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnMuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblNsb3RzPzogRnVuY3Rpb25TbG90W107XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgYSBsaXN0IG9mIGFkZGl0aW9uYWwgY3VzdG9tIHRyYW5zZm9ybWVycyB3aGljaCBhcmUgaW5qZWN0ZWQgaW50byB0aGUgdHJhbnNmb3JtIHByb2Nlc3MuXG4gICAqIFRoZXNlIGN1c3RvbSB0cmFuc2Zvcm1lcnMgbXVzdCBiZSBpbXBsZW1lbnRlZCB3aXRoIGF3cy1jZGstbGliID49Mi44MC4wLCBhbmQgQGF3cy1hbXBsaWZ5L2dyYXBocWwtdHJhbnNmb3JtZXItY29yZSA+PSAyLjEuMVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSB0cmFuc2Zvcm1lclBsdWdpbnM/OiBhbnlbXTtcblxuICAvKipcbiAgICogSWYgdXNpbmcgcHJlZGljdGlvbnMsIGEgYnVja2V0IG11c3QgYmUgcHJvdmlkZWQgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHNlYXJjaCBmb3IgYXNzZXRzLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJlZGljdGlvbnNCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGlzIHJlcGxhY2VzIGZlYXR1cmUgZmxhZ3MgZnJvbSB0aGUgQXBpIGNvbnN0cnVjdCwgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gb24gd2hhdCB0aGVzZSBwYXJhbWV0ZXJzIGRvLFxuICAgKiByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlZmVyZW5jZS9mZWF0dXJlLWZsYWdzLyNncmFwaFFMVHJhbnNmb3JtZXJcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9uQmVoYXZpb3I/OiBQYXJ0aWFsVHJhbnNsYXRpb25CZWhhdmlvcjtcblxuICAvKipcbiAgICogU3RyYXRlZ3kgdG8gc3RvcmUgY29uc3RydWN0IG91dHB1dHMuIElmIG5vIG91dHB1dFN0b3JhZ2VTdHJhdGVneSBpcyBwcm92aWRlZCBhIGRlZmF1bHQgc3RyYXRlZ3kgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0U3RvcmFnZVN0cmF0ZWd5PzogSUJhY2tlbmRPdXRwdXRTdG9yYWdlU3RyYXRlZ3k7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBEYXRhU3RvcmUgY29uZmxpY3QgcmVzb2x1dGlvbiBvbiB0aGUgQXBpLiBDb25mbGljdCByZXNvbHV0aW9uIGlzIHJlcXVpcmVkIHRvIGVuYWJsZSBEYXRhU3RvcmUgQXBpIGZ1bmN0aW9uYWxpdHkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvbGliL2RhdGFzdG9yZS9nZXR0aW5nLXN0YXJ0ZWQvcS9wbGF0Zm9ybS9qcy9cbiAgICovXG4gIHJlYWRvbmx5IGRhdGFTdG9yZUNvbmZpZ3VyYXRpb24/OiBEYXRhU3RvcmVDb25maWd1cmF0aW9uO1xufVxuXG4vKipcbiAqIEwxIENESyByZXNvdXJjZXMgZnJvbSB0aGUgQXBpIHdoaWNoIHdlcmUgZ2VuZXJhdGVkIGFzIHBhcnQgb2YgdGhlIHRyYW5zZm9ybS5cbiAqIFRoZXNlIGFyZSBwb3RlbnRpYWxseSBzdG9yZWQgdW5kZXIgbmVzdGVkIHN0YWNrcywgYnV0IHByZXNlbnRlZCBvcmdhbml6ZWQgYnkgdHlwZSBpbnN0ZWFkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzIHtcbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxBcGk6IENmbkdyYXBoUUxBcGk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBTY2hlbWEgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkdyYXBocWxTY2hlbWE6IENmbkdyYXBoUUxTY2hlbWE7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBBcGkgS2V5IEwxIFJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjZm5BcGlLZXk/OiBDZm5BcGlLZXk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBSZXNvbHZlciBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJlc29sdmVyczogUmVjb3JkPHN0cmluZywgQ2ZuUmVzb2x2ZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb25zOiBSZWNvcmQ8c3RyaW5nLCBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgRGF0YVNvdXJjZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkRhdGFTb3VyY2VzOiBSZWNvcmQ8c3RyaW5nLCBDZm5EYXRhU291cmNlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBEeW5hbW9EQiBUYWJsZSBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmblRhYmxlczogUmVjb3JkPHN0cmluZywgQ2ZuVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFtcGxpZnkgRHluYW1vRGIgVGFibGUgTDEgcmVzb3VyY2Ugd3JhcHBlciwga2V5ZWQgYnkgbW9kZWwgdHlwZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgYW1wbGlmeUR5bmFtb0RiVGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBBbXBsaWZ5RHluYW1vRGJUYWJsZVdyYXBwZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIElBTSBSb2xlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUm9sZXM6IFJlY29yZDxzdHJpbmcsIENmblJvbGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIExhbWJkYSBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGZ1bmN0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBjZm5GdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogUmVtYWluaW5nIEwxIHJlc291cmNlcyBnZW5lcmF0ZWQsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxDZm5SZXNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIENmblJlc291cmNlPjtcbn1cblxuLyoqXG4gKiBBY2Nlc3NpYmxlIHJlc291cmNlcyBmcm9tIHRoZSBBcGkgd2hpY2ggd2VyZSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgdHJhbnNmb3JtLlxuICogVGhlc2UgYXJlIHBvdGVudGlhbGx5IHN0b3JlZCB1bmRlciBuZXN0ZWQgc3RhY2tzLCBidXQgcHJlc2VudGVkIG9yZ2FuaXplZCBieSB0eXBlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlSZXNvdXJjZXMge1xuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBMMiBSZXNvdXJjZSwgaW5jbHVkZXMgdGhlIFNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IGdyYXBocWxBcGk6IElHcmFwaHFsQXBpO1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIER5bmFtb0RCIFRhYmxlIEwyIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBJVGFibGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIElBTSBSb2xlIEwyIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZXM6IFJlY29yZDxzdHJpbmcsIElSb2xlPjtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBMYW1iZGEgRnVuY3Rpb24gTDEgUmVzb3VyY2VzLCBrZXllZCBieSBmdW5jdGlvbiBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25zOiBSZWNvcmQ8c3RyaW5nLCBJRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBMMSBDZm4gUmVzb3VyY2VzLCBmb3Igd2hlbiBkaXBwaW5nIGRvd24gYSBsZXZlbCBvZiBhYnN0cmFjdGlvbiBpcyBkZXNpcmFibGUuXG4gICAqL1xuICByZWFkb25seSBjZm5SZXNvdXJjZXM6IEFtcGxpZnlHcmFwaHFsQXBpQ2ZuUmVzb3VyY2VzO1xuXG4gIC8qKlxuICAgKiBOZXN0ZWQgU3RhY2tzIGdlbmVyYXRlZCBieSB0aGUgQXBpIENvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IG5lc3RlZFN0YWNrczogUmVjb3JkPHN0cmluZywgTmVzdGVkU3RhY2s+O1xufVxuXG4vKipcbiAqIElucHV0IHR5cGUgcHJvcGVydGllcyB3aGVuIGFkZGluZyBhIG5ldyBhcHBzeW5jLkFwcHN5bmNGdW5jdGlvbiB0byB0aGUgZ2VuZXJhdGVkIEFQSS5cbiAqIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUgT21pdDxhcHBzeW5jLkFwcHN5bmNGdW5jdGlvblByb3BzLCAnYXBpJz4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWRkRnVuY3Rpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiB0aGUgZGF0YSBzb3VyY2UgbGlua2VkIHRvIHRoaXMgQXBwU3luYyBGdW5jdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNvdXJjZTogQmFzZURhdGFTb3VyY2U7XG5cbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRoZSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiB0aGUgcmVxdWVzdCBtYXBwaW5nIHRlbXBsYXRlIGZvciB0aGUgQXBwU3luYyBGdW5jdGlvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogdGhlIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcG9uc2VNYXBwaW5nVGVtcGxhdGU/OiBNYXBwaW5nVGVtcGxhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbnMgcnVudGltZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGZ1bmN0aW9uIHJ1bnRpbWUsIFZUTCBtYXBwaW5nIHRlbXBsYXRlcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBydW50aW1lPzogRnVuY3Rpb25SdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gY29kZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGNvZGUgaXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgY29kZT86IENvZGU7XG59XG4iXX0=
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBDZm5SZXNvdXJjZSwgTmVzdGVkU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBDZm5HcmFwaFFMQXBpLFxuICBDZm5HcmFwaFFMU2NoZW1hLFxuICBDZm5BcGlLZXksXG4gIENmblJlc29sdmVyLFxuICBDZm5GdW5jdGlvbkNvbmZpZ3VyYXRpb24sXG4gIENmbkRhdGFTb3VyY2UsXG4gIElHcmFwaHFsQXBpLFxuICBNYXBwaW5nVGVtcGxhdGUsXG4gIEJhc2VEYXRhU291cmNlLFxuICBDb2RlLFxuICBGdW5jdGlvblJ1bnRpbWUsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hcHBzeW5jJztcbmltcG9ydCB7IENmblRhYmxlLCBJVGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0IHsgSVJvbGUsIENmblJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IElVc2VyUG9vbCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jb2duaXRvJztcbmltcG9ydCB7IElGdW5jdGlvbiwgQ2ZuRnVuY3Rpb24gfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHsgQW1wbGlmeUR5bmFtb0RiVGFibGVXcmFwcGVyIH0gZnJvbSAnLi9hbXBsaWZ5LWR5bmFtb2RiLXRhYmxlLXdyYXBwZXInO1xuaW1wb3J0IHsgQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5LCBNb2RlbERhdGFTb3VyY2VTdHJhdGVneSB9IGZyb20gJy4vbW9kZWwtZGF0YXNvdXJjZS1zdHJhdGVneS10eXBlcyc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgSUFNIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICogQHN0cnVjdCAtIHJlcXVpcmVkIHNpbmNlIHRoaXMgaW50ZXJmYWNlIGJlZ2lucyB3aXRoIGFuICdJJ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBTUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogSUQgZm9yIHRoZSBDb2duaXRvIElkZW50aXR5IFBvb2wgdmVuZGluZyBhdXRoIGFuZCB1bmF1dGggcm9sZXMuXG4gICAqIEZvcm1hdDogYDxyZWdpb24+OjxpZCBzdHJpbmc+YFxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuaWRlbnRpdHlQb29sSWQnIGluc3RlYWQuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL3JlYWN0L3Rvb2xzL2NsaS9taWdyYXRpb24vaWFtLWF1dGgtdXBkYXRlcy1mb3ItY2RrLWNvbnN0cnVjdCBmb3IgZGV0YWlscy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwcml2YXRlIH0gYWNjZXNzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgJ0lkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWcuYXV0aGVudGljYXRlZFVzZXJSb2xlJyBpbnN0ZWFkLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogVW5hdXRoZW50aWNhdGVkIHVzZXIgcm9sZSwgYXBwbGllcyB0byB7IHByb3ZpZGVyOiBpYW0sIGFsbG93OiBwdWJsaWMgfSBhY2Nlc3MuXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIFVzZSAnSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZy51bmF1dGhlbnRpY2F0ZWRVc2VyUm9sZScgaW5zdGVhZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkVXNlclJvbGU/OiBJUm9sZTtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIElBTSByb2xlcyB3aGljaCB3aWxsIGJlIGdyYW50ZWQgZnVsbCByZWFkL3dyaXRlIGFjY2VzcyB0byB0aGUgZ2VuZXJhdGVkIG1vZGVsIGlmIElBTSBhdXRoIGlzIGVuYWJsZWQuXG4gICAqIElmIGFuIElSb2xlIGlzIHByb3ZpZGVkLCB0aGUgcm9sZSBgbmFtZWAgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICogSWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQsIHRoZSByYXcgdmFsdWUgd2lsbCBiZSB1c2VkIGZvciBtYXRjaGluZy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVXNlICdlbmFibGVJYW1BdXRob3JpemF0aW9uTW9kZScgYW5kIElBTSBQb2xpY3kgdG8gY29udHJvbCBhY2Nlc3MgZm9yIElBTSBwcmluY2lwYWxzLlxuICAgKiBTZWUgaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9yZWFjdC90b29scy9jbGkvbWlncmF0aW9uL2lhbS1hdXRoLXVwZGF0ZXMtZm9yLWNkay1jb25zdHJ1Y3QgZm9yIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBhbGxvd0xpc3RlZFJvbGVzPzogKElSb2xlIHwgc3RyaW5nKVtdO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGFjY2VzcyBmb3IgSUFNIHByaW5jaXBhbHMuIElmIGVuYWJsZWQgQGF1dGggZGlyZWN0aXZlIHJ1bGVzIGFyZSBub3QgYXBwbGllZC5cbiAgICogSW5zdGVhZCwgYWNjZXNzIHNob3VsZCBiZSBkZWZpbmVkIGJ5IElBTSBQb2xpY3ksIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9hd3NhcHBzeW5jLmh0bWwuXG4gICAqXG4gICAqIERvZXMgbm90IGFwcGx5IHRvIGF1dGhlbnRpY2F0ZWQgYW5kIHVuYXV0aGVudGljYXRlZCBJQU0gUm9sZXMgYXR0YWNoZWQgdG8gQ29nbml0byBJZGVudGl0eSBQb29sLlxuICAgKiBVc2UgSWRlbnRpdHlQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB0byBjb25maWd1cmUgdGhlaXIgYWNjZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSWFtQXV0aG9yaXphdGlvbk1vZGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIENvZ25pdG8gSWRlbnRpdHkgUG9vbCBBdXRob3JpemF0aW9uIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqIEBzdHJ1Y3QgLSByZXF1aXJlZCBzaW5jZSB0aGlzIGludGVyZmFjZSBiZWdpbnMgd2l0aCBhbiAnSSdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJZGVudGl0eVBvb2xBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIElEIGZvciB0aGUgQ29nbml0byBJZGVudGl0eSBQb29sIHZlbmRpbmcgYXV0aCBhbmQgdW5hdXRoIHJvbGVzLlxuICAgKiBGb3JtYXQ6IGA8cmVnaW9uPjo8aWQgc3RyaW5nPmBcbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHByaXZhdGUgfSBhY2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkVXNlclJvbGU6IElSb2xlO1xuXG4gIC8qKlxuICAgKiBVbmF1dGhlbnRpY2F0ZWQgdXNlciByb2xlLCBhcHBsaWVzIHRvIHsgcHJvdmlkZXI6IGlhbSwgYWxsb3c6IHB1YmxpYyB9IGFjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IHVuYXV0aGVudGljYXRlZFVzZXJSb2xlOiBJUm9sZTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDb2duaXRvIFVzZXJQb29sIEF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBVc2VyIFBvb2wgd2hpY2ggaXMgdXNlZCB0byBhdXRoZW50aWNhdGVkIEpXVCB0b2tlbnMsIGFuZCB2ZW5kcyBncm91cCBhbmQgdXNlciBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJQb29sOiBJVXNlclBvb2w7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgT3BlbklkIENvbm5lY3QgQXV0aG9yaXphdGlvbiBvbiB0aGUgR3JhcGhxbCBBcGkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0lEQ0F1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGlzc3VlciBmb3IgdGhlIE9JREMgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNQcm92aWRlck5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVXJsIGZvciB0aGUgT0lEQyB0b2tlbiBpc3N1ZXIuXG4gICAqL1xuICByZWFkb25seSBvaWRjSXNzdWVyVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjbGllbnQgaWRlbnRpZmllciBvZiB0aGUgUmVseWluZyBwYXJ0eSBhdCB0aGUgT3BlbklEIGlkZW50aXR5IHByb3ZpZGVyLlxuICAgKiBBIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYW4gYmUgc3BlY2lmaWVkIHNvIEFwcFN5bmMgY2FuIHZhbGlkYXRlIGFnYWluc3QgbXVsdGlwbGUgY2xpZW50IGlkZW50aWZpZXJzIGF0IGEgdGltZS4gRXhhbXBsZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGF1dGhlbnRpY2F0ZWQgYnkgT0lEQyBwcm92aWRlci5cbiAgICogYXV0aF90aW1lIGNsYWltIGluIE9JREMgdG9rZW4gaXMgcmVxdWlyZWQgZm9yIHRoaXMgdmFsaWRhdGlvbiB0byB3b3JrLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tQXV0aDogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBkdXJhdGlvbiBhbiBPSURDIHRva2VuIGlzIHZhbGlkIGFmdGVyIGJlaW5nIGlzc3VlZCB0byBhIHVzZXIuXG4gICAqIFRoaXMgdmFsaWRhdGlvbiB1c2VzIGlhdCBjbGFpbSBvZiBPSURDIHRva2VuLlxuICAgKi9cbiAgcmVhZG9ubHkgdG9rZW5FeHBpcnlGcm9tSXNzdWU6IER1cmF0aW9uO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIEFwaSBLZXlzIG9uIHRoZSBHcmFwaHFsIEFwaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIGZvciB0aGUgQXBpIEtleSB0byBhdHRhY2ggdG8gdGhlIEFwaS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGR1cmF0aW9uIHJlcHJlc2VudGluZyB0aGUgdGltZSBmcm9tIENsb3VkZm9ybWF0aW9uIGRlcGxveSB1bnRpbCBleHBpcnkuXG4gICAqL1xuICByZWFkb25seSBleHBpcmVzOiBEdXJhdGlvbjtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBDdXN0b20gTGFtYmRhIGF1dGhvcml6YXRpb24gb24gdGhlIEdyYXBocWwgQXBpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUF1dGhvcml6YXRpb25Db25maWcge1xuICAvKipcbiAgICogVGhlIGF1dGhvcml6ZXIgbGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICAvKipcbiAgICogSG93IGxvbmcgdGhlIHJlc3VsdHMgYXJlIGNhY2hlZC5cbiAgICovXG4gIHJlYWRvbmx5IHR0bDogRHVyYXRpb247XG59XG5cbi8qKlxuICogQXV0aG9yaXphdGlvbiBNb2RlcyB0byBhcHBseSB0byB0aGUgQXBpLlxuICogQXQgbGVhc3Qgb25lIG1vZGVzIG11c3QgYmUgcHJvdmlkZWQsIGFuZCBpZiBtb3JlIHRoYW4gb25lIGFyZSBwcm92aWRlZCBhIGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZSBtdXN0IGJlIHNwZWNpZmllZC5cbiAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIEFtcGxpZnkgQXBpIGF1dGgsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9hdXRob3JpemF0aW9uLXJ1bGVzLyNhdXRob3JpemF0aW9uLXN0cmF0ZWdpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRob3JpemF0aW9uTW9kZXMge1xuICAvKipcbiAgICogRGVmYXVsdCBhdXRoIG1vZGUgdG8gcHJvdmlkZSB0byB0aGUgQXBpLCByZXF1aXJlZCBpZiBtb3JlIHRoYW4gb25lIGNvbmZpZyB0eXBlIGlzIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRBdXRob3JpemF0aW9uTW9kZT86ICdBV1NfSUFNJyB8ICdBTUFaT05fQ09HTklUT19VU0VSX1BPT0xTJyB8ICdPUEVOSURfQ09OTkVDVCcgfCAnQVBJX0tFWScgfCAnQVdTX0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIElBTSBBdXRoIGNvbmZpZywgcmVxdWlyZWQgdG8gYWxsb3cgSUFNLWJhc2VkIGFjY2VzcyB0byB0aGlzIEFQSS5cbiAgICogVGhpcyBhcHBsaWVzIHRvIGFueSBJQU0gcHJpbmNpcGFsIGV4Y2VwdCBBbWF6b24gQ29nbml0byBpZGVudGl0eSBwb29sJ3MgYXV0aGVudGljYXRlZCBhbmQgdW5hdXRoZW50aWNhdGVkIHJvbGVzLlxuICAgKiBUaGlzIGJlaGF2aW9yIHdhcyBoYXMgcmVjZW50bHkgYmVlbiBpbXByb3ZlZC5cbiAgICogU2VlIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVhY3QvdG9vbHMvY2xpL21pZ3JhdGlvbi9pYW0tYXV0aC11cGRhdGVzLWZvci1jZGstY29uc3RydWN0IGZvciBkZXRhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgaWFtQ29uZmlnPzogSUFNQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBJZGVudGl0eSBQb29sIGNvbmZpZywgcmVxdWlyZWQgaWYgYW4gJ2lkZW50aXR5UG9vbCcgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAncHVibGljJyBhbmQgJ3ByaXZhdGUnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5UG9vbENvbmZpZz86IElkZW50aXR5UG9vbEF1dGhvcml6YXRpb25Db25maWc7XG5cbiAgLyoqXG4gICAqIENvZ25pdG8gVXNlclBvb2wgY29uZmlnLCByZXF1aXJlZCBpZiBhICd1c2VyUG9vbHMnIGF1dGggcHJvdmlkZXIgaXMgc3BlY2lmaWVkIGluIHRoZSBBcGkuXG4gICAqIEFwcGxpZXMgdG8gJ293bmVyJywgJ3ByaXZhdGUnLCBhbmQgJ2dyb3VwJyBhdXRoIHN0cmF0ZWdpZXMuXG4gICAqL1xuICByZWFkb25seSB1c2VyUG9vbENvbmZpZz86IFVzZXJQb29sQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQ29nbml0byBPSURDIGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnb2lkYycgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnb3duZXInLCAncHJpdmF0ZScsIGFuZCAnZ3JvdXAnIGF1dGggc3RyYXRlZ2llcy5cbiAgICovXG4gIHJlYWRvbmx5IG9pZGNDb25maWc/OiBPSURDQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQXBwU3luYyBBcGkgS2V5IGNvbmZpZywgcmVxdWlyZWQgaWYgYSAnYXBpS2V5JyBhdXRoIHByb3ZpZGVyIGlzIHNwZWNpZmllZCBpbiB0aGUgQXBpLlxuICAgKiBBcHBsaWVzIHRvICdwdWJsaWMnIGF1dGggc3RyYXRlZ3kuXG4gICAqL1xuICByZWFkb25seSBhcGlLZXlDb25maWc/OiBBcGlLZXlBdXRob3JpemF0aW9uQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgY29uZmlnLCByZXF1aXJlZCBpZiBhICdmdW5jdGlvbicgYXV0aCBwcm92aWRlciBpcyBzcGVjaWZpZWQgaW4gdGhlIEFwaS5cbiAgICogQXBwbGllcyB0byAnY3VzdG9tJyBhdXRoIHN0cmF0ZWd5LlxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQ29uZmlnPzogTGFtYmRhQXV0aG9yaXphdGlvbkNvbmZpZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHJvbGVzIGdyYW50ZWQgZnVsbCBSL1cgYWNjZXNzIHRvIHRoZSBBcGkuXG4gICAqIEBkZXByZWNhdGVkLCB1c2UgaWFtQ29uZmlnLmFsbG93TGlzdGVkUm9sZXMgaW5zdGVhZC5cbiAgICovXG4gIHJlYWRvbmx5IGFkbWluUm9sZXM/OiBJUm9sZVtdO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IHRvIHVzZSBhIHZlcnNpb24gZmllbGQgdG8gdHJhY2sgY29uZmxpY3QgZGV0ZWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBDb25mbGljdERldGVjdGlvblR5cGUgPSAnVkVSU0lPTicgfCAnTk9ORSc7XG5cbi8qKlxuICogQ29tbW9uIHBhcmFtZXRlcnMgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSBjb25mbGljdCBkZXRlY3Rpb24gdHlwZSB1c2VkIGZvciByZXNvbHV0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZGV0ZWN0aW9uVHlwZTogQ29uZmxpY3REZXRlY3Rpb25UeXBlO1xufVxuXG4vKipcbiAqIEVuYWJsZSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5IG9uIHRoZSBwcm9qZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSBleGVjdXRlcyBhbiBhdXRvLW1lcmdlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdBVVRPTUVSR0UnO1xufVxuXG4vKipcbiAqIEVuYWJsZSBhdXRvbWVyZ2Ugb24gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5IGV4dGVuZHMgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3lCYXNlIHtcbiAgLyoqXG4gICAqIFRoaXMgY29uZmxpY3QgcmVzb2x1dGlvbiBzdHJhdGVneSB0aGUgX3ZlcnNpb24gdG8gcGVyZm9ybSBvcHRpbWlzdGljIGNvbmN1cnJlbmN5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlclR5cGU6ICdPUFRJTUlTVElDX0NPTkNVUlJFTkNZJztcbn1cblxuLyoqXG4gKiBFbmFibGUgY3VzdG9tIHN5bmMgb24gdGhlIHByb2plY3QsIHBvd2VyZWQgYnkgYSBsYW1iZGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgZXh0ZW5kcyBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneUJhc2Uge1xuICAvKipcbiAgICogVGhpcyBjb25mbGljdCByZXNvbHV0aW9uIHN0cmF0ZWd5IHVzZXMgYSBsYW1iZGEgaGFuZGxlciB0eXBlLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwcHN5bmMvbGF0ZXN0L2Rldmd1aWRlL2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtc3luYy5odG1sI2NvbmZsaWN0LWRldGVjdGlvbi1hbmQtcmVzb2x1dGlvblxuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyVHlwZTogJ0xBTUJEQSc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIGludm9rZWQgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdEhhbmRsZXI6IElGdW5jdGlvbjtcbn1cblxuLyoqXG4gKiBDb25mbGljdCBSZXNvbHV0aW9uIFN0cmF0ZWd5IHRvIGFwcGx5IHRvIHRoZSBwcm9qZWN0IG9yIGEgcGFydGljdWxhciBtb2RlbC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3kgPVxuICB8IEF1dG9tZXJnZUNvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgT3B0aW1pc3RpY0NvbmZsaWN0UmVzb2x1dGlvblN0cmF0ZWd5XG4gIHwgQ3VzdG9tQ29uZmxpY3RSZXNvbHV0aW9uU3RyYXRlZ3k7XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBjb25mbGljdCByZXNvbHV0aW9uLlxuICogQGRlcHJlY2F0ZWQgdXNlIERhdGFTdG9yZUNvbmZpZ3VyYXRpb24gaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbGljdFJlc29sdXRpb24gZXh0ZW5kcyBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHt9XG5cbi8qKlxuICogUHJvamVjdCBsZXZlbCBjb25maWd1cmF0aW9uIGZvciBEYXRhU3RvcmVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFByb2plY3Qtd2lkZSBjb25maWcgZm9yIGNvbmZsaWN0IHJlc29sdXRpb24uIEFwcGxpZXMgdG8gYWxsIG5vbi1vdmVycmlkZGVuIG1vZGVscy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3Q/OiBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneTtcblxuICAvKipcbiAgICogTW9kZWwtc3BlY2lmaWMgY29uZmxpY3QgcmVzb2x1dGlvbiBvdmVycmlkZXMuXG4gICAqL1xuICByZWFkb25seSBtb2RlbHM/OiBSZWNvcmQ8c3RyaW5nLCBDb25mbGljdFJlc29sdXRpb25TdHJhdGVneT47XG59XG5cbi8qKlxuICogUGFyYW1zIGV4cG9zZWQgdG8gc3VwcG9ydCBjb25maWd1cmluZyBhbmQgb3ZlcnJpZGluZyBwaXBlbGluZWQgc2xvdHMuIFRoaXMgYWxsb3dzIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24sXG4gKiBpbmNsdWRpbmcgdGhlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIG1hcHBpbmcgdGVtcGxhdGVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdE92ZXJyaWRlIHtcbiAgLyoqXG4gICAqIE92ZXJyaWRlIHJlcXVlc3QgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGJlZm9yZSB0aGUgZGF0YXNvdXJjZSBpcyBpbnZva2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWVzdE1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIGZ1bmN0aW9uIHNsb3QuIEV4ZWN1dGVkIGFmdGVyIHRoZSBkYXRhc291cmNlIGlzIGludm9rZWQuXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcbn1cblxuLyoqXG4gKiBDb21tb24gc2xvdCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uU2xvdEJhc2Uge1xuICAvKipcbiAgICogVGhlIGZpZWxkIHRvIGF0dGFjaCB0aGlzIGZ1bmN0aW9uIHRvIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGZpZWxkTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBpbmRleCB0byB1c2UgdG8gaW5qZWN0IHRoaXMgaW50byB0aGUgZXhlY3V0aW9uIHBpcGVsaW5lLlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBzbG90dGluZywgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jZXh0ZW5kLWFtcGxpZnktZ2VuZXJhdGVkLXJlc29sdmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2xvdEluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBvdmVycmlkZGVuIGJlaGF2aW9yIGZvciB0aGlzIHNsb3QuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbjogRnVuY3Rpb25TbG90T3ZlcnJpZGU7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgTXV0YXRpb24gUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE11dGF0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBNdXRhdGlvbiB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnTXV0YXRpb24nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVVcGRhdGUnIHwgJ3Bvc3RVcGRhdGUnIHwgJ2ZpbmlzaCc7XG59XG5cbi8qKlxuICogU2xvdCB0eXBlcyBmb3IgUXVlcnkgUmVzb2x2ZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5RnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBRdWVyeSB0eXBlIG9uIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHR5cGVOYW1lOiAnUXVlcnknO1xuXG4gIC8qKlxuICAgKiBUaGUgc2xvdCBuYW1lIHRvIGluamVjdCB0aGlzIGJlaGF2aW9yIGludG8uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHNsb3R0aW5nLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvY3VzdG9tLWJ1c2luZXNzLWxvZ2ljLyNleHRlbmQtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzXG4gICAqL1xuICByZWFkb25seSBzbG90TmFtZTogJ2luaXQnIHwgJ3ByZUF1dGgnIHwgJ2F1dGgnIHwgJ3Bvc3RBdXRoJyB8ICdwcmVEYXRhTG9hZCcgfCAncG9zdERhdGFMb2FkJyB8ICdmaW5pc2gnO1xufVxuXG4vKipcbiAqIFNsb3QgdHlwZXMgZm9yIFN1YnNjcmlwdGlvbiBSZXNvbHZlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uRnVuY3Rpb25TbG90IGV4dGVuZHMgRnVuY3Rpb25TbG90QmFzZSB7XG4gIC8qKlxuICAgKiBUaGlzIHNsb3QgdHlwZSBhcHBsaWVzIHRvIHRoZSBTdWJzY3JpcHRpb24gdHlwZSBvbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogJ1N1YnNjcmlwdGlvbic7XG5cbiAgLyoqXG4gICAqIFRoZSBzbG90IG5hbWUgdG8gaW5qZWN0IHRoaXMgYmVoYXZpb3IgaW50by5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc2xvdHRpbmcsIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvZ3JhcGhxbC9jdXN0b20tYnVzaW5lc3MtbG9naWMvI2V4dGVuZC1hbXBsaWZ5LWdlbmVyYXRlZC1yZXNvbHZlcnNcbiAgICovXG4gIHJlYWRvbmx5IHNsb3ROYW1lOiAnaW5pdCcgfCAncHJlQXV0aCcgfCAnYXV0aCcgfCAncG9zdEF1dGgnIHwgJ3ByZVN1YnNjcmliZSc7XG59XG5cbi8qKlxuICogSW5wdXQgcGFyYW1zIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBzbG90IHdoaWNoIGlzIGJlaW5nIG92ZXJyaWRkZW4uXG4gKi9cbmV4cG9ydCB0eXBlIEZ1bmN0aW9uU2xvdCA9IE11dGF0aW9uRnVuY3Rpb25TbG90IHwgUXVlcnlGdW5jdGlvblNsb3QgfCBTdWJzY3JpcHRpb25GdW5jdGlvblNsb3Q7XG5cbi8qKlxuICogU3Ryb25nbHkgdHlwZWQgc2V0IG9mIHNoYXJlZCBwYXJhbWV0ZXJzIGZvciBhbGwgdHJhbnNmb3JtZXJzLCBhbmQgY29yZSBsYXllci5cbiAqIFRoaXMgaXMgaW50ZW5kZWQgdG8gcmVwbGFjZSBmZWF0dXJlIGZsYWdzLCB0byBlbnN1cmUgcGFyYW0gY29lcmNpb24gaGFwcGVucyBpblxuICogYSBzaW5nbGUgbG9jYXRpb24sIGFuZCBpc24ndCBzcHJlYWQgYXJvdW5kIHRoZSB0cmFuc2Zvcm1lcnMsIHdoZXJlIHRoZXkgY2FuXG4gKiBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IGJlaGF2aW9ycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlIHJlc29sdmVyIGRlZHVwaW5nLCB0aGlzIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMgYmVjYXVzZSBkZWR1cGUgb3JkZXJpbmcgaXNuJ3Qgc3RhYmxlIHRvZGF5LCB3aGljaCBjYW5cbiAgICogbGVhZCB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXMgYWNyb3NzIHN0YWNrcyBpZiBtb2RlbHMgYXJlIHJlb3JkZXJlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZVJlc29sdmVyRGVkdXBpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsaW5nIHNhbmRib3ggbW9kZSB3aWxsIGVuYWJsZSBhcGkga2V5IGF1dGggb24gYWxsIG1vZGVscyBpbiB0aGUgdHJhbnNmb3JtZWQgc2NoZW1hLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FuZGJveE1vZGVFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGVuYWJsZWQsIHN1cHByZXNzZXMgZGVmYXVsdCBiZWhhdmlvciBvZiByZWRhY3RpbmcgcmVsYXRpb25hbCBmaWVsZHMgd2hlbiBhdXRoIHJ1bGVzIGRvIG5vdCBleGFjdGx5IG1hdGNoLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3Vic2NyaXB0aW9uc0luaGVyaXRQcmltYXJ5QXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5zdXJlIHRoYXQgdGhlIG93bmVyIGZpZWxkIGlzIHN0aWxsIHBvcHVsYXRlZCBldmVuIGlmIGEgc3RhdGljIGlhbSBvciBncm91cCBhdXRob3JpemF0aW9uIGFwcGxpZXMuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBvcHVsYXRlT3duZXJGaWVsZEZvclN0YXRpY0dyb3VwQXV0aDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElmIGRpc2FibGVkLCBnZW5lcmF0ZWQgQGluZGV4IGFzIGFuIExTSSBpbnN0ZWFkIG9mIGEgR1NJLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBzZWNvbmRhcnlLZXlBc0dTSTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0b21hdGUgZ2VuZXJhdGlvbiBvZiBxdWVyeSBuYW1lcywgYW5kIGFzIGEgcmVzdWx0IGF0dGFjaGluZyBhbGwgaW5kZXhlcyBhcyBxdWVyaWVzIHRvIHRoZSBnZW5lcmF0ZWQgQXBpLlxuICAgKiBJZiBlbmFibGVkLCBAaW5kZXggY2FuIGJlIHByb3ZpZGVkIGEgbnVsbCBuYW1lIGZpZWxkIHRvIGRpc2FibGUgdGhlIGdlbmVyYXRpb24gb2YgdGhlIHF1ZXJ5IG9uIHRoZSBBcGkuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUF1dG9JbmRleFF1ZXJ5TmFtZXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgZW5hYmxlU2VhcmNoTm9kZVRvTm9kZUVuY3J5cHRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZW4gZW5hYmxlZCwgaW50ZXJuYWwgY2ZuIG91dHB1dHMgd2hpY2ggZXhpc3RlZCBpbiBBbXBsaWZ5LWdlbmVyYXRlZCBhcHBzIHdpbGwgY29udGludWUgdG8gYmUgZW1pdHRlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVRyYW5zZm9ybWVyQ2ZuT3V0cHV0czogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIGJlaGF2aW9yIHdpbGwgb25seSBjb21lIGludG8gZWZmZWN0IHdoZW4gYm90aCBcImFsbG93RGVzdHJ1Y3RpdmVHcmFwaHFsU2NoZW1hVXBkYXRlc1wiIGFuZCB0aGlzIHZhbHVlIGFyZSBzZXQgdG8gdHJ1ZVxuICAgKlxuICAgKiBXaGVuIGVuYWJsZWQsIGFueSBHU0kgdXBkYXRlIG9wZXJhdGlvbiB3aWxsIHJlcGxhY2UgdGhlIHRhYmxlIGluc3RlYWQgb2YgaXRlcmF0aXZlIGRlcGxveW1lbnQsIHdoaWNoIHdpbGwgV0lQRSBBTEwgRVhJU1RJTkcgREFUQSBidXRcbiAgICogY29zdCBtdWNoIGxlc3MgdGltZSBmb3IgZGVwbG95bWVudCBUaGlzIHdpbGwgb25seSBhZmZlY3QgRHluYW1vREIgdGFibGVzIHdpdGggcHJvdmlzaW9uIHN0cmF0ZWd5IFwiQU1QTElGWV9UQUJMRVwiLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSByZXBsYWNlVGFibGVVcG9uR3NpVXBkYXRlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGRpc2FibGVkIHVzYWdlIG9mIEdlbiAxIHBhdHRlcm5zIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yIHRocm93bi5cbiAgICpcbiAgICogR2VuIDEgUGF0dGVybnMgdGhhdCB3aWxsIGJlIGRpc2FibGVkIHdoZW4gc2V0IHRvIGZhbHNlOlxuICAgKiAtIFVzZSBvZiBAbWFueVRvTWFueVxuICAgKiAtIFVzZSBvZiBAc2VhcmNoYWJsZVxuICAgKiAtIFVzZSBvZiBAcHJlZGljdGlvbnNcbiAgICogLSBVc2Ugb2YgZmllbGRzIGFyZ3VtZW50IG9uIEBoYXNPbmUsIEBoYXNNYW55LCBhbmQgQGJlbG9uZ3NUby5cbiAgICogLSBVc2Ugb2YgQGhhc09uZSwgQGhhc01hbnksIGFuZCBAYmVsb25nc1RvIG9uIHJlcXVpcmVkIGZpZWxkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAaW50ZXJuYWxcbiAgICogV2FybmluZzogQWx0aG91Z2ggdGhpcyBoYXMgYHB1YmxpY2AgYWNjZXNzLCBpdCBpcyBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuXG4gICAqIFRoZSBiZWhhdmlvciBvZiB0aGlzIG1heSBjaGFuZ2Ugd2l0aG91dCB3YXJuaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgX2FsbG93R2VuMVBhdHRlcm5zOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgdXRpbGl0eSBpbnRlcmZhY2UgZXF1aXZhbGVudCB0byBQYXJ0aWFsPFRyYW5zbGF0aW9uQmVoYXZpb3I+LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yIHtcbiAgLyoqXG4gICAqIFJlc3RvcmUgcGFyaXR5IHcvIEdRTHYxIEBtb2RlbCBwYXJhbWV0ZXIgYmVoYXZpb3IsIHdoZXJlIHNldHRpbmcgYSBzaW5nbGUgZmllbGQgZG9lc24ndCBpbXBsaWNpdGx5IHNldCB0aGUgb3RoZXIgZmllbGRzIHRvIG51bGwuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZERlZXBNZXJnZURpcmVjdGl2ZUNvbmZpZ0RlZmF1bHRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGlzYWJsZSByZXNvbHZlciBkZWR1cGluZywgdGhpcyBjYW4gc29tZXRpbWVzIGNhdXNlIHByb2JsZW1zIGJlY2F1c2UgZGVkdXBlIG9yZGVyaW5nIGlzbid0IHN0YWJsZSB0b2RheSwgd2hpY2ggY2FuXG4gICAqIGxlYWQgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFjcm9zcyBzdGFja3MgaWYgbW9kZWxzIGFyZSByZW9yZGVyZWQuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVSZXNvbHZlckRlZHVwaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW5hYmxpbmcgc2FuZGJveCBtb2RlIHdpbGwgZW5hYmxlIGFwaSBrZXkgYXV0aCBvbiBhbGwgbW9kZWxzIGluIHRoZSB0cmFuc2Zvcm1lZCBzY2hlbWEuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzYW5kYm94TW9kZUVuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCBvaWRjIGFuZCB1c2VyUG9vbCBhdXRoIHVzZSB0aGUgYHN1YmAgZmllbGQgaW4gdGhlIGZvciB0aGUgdXNlcm5hbWUgZmllbGQsIHdoaWNoIGRpc2FsbG93cyBuZXcgdXNlcnMgd2l0aCB0aGUgc2FtZVxuICAgKiBpZCB0byBhY2Nlc3MgZGF0YSBmcm9tIGEgZGVsZXRlZCB1c2VyIGluIHRoZSBwb29sLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VTdWJVc2VybmFtZUZvckRlZmF1bHRJZGVudGl0eUNsYWltPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBzdXBwcmVzc2VzIGRlZmF1bHQgYmVoYXZpb3Igb2YgcmVkYWN0aW5nIHJlbGF0aW9uYWwgZmllbGRzIHdoZW4gYXV0aCBydWxlcyBkbyBub3QgZXhhY3RseSBtYXRjaC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN1YnNjcmlwdGlvbnNJbmhlcml0UHJpbWFyeUF1dGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbnN1cmUgdGhhdCB0aGUgb3duZXIgZmllbGQgaXMgc3RpbGwgcG9wdWxhdGVkIGV2ZW4gaWYgYSBzdGF0aWMgaWFtIG9yIGdyb3VwIGF1dGhvcml6YXRpb24gYXBwbGllcy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcG9wdWxhdGVPd25lckZpZWxkRm9yU3RhdGljR3JvdXBBdXRoPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgZW5hYmxlZCwgZGlzYWJsZSBhcGkga2V5IHJlc291cmNlIGdlbmVyYXRpb24gZXZlbiBpZiBzcGVjaWZpZWQgYXMgYW4gYXV0aCBydWxlIG9uIHRoZSBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgaXMgYSBsZWdhY3kgcGFyYW1ldGVyIGZyb20gdGhlIEdyYXBocWwgVHJhbnNmb3JtZXIgZXhpc3RpbmcgaW4gQW1wbGlmeSBDTEksIG5vdCByZWNvbW1lbmRlZCB0byBjaGFuZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc0FwaUtleUdlbmVyYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBkaXNhYmxlZCwgZ2VuZXJhdGVkIEBpbmRleCBhcyBhbiBMU0kgaW5zdGVhZCBvZiBhIEdTSS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vjb25kYXJ5S2V5QXNHU0k/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0ZSBnZW5lcmF0aW9uIG9mIHF1ZXJ5IG5hbWVzLCBhbmQgYXMgYSByZXN1bHQgYXR0YWNoaW5nIGFsbCBpbmRleGVzIGFzIHF1ZXJpZXMgdG8gdGhlIGdlbmVyYXRlZCBBcGkuXG4gICAqIElmIGVuYWJsZWQsIEBpbmRleCBjYW4gYmUgcHJvdmlkZWQgYSBudWxsIG5hbWUgZmllbGQgdG8gZGlzYWJsZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgcXVlcnkgb24gdGhlIEFwaS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlQXV0b0luZGV4UXVlcnlOYW1lcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBjdXN0b20gcHJpbWFyeSBrZXkgc3VwcG9ydCwgdGhlcmUncyBubyBnb29kIHJlYXNvbiB0byBkaXNhYmxlIHRoaXMgdW5sZXNzIHRyeWluZyBub3QgdG8gdXBkYXRlIGEgbGVnYWN5IGFwcC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVzcGVjdFByaW1hcnlLZXlBdHRyaWJ1dGVzT25Db25uZWN0aW9uRmllbGQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiBlbmFibGVkLCBzZXQgbm9kZVRvTm9kZUVuY3J5cHRpb24gb24gdGhlIHNlYXJjaGFibGUgZG9tYWluIChpZiBvbmUgZXhpc3RzKS4gTm90IHJlY29tbWVuZGVkIGZvciB1c2UsIHByZWZlclxuICAgKiB0byB1c2UgYE9iamVjdC52YWx1ZXMocmVzb3VyY2VzLmFkZGl0aW9uYWxSZXNvdXJjZXNbJ0FXUzo6RWxhc3RpY3NlYXJjaDo6RG9tYWluJ10pLmZvckVhY2goKGRvbWFpbjogQ2ZuRG9tYWluKSA9PiB7XG4gICAqICAgZG9tYWluLk5vZGVUb05vZGVFbmNyeXB0aW9uT3B0aW9ucyA9IHsgRW5hYmxlZDogVHJ1ZSB9O1xuICAgKiB9KTtcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVNlYXJjaE5vZGVUb05vZGVFbmNyeXB0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hlbiBlbmFibGVkLCBpbnRlcm5hbCBjZm4gb3V0cHV0cyB3aGljaCBleGlzdGVkIGluIEFtcGxpZnktZ2VuZXJhdGVkIGFwcHMgd2lsbCBjb250aW51ZSB0byBiZSBlbWl0dGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlVHJhbnNmb3JtZXJDZm5PdXRwdXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGZvbGxvd2luZyBzY2hlbWEgdXBkYXRlcyByZXF1aXJlIHJlcGxhY2VtZW50IG9mIHRoZSB1bmRlcmx5aW5nIER5bmFtb0RCIHRhYmxlOlxuICAgKlxuICAgKiAgLSBSZW1vdmluZyBvciByZW5hbWluZyBhIG1vZGVsXG4gICAqICAtIE1vZGlmeWluZyB0aGUgcHJpbWFyeSBrZXkgb2YgYSBtb2RlbFxuICAgKiAgLSBNb2RpZnlpbmcgYSBMb2NhbCBTZWNvbmRhcnkgSW5kZXggb2YgYSBtb2RlbCAob25seSBhcHBsaWVzIHRvIHByb2plY3RzIHdpdGggc2Vjb25kYXJ5S2V5QXNHU0kgdHVybmVkIG9mZilcbiAgICpcbiAgICogQUxMIERBVEEgV0lMTCBCRSBMT1NUIHdoZW4gdGhlIHRhYmxlIHJlcGxhY2VtZW50IGhhcHBlbnMuIFdoZW4gZW5hYmxlZCwgZGVzdHJ1Y3RpdmUgdXBkYXRlcyBhcmUgYWxsb3dlZC5cbiAgICogVGhpcyB3aWxsIG9ubHkgYWZmZWN0IER5bmFtb0RCIHRhYmxlcyB3aXRoIHByb3Zpc2lvbiBzdHJhdGVneSBcIkFNUExJRllfVEFCTEVcIi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICogQGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dEZXN0cnVjdGl2ZUdyYXBocWxTY2hlbWFVcGRhdGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhpcyBiZWhhdmlvciB3aWxsIG9ubHkgY29tZSBpbnRvIGVmZmVjdCB3aGVuIGJvdGggXCJhbGxvd0Rlc3RydWN0aXZlR3JhcGhxbFNjaGVtYVVwZGF0ZXNcIiBhbmQgdGhpcyB2YWx1ZSBhcmUgc2V0IHRvIHRydWVcbiAgICpcbiAgICogV2hlbiBlbmFibGVkLCBhbnkgZ2xvYmFsIHNlY29uZGFyeSBpbmRleCB1cGRhdGUgb3BlcmF0aW9uIHdpbGwgcmVwbGFjZSB0aGUgdGFibGUgaW5zdGVhZCBvZiBpdGVyYXRpdmUgZGVwbG95bWVudCwgd2hpY2ggd2lsbCBXSVBFIEFMTFxuICAgKiBFWElTVElORyBEQVRBIGJ1dCBjb3N0IG11Y2ggbGVzcyB0aW1lIGZvciBkZXBsb3ltZW50IFRoaXMgd2lsbCBvbmx5IGFmZmVjdCBEeW5hbW9EQiB0YWJsZXMgd2l0aCBwcm92aXNpb24gc3RyYXRlZ3kgXCJBTVBMSUZZX1RBQkxFXCIuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHJlcGxhY2VUYWJsZVVwb25Hc2lVcGRhdGU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGVuIGRpc2FibGVkIHVzYWdlIG9mIEdlbiAxIHBhdHRlcm5zIHdpbGwgcmVzdWx0IGluIGFuIGVycm9yIHRocm93bi5cbiAgICpcbiAgICogR2VuIDEgUGF0dGVybnMgdGhhdCB3aWxsIGJlIGRpc2FibGVkIHdoZW4gc2V0IHRvIGZhbHNlOlxuICAgKiAtIFVzZSBvZiBAbWFueVRvTWFueVxuICAgKiAtIFVzZSBvZiBAc2VhcmNoYWJsZVxuICAgKiAtIFVzZSBvZiBAcHJlZGljdGlvbnNcbiAgICogLSBVc2Ugb2YgZmllbGRzIGFyZ3VtZW50IG9uIEBoYXNPbmUsIEBoYXNNYW55LCBhbmQgQGJlbG9uZ3NUby5cbiAgICogLSBVc2Ugb2YgQGhhc09uZSwgQGhhc01hbnksIGFuZCBAYmVsb25nc1RvIG9uIHJlcXVpcmVkIGZpZWxkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKiBAaW50ZXJuYWxcbiAgICogV2FybmluZzogQWx0aG91Z2ggdGhpcyBoYXMgYHB1YmxpY2AgYWNjZXNzLCBpdCBpcyBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHkuXG4gICAqIFRoZSBiZWhhdmlvciBvZiB0aGlzIG1heSBjaGFuZ2Ugd2l0aG91dCB3YXJuaW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgX2FsbG93R2VuMVBhdHRlcm5zPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBHcmFwaHFsIEFwaSBkZWZpbml0aW9uLCB3aGljaCBjYW4gYmUgaW1wbGVtZW50ZWQgaW4gbXVsdGlwbGUgd2F5cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIHtcbiAgLyoqXG4gICAqIFJldHVybiB0aGUgc2NoZW1hIGRlZmluaXRpb24gYXMgYSBncmFwaHFsIHN0cmluZywgd2l0aCBhbXBsaWZ5IGRpcmVjdGl2ZXMgYWxsb3dlZC5cbiAgICogQHJldHVybnMgdGhlIHJlbmRlcmVkIHNjaGVtYS5cbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhbnkgZnVuY3Rpb24gc2xvdHMgZGVmaW5lZCBleHBsaWNpdGx5IGluIHRoZSBBcGkgZGVmaW5pdGlvbi5cbiAgICogQHJldHVybnMgZ2VuZXJhdGVkIGZ1bmN0aW9uIHNsb3RzXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvblNsb3RzOiBGdW5jdGlvblNsb3RbXTtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIHJlZmVyZW5jZXMgdG8gYW55IGxhbWJkYSBmdW5jdGlvbnMgdXNlZCBpbiB0aGUgZGVmaW5pdGlvbi5cbiAgICogVXNlZnVsIGZvciB3aXJpbmcgdGhyb3VnaCBhd3NfbGFtYmRhLkZ1bmN0aW9uIGNvbnN0cnVjdHMgaW50byB0aGUgZGVmaW5pdGlvbiBkaXJlY3RseSxcbiAgICogYW5kIGdlbmVyYXRlZCByZWZlcmVuY2VzIHRvIGludm9rZSB0aGVtLlxuICAgKiBAcmV0dXJucyBhbnkgbGFtYmRhIGZ1bmN0aW9ucywga2V5ZWQgYnkgdGhlaXIgcmVmZXJlbmNlZCAnbmFtZScgaW4gdGhlIGdlbmVyYXRlZCBzY2hlbWEuXG4gICAqL1xuICByZWFkb25seSByZWZlcmVuY2VkTGFtYmRhRnVuY3Rpb25zPzogUmVjb3JkPHN0cmluZywgSUZ1bmN0aW9uPjtcblxuICAvKipcbiAgICogUmV0cmlldmUgdGhlIGRhdGFzb3VyY2Ugc3RyYXRlZ3kgbWFwcGluZy4gVGhlIGRlZmF1bHQgc3RyYXRlZ3kgaXMgdG8gdXNlIER5bmFtb0RCIGZyb20gQ2xvdWRGb3JtYXRpb24uXG4gICAqIEByZXR1cm5zIGRhdGFzb3VyY2Ugc3RyYXRlZ3kgbWFwcGluZ1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVNvdXJjZVN0cmF0ZWdpZXM6IFJlY29yZDxzdHJpbmcsIE1vZGVsRGF0YVNvdXJjZVN0cmF0ZWd5PjtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgY3VzdG9tIFF1ZXJ5IG9yIE11dGF0aW9uIFNRTCBjb21tYW5kcyB0byB0aGUgZGF0YSBzb3VyY2VzIHRoYXQgcmVzb2x2ZXMgdGhlbS5cbiAgICogQHJldHVybnMgYSBsaXN0IG9mIG1hcHBpbmdzIGZyb20gY3VzdG9tIFNRTCBjb21tYW5kcyB0byBkYXRhIHNvdXJjZXNcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVNxbERhdGFTb3VyY2VTdHJhdGVnaWVzPzogQ3VzdG9tU3FsRGF0YVNvdXJjZVN0cmF0ZWd5W107XG59XG5cbi8qKlxuICogRW50cnkgcmVwcmVzZW50aW5nIHRoZSByZXF1aXJlZCBvdXRwdXQgZnJvbSB0aGUgYmFja2VuZCBmb3IgY29kZWdlbiBnZW5lcmF0ZSBjb21tYW5kcyB0byB3b3JrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZW5kT3V0cHV0RW50cnkge1xuICAvKipcbiAgICogVGhlIHByb3RvY29sIHZlcnNpb24gZm9yIHRoaXMgYmFja2VuZCBvdXRwdXQuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHJpbmctbWFwIHBheWxvYWQgb2YgZ2VuZXJhdGVkIGNvbmZpZyB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIEJhY2tlbmQgb3V0cHV0IHN0cmF0ZWd5IHVzZWQgdG8gd3JpdGUgY29uZmlnIHJlcXVpcmVkIGZvciBjb2RlZ2VuIHRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZW5kT3V0cHV0U3RvcmFnZVN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIEFkZCBhbiBlbnRyeSB0byBiYWNrZW5kIG91dHB1dC5cbiAgICogQHBhcmFtIGtleU5hbWUgdGhlIGtleVxuICAgKiBAcGFyYW0gYmFja2VuZE91dHB1dEVudHJ5IHRoZSByZWNvcmQgdG8gc3RvcmUgaW4gdGhlIGJhY2tlbmQgb3V0cHV0XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21ldGhvZC1zaWduYXR1cmUtc3R5bGVcbiAgYWRkQmFja2VuZE91dHB1dEVudHJ5KGtleU5hbWU6IHN0cmluZywgYmFja2VuZE91dHB1dEVudHJ5OiBJQmFja2VuZE91dHB1dEVudHJ5KTogdm9pZDtcbn1cblxuLyoqXG4gKiBJbnB1dCBwcm9wcyBmb3IgdGhlIEFtcGxpZnlHcmFwaHFsQXBpIGNvbnN0cnVjdC4gU3BlY2lmaWVzIHdoYXQgdGhlIGlucHV0IHRvIHRyYW5zZm9ybSBpbnRvIGFuIEFwaSwgYW5kIGNvbmZpZ3VyYXRpb25zIGZvclxuICogdGhlIHRyYW5zZm9ybWF0aW9uIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVmaW5pdGlvbiB0byB0cmFuc2Zvcm0gaW4gYSBmdWxsIEFwaS5cbiAgICogQ2FuIGJlIGNvbnN0cnVjdGVkIHZpYSB0aGUgQW1wbGlmeUdyYXBocWxEZWZpbml0aW9uIGNsYXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmaW5pdGlvbjogSUFtcGxpZnlHcmFwaHFsRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogTmFtZSB0byBiZSB1c2VkIGZvciB0aGUgQXBwU3luYyBBcGkuXG4gICAqIERlZmF1bHQ6IGNvbnN0cnVjdCBpZC5cbiAgICovXG4gIHJlYWRvbmx5IGFwaU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcXVpcmVkIGF1dGggbW9kZXMgZm9yIHRoZSBBcGkuIFRoaXMgb2JqZWN0IG11c3QgYmUgYSBzdXBlcnNldCBvZiB0aGUgY29uZmlndXJlZCBhdXRoIHByb3ZpZGVycyBpbiB0aGUgQXBpIGRlZmluaXRpb24uXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCByZWZlciB0byBodHRwczovL2RvY3MuYW1wbGlmeS5hd3MvY2xpL2dyYXBocWwvYXV0aG9yaXphdGlvbi1ydWxlcy9cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6YXRpb25Nb2RlczogQXV0aG9yaXphdGlvbk1vZGVzO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgZnVuY3Rpb25zIHJlZmVyZW5jZWQgaW4gdGhlIGRlZmluaXRpb25zJ3MgQGZ1bmN0aW9uIGRpcmVjdGl2ZXMuIFRoZSBrZXlzIG9mIHRoaXMgb2JqZWN0IGFyZSBleHBlY3RlZCB0byBiZSB0aGVcbiAgICogZnVuY3Rpb24gbmFtZSBwcm92aWRlZCBpbiB0aGUgZGVmaW5pdGlvbiwgYW5kIHZhbHVlIGlzIHRoZSBmdW5jdGlvbiB0aGF0IG5hbWUgcmVmZXJzIHRvLiBJZiBhIG5hbWUgaXMgbm90IGZvdW5kIGluIHRoaXNcbiAgICogbWFwLCB0aGVuIGl0IGlzIGludGVycHJldGVkIGFzIHRoZSBgZnVuY3Rpb25OYW1lYCwgYW5kIGFuIGFybiB3aWxsIGJlIGNvbnN0cnVjdGVkIHVzaW5nIHRoZSBjdXJyZW50IGF3cyBhY2NvdW50IGFuZCByZWdpb25cbiAgICogKG9yIG92ZXJyaWRkZW4gdmFsdWVzLCBpZiBzZXQgaW4gdGhlIGRpcmVjdGl2ZSkuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbk5hbWVNYXA/OiBSZWNvcmQ8c3RyaW5nLCBJRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBDb25maWd1cmUgY29uZmxpY3QgcmVzb2x1dGlvbiBvbiB0aGUgQXBpLCB3aGljaCBpcyByZXF1aXJlZCB0byBlbmFibGUgRGF0YVN0b3JlIEFwaSBmdW5jdGlvbmFsaXR5LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2xpYi9kYXRhc3RvcmUvZ2V0dGluZy1zdGFydGVkL3EvcGxhdGZvcm0vanMvXG4gICAqIEBkZXByZWNhdGVkIHVzZSBkYXRhU3RvcmVDb25maWd1cmF0aW9uIGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdFJlc29sdXRpb24/OiBDb25mbGljdFJlc29sdXRpb247XG5cbiAgLyoqXG4gICAqIFN0YWNrTWFwcGluZ3Mgb3ZlcnJpZGUgdGhlIGFzc2lnbmVkIG5lc3RlZCBzdGFjayBvbiBhIHBlci1yZXNvdXJjZSBiYXNpcy4gT25seSBhcHBsaWVzIHRvIHJlc29sdmVycywgYW5kIHRha2VzIHRoZSBmb3JtXG4gICAqIHsgPGxvZ2ljYWxJZD46IDxzdGFja05hbWU+IH1cbiAgICogSXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIHBhcmFtZXRlciB1bmxlc3MgeW91IGFyZSBlbmNvdW50ZXJpbmcgc3RhY2sgcmVzb3VyY2UgY291bnQgbGltaXRzLCBhbmQgd29ydGggbm90aW5nIHRoYXRcbiAgICogYWZ0ZXIgaW5pdGlhbCBkZXBsb3ltZW50IEFwcFN5bmMgcmVzb2x2ZXJzIGNhbm5vdCBiZSBtb3ZlZCBiZXR3ZWVuIG5lc3RlZCBzdGFja3MsIHRoZXkgd2lsbCBuZWVkIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgYXBwLFxuICAgKiB0aGVuIHJlLWFkZGVkIGZyb20gYSBuZXcgc3RhY2suXG4gICAqL1xuICByZWFkb25seSBzdGFja01hcHBpbmdzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIGZvciBhIGdpdmVuIHNsb3QgaW4gdGhlIGdlbmVyYXRlZCByZXNvbHZlciBwaXBlbGluZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgc2xvdHMgYXJlIGF2YWlsYWJsZSxcbiAgICogcmVmZXIgdG8gaHR0cHM6Ly9kb2NzLmFtcGxpZnkuYXdzL2NsaS9ncmFwaHFsL2N1c3RvbS1idXNpbmVzcy1sb2dpYy8jb3ZlcnJpZGUtYW1wbGlmeS1nZW5lcmF0ZWQtcmVzb2x2ZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25TbG90cz86IEZ1bmN0aW9uU2xvdFtdO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlIGEgbGlzdCBvZiBhZGRpdGlvbmFsIGN1c3RvbSB0cmFuc2Zvcm1lcnMgd2hpY2ggYXJlIGluamVjdGVkIGludG8gdGhlIHRyYW5zZm9ybSBwcm9jZXNzLlxuICAgKiBUaGVzZSBjdXN0b20gdHJhbnNmb3JtZXJzIG11c3QgYmUgaW1wbGVtZW50ZWQgd2l0aCBhd3MtY2RrLWxpYiA+PTIuMTI5LjAsIGFuZCBAYXdzLWFtcGxpZnkvZ3JhcGhxbC10cmFuc2Zvcm1lci1jb3JlID49IDIuMS4xXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZm9ybWVyUGx1Z2lucz86IGFueVtdO1xuXG4gIC8qKlxuICAgKiBJZiB1c2luZyBwcmVkaWN0aW9ucywgYSBidWNrZXQgbXVzdCBiZSBwcm92aWRlZCB3aGljaCB3aWxsIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhc3NldHMuXG4gICAqL1xuICByZWFkb25seSBwcmVkaWN0aW9uc0J1Y2tldD86IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgcmVwbGFjZXMgZmVhdHVyZSBmbGFncyBmcm9tIHRoZSBBcGkgY29uc3RydWN0LCBmb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBvbiB3aGF0IHRoZXNlIHBhcmFtZXRlcnMgZG8sXG4gICAqIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9jbGkvcmVmZXJlbmNlL2ZlYXR1cmUtZmxhZ3MvI2dyYXBoUUxUcmFuc2Zvcm1lclxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNsYXRpb25CZWhhdmlvcj86IFBhcnRpYWxUcmFuc2xhdGlvbkJlaGF2aW9yO1xuXG4gIC8qKlxuICAgKiBTdHJhdGVneSB0byBzdG9yZSBjb25zdHJ1Y3Qgb3V0cHV0cy4gSWYgbm8gb3V0cHV0U3RvcmFnZVN0cmF0ZWd5IGlzIHByb3ZpZGVkIGEgZGVmYXVsdCBzdHJhdGVneSB3aWxsIGJlIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRTdG9yYWdlU3RyYXRlZ3k/OiBJQmFja2VuZE91dHB1dFN0b3JhZ2VTdHJhdGVneTtcblxuICAvKipcbiAgICogQ29uZmlndXJlIERhdGFTdG9yZSBjb25mbGljdCByZXNvbHV0aW9uIG9uIHRoZSBBcGkuIENvbmZsaWN0IHJlc29sdXRpb24gaXMgcmVxdWlyZWQgdG8gZW5hYmxlIERhdGFTdG9yZSBBcGkgZnVuY3Rpb25hbGl0eS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHJlZmVyIHRvIGh0dHBzOi8vZG9jcy5hbXBsaWZ5LmF3cy9saWIvZGF0YXN0b3JlL2dldHRpbmctc3RhcnRlZC9xL3BsYXRmb3JtL2pzL1xuICAgKi9cbiAgcmVhZG9ubHkgZGF0YVN0b3JlQ29uZmlndXJhdGlvbj86IERhdGFTdG9yZUNvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogTDEgQ0RLIHJlc291cmNlcyBmcm9tIHRoZSBBcGkgd2hpY2ggd2VyZSBnZW5lcmF0ZWQgYXMgcGFydCBvZiB0aGUgdHJhbnNmb3JtLlxuICogVGhlc2UgYXJlIHBvdGVudGlhbGx5IHN0b3JlZCB1bmRlciBuZXN0ZWQgc3RhY2tzLCBidXQgcHJlc2VudGVkIG9yZ2FuaXplZCBieSB0eXBlIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeUdyYXBocWxBcGlDZm5SZXNvdXJjZXMge1xuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBMMSBSZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuR3JhcGhxbEFwaTogQ2ZuR3JhcGhRTEFwaTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIFNjaGVtYSBMMSBSZXNvdXJjZVxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuR3JhcGhxbFNjaGVtYTogQ2ZuR3JhcGhRTFNjaGVtYTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIEFwaSBLZXkgTDEgUmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGNmbkFwaUtleT86IENmbkFwaUtleTtcblxuICAvKipcbiAgICogVGhlIEdlbmVyYXRlZCBBcHBTeW5jIFJlc29sdmVyIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuUmVzb2x2ZXJzOiBSZWNvcmQ8c3RyaW5nLCBDZm5SZXNvbHZlcj47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGxvZ2ljYWxJZC5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkZ1bmN0aW9uQ29uZmlndXJhdGlvbnM6IFJlY29yZDxzdHJpbmcsIENmbkZ1bmN0aW9uQ29uZmlndXJhdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQXBwU3luYyBEYXRhU291cmNlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuRGF0YVNvdXJjZXM6IFJlY29yZDxzdHJpbmcsIENmbkRhdGFTb3VyY2U+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIER5bmFtb0RCIFRhYmxlIEwxIFJlc291cmNlcywga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgY2ZuVGFibGVzOiBSZWNvcmQ8c3RyaW5nLCBDZm5UYWJsZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgQW1wbGlmeSBEeW5hbW9EYiBUYWJsZSBMMSByZXNvdXJjZSB3cmFwcGVyLCBrZXllZCBieSBtb2RlbCB0eXBlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBhbXBsaWZ5RHluYW1vRGJUYWJsZXM6IFJlY29yZDxzdHJpbmcsIEFtcGxpZnlEeW5hbW9EYlRhYmxlV3JhcHBlcj47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgSUFNIFJvbGUgTDEgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSBjZm5Sb2xlczogUmVjb3JkPHN0cmluZywgQ2ZuUm9sZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgTGFtYmRhIEZ1bmN0aW9uIEwxIFJlc291cmNlcywga2V5ZWQgYnkgZnVuY3Rpb24gbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGNmbkZ1bmN0aW9uczogUmVjb3JkPHN0cmluZywgQ2ZuRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBSZW1haW5pbmcgTDEgcmVzb3VyY2VzIGdlbmVyYXRlZCwga2V5ZWQgYnkgbG9naWNhbElkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbENmblJlc291cmNlczogUmVjb3JkPHN0cmluZywgQ2ZuUmVzb3VyY2U+O1xufVxuXG4vKipcbiAqIEFjY2Vzc2libGUgcmVzb3VyY2VzIGZyb20gdGhlIEFwaSB3aGljaCB3ZXJlIGdlbmVyYXRlZCBhcyBwYXJ0IG9mIHRoZSB0cmFuc2Zvcm0uXG4gKiBUaGVzZSBhcmUgcG90ZW50aWFsbHkgc3RvcmVkIHVuZGVyIG5lc3RlZCBzdGFja3MsIGJ1dCBwcmVzZW50ZWQgb3JnYW5pemVkIGJ5IHR5cGUgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbXBsaWZ5R3JhcGhxbEFwaVJlc291cmNlcyB7XG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIEFwcFN5bmMgQXBpIEwyIFJlc291cmNlLCBpbmNsdWRlcyB0aGUgU2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgZ3JhcGhxbEFwaTogSUdyYXBocWxBcGk7XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgRHluYW1vREIgVGFibGUgTDIgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSB0YWJsZXM6IFJlY29yZDxzdHJpbmcsIElUYWJsZT47XG5cbiAgLyoqXG4gICAqIFRoZSBHZW5lcmF0ZWQgSUFNIFJvbGUgTDIgUmVzb3VyY2VzLCBrZXllZCBieSBsb2dpY2FsSWQuXG4gICAqL1xuICByZWFkb25seSByb2xlczogUmVjb3JkPHN0cmluZywgSVJvbGU+O1xuXG4gIC8qKlxuICAgKiBUaGUgR2VuZXJhdGVkIExhbWJkYSBGdW5jdGlvbiBMMSBSZXNvdXJjZXMsIGtleWVkIGJ5IGZ1bmN0aW9uIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbnM6IFJlY29yZDxzdHJpbmcsIElGdW5jdGlvbj47XG5cbiAgLyoqXG4gICAqIEwxIENmbiBSZXNvdXJjZXMsIGZvciB3aGVuIGRpcHBpbmcgZG93biBhIGxldmVsIG9mIGFic3RyYWN0aW9uIGlzIGRlc2lyYWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGNmblJlc291cmNlczogQW1wbGlmeUdyYXBocWxBcGlDZm5SZXNvdXJjZXM7XG5cbiAgLyoqXG4gICAqIE5lc3RlZCBTdGFja3MgZ2VuZXJhdGVkIGJ5IHRoZSBBcGkgQ29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgbmVzdGVkU3RhY2tzOiBSZWNvcmQ8c3RyaW5nLCBOZXN0ZWRTdGFjaz47XG59XG5cbi8qKlxuICogSW5wdXQgdHlwZSBwcm9wZXJ0aWVzIHdoZW4gYWRkaW5nIGEgbmV3IGFwcHN5bmMuQXBwc3luY0Z1bmN0aW9uIHRvIHRoZSBnZW5lcmF0ZWQgQVBJLlxuICogVGhpcyBpcyBlcXVpdmFsZW50IHRvIHRoZSBPbWl0PGFwcHN5bmMuQXBwc3luY0Z1bmN0aW9uUHJvcHMsICdhcGknPi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZGRGdW5jdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBkYXRhIHNvdXJjZSBsaW5rZWQgdG8gdGhpcyBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBkYXRhU291cmNlOiBCYXNlRGF0YVNvdXJjZTtcblxuICAvKipcbiAgICogdGhlIG5hbWUgb2YgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogdGhlIGRlc2NyaXB0aW9uIGZvciB0aGlzIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIHRoZSByZXF1ZXN0IG1hcHBpbmcgdGVtcGxhdGUgZm9yIHRoZSBBcHBTeW5jIEZ1bmN0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gcmVxdWVzdCBtYXBwaW5nIHRlbXBsYXRlXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0TWFwcGluZ1RlbXBsYXRlPzogTWFwcGluZ1RlbXBsYXRlO1xuXG4gIC8qKlxuICAgKiB0aGUgcmVzcG9uc2UgbWFwcGluZyB0ZW1wbGF0ZSBmb3IgdGhlIEFwcFN5bmMgRnVuY3Rpb25cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXNwb25zZSBtYXBwaW5nIHRlbXBsYXRlXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZU1hcHBpbmdUZW1wbGF0ZT86IE1hcHBpbmdUZW1wbGF0ZTtcblxuICAvKipcbiAgICogVGhlIGZ1bmN0aW9ucyBydW50aW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gZnVuY3Rpb24gcnVudGltZSwgVlRMIG1hcHBpbmcgdGVtcGxhdGVzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU/OiBGdW5jdGlvblJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiBjb2RlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gY29kZSBpcyB1c2VkXG4gICAqL1xuICByZWFkb25seSBjb2RlPzogQ29kZTtcbn1cbiJdfQ==
|
@@ -3,7 +3,15 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
-
## [3.6.
|
6
|
+
## [3.6.5-gen2-migration-0809.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.6.4...@aws-amplify/graphql-auth-transformer@3.6.5-gen2-migration-0809.0) (2024-08-09)
|
7
|
+
|
8
|
+
**Note:** Version bump only for package @aws-amplify/graphql-auth-transformer
|
9
|
+
|
10
|
+
## [3.6.4](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.6.3...@aws-amplify/graphql-auth-transformer@3.6.4) (2024-07-25)
|
11
|
+
|
12
|
+
**Note:** Version bump only for package @aws-amplify/graphql-auth-transformer
|
13
|
+
|
14
|
+
## [3.6.3](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-auth-transformer@3.6.2...@aws-amplify/graphql-auth-transformer@3.6.3) (2024-07-15)
|
7
15
|
|
8
16
|
**Note:** Version bump only for package @aws-amplify/graphql-auth-transformer
|
9
17
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@aws-amplify/graphql-auth-transformer",
|
3
|
-
"version": "3.6.
|
3
|
+
"version": "3.6.5-gen2-migration-0809.0",
|
4
4
|
"description": "Amplify GraphQL @auth transformer",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -29,28 +29,28 @@
|
|
29
29
|
"extract-api": "ts-node ../../scripts/extract-api.ts"
|
30
30
|
},
|
31
31
|
"dependencies": {
|
32
|
-
"@aws-amplify/graphql-directives": "1.
|
33
|
-
"@aws-amplify/graphql-model-transformer": "2.12.0-gen2-migration.0",
|
34
|
-
"@aws-amplify/graphql-relational-transformer": "2.
|
35
|
-
"@aws-amplify/graphql-transformer-core": "2.10.0-gen2-migration.0",
|
36
|
-
"@aws-amplify/graphql-transformer-interfaces": "3.11.0-gen2-migration.0",
|
32
|
+
"@aws-amplify/graphql-directives": "1.2.0-gen2-migration-0809.0",
|
33
|
+
"@aws-amplify/graphql-model-transformer": "2.12.0-gen2-migration-0809.0",
|
34
|
+
"@aws-amplify/graphql-relational-transformer": "2.6.0-gen2-migration-0809.0",
|
35
|
+
"@aws-amplify/graphql-transformer-core": "2.10.0-gen2-migration-0809.0",
|
36
|
+
"@aws-amplify/graphql-transformer-interfaces": "3.11.0-gen2-migration-0809.0",
|
37
37
|
"graphql": "^15.5.0",
|
38
38
|
"graphql-mapping-template": "4.20.16",
|
39
|
-
"graphql-transformer-common": "4.32.0-gen2-migration.0",
|
39
|
+
"graphql-transformer-common": "4.32.0-gen2-migration-0809.0",
|
40
40
|
"lodash": "^4.17.21",
|
41
41
|
"md5": "^2.3.0"
|
42
42
|
},
|
43
43
|
"devDependencies": {
|
44
|
-
"@aws-amplify/graphql-function-transformer": "2.1.
|
45
|
-
"@aws-amplify/graphql-index-transformer": "2.4.
|
46
|
-
"@aws-amplify/graphql-searchable-transformer": "2.7.
|
47
|
-
"@aws-amplify/graphql-sql-transformer": "0.3.
|
48
|
-
"@aws-amplify/graphql-transformer-test-utils": "0.5.
|
44
|
+
"@aws-amplify/graphql-function-transformer": "2.1.27-gen2-migration-0809.0",
|
45
|
+
"@aws-amplify/graphql-index-transformer": "2.4.9-gen2-migration-0809.0",
|
46
|
+
"@aws-amplify/graphql-searchable-transformer": "2.7.9-gen2-migration-0809.0",
|
47
|
+
"@aws-amplify/graphql-sql-transformer": "0.3.9-gen2-migration-0809.0",
|
48
|
+
"@aws-amplify/graphql-transformer-test-utils": "0.5.7-gen2-migration-0809.0",
|
49
49
|
"@types/node": "^12.12.6"
|
50
50
|
},
|
51
51
|
"peerDependencies": {
|
52
|
-
"aws-cdk-lib": "^2.
|
53
|
-
"constructs": "^10.0
|
52
|
+
"aws-cdk-lib": "^2.129.0",
|
53
|
+
"constructs": "^10.3.0"
|
54
54
|
},
|
55
55
|
"jest": {
|
56
56
|
"testURL": "http://localhost",
|
@@ -87,5 +87,5 @@
|
|
87
87
|
"/__tests__/"
|
88
88
|
]
|
89
89
|
},
|
90
|
-
"gitHead": "
|
90
|
+
"gitHead": "005a7b9dcb09f8c3b73574ab51b29762d1f71e00"
|
91
91
|
}
|
@@ -3,7 +3,15 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
-
## [2.3.
|
6
|
+
## [2.3.13-gen2-migration-0809.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-default-value-transformer@2.3.12...@aws-amplify/graphql-default-value-transformer@2.3.13-gen2-migration-0809.0) (2024-08-09)
|
7
|
+
|
8
|
+
**Note:** Version bump only for package @aws-amplify/graphql-default-value-transformer
|
9
|
+
|
10
|
+
## [2.3.12](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-default-value-transformer@2.3.11...@aws-amplify/graphql-default-value-transformer@2.3.12) (2024-07-25)
|
11
|
+
|
12
|
+
**Note:** Version bump only for package @aws-amplify/graphql-default-value-transformer
|
13
|
+
|
14
|
+
## [2.3.11](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-default-value-transformer@2.3.10...@aws-amplify/graphql-default-value-transformer@2.3.11) (2024-07-15)
|
7
15
|
|
8
16
|
**Note:** Version bump only for package @aws-amplify/graphql-default-value-transformer
|
9
17
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@aws-amplify/graphql-default-value-transformer",
|
3
|
-
"version": "2.3.
|
3
|
+
"version": "2.3.13-gen2-migration-0809.0",
|
4
4
|
"description": "Amplify GraphQL default value transformer",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -29,17 +29,17 @@
|
|
29
29
|
"extract-api": "ts-node ../../scripts/extract-api.ts"
|
30
30
|
},
|
31
31
|
"dependencies": {
|
32
|
-
"@aws-amplify/graphql-directives": "1.
|
33
|
-
"@aws-amplify/graphql-transformer-core": "2.10.0-gen2-migration.0",
|
34
|
-
"@aws-amplify/graphql-transformer-interfaces": "3.11.0-gen2-migration.0",
|
32
|
+
"@aws-amplify/graphql-directives": "1.2.0-gen2-migration-0809.0",
|
33
|
+
"@aws-amplify/graphql-transformer-core": "2.10.0-gen2-migration-0809.0",
|
34
|
+
"@aws-amplify/graphql-transformer-interfaces": "3.11.0-gen2-migration-0809.0",
|
35
35
|
"graphql": "^15.5.0",
|
36
36
|
"graphql-mapping-template": "4.20.16",
|
37
|
-
"graphql-transformer-common": "4.32.0-gen2-migration.0",
|
37
|
+
"graphql-transformer-common": "4.32.0-gen2-migration-0809.0",
|
38
38
|
"libphonenumber-js": "1.9.47"
|
39
39
|
},
|
40
40
|
"devDependencies": {
|
41
|
-
"@aws-amplify/graphql-model-transformer": "2.12.0-gen2-migration.0",
|
42
|
-
"@aws-amplify/graphql-transformer-test-utils": "0.5.
|
41
|
+
"@aws-amplify/graphql-model-transformer": "2.12.0-gen2-migration-0809.0",
|
42
|
+
"@aws-amplify/graphql-transformer-test-utils": "0.5.7-gen2-migration-0809.0"
|
43
43
|
},
|
44
44
|
"jest": {
|
45
45
|
"transform": {
|
@@ -76,5 +76,5 @@
|
|
76
76
|
"/__tests__/"
|
77
77
|
]
|
78
78
|
},
|
79
|
-
"gitHead": "
|
79
|
+
"gitHead": "005a7b9dcb09f8c3b73574ab51b29762d1f71e00"
|
80
80
|
}
|
@@ -3,6 +3,12 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
# [1.2.0-gen2-migration-0809.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-directives@1.1.0...@aws-amplify/graphql-directives@1.2.0-gen2-migration-0809.0) (2024-08-09)
|
7
|
+
|
8
|
+
### Features
|
9
|
+
|
10
|
+
- add overrideIndexName to configure index name ([#2738](https://github.com/aws-amplify/amplify-category-api/issues/2738)) ([c4e59d3](https://github.com/aws-amplify/amplify-category-api/commit/c4e59d37d987254d102146a27267501d44fca263))
|
11
|
+
|
6
12
|
# [1.1.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-directives@1.0.1...@aws-amplify/graphql-directives@1.1.0) (2024-04-26)
|
7
13
|
|
8
14
|
### Features
|
@@ -0,0 +1,201 @@
|
|
1
|
+
Apache License
|
2
|
+
Version 2.0, January 2004
|
3
|
+
http://www.apache.org/licenses/
|
4
|
+
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
6
|
+
|
7
|
+
1. Definitions.
|
8
|
+
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
11
|
+
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
13
|
+
the copyright owner that is granting the License.
|
14
|
+
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
16
|
+
other entities that control, are controlled by, or are under common
|
17
|
+
control with that entity. For the purposes of this definition,
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
19
|
+
direction or management of such entity, whether by contract or
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
22
|
+
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
24
|
+
exercising permissions granted by this License.
|
25
|
+
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
27
|
+
including but not limited to software source code, documentation
|
28
|
+
source, and configuration files.
|
29
|
+
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
31
|
+
transformation or translation of a Source form, including but
|
32
|
+
not limited to compiled object code, generated documentation,
|
33
|
+
and conversions to other media types.
|
34
|
+
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
36
|
+
Object form, made available under the License, as indicated by a
|
37
|
+
copyright notice that is included in or attached to the work
|
38
|
+
(an example is provided in the Appendix below).
|
39
|
+
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
46
|
+
the Work and Derivative Works thereof.
|
47
|
+
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
49
|
+
the original version of the Work and any modifications or additions
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
61
|
+
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
64
|
+
subsequently incorporated within the Work.
|
65
|
+
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
72
|
+
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
78
|
+
where such license applies only to those patent claims licensable
|
79
|
+
by such Contributor that are necessarily infringed by their
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
82
|
+
institute patent litigation against any entity (including a
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
85
|
+
or contributory patent infringement, then any patent licenses
|
86
|
+
granted to You under this License for that Work shall terminate
|
87
|
+
as of the date such litigation is filed.
|
88
|
+
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
91
|
+
modifications, and in Source or Object form, provided that You
|
92
|
+
meet the following conditions:
|
93
|
+
|
94
|
+
(a) You must give any other recipients of the Work or
|
95
|
+
Derivative Works a copy of this License; and
|
96
|
+
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
98
|
+
stating that You changed the files; and
|
99
|
+
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
102
|
+
attribution notices from the Source form of the Work,
|
103
|
+
excluding those notices that do not pertain to any part of
|
104
|
+
the Derivative Works; and
|
105
|
+
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
108
|
+
include a readable copy of the attribution notices contained
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
111
|
+
of the following places: within a NOTICE text file distributed
|
112
|
+
as part of the Derivative Works; within the Source form or
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
114
|
+
within a display generated by the Derivative Works, if and
|
115
|
+
wherever such third-party notices normally appear. The contents
|
116
|
+
of the NOTICE file are for informational purposes only and
|
117
|
+
do not modify the License. You may add Your own attribution
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
120
|
+
that such additional attribution notices cannot be construed
|
121
|
+
as modifying the License.
|
122
|
+
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
124
|
+
may provide additional or different license terms and conditions
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
128
|
+
the conditions stated in this License.
|
129
|
+
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
133
|
+
this License, without any additional terms or conditions.
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
135
|
+
the terms of any separate license agreement you may have executed
|
136
|
+
with Licensor regarding such Contributions.
|
137
|
+
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
140
|
+
except as required for reasonable and customary use in describing the
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
142
|
+
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
152
|
+
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
158
|
+
incidental, or consequential damages of any character arising as a
|
159
|
+
result of this License or out of the use or inability to use the
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
162
|
+
other commercial damages or losses), even if such Contributor
|
163
|
+
has been advised of the possibility of such damages.
|
164
|
+
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
168
|
+
or other liability obligations and/or rights consistent with this
|
169
|
+
License. However, in accepting such obligations, You may act only
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
174
|
+
of your accepting any such warranty or additional liability.
|
175
|
+
|
176
|
+
END OF TERMS AND CONDITIONS
|
177
|
+
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
179
|
+
|
180
|
+
To apply the Apache License to your work, attach the following
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "{}"
|
182
|
+
replaced with your own identifying information. (Don't include
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
184
|
+
comment syntax for the file format. We also recommend that a
|
185
|
+
file or class name and description of purpose be included on the
|
186
|
+
same "printed page" as the copyright notice for easier
|
187
|
+
identification within third-party archives.
|
188
|
+
|
189
|
+
Copyright 2017 - 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
190
|
+
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
192
|
+
you may not use this file except in compliance with the License.
|
193
|
+
You may obtain a copy of the License at
|
194
|
+
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
196
|
+
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
200
|
+
See the License for the specific language governing permissions and
|
201
|
+
limitations under the License.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"belongs-to.d.ts","sourceRoot":"","sources":["../../src/directives/belongs-to.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"belongs-to.d.ts","sourceRoot":"","sources":["../../src/directives/belongs-to.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AASxC,eAAO,MAAM,kBAAkB,EAAE,SAIhC,CAAC"}
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BelongsToDirective = void 0;
|
4
4
|
const name = 'belongsTo';
|
5
5
|
const definition = `
|
6
|
-
directive @${name}(fields: [String!], references: [String!]) on FIELD_DEFINITION
|
6
|
+
directive @${name}(fields: [String!], references: [String!], overrideIndexName: String) on FIELD_DEFINITION
|
7
7
|
`;
|
8
8
|
const defaults = {};
|
9
9
|
exports.BelongsToDirective = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"belongs-to.js","sourceRoot":"","sources":["../../src/directives/belongs-to.ts"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAAG,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"belongs-to.js","sourceRoot":"","sources":["../../src/directives/belongs-to.ts"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAAG,WAAW,CAAC;AAEzB,MAAM,UAAU,GAAiB;eAClB,IAAI;CAClB,CAAC;AACF,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEP,QAAA,kBAAkB,GAAc;IAC3C,IAAI;IACJ,UAAU;IACV,QAAQ;CACT,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@aws-amplify/graphql-directives",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.2.0-gen2-migration-0809.0",
|
4
4
|
"description": "Directive definitions for Amplify GraphQL transformers.",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -61,5 +61,6 @@
|
|
61
61
|
"/__tests__/",
|
62
62
|
"src/directives/directive.ts"
|
63
63
|
]
|
64
|
-
}
|
64
|
+
},
|
65
|
+
"gitHead": "005a7b9dcb09f8c3b73574ab51b29762d1f71e00"
|
65
66
|
}
|
@@ -3,7 +3,11 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
-
## [2.1.
|
6
|
+
## [2.1.27-gen2-migration-0809.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-function-transformer@2.1.26...@aws-amplify/graphql-function-transformer@2.1.27-gen2-migration-0809.0) (2024-08-09)
|
7
|
+
|
8
|
+
**Note:** Version bump only for package @aws-amplify/graphql-function-transformer
|
9
|
+
|
10
|
+
## [2.1.26](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-function-transformer@2.1.25...@aws-amplify/graphql-function-transformer@2.1.26) (2024-07-15)
|
7
11
|
|
8
12
|
**Note:** Version bump only for package @aws-amplify/graphql-function-transformer
|
9
13
|
|