@vendure/admin-ui 1.4.6 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vendure-admin-ui-catalog.umd.js +186 -155
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +350 -273
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-customer.umd.js +51 -20
- package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-order.umd.js +107 -17
- package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-settings.umd.js +1 -1
- package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-system.umd.js.map +1 -1
- package/catalog/components/{product-assets/product-assets.component.d.ts → assets/assets.component.d.ts} +4 -10
- package/catalog/components/facet-detail/facet-detail.component.d.ts +7 -2
- package/catalog/components/product-detail/product-detail.component.d.ts +2 -1
- package/catalog/components/product-variants-list/product-variants-list.component.d.ts +2 -1
- package/catalog/public_api.d.ts +1 -1
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/common/generated-types.d.ts +115 -12
- package/core/common/version.d.ts +1 -1
- package/core/data/definitions/customer-definitions.d.ts +1 -0
- package/core/data/providers/customer-data.service.d.ts +1 -0
- package/core/data/providers/promotion-data.service.d.ts +2 -2
- package/core/data/utils/remove-readonly-custom-fields.d.ts +12 -3
- package/core/public_api.d.ts +2 -0
- package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +5 -0
- package/core/shared/components/object-tree/object-tree.component.d.ts +3 -3
- package/core/shared/directives/if-default-channel-active.directive.d.ts +1 -1
- package/core/shared/directives/if-multichannel.directive.d.ts +1 -1
- package/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +15 -0
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/customer/components/address-card/address-card.component.d.ts +2 -0
- package/customer/components/customer-detail/customer-detail.component.d.ts +2 -0
- package/customer/components/customer-list/customer-list.component.d.ts +1 -2
- package/customer/vendure-admin-ui-customer.metadata.json +1 -1
- package/esm2015/catalog/catalog.module.js +3 -3
- package/esm2015/catalog/components/assets/assets.component.js +93 -0
- package/esm2015/catalog/components/collection-detail/collection-detail.component.js +2 -2
- package/esm2015/catalog/components/facet-detail/facet-detail.component.js +45 -17
- package/esm2015/catalog/components/product-detail/product-detail.component.js +4 -3
- package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +9 -2
- package/esm2015/catalog/public_api.js +2 -2
- package/esm2015/core/common/generated-types.js +30 -1
- package/esm2015/core/common/introspection-result.js +189 -249
- package/esm2015/core/common/utilities/configurable-operation-utils.js +1 -1
- package/esm2015/core/common/utilities/create-updated-translatable.js +1 -1
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/data/definitions/customer-definitions.js +8 -1
- package/esm2015/core/data/definitions/order-definitions.js +2 -1
- package/esm2015/core/data/providers/customer-data.service.js +5 -2
- package/esm2015/core/data/providers/interceptor.js +1 -1
- package/esm2015/core/data/providers/promotion-data.service.js +3 -2
- package/esm2015/core/data/providers/shipping-method-data.service.js +1 -1
- package/esm2015/core/data/utils/remove-readonly-custom-fields.js +15 -3
- package/esm2015/core/public_api.js +3 -1
- package/esm2015/core/shared/components/address-form/address-form.component.js +1 -1
- package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +2 -2
- package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +3 -3
- package/esm2015/core/shared/components/asset-preview-links/asset-preview-links.component.js +18 -0
- package/esm2015/core/shared/components/object-tree/object-tree.component.js +3 -3
- package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +3 -2
- package/esm2015/core/shared/directives/if-default-channel-active.directive.js +2 -2
- package/esm2015/core/shared/directives/if-multichannel.directive.js +2 -2
- package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.js +48 -0
- package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +2 -2
- package/esm2015/core/shared/shared.module.js +5 -1
- package/esm2015/customer/components/address-card/address-card.component.js +9 -3
- package/esm2015/customer/components/customer-detail/customer-detail.component.js +35 -13
- package/esm2015/customer/components/customer-list/customer-list.component.js +12 -9
- package/esm2015/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.js +1 -1
- package/esm2015/order/components/cancel-order-dialog/cancel-order-dialog.component.js +36 -6
- package/esm2015/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +1 -1
- package/esm2015/order/components/line-refunds/line-refunds.component.js +1 -1
- package/esm2015/order/components/modification-detail/modification-detail.component.js +1 -1
- package/esm2015/order/components/order-detail/order-detail.component.js +2 -2
- package/esm2015/order/components/order-editor/order-editor.component.js +22 -7
- package/esm2015/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.js +1 -1
- package/esm2015/order/components/order-history/order-history.component.js +2 -2
- package/esm2015/order/components/order-list/order-list.component.js +1 -1
- package/esm2015/order/components/order-table/order-table.component.js +2 -2
- package/esm2015/order/components/refund-order-dialog/refund-order-dialog.component.js +10 -5
- package/esm2015/order/order.routes.js +1 -1
- package/esm2015/settings/components/channel-list/channel-list.component.js +2 -2
- package/esm2015/settings/components/role-list/role-list.component.js +1 -1
- package/esm2015/settings/components/test-order-builder/test-order-builder.component.js +1 -1
- package/esm2015/settings/providers/routing/shipping-method-resolver.js +1 -1
- package/esm2015/system/components/job-list/job-list.component.js +1 -1
- package/fesm2015/vendure-admin-ui-catalog.js +147 -125
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +308 -251
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.js +53 -22
- package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
- package/fesm2015/vendure-admin-ui-order.js +67 -17
- package/fesm2015/vendure-admin-ui-order.js.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.js +1 -1
- package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
- package/fesm2015/vendure-admin-ui-system.js.map +1 -1
- package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +3 -0
- package/order/components/order-editor/order-editor.component.d.ts +8 -2
- package/order/vendure-admin-ui-order.metadata.json +1 -1
- package/package.json +11 -11
- package/settings/vendure-admin-ui-settings.metadata.json +1 -1
- package/static/i18n-messages/cs.json +7 -1
- package/static/i18n-messages/de.json +7 -1
- package/static/i18n-messages/en.json +9 -3
- package/static/i18n-messages/es.json +7 -1
- package/static/i18n-messages/fr.json +7 -1
- package/static/i18n-messages/it.json +7 -1
- package/static/i18n-messages/pl.json +7 -1
- package/static/i18n-messages/pt_BR.json +7 -1
- package/static/i18n-messages/pt_PT.json +7 -1
- package/static/i18n-messages/ru.json +7 -1
- package/static/i18n-messages/uk.json +7 -1
- package/static/i18n-messages/zh_Hans.json +7 -1
- package/static/i18n-messages/zh_Hant.json +7 -1
- package/static/vendure-ui-config.json +25 -10
- package/esm2015/catalog/components/product-assets/product-assets.component.js +0 -108
|
@@ -2,6 +2,7 @@ export var AdjustmentType;
|
|
|
2
2
|
(function (AdjustmentType) {
|
|
3
3
|
AdjustmentType["PROMOTION"] = "PROMOTION";
|
|
4
4
|
AdjustmentType["DISTRIBUTED_ORDER_PROMOTION"] = "DISTRIBUTED_ORDER_PROMOTION";
|
|
5
|
+
AdjustmentType["OTHER"] = "OTHER";
|
|
5
6
|
})(AdjustmentType || (AdjustmentType = {}));
|
|
6
7
|
export var AssetType;
|
|
7
8
|
(function (AssetType) {
|
|
@@ -375,6 +376,9 @@ export var ErrorCode;
|
|
|
375
376
|
ErrorCode["ORDER_LIMIT_ERROR"] = "ORDER_LIMIT_ERROR";
|
|
376
377
|
ErrorCode["NEGATIVE_QUANTITY_ERROR"] = "NEGATIVE_QUANTITY_ERROR";
|
|
377
378
|
ErrorCode["INSUFFICIENT_STOCK_ERROR"] = "INSUFFICIENT_STOCK_ERROR";
|
|
379
|
+
ErrorCode["COUPON_CODE_INVALID_ERROR"] = "COUPON_CODE_INVALID_ERROR";
|
|
380
|
+
ErrorCode["COUPON_CODE_EXPIRED_ERROR"] = "COUPON_CODE_EXPIRED_ERROR";
|
|
381
|
+
ErrorCode["COUPON_CODE_LIMIT_ERROR"] = "COUPON_CODE_LIMIT_ERROR";
|
|
378
382
|
})(ErrorCode || (ErrorCode = {}));
|
|
379
383
|
export var GlobalFlag;
|
|
380
384
|
(function (GlobalFlag) {
|
|
@@ -760,6 +764,31 @@ export var LogicalOperator;
|
|
|
760
764
|
* Permissions for administrators and customers. Used to control access to
|
|
761
765
|
* GraphQL resolvers via the {@link Allow} decorator.
|
|
762
766
|
*
|
|
767
|
+
* ## Understanding Permission.Owner
|
|
768
|
+
*
|
|
769
|
+
* `Permission.Owner` is a special permission which is used in some of the Vendure resolvers to indicate that that resolver should only
|
|
770
|
+
* be accessible to the "owner" of that resource.
|
|
771
|
+
*
|
|
772
|
+
* For example, the Shop API `activeCustomer` query resolver should only return the Customer object for the "owner" of that Customer, i.e.
|
|
773
|
+
* based on the activeUserId of the current session. As a result, the resolver code looks like this:
|
|
774
|
+
*
|
|
775
|
+
* @example
|
|
776
|
+
* ```TypeScript
|
|
777
|
+
* \@Query()
|
|
778
|
+
* \@Allow(Permission.Owner)
|
|
779
|
+
* async activeCustomer(\@Ctx() ctx: RequestContext): Promise<Customer | undefined> {
|
|
780
|
+
* const userId = ctx.activeUserId;
|
|
781
|
+
* if (userId) {
|
|
782
|
+
* return this.customerService.findOneByUserId(ctx, userId);
|
|
783
|
+
* }
|
|
784
|
+
* }
|
|
785
|
+
* ```
|
|
786
|
+
*
|
|
787
|
+
* Here we can see that the "ownership" must be enforced by custom logic inside the resolver. Since "ownership" cannot be defined generally
|
|
788
|
+
* nor statically encoded at build-time, any resolvers using `Permission.Owner` **must** include logic to enforce that only the owner
|
|
789
|
+
* of the resource has access. If not, then it is the equivalent of using `Permission.Public`.
|
|
790
|
+
*
|
|
791
|
+
*
|
|
763
792
|
* @docsCategory common
|
|
764
793
|
*/
|
|
765
794
|
export var Permission;
|
|
@@ -950,4 +979,4 @@ export var StockMovementType;
|
|
|
950
979
|
StockMovementType["CANCELLATION"] = "CANCELLATION";
|
|
951
980
|
StockMovementType["RETURN"] = "RETURN";
|
|
952
981
|
})(StockMovementType || (StockMovementType = {}));
|
|
953
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vZ2VuZXJhdGVkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBFQSxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3hCLHlDQUF1QixDQUFBO0lBQ3ZCLDZFQUEyRCxDQUFBO0FBQzdELENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQWtKRCxNQUFNLENBQU4sSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDRCQUFlLENBQUE7SUFDZiw0QkFBZSxDQUFBO0lBQ2YsOEJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCO0FBK2lCRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLFlBMlRYO0FBM1RELFdBQVksWUFBWTtJQUN0QixrQ0FBa0M7SUFDbEMsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9DQUFvQztJQUNwQywyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLDhDQUE4QztJQUM5QywyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxnQkFBZ0I7SUFDaEIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsOEJBQThCO0lBQzlCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gsNkJBQTZCO0lBQzdCLDJCQUFXLENBQUE7SUFDWCxpQkFBaUI7SUFDakIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLFdBQVc7SUFDWCwyQkFBVyxDQUFBO0lBQ1gsa0JBQWtCO0lBQ2xCLDJCQUFXLENBQUE7SUFDWCw2QkFBNkI7SUFDN0IsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsa0JBQWtCO0lBQ2xCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCw0QkFBNEI7SUFDNUIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gsY0FBYztJQUNkLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCwwQkFBMEI7SUFDMUIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLGlCQUFpQjtJQUNqQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLDZCQUE2QjtJQUM3QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsa0JBQWtCO0lBQ2xCLDJCQUFXLENBQUE7SUFDWCw2QkFBNkI7SUFDN0IsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCwyQkFBMkI7SUFDM0IsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCwyQkFBMkI7SUFDM0IsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCwyQkFBMkI7SUFDM0IsMkJBQVcsQ0FBQTtJQUNYLGtDQUFrQztJQUNsQywyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsZ0JBQWdCO0lBQ2hCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsaUNBQWlDO0lBQ2pDLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLGtDQUFrQztJQUNsQywyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLGtCQUFrQjtJQUNsQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCw0QkFBNEI7SUFDNUIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsa0NBQWtDO0lBQ2xDLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtBQUNiLENBQUMsRUEzVFcsWUFBWSxLQUFaLFlBQVksUUEyVHZCO0FBNE9ELE1BQU0sQ0FBTixJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsMENBQTBDO0lBQzFDLHFDQUFtQixDQUFBO0lBQ25CLDJEQUEyRDtJQUMzRCw2Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUF5QkQsTUFBTSxDQUFOLElBQVksU0FtQ1g7QUFuQ0QsV0FBWSxTQUFTO0lBQ25CLDRDQUErQixDQUFBO0lBQy9CLGdEQUFtQyxDQUFBO0lBQ25DLDBFQUE2RCxDQUFBO0lBQzdELDhFQUFpRSxDQUFBO0lBQ2pFLDBEQUE2QyxDQUFBO0lBQzdDLGtGQUFxRSxDQUFBO0lBQ3JFLDRFQUErRCxDQUFBO0lBQy9ELG9GQUF1RSxDQUFBO0lBQ3ZFLGtFQUFxRCxDQUFBO0lBQ3JELGtGQUFxRSxDQUFBO0lBQ3JFLDBEQUE2QyxDQUFBO0lBQzdDLG9FQUF1RCxDQUFBO0lBQ3ZELDBFQUE2RCxDQUFBO0lBQzdELGtFQUFxRCxDQUFBO0lBQ3JELGdFQUFtRCxDQUFBO0lBQ25ELDhEQUFpRCxDQUFBO0lBQ2pELGtFQUFxRCxDQUFBO0lBQ3JELDRFQUErRCxDQUFBO0lBQy9ELDhFQUFpRSxDQUFBO0lBQ2pFLHNGQUF5RSxDQUFBO0lBQ3pFLDhFQUFpRSxDQUFBO0lBQ2pFLHNFQUF5RCxDQUFBO0lBQ3pELDBFQUE2RCxDQUFBO0lBQzdELGdGQUFtRSxDQUFBO0lBQ25FLHNFQUF5RCxDQUFBO0lBQ3pELHdFQUEyRCxDQUFBO0lBQzNELGtFQUFxRCxDQUFBO0lBQ3JELHNFQUF5RCxDQUFBO0lBQ3pELG9FQUF1RCxDQUFBO0lBQ3ZELDBFQUE2RCxDQUFBO0lBQzdELDBFQUE2RCxDQUFBO0lBQzdELG9EQUF1QyxDQUFBO0lBQ3ZDLGdFQUFtRCxDQUFBO0lBQ25ELGtFQUFxRCxDQUFBO0FBQ3ZELENBQUMsRUFuQ1csU0FBUyxLQUFULFNBQVMsUUFtQ3BCO0FBMEtELE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsMkJBQWEsQ0FBQTtJQUNiLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckI7QUEwREQsTUFBTSxDQUFOLElBQVksZ0JBeUJYO0FBekJELFdBQVksZ0JBQWdCO0lBQzFCLCtEQUEyQyxDQUFBO0lBQzNDLDJEQUF1QyxDQUFBO0lBQ3ZDLHVFQUFtRCxDQUFBO0lBQ25ELHVFQUFtRCxDQUFBO0lBQ25ELCtFQUEyRCxDQUFBO0lBQzNELHlFQUFxRCxDQUFBO0lBQ3JELHlFQUFxRCxDQUFBO0lBQ3JELHlFQUFxRCxDQUFBO0lBQ3JELDJFQUF1RCxDQUFBO0lBQ3ZELDJGQUF1RSxDQUFBO0lBQ3ZFLHlGQUFxRSxDQUFBO0lBQ3JFLHVGQUFtRSxDQUFBO0lBQ25FLHFGQUFpRSxDQUFBO0lBQ2pFLG1EQUErQixDQUFBO0lBQy9CLHFFQUFpRCxDQUFBO0lBQ2pELHlFQUFxRCxDQUFBO0lBQ3JELDJEQUF1QyxDQUFBO0lBQ3ZDLDZEQUF5QyxDQUFBO0lBQ3pDLHVFQUFtRCxDQUFBO0lBQ25ELGlGQUE2RCxDQUFBO0lBQzdELDZDQUF5QixDQUFBO0lBQ3pCLGlFQUE2QyxDQUFBO0lBQzdDLGlFQUE2QyxDQUFBO0lBQzdDLHFEQUFpQyxDQUFBO0FBQ25DLENBQUMsRUF6QlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQXlCM0I7QUF5SkQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxRQU9YO0FBUEQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLG1DQUF1QixDQUFBO0lBQ3ZCLGlDQUFxQixDQUFBO0lBQ3JCLDZCQUFpQixDQUFBO0lBQ2pCLG1DQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFQVyxRQUFRLEtBQVIsUUFBUSxRQU9uQjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUEyVFg7QUEzVEQsV0FBWSxZQUFZO0lBQ3RCLGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxrQkFBa0I7SUFDbEIseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxvQkFBb0I7SUFDcEIseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULHNCQUFzQjtJQUN0QiwrQkFBZSxDQUFBO0lBQ2Ysd0JBQXdCO0lBQ3hCLCtCQUFlLENBQUE7SUFDZixlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULFVBQVU7SUFDVix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULHlCQUF5QjtJQUN6QiwrQkFBZSxDQUFBO0lBQ2YsdUJBQXVCO0lBQ3ZCLCtCQUFlLENBQUE7SUFDZixzQkFBc0I7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLHVCQUF1QjtJQUN2QiwrQkFBZSxDQUFBO0lBQ2YsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULHVCQUF1QjtJQUN2QiwrQkFBZSxDQUFBO0lBQ2Ysc0JBQXNCO0lBQ3RCLCtCQUFlLENBQUE7SUFDZixlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gsK0JBQWUsQ0FBQTtJQUNmLFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1Qsc0JBQXNCO0lBQ3RCLCtCQUFlLENBQUE7SUFDZixtQkFBbUI7SUFDbkIsK0JBQWUsQ0FBQTtJQUNmLHNCQUFzQjtJQUN0Qix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxzQkFBc0I7SUFDdEIseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QscUJBQXFCO0lBQ3JCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1Qsa0JBQWtCO0lBQ2xCLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGtCQUFrQjtJQUNsQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULFVBQVU7SUFDVix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxtQkFBbUI7SUFDbkIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsdUJBQXVCO0lBQ3ZCLHlCQUFTLENBQUE7SUFDVCxvQkFBb0I7SUFDcEIseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QsK0JBQWUsQ0FBQTtJQUNmLHdCQUF3QjtJQUN4Qix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULDJCQUEyQjtJQUMzQiwrQkFBZSxDQUFBO0lBQ2YsMEJBQTBCO0lBQzFCLCtCQUFlLENBQUE7SUFDZixjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQiwrQkFBZSxDQUFBO0lBQ2YsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxrQkFBa0I7SUFDbEIseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxvQkFBb0I7SUFDcEIseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULHFCQUFxQjtJQUNyQix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1Qsb0JBQW9CO0lBQ3BCLCtCQUFlLENBQUE7SUFDZixZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QseUJBQXlCO0lBQ3pCLG1DQUFtQixDQUFBO0lBQ25CLDBCQUEwQjtJQUMxQixtQ0FBbUIsQ0FBQTtJQUNuQixXQUFXO0lBQ1gseUJBQVMsQ0FBQTtBQUNYLENBQUMsRUEzVFcsWUFBWSxLQUFaLFlBQVksUUEyVHZCO0FBK0JELE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDekIsOEJBQVcsQ0FBQTtJQUNYLDRCQUFTLENBQUE7QUFDWCxDQUFDLEVBSFcsZUFBZSxLQUFmLGVBQWUsUUFHMUI7QUF1ekNEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBTixJQUFZLFVBNEtYO0FBNUtELFdBQVksVUFBVTtJQUNwQiw0REFBNEQ7SUFDNUQsNkNBQStCLENBQUE7SUFDL0IsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix3RUFBd0U7SUFDeEUsNkNBQStCLENBQUE7SUFDL0IsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDZDQUE2QztJQUM3QyxtREFBcUMsQ0FBQTtJQUNyQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsMkNBQTJDO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHNJQUFzSTtJQUN0SSwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0MseUNBQXlDO0lBQ3pDLDJDQUE2QixDQUFBO0lBQzdCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtJQUN6QixnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHdFQUF3RTtJQUN4RSw2Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNkNBQTZDO0lBQzdDLG1EQUFxQyxDQUFBO0lBQ3JDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBMkM7SUFDM0MsK0NBQWlDLENBQUE7SUFDakMsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBNEM7SUFDNUMsaURBQW1DLENBQUE7SUFDbkMsc0lBQXNJO0lBQ3RJLCtDQUFpQyxDQUFBO0lBQ2pDLGlEQUFpRDtJQUNqRCwyREFBNkMsQ0FBQTtJQUM3Qyx5Q0FBeUM7SUFDekMsMkNBQTZCLENBQUE7SUFDN0Isc0NBQXNDO0lBQ3RDLHFDQUF1QixDQUFBO0lBQ3ZCLDhDQUE4QztJQUM5QyxxREFBdUMsQ0FBQTtJQUN2QywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsdUNBQXVDO0lBQ3ZDLHVDQUF5QixDQUFBO0lBQ3pCLHlFQUF5RTtJQUN6RSw2QkFBZSxDQUFBO0lBQ2YseUNBQTJCLENBQUE7SUFDM0Isc0VBQXNFO0lBQ3RFLCtCQUFpQixDQUFBO0lBQ2pCLDhDQUE4QztJQUM5QyxxREFBdUMsQ0FBQTtJQUN2QyxzQ0FBc0M7SUFDdEMscUNBQXVCLENBQUE7SUFDdkIsc0VBQXNFO0lBQ3RFLHlDQUEyQixDQUFBO0lBQzNCLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQiwyQ0FBMkM7SUFDM0MsK0NBQWlDLENBQUE7SUFDakMsd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHlDQUF5QztJQUN6QywyQ0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsc0NBQXNDO0lBQ3RDLHFDQUF1QixDQUFBO0lBQ3ZCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQixvSUFBb0k7SUFDcEksMkNBQTZCLENBQUE7SUFDN0IsK0NBQStDO0lBQy9DLHVEQUF5QyxDQUFBO0lBQ3pDLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtJQUN6QixvQ0FBb0M7SUFDcEMsaUNBQW1CLENBQUE7SUFDbkIsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQixxQ0FBcUM7SUFDckMsbUNBQXFCLENBQUE7SUFDckIsMkRBQTJEO0lBQzNELHVDQUF5QixDQUFBO0lBQ3pCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0VBQXdFO0lBQ3hFLDZDQUErQixDQUFBO0lBQy9CLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiw2Q0FBNkM7SUFDN0MsbURBQXFDLENBQUE7SUFDckMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDJDQUEyQztJQUMzQywrQ0FBaUMsQ0FBQTtJQUNqQyxnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGlEQUFpRDtJQUNqRCwyREFBNkMsQ0FBQTtJQUM3Qyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBNEM7SUFDNUMsaURBQW1DLENBQUE7SUFDbkMsc0lBQXNJO0lBQ3RJLCtDQUFpQyxDQUFBO0lBQ2pDLGlEQUFpRDtJQUNqRCwyREFBNkMsQ0FBQTtJQUM3Qyx5Q0FBeUM7SUFDekMsMkNBQTZCLENBQUE7SUFDN0Isc0NBQXNDO0lBQ3RDLHFDQUF1QixDQUFBO0lBQ3ZCLDhDQUE4QztJQUM5QyxxREFBdUMsQ0FBQTtJQUN2QywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsdUNBQXVDO0lBQ3ZDLHVDQUF5QixDQUFBO0FBQzNCLENBQUMsRUE1S1csVUFBVSxLQUFWLFVBQVUsUUE0S3JCO0FBdytCRCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCO0FBbUNELE1BQU0sQ0FBTixJQUFZLGlCQU9YO0FBUEQsV0FBWSxpQkFBaUI7SUFDM0IsOENBQXlCLENBQUE7SUFDekIsOENBQXlCLENBQUE7SUFDekIsd0NBQW1CLENBQUE7SUFDbkIsa0NBQWEsQ0FBQTtJQUNiLGtEQUE2QixDQUFBO0lBQzdCLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFQVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTzVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGVcclxuZXhwb3J0IHR5cGUgTWF5YmU8VD4gPSBUIHwgbnVsbDtcclxuZXhwb3J0IHR5cGUgRXhhY3Q8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gfTtcclxuZXhwb3J0IHR5cGUgTWFrZU9wdGlvbmFsPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS10/OiBNYXliZTxUW1N1YktleV0+IH07XHJcbmV4cG9ydCB0eXBlIE1ha2VNYXliZTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdOiBNYXliZTxUW1N1YktleV0+IH07XHJcbi8qKiBBbGwgYnVpbHQtaW4gYW5kIGN1c3RvbSBzY2FsYXJzLCBtYXBwZWQgdG8gdGhlaXIgYWN0dWFsIHZhbHVlcyAqL1xyXG5leHBvcnQgdHlwZSBTY2FsYXJzID0ge1xyXG4gIElEOiBzdHJpbmc7XHJcbiAgU3RyaW5nOiBzdHJpbmc7XHJcbiAgQm9vbGVhbjogYm9vbGVhbjtcclxuICBJbnQ6IG51bWJlcjtcclxuICBGbG9hdDogbnVtYmVyO1xyXG4gIC8qKiBBIGRhdGUtdGltZSBzdHJpbmcgYXQgVVRDLCBzdWNoIGFzIDIwMDctMTItMDNUMTA6MTU6MzBaLCBjb21wbGlhbnQgd2l0aCB0aGUgYGRhdGUtdGltZWAgZm9ybWF0IG91dGxpbmVkIGluIHNlY3Rpb24gNS42IG9mIHRoZSBSRkMgMzMzOSBwcm9maWxlIG9mIHRoZSBJU08gODYwMSBzdGFuZGFyZCBmb3IgcmVwcmVzZW50YXRpb24gb2YgZGF0ZXMgYW5kIHRpbWVzIHVzaW5nIHRoZSBHcmVnb3JpYW4gY2FsZW5kYXIuICovXHJcbiAgRGF0ZVRpbWU6IGFueTtcclxuICAvKiogVGhlIGBKU09OYCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIEpTT04gdmFsdWVzIGFzIHNwZWNpZmllZCBieSBbRUNNQS00MDRdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9wdWJsaWNhdGlvbnMvZmlsZXMvRUNNQS1TVC9FQ01BLTQwNC5wZGYpLiAqL1xyXG4gIEpTT046IGFueTtcclxuICAvKiogVGhlIGBVcGxvYWRgIHNjYWxhciB0eXBlIHJlcHJlc2VudHMgYSBmaWxlIHVwbG9hZC4gKi9cclxuICBVcGxvYWQ6IGFueTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRGdWxmaWxsbWVudFRvT3JkZXJSZXN1bHQgPSBGdWxmaWxsbWVudCB8IEVtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3IgfCBJdGVtc0FscmVhZHlGdWxmaWxsZWRFcnJvciB8IEluc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3IgfCBJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3IgfCBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHwgQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZEl0ZW1JbnB1dCA9IHtcclxuICBwcm9kdWN0VmFyaWFudElkOiBTY2FsYXJzWydJRCddO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE1hbnVhbFBheW1lbnRUb09yZGVyUmVzdWx0ID0gT3JkZXIgfCBNYW51YWxQYXltZW50U3RhdGVFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE5vdGVUb0N1c3RvbWVySW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbm90ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgaXNQdWJsaWM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE5vdGVUb09yZGVySW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbm90ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgaXNQdWJsaWM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZHJlc3MgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWRkcmVzcyc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBmdWxsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHN0cmVldExpbmUxOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdHJlZXRMaW5lMj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY291bnRyeTogQ291bnRyeTtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZWZhdWx0U2hpcHBpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBkZWZhdWx0QmlsbGluZ0FkZHJlc3M/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGp1c3RPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBZGp1c3RtZW50ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWRqdXN0bWVudCc7XHJcbiAgYWRqdXN0bWVudFNvdXJjZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogQWRqdXN0bWVudFR5cGU7XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFtb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBBZGp1c3RtZW50VHlwZSB7XHJcbiAgUFJPTU9USU9OID0gJ1BST01PVElPTicsXHJcbiAgRElTVFJJQlVURURfT1JERVJfUFJPTU9USU9OID0gJ0RJU1RSSUJVVEVEX09SREVSX1BST01PVElPTidcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvciA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGZpcnN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGFzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGVtYWlsQWRkcmVzczogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdXNlcjogVXNlcjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvckZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBmaXJzdE5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGxhc3ROYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvckxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvckxpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxBZG1pbmlzdHJhdG9yPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPEFkbWluaXN0cmF0b3JTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8QWRtaW5pc3RyYXRvckZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvclBheW1lbnRJbnB1dCA9IHtcclxuICBwYXltZW50TWV0aG9kPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIG1ldGFkYXRhPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JSZWZ1bmRJbnB1dCA9IHtcclxuICBwYXltZW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcmVhc29uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvclNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBmaXJzdE5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGxhc3ROYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQWxsb2NhdGlvbiA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQWxsb2NhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XHJcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG9yZGVyTGluZTogT3JkZXJMaW5lO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIGFuIGF0dGVtcHRpbmcgdG8gcmVmdW5kIGFuIE9yZGVySXRlbSB3aGljaCBoYXMgYWxyZWFkeSBiZWVuIHJlZnVuZGVkICovXHJcbmV4cG9ydCB0eXBlIEFscmVhZHlSZWZ1bmRlZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdBbHJlYWR5UmVmdW5kZWRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcmVmdW5kSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NldCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdBc3NldCc7XHJcbiAgdGFnczogQXJyYXk8VGFnPjtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IEFzc2V0VHlwZTtcclxuICBmaWxlU2l6ZTogU2NhbGFyc1snSW50J107XHJcbiAgbWltZVR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHdpZHRoOiBTY2FsYXJzWydJbnQnXTtcclxuICBoZWlnaHQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHNvdXJjZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcHJldmlldzogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZm9jYWxQb2ludD86IE1heWJlPENvb3JkaW5hdGU+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NldEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICB0eXBlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBmaWxlU2l6ZT86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgbWltZVR5cGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHdpZHRoPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBoZWlnaHQ/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIHNvdXJjZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgcHJldmlldz86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NldExpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQXNzZXRMaXN0JztcclxuICBpdGVtczogQXJyYXk8QXNzZXQ+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzZXRMaXN0T3B0aW9ucyA9IHtcclxuICB0YWdzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICB0YWdzT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8QXNzZXRTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8QXNzZXRGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2V0U29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGZpbGVTaXplPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBtaW1lVHlwZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgd2lkdGg/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGhlaWdodD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc291cmNlPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwcmV2aWV3PzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIEFzc2V0VHlwZSB7XHJcbiAgSU1BR0UgPSAnSU1BR0UnLFxyXG4gIFZJREVPID0gJ1ZJREVPJyxcclxuICBCSU5BUlkgPSAnQklOQVJZJ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBBc3NpZ25Bc3NldHNUb0NoYW5uZWxJbnB1dCA9IHtcclxuICBhc3NldElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvZHVjdFZhcmlhbnRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxuICBwcmljZUZhY3Rvcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxJbnB1dCA9IHtcclxuICBwcm9kdWN0SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJpY2VGYWN0b3I/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb21vdGlvbnNUb0NoYW5uZWxJbnB1dCA9IHtcclxuICBwcm9tb3Rpb25JZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEF1dGhlbnRpY2F0aW9uSW5wdXQgPSB7XHJcbiAgbmF0aXZlPzogTWF5YmU8TmF0aXZlQXV0aElucHV0PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEF1dGhlbnRpY2F0aW9uTWV0aG9kID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0F1dGhlbnRpY2F0aW9uTWV0aG9kJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHN0cmF0ZWd5OiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEF1dGhlbnRpY2F0aW9uUmVzdWx0ID0gQ3VycmVudFVzZXIgfCBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIEJvb2xlYW5DdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIHJlYWRvbmx5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbnVsbGFibGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIEJvb2xlYW4gZmllbGQgKi9cclxuZXhwb3J0IHR5cGUgQm9vbGVhbk9wZXJhdG9ycyA9IHtcclxuICBlcT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgYW4gYXR0ZW1wdGluZyB0byBjYW5jZWwgbGluZXMgZnJvbSBhbiBPcmRlciB3aGljaCBpcyBzdGlsbCBhY3RpdmUgKi9cclxuZXhwb3J0IHR5cGUgQ2FuY2VsQWN0aXZlT3JkZXJFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgb3JkZXJTdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxPcmRlcklucHV0ID0ge1xyXG4gIC8qKiBUaGUgaWQgb2YgdGhlIG9yZGVyIHRvIGJlIGNhbmNlbGxlZCAqL1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgLyoqIE9wdGlvbmFsbHkgc3BlY2lmeSB3aGljaCBPcmRlckxpbmVzIHRvIGNhbmNlbC4gSWYgbm90IHByb3ZpZGVkLCBhbGwgT3JkZXJMaW5lcyB3aWxsIGJlIGNhbmNlbGxlZCAqL1xyXG4gIGxpbmVzPzogTWF5YmU8QXJyYXk8T3JkZXJMaW5lSW5wdXQ+PjtcclxuICByZWFzb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxPcmRlclJlc3VsdCA9IE9yZGVyIHwgRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvciB8IFF1YW50aXR5VG9vR3JlYXRFcnJvciB8IE11bHRpcGxlT3JkZXJFcnJvciB8IENhbmNlbEFjdGl2ZU9yZGVyRXJyb3IgfCBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsbGF0aW9uID0gTm9kZSAmIFN0b2NrTW92ZW1lbnQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDYW5jZWxsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlckxpbmU6IE9yZGVyTGluZTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENoYW5uZWwgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0b2tlbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVmYXVsdFRheFpvbmU/OiBNYXliZTxab25lPjtcclxuICBkZWZhdWx0U2hpcHBpbmdab25lPzogTWF5YmU8Wm9uZT47XHJcbiAgZGVmYXVsdExhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG4gIHByaWNlc0luY2x1ZGVUYXg6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybmVkIHdoZW4gdGhlIGRlZmF1bHQgTGFuZ3VhZ2VDb2RlIG9mIGEgQ2hhbm5lbCBpcyBubyBsb25nZXIgZm91bmQgaW4gdGhlIGBhdmFpbGFibGVMYW5ndWFnZXNgXHJcbiAqIG9mIHRoZSBHbG9iYWxTZXR0aW5nc1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxhbmd1YWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjaGFubmVsQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nO1xyXG4gIGlzUHJpdmF0ZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8TGFuZ3VhZ2VDb2RlPjtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBicmVhZGNydW1iczogQXJyYXk8Q29sbGVjdGlvbkJyZWFkY3J1bWI+O1xyXG4gIHBvc2l0aW9uOiBTY2FsYXJzWydJbnQnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZmVhdHVyZWRBc3NldD86IE1heWJlPEFzc2V0PjtcclxuICBhc3NldHM6IEFycmF5PEFzc2V0PjtcclxuICBwYXJlbnQ/OiBNYXliZTxDb2xsZWN0aW9uPjtcclxuICBjaGlsZHJlbj86IE1heWJlPEFycmF5PENvbGxlY3Rpb24+PjtcclxuICBmaWx0ZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb24+O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8Q29sbGVjdGlvblRyYW5zbGF0aW9uPjtcclxuICBwcm9kdWN0VmFyaWFudHM6IFByb2R1Y3RWYXJpYW50TGlzdDtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25Qcm9kdWN0VmFyaWFudHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25CcmVhZGNydW1iID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbkJyZWFkY3J1bWInO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNsdWc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpc1ByaXZhdGU/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBsYW5ndWFnZUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHNsdWc/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHBvc2l0aW9uPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uTGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PENvbGxlY3Rpb24+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkxpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8Q29sbGVjdGlvblNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxDb2xsZWN0aW9uRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG4vKipcclxuICogV2hpY2ggQ29sbGVjdGlvbnMgYXJlIHByZXNlbnQgaW4gdGhlIHByb2R1Y3RzIHJldHVybmVkXHJcbiAqIGJ5IHRoZSBzZWFyY2gsIGFuZCBpbiB3aGF0IHF1YW50aXR5LlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblJlc3VsdCA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25SZXN1bHQnO1xyXG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb247XHJcbiAgY291bnQ6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzbHVnPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwb3NpdGlvbj86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblRyYW5zbGF0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvblRyYW5zbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNsdWc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ0FyZyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbmZpZ0FyZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnQXJnRGVmaW5pdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbmZpZ0FyZ0RlZmluaXRpb24nO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICByZXF1aXJlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbiAgbGFiZWw/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlnQXJnSW5wdXQgPSB7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgLyoqIEEgSlNPTiBzdHJpbmdpZmllZCByZXByZXNlbnRhdGlvbiBvZiB0aGUgYWN0dWFsIHZhbHVlICovXHJcbiAgdmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhYmxlT3BlcmF0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJztcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhcmdzOiBBcnJheTxDb25maWdBcmc+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFyZ3M6IEFycmF5PENvbmZpZ0FyZ0RlZmluaXRpb24+O1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0ID0ge1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGFyZ3VtZW50czogQXJyYXk8Q29uZmlnQXJnSW5wdXQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnO1xyXG4gIHg6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbiAgeTogU2NhbGFyc1snRmxvYXQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvb3JkaW5hdGVJbnB1dCA9IHtcclxuICB4OiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIHk6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0NvdW50cnknO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8Q291bnRyeVRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ291bnRyeUZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBsYW5ndWFnZUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0NvdW50cnlMaXN0JztcclxuICBpdGVtczogQXJyYXk8Q291bnRyeT47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5TGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxDb3VudHJ5U29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPENvdW50cnlGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5VHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdDb3VudHJ5VHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDb3VudHJ5VHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFkZHJlc3NJbnB1dCA9IHtcclxuICBmdWxsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHN0cmVldExpbmUxOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdHJlZXRMaW5lMj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY291bnRyeUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGRlZmF1bHRTaGlwcGluZ0FkZHJlc3M/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGRlZmF1bHRCaWxsaW5nQWRkcmVzcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFkbWluaXN0cmF0b3JJbnB1dCA9IHtcclxuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBhc3N3b3JkOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICByb2xlSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRJbnB1dCA9IHtcclxuICBmaWxlOiBTY2FsYXJzWydVcGxvYWQnXTtcclxuICB0YWdzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRSZXN1bHQgPSBBc3NldCB8IE1pbWVUeXBlRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDaGFubmVsSW5wdXQgPSB7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdG9rZW46IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlZmF1bHRMYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBwcmljZXNJbmNsdWRlVGF4OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGU7XHJcbiAgZGVmYXVsdFRheFpvbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBkZWZhdWx0U2hpcHBpbmdab25lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNoYW5uZWxSZXN1bHQgPSBDaGFubmVsIHwgTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb25JbnB1dCA9IHtcclxuICBpc1ByaXZhdGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGZlYXR1cmVkQXNzZXRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHBhcmVudElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgZmlsdGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8Q3JlYXRlQ29sbGVjdGlvblRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb2xsZWN0aW9uVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvdW50cnlJbnB1dCA9IHtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PENvdW50cnlUcmFuc2xhdGlvbklucHV0PjtcclxuICBlbmFibGVkOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyR3JvdXBJbnB1dCA9IHtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjdXN0b21lcklkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJJbnB1dCA9IHtcclxuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lclJlc3VsdCA9IEN1c3RvbWVyIHwgRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0SW5wdXQgPSB7XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgaXNQcml2YXRlOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxGYWNldFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIHZhbHVlcz86IE1heWJlPEFycmF5PENyZWF0ZUZhY2V0VmFsdWVXaXRoRmFjZXRJbnB1dD4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldFZhbHVlSW5wdXQgPSB7XHJcbiAgZmFjZXRJZDogU2NhbGFyc1snSUQnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PEZhY2V0VmFsdWVUcmFuc2xhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRWYWx1ZVdpdGhGYWNldElucHV0ID0ge1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8RmFjZXRWYWx1ZVRyYW5zbGF0aW9uSW5wdXQ+O1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIGFuIGVycm9yIGlzIHRocm93biBpbiBhIEZ1bGZpbGxtZW50SGFuZGxlcidzIGNyZWF0ZUZ1bGZpbGxtZW50IG1ldGhvZCAqL1xyXG5leHBvcnQgdHlwZSBDcmVhdGVGdWxmaWxsbWVudEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDcmVhdGVGdWxmaWxsbWVudEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmdWxmaWxsbWVudEhhbmRsZXJFcnJvcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVHcm91cE9wdGlvbklucHV0ID0ge1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb25JbnB1dD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQYXltZW50TWV0aG9kSW5wdXQgPSB7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGNoZWNrZXI/OiBNYXliZTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XHJcbiAgaGFuZGxlcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RJbnB1dCA9IHtcclxuICBmZWF0dXJlZEFzc2V0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBhc3NldElkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBmYWNldFZhbHVlSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dCA9IHtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIG9wdGlvbnM6IEFycmF5PENyZWF0ZUdyb3VwT3B0aW9uSW5wdXQ+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0T3B0aW9uSW5wdXQgPSB7XHJcbiAgcHJvZHVjdE9wdGlvbkdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdFZhcmlhbnRJbnB1dCA9IHtcclxuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgc2t1OiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwcmljZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICB0YXhDYXRlZ29yeUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgb3B0aW9uSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIGZlYXR1cmVkQXNzZXRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHN0b2NrT25IYW5kPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIG91dE9mU3RvY2tUaHJlc2hvbGQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgdHJhY2tJbnZlbnRvcnk/OiBNYXliZTxHbG9iYWxGbGFnPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdFZhcmlhbnRPcHRpb25JbnB1dCA9IHtcclxuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uSW5wdXQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvbW90aW9uSW5wdXQgPSB7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHN0YXJ0c0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgZW5kc0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgY291cG9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgY29uZGl0aW9uczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG4gIGFjdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvbW90aW9uUmVzdWx0ID0gUHJvbW90aW9uIHwgTWlzc2luZ0NvbmRpdGlvbnNFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVJvbGVJbnB1dCA9IHtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGVybWlzc2lvbnM6IEFycmF5PFBlcm1pc3Npb24+O1xyXG4gIGNoYW5uZWxJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVTaGlwcGluZ01ldGhvZElucHV0ID0ge1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY2hlY2tlcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XHJcbiAgY2FsY3VsYXRvcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uSW5wdXQ+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYWdJbnB1dCA9IHtcclxuICB2YWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhDYXRlZ29yeUlucHV0ID0ge1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzRGVmYXVsdD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVRheFJhdGVJbnB1dCA9IHtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBlbmFibGVkOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgdmFsdWU6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbiAgY2F0ZWdvcnlJZDogU2NhbGFyc1snSUQnXTtcclxuICB6b25lSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJHcm91cElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVpvbmVJbnB1dCA9IHtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBtZW1iZXJJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogSVNPIDQyMTcgY3VycmVuY3kgY29kZVxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbW1vblxyXG4gKi9cclxuZXhwb3J0IGVudW0gQ3VycmVuY3lDb2RlIHtcclxuICAvKiogVW5pdGVkIEFyYWIgRW1pcmF0ZXMgZGlyaGFtICovXHJcbiAgQUVEID0gJ0FFRCcsXHJcbiAgLyoqIEFmZ2hhbiBhZmdoYW5pICovXHJcbiAgQUZOID0gJ0FGTicsXHJcbiAgLyoqIEFsYmFuaWFuIGxlayAqL1xyXG4gIEFMTCA9ICdBTEwnLFxyXG4gIC8qKiBBcm1lbmlhbiBkcmFtICovXHJcbiAgQU1EID0gJ0FNRCcsXHJcbiAgLyoqIE5ldGhlcmxhbmRzIEFudGlsbGVhbiBndWlsZGVyICovXHJcbiAgQU5HID0gJ0FORycsXHJcbiAgLyoqIEFuZ29sYW4ga3dhbnphICovXHJcbiAgQU9BID0gJ0FPQScsXHJcbiAgLyoqIEFyZ2VudGluZSBwZXNvICovXHJcbiAgQVJTID0gJ0FSUycsXHJcbiAgLyoqIEF1c3RyYWxpYW4gZG9sbGFyICovXHJcbiAgQVVEID0gJ0FVRCcsXHJcbiAgLyoqIEFydWJhbiBmbG9yaW4gKi9cclxuICBBV0cgPSAnQVdHJyxcclxuICAvKiogQXplcmJhaWphbmkgbWFuYXQgKi9cclxuICBBWk4gPSAnQVpOJyxcclxuICAvKiogQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSBjb252ZXJ0aWJsZSBtYXJrICovXHJcbiAgQkFNID0gJ0JBTScsXHJcbiAgLyoqIEJhcmJhZG9zIGRvbGxhciAqL1xyXG4gIEJCRCA9ICdCQkQnLFxyXG4gIC8qKiBCYW5nbGFkZXNoaSB0YWthICovXHJcbiAgQkRUID0gJ0JEVCcsXHJcbiAgLyoqIEJ1bGdhcmlhbiBsZXYgKi9cclxuICBCR04gPSAnQkdOJyxcclxuICAvKiogQmFocmFpbmkgZGluYXIgKi9cclxuICBCSEQgPSAnQkhEJyxcclxuICAvKiogQnVydW5kaWFuIGZyYW5jICovXHJcbiAgQklGID0gJ0JJRicsXHJcbiAgLyoqIEJlcm11ZGlhbiBkb2xsYXIgKi9cclxuICBCTUQgPSAnQk1EJyxcclxuICAvKiogQnJ1bmVpIGRvbGxhciAqL1xyXG4gIEJORCA9ICdCTkQnLFxyXG4gIC8qKiBCb2xpdmlhbm8gKi9cclxuICBCT0IgPSAnQk9CJyxcclxuICAvKiogQnJhemlsaWFuIHJlYWwgKi9cclxuICBCUkwgPSAnQlJMJyxcclxuICAvKiogQmFoYW1pYW4gZG9sbGFyICovXHJcbiAgQlNEID0gJ0JTRCcsXHJcbiAgLyoqIEJodXRhbmVzZSBuZ3VsdHJ1bSAqL1xyXG4gIEJUTiA9ICdCVE4nLFxyXG4gIC8qKiBCb3Rzd2FuYSBwdWxhICovXHJcbiAgQldQID0gJ0JXUCcsXHJcbiAgLyoqIEJlbGFydXNpYW4gcnVibGUgKi9cclxuICBCWU4gPSAnQllOJyxcclxuICAvKiogQmVsaXplIGRvbGxhciAqL1xyXG4gIEJaRCA9ICdCWkQnLFxyXG4gIC8qKiBDYW5hZGlhbiBkb2xsYXIgKi9cclxuICBDQUQgPSAnQ0FEJyxcclxuICAvKiogQ29uZ29sZXNlIGZyYW5jICovXHJcbiAgQ0RGID0gJ0NERicsXHJcbiAgLyoqIFN3aXNzIGZyYW5jICovXHJcbiAgQ0hGID0gJ0NIRicsXHJcbiAgLyoqIENoaWxlYW4gcGVzbyAqL1xyXG4gIENMUCA9ICdDTFAnLFxyXG4gIC8qKiBSZW5taW5iaSAoQ2hpbmVzZSkgeXVhbiAqL1xyXG4gIENOWSA9ICdDTlknLFxyXG4gIC8qKiBDb2xvbWJpYW4gcGVzbyAqL1xyXG4gIENPUCA9ICdDT1AnLFxyXG4gIC8qKiBDb3N0YSBSaWNhbiBjb2xvbiAqL1xyXG4gIENSQyA9ICdDUkMnLFxyXG4gIC8qKiBDdWJhbiBjb252ZXJ0aWJsZSBwZXNvICovXHJcbiAgQ1VDID0gJ0NVQycsXHJcbiAgLyoqIEN1YmFuIHBlc28gKi9cclxuICBDVVAgPSAnQ1VQJyxcclxuICAvKiogQ2FwZSBWZXJkZSBlc2N1ZG8gKi9cclxuICBDVkUgPSAnQ1ZFJyxcclxuICAvKiogQ3plY2gga29ydW5hICovXHJcbiAgQ1pLID0gJ0NaSycsXHJcbiAgLyoqIERqaWJvdXRpYW4gZnJhbmMgKi9cclxuICBESkYgPSAnREpGJyxcclxuICAvKiogRGFuaXNoIGtyb25lICovXHJcbiAgREtLID0gJ0RLSycsXHJcbiAgLyoqIERvbWluaWNhbiBwZXNvICovXHJcbiAgRE9QID0gJ0RPUCcsXHJcbiAgLyoqIEFsZ2VyaWFuIGRpbmFyICovXHJcbiAgRFpEID0gJ0RaRCcsXHJcbiAgLyoqIEVneXB0aWFuIHBvdW5kICovXHJcbiAgRUdQID0gJ0VHUCcsXHJcbiAgLyoqIEVyaXRyZWFuIG5ha2ZhICovXHJcbiAgRVJOID0gJ0VSTicsXHJcbiAgLyoqIEV0aGlvcGlhbiBiaXJyICovXHJcbiAgRVRCID0gJ0VUQicsXHJcbiAgLyoqIEV1cm8gKi9cclxuICBFVVIgPSAnRVVSJyxcclxuICAvKiogRmlqaSBkb2xsYXIgKi9cclxuICBGSkQgPSAnRkpEJyxcclxuICAvKiogRmFsa2xhbmQgSXNsYW5kcyBwb3VuZCAqL1xyXG4gIEZLUCA9ICdGS1AnLFxyXG4gIC8qKiBQb3VuZCBzdGVybGluZyAqL1xyXG4gIEdCUCA9ICdHQlAnLFxyXG4gIC8qKiBHZW9yZ2lhbiBsYXJpICovXHJcbiAgR0VMID0gJ0dFTCcsXHJcbiAgLyoqIEdoYW5haWFuIGNlZGkgKi9cclxuICBHSFMgPSAnR0hTJyxcclxuICAvKiogR2licmFsdGFyIHBvdW5kICovXHJcbiAgR0lQID0gJ0dJUCcsXHJcbiAgLyoqIEdhbWJpYW4gZGFsYXNpICovXHJcbiAgR01EID0gJ0dNRCcsXHJcbiAgLyoqIEd1aW5lYW4gZnJhbmMgKi9cclxuICBHTkYgPSAnR05GJyxcclxuICAvKiogR3VhdGVtYWxhbiBxdWV0emFsICovXHJcbiAgR1RRID0gJ0dUUScsXHJcbiAgLyoqIEd1eWFuZXNlIGRvbGxhciAqL1xyXG4gIEdZRCA9ICdHWUQnLFxyXG4gIC8qKiBIb25nIEtvbmcgZG9sbGFyICovXHJcbiAgSEtEID0gJ0hLRCcsXHJcbiAgLyoqIEhvbmR1cmFuIGxlbXBpcmEgKi9cclxuICBITkwgPSAnSE5MJyxcclxuICAvKiogQ3JvYXRpYW4ga3VuYSAqL1xyXG4gIEhSSyA9ICdIUksnLFxyXG4gIC8qKiBIYWl0aWFuIGdvdXJkZSAqL1xyXG4gIEhURyA9ICdIVEcnLFxyXG4gIC8qKiBIdW5nYXJpYW4gZm9yaW50ICovXHJcbiAgSFVGID0gJ0hVRicsXHJcbiAgLyoqIEluZG9uZXNpYW4gcnVwaWFoICovXHJcbiAgSURSID0gJ0lEUicsXHJcbiAgLyoqIElzcmFlbGkgbmV3IHNoZWtlbCAqL1xyXG4gIElMUyA9ICdJTFMnLFxyXG4gIC8qKiBJbmRpYW4gcnVwZWUgKi9cclxuICBJTlIgPSAnSU5SJyxcclxuICAvKiogSXJhcWkgZGluYXIgKi9cclxuICBJUUQgPSAnSVFEJyxcclxuICAvKiogSXJhbmlhbiByaWFsICovXHJcbiAgSVJSID0gJ0lSUicsXHJcbiAgLyoqIEljZWxhbmRpYyBrcsOzbmEgKi9cclxuICBJU0sgPSAnSVNLJyxcclxuICAvKiogSmFtYWljYW4gZG9sbGFyICovXHJcbiAgSk1EID0gJ0pNRCcsXHJcbiAgLyoqIEpvcmRhbmlhbiBkaW5hciAqL1xyXG4gIEpPRCA9ICdKT0QnLFxyXG4gIC8qKiBKYXBhbmVzZSB5ZW4gKi9cclxuICBKUFkgPSAnSlBZJyxcclxuICAvKiogS2VueWFuIHNoaWxsaW5nICovXHJcbiAgS0VTID0gJ0tFUycsXHJcbiAgLyoqIEt5cmd5enN0YW5pIHNvbSAqL1xyXG4gIEtHUyA9ICdLR1MnLFxyXG4gIC8qKiBDYW1ib2RpYW4gcmllbCAqL1xyXG4gIEtIUiA9ICdLSFInLFxyXG4gIC8qKiBDb21vcm8gZnJhbmMgKi9cclxuICBLTUYgPSAnS01GJyxcclxuICAvKiogTm9ydGggS29yZWFuIHdvbiAqL1xyXG4gIEtQVyA9ICdLUFcnLFxyXG4gIC8qKiBTb3V0aCBLb3JlYW4gd29uICovXHJcbiAgS1JXID0gJ0tSVycsXHJcbiAgLyoqIEt1d2FpdGkgZGluYXIgKi9cclxuICBLV0QgPSAnS1dEJyxcclxuICAvKiogQ2F5bWFuIElzbGFuZHMgZG9sbGFyICovXHJcbiAgS1lEID0gJ0tZRCcsXHJcbiAgLyoqIEthemFraHN0YW5pIHRlbmdlICovXHJcbiAgS1pUID0gJ0taVCcsXHJcbiAgLyoqIExhbyBraXAgKi9cclxuICBMQUsgPSAnTEFLJyxcclxuICAvKiogTGViYW5lc2UgcG91bmQgKi9cclxuICBMQlAgPSAnTEJQJyxcclxuICAvKiogU3JpIExhbmthbiBydXBlZSAqL1xyXG4gIExLUiA9ICdMS1InLFxyXG4gIC8qKiBMaWJlcmlhbiBkb2xsYXIgKi9cclxuICBMUkQgPSAnTFJEJyxcclxuICAvKiogTGVzb3RobyBsb3RpICovXHJcbiAgTFNMID0gJ0xTTCcsXHJcbiAgLyoqIExpYnlhbiBkaW5hciAqL1xyXG4gIExZRCA9ICdMWUQnLFxyXG4gIC8qKiBNb3JvY2NhbiBkaXJoYW0gKi9cclxuICBNQUQgPSAnTUFEJyxcclxuICAvKiogTW9sZG92YW4gbGV1ICovXHJcbiAgTURMID0gJ01ETCcsXHJcbiAgLyoqIE1hbGFnYXN5IGFyaWFyeSAqL1xyXG4gIE1HQSA9ICdNR0EnLFxyXG4gIC8qKiBNYWNlZG9uaWFuIGRlbmFyICovXHJcbiAgTUtEID0gJ01LRCcsXHJcbiAgLyoqIE15YW5tYXIga3lhdCAqL1xyXG4gIE1NSyA9ICdNTUsnLFxyXG4gIC8qKiBNb25nb2xpYW4gdMO2Z3LDtmcgKi9cclxuICBNTlQgPSAnTU5UJyxcclxuICAvKiogTWFjYW5lc2UgcGF0YWNhICovXHJcbiAgTU9QID0gJ01PUCcsXHJcbiAgLyoqIE1hdXJpdGFuaWFuIG91Z3VpeWEgKi9cclxuICBNUlUgPSAnTVJVJyxcclxuICAvKiogTWF1cml0aWFuIHJ1cGVlICovXHJcbiAgTVVSID0gJ01VUicsXHJcbiAgLyoqIE1hbGRpdmlhbiBydWZpeWFhICovXHJcbiAgTVZSID0gJ01WUicsXHJcbiAgLyoqIE1hbGF3aWFuIGt3YWNoYSAqL1xyXG4gIE1XSyA9ICdNV0snLFxyXG4gIC8qKiBNZXhpY2FuIHBlc28gKi9cclxuICBNWE4gPSAnTVhOJyxcclxuICAvKiogTWFsYXlzaWFuIHJpbmdnaXQgKi9cclxuICBNWVIgPSAnTVlSJyxcclxuICAvKiogTW96YW1iaWNhbiBtZXRpY2FsICovXHJcbiAgTVpOID0gJ01aTicsXHJcbiAgLyoqIE5hbWliaWFuIGRvbGxhciAqL1xyXG4gIE5BRCA9ICdOQUQnLFxyXG4gIC8qKiBOaWdlcmlhbiBuYWlyYSAqL1xyXG4gIE5HTiA9ICdOR04nLFxyXG4gIC8qKiBOaWNhcmFndWFuIGPDs3Jkb2JhICovXHJcbiAgTklPID0gJ05JTycsXHJcbiAgLyoqIE5vcndlZ2lhbiBrcm9uZSAqL1xyXG4gIE5PSyA9ICdOT0snLFxyXG4gIC8qKiBOZXBhbGVzZSBydXBlZSAqL1xyXG4gIE5QUiA9ICdOUFInLFxyXG4gIC8qKiBOZXcgWmVhbGFuZCBkb2xsYXIgKi9cclxuICBOWkQgPSAnTlpEJyxcclxuICAvKiogT21hbmkgcmlhbCAqL1xyXG4gIE9NUiA9ICdPTVInLFxyXG4gIC8qKiBQYW5hbWFuaWFuIGJhbGJvYSAqL1xyXG4gIFBBQiA9ICdQQUInLFxyXG4gIC8qKiBQZXJ1dmlhbiBzb2wgKi9cclxuICBQRU4gPSAnUEVOJyxcclxuICAvKiogUGFwdWEgTmV3IEd1aW5lYW4ga2luYSAqL1xyXG4gIFBHSyA9ICdQR0snLFxyXG4gIC8qKiBQaGlsaXBwaW5lIHBlc28gKi9cclxuICBQSFAgPSAnUEhQJyxcclxuICAvKiogUGFraXN0YW5pIHJ1cGVlICovXHJcbiAgUEtSID0gJ1BLUicsXHJcbiAgLyoqIFBvbGlzaCB6xYJvdHkgKi9cclxuICBQTE4gPSAnUExOJyxcclxuICAvKiogUGFyYWd1YXlhbiBndWFyYW7DrSAqL1xyXG4gIFBZRyA9ICdQWUcnLFxyXG4gIC8qKiBRYXRhcmkgcml5YWwgKi9cclxuICBRQVIgPSAnUUFSJyxcclxuICAvKiogUm9tYW5pYW4gbGV1ICovXHJcbiAgUk9OID0gJ1JPTicsXHJcbiAgLyoqIFNlcmJpYW4gZGluYXIgKi9cclxuICBSU0QgPSAnUlNEJyxcclxuICAvKiogUnVzc2lhbiBydWJsZSAqL1xyXG4gIFJVQiA9ICdSVUInLFxyXG4gIC8qKiBSd2FuZGFuIGZyYW5jICovXHJcbiAgUldGID0gJ1JXRicsXHJcbiAgLyoqIFNhdWRpIHJpeWFsICovXHJcbiAgU0FSID0gJ1NBUicsXHJcbiAgLyoqIFNvbG9tb24gSXNsYW5kcyBkb2xsYXIgKi9cclxuICBTQkQgPSAnU0JEJyxcclxuICAvKiogU2V5Y2hlbGxlcyBydXBlZSAqL1xyXG4gIFNDUiA9ICdTQ1InLFxyXG4gIC8qKiBTdWRhbmVzZSBwb3VuZCAqL1xyXG4gIFNERyA9ICdTREcnLFxyXG4gIC8qKiBTd2VkaXNoIGtyb25hL2tyb25vciAqL1xyXG4gIFNFSyA9ICdTRUsnLFxyXG4gIC8qKiBTaW5nYXBvcmUgZG9sbGFyICovXHJcbiAgU0dEID0gJ1NHRCcsXHJcbiAgLyoqIFNhaW50IEhlbGVuYSBwb3VuZCAqL1xyXG4gIFNIUCA9ICdTSFAnLFxyXG4gIC8qKiBTaWVycmEgTGVvbmVhbiBsZW9uZSAqL1xyXG4gIFNMTCA9ICdTTEwnLFxyXG4gIC8qKiBTb21hbGkgc2hpbGxpbmcgKi9cclxuICBTT1MgPSAnU09TJyxcclxuICAvKiogU3VyaW5hbWVzZSBkb2xsYXIgKi9cclxuICBTUkQgPSAnU1JEJyxcclxuICAvKiogU291dGggU3VkYW5lc2UgcG91bmQgKi9cclxuICBTU1AgPSAnU1NQJyxcclxuICAvKiogU8OjbyBUb23DqSBhbmQgUHLDrW5jaXBlIGRvYnJhICovXHJcbiAgU1ROID0gJ1NUTicsXHJcbiAgLyoqIFNhbHZhZG9yYW4gY29sw7NuICovXHJcbiAgU1ZDID0gJ1NWQycsXHJcbiAgLyoqIFN5cmlhbiBwb3VuZCAqL1xyXG4gIFNZUCA9ICdTWVAnLFxyXG4gIC8qKiBTd2F6aSBsaWxhbmdlbmkgKi9cclxuICBTWkwgPSAnU1pMJyxcclxuICAvKiogVGhhaSBiYWh0ICovXHJcbiAgVEhCID0gJ1RIQicsXHJcbiAgLyoqIFRhamlraXN0YW5pIHNvbW9uaSAqL1xyXG4gIFRKUyA9ICdUSlMnLFxyXG4gIC8qKiBUdXJrbWVuaXN0YW4gbWFuYXQgKi9cclxuICBUTVQgPSAnVE1UJyxcclxuICAvKiogVHVuaXNpYW4gZGluYXIgKi9cclxuICBUTkQgPSAnVE5EJyxcclxuICAvKiogVG9uZ2FuIHBhyrthbmdhICovXHJcbiAgVE9QID0gJ1RPUCcsXHJcbiAgLyoqIFR1cmtpc2ggbGlyYSAqL1xyXG4gIFRSWSA9ICdUUlknLFxyXG4gIC8qKiBUcmluaWRhZCBhbmQgVG9iYWdvIGRvbGxhciAqL1xyXG4gIFRURCA9ICdUVEQnLFxyXG4gIC8qKiBOZXcgVGFpd2FuIGRvbGxhciAqL1xyXG4gIFRXRCA9ICdUV0QnLFxyXG4gIC8qKiBUYW56YW5pYW4gc2hpbGxpbmcgKi9cclxuICBUWlMgPSAnVFpTJyxcclxuICAvKiogVWtyYWluaWFuIGhyeXZuaWEgKi9cclxuICBVQUggPSAnVUFIJyxcclxuICAvKiogVWdhbmRhbiBzaGlsbGluZyAqL1xyXG4gIFVHWCA9ICdVR1gnLFxyXG4gIC8qKiBVbml0ZWQgU3RhdGVzIGRvbGxhciAqL1xyXG4gIFVTRCA9ICdVU0QnLFxyXG4gIC8qKiBVcnVndWF5YW4gcGVzbyAqL1xyXG4gIFVZVSA9ICdVWVUnLFxyXG4gIC8qKiBVemJla2lzdGFuIHNvbSAqL1xyXG4gIFVaUyA9ICdVWlMnLFxyXG4gIC8qKiBWZW5lenVlbGFuIGJvbMOtdmFyIHNvYmVyYW5vICovXHJcbiAgVkVTID0gJ1ZFUycsXHJcbiAgLyoqIFZpZXRuYW1lc2UgxJHhu5NuZyAqL1xyXG4gIFZORCA9ICdWTkQnLFxyXG4gIC8qKiBWYW51YXR1IHZhdHUgKi9cclxuICBWVVYgPSAnVlVWJyxcclxuICAvKiogU2Ftb2FuIHRhbGEgKi9cclxuICBXU1QgPSAnV1NUJyxcclxuICAvKiogQ0ZBIGZyYW5jIEJFQUMgKi9cclxuICBYQUYgPSAnWEFGJyxcclxuICAvKiogRWFzdCBDYXJpYmJlYW4gZG9sbGFyICovXHJcbiAgWENEID0gJ1hDRCcsXHJcbiAgLyoqIENGQSBmcmFuYyBCQ0VBTyAqL1xyXG4gIFhPRiA9ICdYT0YnLFxyXG4gIC8qKiBDRlAgZnJhbmMgKGZyYW5jIFBhY2lmaXF1ZSkgKi9cclxuICBYUEYgPSAnWFBGJyxcclxuICAvKiogWWVtZW5pIHJpYWwgKi9cclxuICBZRVIgPSAnWUVSJyxcclxuICAvKiogU291dGggQWZyaWNhbiByYW5kICovXHJcbiAgWkFSID0gJ1pBUicsXHJcbiAgLyoqIFphbWJpYW4ga3dhY2hhICovXHJcbiAgWk1XID0gJ1pNVycsXHJcbiAgLyoqIFppbWJhYndlYW4gZG9sbGFyICovXHJcbiAgWldMID0gJ1pXTCdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ3VycmVudFVzZXIgPSB7XHJcbiAgX190eXBlbmFtZT86ICdDdXJyZW50VXNlcic7XHJcbiAgY2hhbm5lbHM6IEFycmF5PEN1cnJlbnRVc2VyQ2hhbm5lbD47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaWRlbnRpZmllcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXJyZW50VXNlckNoYW5uZWwgPSB7XHJcbiAgX190eXBlbmFtZT86ICdDdXJyZW50VXNlckNoYW5uZWwnO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcclxuICB0b2tlbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXJyZW50VXNlckNoYW5uZWxJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICB0b2tlbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGVybWlzc2lvbnM6IEFycmF5PFBlcm1pc3Npb24+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGQgPSB7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICB1aT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21GaWVsZENvbmZpZyA9IFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnIHwgTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcgfCBJbnRDdXN0b21GaWVsZENvbmZpZyB8IEZsb2F0Q3VzdG9tRmllbGRDb25maWcgfCBCb29sZWFuQ3VzdG9tRmllbGRDb25maWcgfCBEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnIHwgUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyB8IFRleHRDdXN0b21GaWVsZENvbmZpZztcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkcyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0N1c3RvbUZpZWxkcyc7XHJcbiAgQWRkcmVzczogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIEFkbWluaXN0cmF0b3I6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBBc3NldDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIENoYW5uZWw6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBDb2xsZWN0aW9uOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgQ291bnRyeTogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIEN1c3RvbWVyOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgQ3VzdG9tZXJHcm91cDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIEZhY2V0OiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgRmFjZXRWYWx1ZTogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIEZ1bGZpbGxtZW50OiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgR2xvYmFsU2V0dGluZ3M6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBPcmRlcjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIE9yZGVyTGluZTogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFBheW1lbnRNZXRob2Q6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBQcm9kdWN0OiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgUHJvZHVjdE9wdGlvbjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFByb2R1Y3RPcHRpb25Hcm91cDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFByb2R1Y3RWYXJpYW50OiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgUHJvbW90aW9uOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgU2hpcHBpbmdNZXRob2Q6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBUYXhDYXRlZ29yeTogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG4gIFRheFJhdGU6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcclxuICBVc2VyOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XHJcbiAgWm9uZTogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInO1xyXG4gIGdyb3VwczogQXJyYXk8Q3VzdG9tZXJHcm91cD47XHJcbiAgaGlzdG9yeTogSGlzdG9yeUVudHJ5TGlzdDtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGZpcnN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGFzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVtYWlsQWRkcmVzczogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYWRkcmVzc2VzPzogTWF5YmU8QXJyYXk8QWRkcmVzcz4+O1xyXG4gIG9yZGVyczogT3JkZXJMaXN0O1xyXG4gIHVzZXI/OiBNYXliZTxVc2VyPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVySGlzdG9yeUFyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lck9yZGVyc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPE9yZGVyTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdGl0bGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGZpcnN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbGFzdE5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHBob25lTnVtYmVyPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGN1c3RvbWVyczogQ3VzdG9tZXJMaXN0O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cEN1c3RvbWVyc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXBMaXN0JztcclxuICBpdGVtczogQXJyYXk8Q3VzdG9tZXJHcm91cD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckdyb3VwTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxDdXN0b21lckdyb3VwU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEN1c3RvbWVyR3JvdXBGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJMaXN0JztcclxuICBpdGVtczogQXJyYXk8Q3VzdG9tZXI+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPEN1c3RvbWVyU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEN1c3RvbWVyRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lclNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB0aXRsZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZmlyc3ROYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBsYXN0TmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBEYXRlVGltZSBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBEYXRlT3BlcmF0b3JzID0ge1xyXG4gIGVxPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgYmVmb3JlPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XHJcbiAgYWZ0ZXI/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICBiZXR3ZWVuPzogTWF5YmU8RGF0ZVJhbmdlPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGVSYW5nZSA9IHtcclxuICBzdGFydDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBlbmQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbn07XHJcblxyXG5cclxuLyoqXHJcbiAqIEV4cGVjdHMgdGhlIHNhbWUgdmFsaWRhdGlvbiBmb3JtYXRzIGFzIHRoZSBgPGlucHV0IHR5cGU9XCJkYXRldGltZS1sb2NhbFwiPmAgSFRNTCBlbGVtZW50LlxyXG4gKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2lucHV0L2RhdGV0aW1lLWxvY2FsI0FkZGl0aW9uYWxfYXR0cmlidXRlc1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBtaW4/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbWF4PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHN0ZXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRJbnB1dCA9IHtcclxuICBhc3NldElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBkZWxldGVGcm9tQWxsQ2hhbm5lbHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRzSW5wdXQgPSB7XHJcbiAgYXNzZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBkZWxldGVGcm9tQWxsQ2hhbm5lbHM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRpb25SZXNwb25zZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnO1xyXG4gIHJlc3VsdDogRGVsZXRpb25SZXN1bHQ7XHJcbiAgbWVzc2FnZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIERlbGV0aW9uUmVzdWx0IHtcclxuICAvKiogVGhlIGVudGl0eSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgKi9cclxuICBERUxFVEVEID0gJ0RFTEVURUQnLFxyXG4gIC8qKiBEZWxldGlvbiBkaWQgbm90IHRha2UgcGxhY2UsIHJlYXNvbiBnaXZlbiBpbiBtZXNzYWdlICovXHJcbiAgTk9UX0RFTEVURUQgPSAnTk9UX0RFTEVURUQnXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIERpc2NvdW50ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnRGlzY291bnQnO1xyXG4gIGFkanVzdG1lbnRTb3VyY2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IEFkanVzdG1lbnRUeXBlO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhbW91bnQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGFtb3VudFdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuLyoqIFJldHVyZWQgd2hlbiBhdHRlbXRpbmcgdG8gY3JlYXRlIGEgQ3VzdG9tZXIgd2l0aCBhbiBlbWFpbCBhZGRyZXNzIGFscmVhZHkgcmVnaXN0ZXJlZCB0byBhbiBleGlzdGluZyBVc2VyLiAqL1xyXG5leHBvcnQgdHlwZSBFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBubyBPcmRlckxpbmVzIGhhdmUgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSBvcGVyYXRpb24gKi9cclxuZXhwb3J0IHR5cGUgRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBFcnJvckNvZGUge1xyXG4gIFVOS05PV05fRVJST1IgPSAnVU5LTk9XTl9FUlJPUicsXHJcbiAgTUlNRV9UWVBFX0VSUk9SID0gJ01JTUVfVFlQRV9FUlJPUicsXHJcbiAgTEFOR1VBR0VfTk9UX0FWQUlMQUJMRV9FUlJPUiA9ICdMQU5HVUFHRV9OT1RfQVZBSUxBQkxFX0VSUk9SJyxcclxuICBDSEFOTkVMX0RFRkFVTFRfTEFOR1VBR0VfRVJST1IgPSAnQ0hBTk5FTF9ERUZBVUxUX0xBTkdVQUdFX0VSUk9SJyxcclxuICBTRVRUTEVfUEFZTUVOVF9FUlJPUiA9ICdTRVRUTEVfUEFZTUVOVF9FUlJPUicsXHJcbiAgRU1QVFlfT1JERVJfTElORV9TRUxFQ1RJT05fRVJST1IgPSAnRU1QVFlfT1JERVJfTElORV9TRUxFQ1RJT05fRVJST1InLFxyXG4gIElURU1TX0FMUkVBRFlfRlVMRklMTEVEX0VSUk9SID0gJ0lURU1TX0FMUkVBRFlfRlVMRklMTEVEX0VSUk9SJyxcclxuICBJTlZBTElEX0ZVTEZJTExNRU5UX0hBTkRMRVJfRVJST1IgPSAnSU5WQUxJRF9GVUxGSUxMTUVOVF9IQU5ETEVSX0VSUk9SJyxcclxuICBDUkVBVEVfRlVMRklMTE1FTlRfRVJST1IgPSAnQ1JFQVRFX0ZVTEZJTExNRU5UX0VSUk9SJyxcclxuICBJTlNVRkZJQ0lFTlRfU1RPQ0tfT05fSEFORF9FUlJPUiA9ICdJTlNVRkZJQ0lFTlRfU1RPQ0tfT05fSEFORF9FUlJPUicsXHJcbiAgTVVMVElQTEVfT1JERVJfRVJST1IgPSAnTVVMVElQTEVfT1JERVJfRVJST1InLFxyXG4gIENBTkNFTF9BQ1RJVkVfT1JERVJfRVJST1IgPSAnQ0FOQ0VMX0FDVElWRV9PUkRFUl9FUlJPUicsXHJcbiAgUEFZTUVOVF9PUkRFUl9NSVNNQVRDSF9FUlJPUiA9ICdQQVlNRU5UX09SREVSX01JU01BVENIX0VSUk9SJyxcclxuICBSRUZVTkRfT1JERVJfU1RBVEVfRVJST1IgPSAnUkVGVU5EX09SREVSX1NUQVRFX0VSUk9SJyxcclxuICBOT1RISU5HX1RPX1JFRlVORF9FUlJPUiA9ICdOT1RISU5HX1RPX1JFRlVORF9FUlJPUicsXHJcbiAgQUxSRUFEWV9SRUZVTkRFRF9FUlJPUiA9ICdBTFJFQURZX1JFRlVOREVEX0VSUk9SJyxcclxuICBRVUFOVElUWV9UT09fR1JFQVRfRVJST1IgPSAnUVVBTlRJVFlfVE9PX0dSRUFUX0VSUk9SJyxcclxuICBSRUZVTkRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdSRUZVTkRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUicsXHJcbiAgUEFZTUVOVF9TVEFURV9UUkFOU0lUSU9OX0VSUk9SID0gJ1BBWU1FTlRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUicsXHJcbiAgRlVMRklMTE1FTlRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdGVUxGSUxMTUVOVF9TVEFURV9UUkFOU0lUSU9OX0VSUk9SJyxcclxuICBPUkRFUl9NT0RJRklDQVRJT05fU1RBVEVfRVJST1IgPSAnT1JERVJfTU9ESUZJQ0FUSU9OX1NUQVRFX0VSUk9SJyxcclxuICBOT19DSEFOR0VTX1NQRUNJRklFRF9FUlJPUiA9ICdOT19DSEFOR0VTX1NQRUNJRklFRF9FUlJPUicsXHJcbiAgUEFZTUVOVF9NRVRIT0RfTUlTU0lOR19FUlJPUiA9ICdQQVlNRU5UX01FVEhPRF9NSVNTSU5HX0VSUk9SJyxcclxuICBSRUZVTkRfUEFZTUVOVF9JRF9NSVNTSU5HX0VSUk9SID0gJ1JFRlVORF9QQVlNRU5UX0lEX01JU1NJTkdfRVJST1InLFxyXG4gIE1BTlVBTF9QQVlNRU5UX1NUQVRFX0VSUk9SID0gJ01BTlVBTF9QQVlNRU5UX1NUQVRFX0VSUk9SJyxcclxuICBQUk9EVUNUX09QVElPTl9JTl9VU0VfRVJST1IgPSAnUFJPRFVDVF9PUFRJT05fSU5fVVNFX0VSUk9SJyxcclxuICBNSVNTSU5HX0NPTkRJVElPTlNfRVJST1IgPSAnTUlTU0lOR19DT05ESVRJT05TX0VSUk9SJyxcclxuICBOQVRJVkVfQVVUSF9TVFJBVEVHWV9FUlJPUiA9ICdOQVRJVkVfQVVUSF9TVFJBVEVHWV9FUlJPUicsXHJcbiAgSU5WQUxJRF9DUkVERU5USUFMU19FUlJPUiA9ICdJTlZBTElEX0NSRURFTlRJQUxTX0VSUk9SJyxcclxuICBPUkRFUl9TVEFURV9UUkFOU0lUSU9OX0VSUk9SID0gJ09SREVSX1NUQVRFX1RSQU5TSVRJT05fRVJST1InLFxyXG4gIEVNQUlMX0FERFJFU1NfQ09ORkxJQ1RfRVJST1IgPSAnRU1BSUxfQUREUkVTU19DT05GTElDVF9FUlJPUicsXHJcbiAgT1JERVJfTElNSVRfRVJST1IgPSAnT1JERVJfTElNSVRfRVJST1InLFxyXG4gIE5FR0FUSVZFX1FVQU5USVRZX0VSUk9SID0gJ05FR0FUSVZFX1FVQU5USVRZX0VSUk9SJyxcclxuICBJTlNVRkZJQ0lFTlRfU1RPQ0tfRVJST1IgPSAnSU5TVUZGSUNJRU5UX1NUT0NLX0VSUk9SJ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBFcnJvclJlc3VsdCA9IHtcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0JztcclxuICBpc1ByaXZhdGU6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxGYWNldFRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaXNQcml2YXRlPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldExpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxGYWNldD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldExpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8RmFjZXRTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8RmFjZXRGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZhY2V0U29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRUcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0VHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgZmFjZXQ6IEZhY2V0O1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8RmFjZXRWYWx1ZVRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFVzZWQgdG8gY29uc3RydWN0IGJvb2xlYW4gZXhwcmVzc2lvbnMgZm9yIGZpbHRlcmluZyBzZWFyY2ggcmVzdWx0c1xyXG4gKiBieSBGYWNldFZhbHVlIElELiBFeGFtcGxlczpcclxuICpcclxuICogKiBJRD0xIE9SIElEPTI6IGB7IGZhY2V0VmFsdWVGaWx0ZXJzOiBbeyBvcjogWzEsMl0gfV0gfWBcclxuICogKiBJRD0xIEFORCBJRD0yOiBgeyBmYWNldFZhbHVlRmlsdGVyczogW3sgYW5kOiAxIH0sIHsgYW5kOiAyIH1dIH1gXHJcbiAqICogSUQ9MSBBTkQgKElEPTIgT1IgSUQ9Myk6IGB7IGZhY2V0VmFsdWVGaWx0ZXJzOiBbeyBhbmQ6IDEgfSwgeyBvcjogWzIsM10gfV0gfWBcclxuICovXHJcbmV4cG9ydCB0eXBlIEZhY2V0VmFsdWVGaWx0ZXJJbnB1dCA9IHtcclxuICBhbmQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBvcj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBXaGljaCBGYWNldFZhbHVlcyBhcmUgcHJlc2VudCBpbiB0aGUgcHJvZHVjdHMgcmV0dXJuZWRcclxuICogYnkgdGhlIHNlYXJjaCwgYW5kIGluIHdoYXQgcXVhbnRpdHkuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlUmVzdWx0ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZVJlc3VsdCc7XHJcbiAgZmFjZXRWYWx1ZTogRmFjZXRWYWx1ZTtcclxuICBjb3VudDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlVHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdGYWNldFZhbHVlVHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZsb2F0Q3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbWluPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgbWF4PzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgc3RlcD86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEZ1bGZpbGxPcmRlcklucHV0ID0ge1xyXG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmVJbnB1dD47XHJcbiAgaGFuZGxlcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBGdWxmaWxsbWVudCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCc7XHJcbiAgbmV4dFN0YXRlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgb3JkZXJJdGVtczogQXJyYXk8T3JkZXJJdGVtPjtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbWV0aG9kOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFja2luZ0NvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGluIHRyYW5zaXRpb25pbmcgdGhlIEZ1bGZpbGxtZW50IHN0YXRlICovXHJcbmV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRyYW5zaXRpb25FcnJvcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZnJvbVN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0b1N0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIEdsb2JhbEZsYWcge1xyXG4gIFRSVUUgPSAnVFJVRScsXHJcbiAgRkFMU0UgPSAnRkFMU0UnLFxyXG4gIElOSEVSSVQgPSAnSU5IRVJJVCdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgR2xvYmFsU2V0dGluZ3MgPSB7XHJcbiAgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncyc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PExhbmd1YWdlQ29kZT47XHJcbiAgdHJhY2tJbnZlbnRvcnk6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBvdXRPZlN0b2NrVGhyZXNob2xkOiBTY2FsYXJzWydJbnQnXTtcclxuICBzZXJ2ZXJDb25maWc6IFNlcnZlckNvbmZpZztcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeSc7XHJcbiAgaXNQdWJsaWM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBhZG1pbmlzdHJhdG9yPzogTWF5YmU8QWRtaW5pc3RyYXRvcj47XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB0eXBlOiBIaXN0b3J5RW50cnlUeXBlO1xyXG4gIGRhdGE6IFNjYWxhcnNbJ0pTT04nXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeUZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpc1B1YmxpYz86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHR5cGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnlMaXN0JztcclxuICBpdGVtczogQXJyYXk8SGlzdG9yeUVudHJ5PjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8SGlzdG9yeUVudHJ5U29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEhpc3RvcnlFbnRyeUZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5U29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gSGlzdG9yeUVudHJ5VHlwZSB7XHJcbiAgQ1VTVE9NRVJfUkVHSVNURVJFRCA9ICdDVVNUT01FUl9SRUdJU1RFUkVEJyxcclxuICBDVVNUT01FUl9WRVJJRklFRCA9ICdDVVNUT01FUl9WRVJJRklFRCcsXHJcbiAgQ1VTVE9NRVJfREVUQUlMX1VQREFURUQgPSAnQ1VTVE9NRVJfREVUQUlMX1VQREFURUQnLFxyXG4gIENVU1RPTUVSX0FEREVEX1RPX0dST1VQID0gJ0NVU1RPTUVSX0FEREVEX1RPX0dST1VQJyxcclxuICBDVVNUT01FUl9SRU1PVkVEX0ZST01fR1JPVVAgPSAnQ1VTVE9NRVJfUkVNT1ZFRF9GUk9NX0dST1VQJyxcclxuICBDVVNUT01FUl9BRERSRVNTX0NSRUFURUQgPSAnQ1VTVE9NRVJfQUREUkVTU19DUkVBVEVEJyxcclxuICBDVVNUT01FUl9BRERSRVNTX1VQREFURUQgPSAnQ1VTVE9NRVJfQUREUkVTU19VUERBVEVEJyxcclxuICBDVVNUT01FUl9BRERSRVNTX0RFTEVURUQgPSAnQ1VTVE9NRVJfQUREUkVTU19ERUxFVEVEJyxcclxuICBDVVNUT01FUl9QQVNTV09SRF9VUERBVEVEID0gJ0NVU1RPTUVSX1BBU1NXT1JEX1VQREFURUQnLFxyXG4gIENVU1RPTUVSX1BBU1NXT1JEX1JFU0VUX1JFUVVFU1RFRCA9ICdDVVNUT01FUl9QQVNTV09SRF9SRVNFVF9SRVFVRVNURUQnLFxyXG4gIENVU1RPTUVSX1BBU1NXT1JEX1JFU0VUX1ZFUklGSUVEID0gJ0NVU1RPTUVSX1BBU1NXT1JEX1JFU0VUX1ZFUklGSUVEJyxcclxuICBDVVNUT01FUl9FTUFJTF9VUERBVEVfUkVRVUVTVEVEID0gJ0NVU1RPTUVSX0VNQUlMX1VQREFURV9SRVFVRVNURUQnLFxyXG4gIENVU1RPTUVSX0VNQUlMX1VQREFURV9WRVJJRklFRCA9ICdDVVNUT01FUl9FTUFJTF9VUERBVEVfVkVSSUZJRUQnLFxyXG4gIENVU1RPTUVSX05PVEUgPSAnQ1VTVE9NRVJfTk9URScsXHJcbiAgT1JERVJfU1RBVEVfVFJBTlNJVElPTiA9ICdPUkRFUl9TVEFURV9UUkFOU0lUSU9OJyxcclxuICBPUkRFUl9QQVlNRU5UX1RSQU5TSVRJT04gPSAnT1JERVJfUEFZTUVOVF9UUkFOU0lUSU9OJyxcclxuICBPUkRFUl9GVUxGSUxMTUVOVCA9ICdPUkRFUl9GVUxGSUxMTUVOVCcsXHJcbiAgT1JERVJfQ0FOQ0VMTEFUSU9OID0gJ09SREVSX0NBTkNFTExBVElPTicsXHJcbiAgT1JERVJfUkVGVU5EX1RSQU5TSVRJT04gPSAnT1JERVJfUkVGVU5EX1RSQU5TSVRJT04nLFxyXG4gIE9SREVSX0ZVTEZJTExNRU5UX1RSQU5TSVRJT04gPSAnT1JERVJfRlVMRklMTE1FTlRfVFJBTlNJVElPTicsXHJcbiAgT1JERVJfTk9URSA9ICdPUkRFUl9OT1RFJyxcclxuICBPUkRFUl9DT1VQT05fQVBQTElFRCA9ICdPUkRFUl9DT1VQT05fQVBQTElFRCcsXHJcbiAgT1JERVJfQ09VUE9OX1JFTU9WRUQgPSAnT1JERVJfQ09VUE9OX1JFTU9WRUQnLFxyXG4gIE9SREVSX01PRElGSUVEID0gJ09SREVSX01PRElGSUVEJ1xyXG59XHJcblxyXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYW4gSUQgZmllbGQgKi9cclxuZXhwb3J0IHR5cGUgSWRPcGVyYXRvcnMgPSB7XHJcbiAgZXE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbm90RXE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgaW4/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG4gIG5vdEluPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEltcG9ydEluZm8gPSB7XHJcbiAgX190eXBlbmFtZT86ICdJbXBvcnRJbmZvJztcclxuICBlcnJvcnM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG4gIHByb2Nlc3NlZDogU2NhbGFyc1snSW50J107XHJcbiAgaW1wb3J0ZWQ6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyB0byBhZGQgbW9yZSBpdGVtcyB0byB0aGUgT3JkZXIgdGhhbiBhcmUgYXZhaWxhYmxlICovXHJcbmV4cG9ydCB0eXBlIEluc3VmZmljaWVudFN0b2NrRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHF1YW50aXR5QXZhaWxhYmxlOiBTY2FsYXJzWydJbnQnXTtcclxuICBvcmRlcjogT3JkZXI7XHJcbn07XHJcblxyXG4vKipcclxuICogUmV0dXJuZWQgaWYgYXR0ZW1wdGluZyB0byBjcmVhdGUgYSBGdWxmaWxsbWVudCB3aGVuIHRoZXJlIGlzIGluc3VmZmljaWVudFxyXG4gKiBzdG9ja09uSGFuZCBvZiBhIFByb2R1Y3RWYXJpYW50IHRvIHNhdGlzZnkgdGhlIHJlcXVlc3RlZCBxdWFudGl0eS5cclxuICovXHJcbmV4cG9ydCB0eXBlIEluc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHByb2R1Y3RWYXJpYW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJvZHVjdFZhcmlhbnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdG9ja09uSGFuZDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBJbnRDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbWluPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIG1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICBzdGVwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgdXNlciBhdXRoZW50aWNhdGlvbiBjcmVkZW50aWFscyBhcmUgbm90IHZhbGlkICovXHJcbmV4cG9ydCB0eXBlIEludmFsaWRDcmVkZW50aWFsc0Vycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgYXV0aGVudGljYXRpb25FcnJvcjogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlIHNwZWNpZmllZCBGdWxmaWxsbWVudEhhbmRsZXIgY29kZSBpcyBub3QgdmFsaWQgKi9cclxuZXhwb3J0IHR5cGUgSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgaXRlbXMgYXJlIGFscmVhZHkgcGFydCBvZiBhIEZ1bGZpbGxtZW50ICovXHJcbmV4cG9ydCB0eXBlIEl0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdJdGVtc0FscmVhZHlGdWxmaWxsZWRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgSm9iID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0pvYic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHN0YXJ0ZWRBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIHNldHRsZWRBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIHF1ZXVlTmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc3RhdGU6IEpvYlN0YXRlO1xyXG4gIHByb2dyZXNzOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG4gIHJlc3VsdD86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbiAgZXJyb3I/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG4gIGlzU2V0dGxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGR1cmF0aW9uOiBTY2FsYXJzWydJbnQnXTtcclxuICByZXRyaWVzOiBTY2FsYXJzWydJbnQnXTtcclxuICBhdHRlbXB0czogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBKb2JCdWZmZXJTaXplID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnSm9iQnVmZmVyU2l6ZSc7XHJcbiAgYnVmZmVySWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNpemU6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSm9iRmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHN0YXJ0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHNldHRsZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHF1ZXVlTmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgc3RhdGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHByb2dyZXNzPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBpc1NldHRsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICBkdXJhdGlvbj86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgcmV0cmllcz86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgYXR0ZW1wdHM/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSm9iTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdKb2JMaXN0JztcclxuICBpdGVtczogQXJyYXk8Sm9iPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEpvYkxpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8Sm9iU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPEpvYkZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSm9iUXVldWUgPSB7XHJcbiAgX190eXBlbmFtZT86ICdKb2JRdWV1ZSc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcnVubmluZzogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSm9iU29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzdGFydGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHNldHRsZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcXVldWVOYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwcm9ncmVzcz86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZHVyYXRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHJldHJpZXM/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGF0dGVtcHRzPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhlIHN0YXRlIG9mIGEgSm9iIGluIHRoZSBKb2JRdWV1ZVxyXG4gKlxyXG4gKiBAZG9jc0NhdGVnb3J5IGNvbW1vblxyXG4gKi9cclxuZXhwb3J0IGVudW0gSm9iU3RhdGUge1xyXG4gIFBFTkRJTkcgPSAnUEVORElORycsXHJcbiAgUlVOTklORyA9ICdSVU5OSU5HJyxcclxuICBDT01QTEVURUQgPSAnQ09NUExFVEVEJyxcclxuICBSRVRSWUlORyA9ICdSRVRSWUlORycsXHJcbiAgRkFJTEVEID0gJ0ZBSUxFRCcsXHJcbiAgQ0FOQ0VMTEVEID0gJ0NBTkNFTExFRCdcclxufVxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBMYW5ndWFnZXMgaW4gdGhlIGZvcm0gb2YgYSBJU08gNjM5LTEgbGFuZ3VhZ2UgY29kZSB3aXRoIG9wdGlvbmFsXHJcbiAqIHJlZ2lvbiBvciBzY3JpcHQgbW9kaWZpZXIgKGUuZy4gZGVfQVQpLiBUaGUgc2VsZWN0aW9uIGF2YWlsYWJsZSBpcyBiYXNlZFxyXG4gKiBvbiB0aGUgW1VuaWNvZGUgQ0xEUiBzdW1tYXJ5IGxpc3RdKGh0dHBzOi8vdW5pY29kZS1vcmcuZ2l0aHViLmlvL2NsZHItc3RhZ2luZy9jaGFydHMvMzcvc3VtbWFyeS9yb290Lmh0bWwpXHJcbiAqIGFuZCBpbmNsdWRlcyB0aGUgbWFqb3Igc3Bva2VuIGxhbmd1YWdlcyBvZiB0aGUgd29ybGQgYW5kIGFueSB3aWRlbHktdXNlZCB2YXJpYW50cy5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBjb21tb25cclxuICovXHJcbmV4cG9ydCBlbnVtIExhbmd1YWdlQ29kZSB7XHJcbiAgLyoqIEFmcmlrYWFucyAqL1xyXG4gIGFmID0gJ2FmJyxcclxuICAvKiogQWthbiAqL1xyXG4gIGFrID0gJ2FrJyxcclxuICAvKiogQW1oYXJpYyAqL1xyXG4gIGFtID0gJ2FtJyxcclxuICAvKiogQXJhYmljICovXHJcbiAgYXIgPSAnYXInLFxyXG4gIC8qKiBBc3NhbWVzZSAqL1xyXG4gIGFzID0gJ2FzJyxcclxuICAvKiogQXplcmJhaWphbmkgKi9cclxuICBheiA9ICdheicsXHJcbiAgLyoqIEJlbGFydXNpYW4gKi9cclxuICBiZSA9ICdiZScsXHJcbiAgLyoqIEJ1bGdhcmlhbiAqL1xyXG4gIGJnID0gJ2JnJyxcclxuICAvKiogQmFtYmFyYSAqL1xyXG4gIGJtID0gJ2JtJyxcclxuICAvKiogQmFuZ2xhICovXHJcbiAgYm4gPSAnYm4nLFxyXG4gIC8qKiBUaWJldGFuICovXHJcbiAgYm8gPSAnYm8nLFxyXG4gIC8qKiBCcmV0b24gKi9cclxuICBiciA9ICdicicsXHJcbiAgLyoqIEJvc25pYW4gKi9cclxuICBicyA9ICdicycsXHJcbiAgLyoqIENhdGFsYW4gKi9cclxuICBjYSA9ICdjYScsXHJcbiAgLyoqIENoZWNoZW4gKi9cclxuICBjZSA9ICdjZScsXHJcbiAgLyoqIENvcnNpY2FuICovXHJcbiAgY28gPSAnY28nLFxyXG4gIC8qKiBDemVjaCAqL1xyXG4gIGNzID0gJ2NzJyxcclxuICAvKiogQ2h1cmNoIFNsYXZpYyAqL1xyXG4gIGN1ID0gJ2N1JyxcclxuICAvKiogV2Vsc2ggKi9cclxuICBjeSA9ICdjeScsXHJcbiAgLyoqIERhbmlzaCAqL1xyXG4gIGRhID0gJ2RhJyxcclxuICAvKiogR2VybWFuICovXHJcbiAgZGUgPSAnZGUnLFxyXG4gIC8qKiBBdXN0cmlhbiBHZXJtYW4gKi9cclxuICBkZV9BVCA9ICdkZV9BVCcsXHJcbiAgLyoqIFN3aXNzIEhpZ2ggR2VybWFuICovXHJcbiAgZGVfQ0ggPSAnZGVfQ0gnLFxyXG4gIC8qKiBEem9uZ2toYSAqL1xyXG4gIGR6ID0gJ2R6JyxcclxuICAvKiogRXdlICovXHJcbiAgZWUgPSAnZWUnLFxyXG4gIC8qKiBHcmVlayAqL1xyXG4gIGVsID0gJ2VsJyxcclxuICAvKiogRW5nbGlzaCAqL1xyXG4gIGVuID0gJ2VuJyxcclxuICAvKiogQXVzdHJhbGlhbiBFbmdsaXNoICovXHJcbiAgZW5fQVUgPSAnZW5fQVUnLFxyXG4gIC8qKiBDYW5hZGlhbiBFbmdsaXNoICovXHJcbiAgZW5fQ0EgPSAnZW5fQ0EnLFxyXG4gIC8qKiBCcml0aXNoIEVuZ2xpc2ggKi9cclxuICBlbl9HQiA9ICdlbl9HQicsXHJcbiAgLyoqIEFtZXJpY2FuIEVuZ2xpc2ggKi9cclxuICBlbl9VUyA9ICdlbl9VUycsXHJcbiAgLyoqIEVzcGVyYW50byAqL1xyXG4gIGVvID0gJ2VvJyxcclxuICAvKiogU3BhbmlzaCAqL1xyXG4gIGVzID0gJ2VzJyxcclxuICAvKiogRXVyb3BlYW4gU3BhbmlzaCAqL1xyXG4gIGVzX0VTID0gJ2VzX0VTJyxcclxuICAvKiogTWV4aWNhbiBTcGFuaXNoICovXHJcbiAgZXNfTVggPSAnZXNfTVgnLFxyXG4gIC8qKiBFc3RvbmlhbiAqL1xyXG4gIGV0ID0gJ2V0JyxcclxuICAvKiogQmFzcXVlICovXHJcbiAgZXUgPSAnZXUnLFxyXG4gIC8qKiBQZXJzaWFuICovXHJcbiAgZmEgPSAnZmEnLFxyXG4gIC8qKiBEYXJpICovXHJcbiAgZmFfQUYgPSAnZmFfQUYnLFxyXG4gIC8qKiBGdWxhaCAqL1xyXG4gIGZmID0gJ2ZmJyxcclxuICAvKiogRmlubmlzaCAqL1xyXG4gIGZpID0gJ2ZpJyxcclxuICAvKiogRmFyb2VzZSAqL1xyXG4gIGZvID0gJ2ZvJyxcclxuICAvKiogRnJlbmNoICovXHJcbiAgZnIgPSAnZnInLFxyXG4gIC8qKiBDYW5hZGlhbiBGcmVuY2ggKi9cclxuICBmcl9DQSA9ICdmcl9DQScsXHJcbiAgLyoqIFN3aXNzIEZyZW5jaCAqL1xyXG4gIGZyX0NIID0gJ2ZyX0NIJyxcclxuICAvKiogV2VzdGVybiBGcmlzaWFuICovXHJcbiAgZnkgPSAnZnknLFxyXG4gIC8qKiBJcmlzaCAqL1xyXG4gIGdhID0gJ2dhJyxcclxuICAvKiogU2NvdHRpc2ggR2FlbGljICovXHJcbiAgZ2QgPSAnZ2QnLFxyXG4gIC8qKiBHYWxpY2lhbiAqL1xyXG4gIGdsID0gJ2dsJyxcclxuICAvKiogR3VqYXJhdGkgKi9cclxuICBndSA9ICdndScsXHJcbiAgLyoqIE1hbnggKi9cclxuICBndiA9ICdndicsXHJcbiAgLyoqIEhhdXNhICovXHJcbiAgaGEgPSAnaGEnLFxyXG4gIC8qKiBIZWJyZXcgKi9cclxuICBoZSA9ICdoZScsXHJcbiAgLyoqIEhpbmRpICovXHJcbiAgaGkgPSAnaGknLFxyXG4gIC8qKiBDcm9hdGlhbiAqL1xyXG4gIGhyID0gJ2hyJyxcclxuICAvKiogSGFpdGlhbiBDcmVvbGUgKi9cclxuICBodCA9ICdodCcsXHJcbiAgLyoqIEh1bmdhcmlhbiAqL1xyXG4gIGh1ID0gJ2h1JyxcclxuICAvKiogQXJtZW5pYW4gKi9cclxuICBoeSA9ICdoeScsXHJcbiAgLyoqIEludGVybGluZ3VhICovXHJcbiAgaWEgPSAnaWEnLFxyXG4gIC8qKiBJbmRvbmVzaWFuICovXHJcbiAgaWQgPSAnaWQnLFxyXG4gIC8qKiBJZ2JvICovXHJcbiAgaWcgPSAnaWcnLFxyXG4gIC8qKiBTaWNodWFuIFlpICovXHJcbiAgaWkgPSAnaWknLFxyXG4gIC8qKiBJY2VsYW5kaWMgKi9cclxuICBpcyA9ICdpcycsXHJcbiAgLyoqIEl0YWxpYW4gKi9cclxuICBpdCA9ICdpdCcsXHJcbiAgLyoqIEphcGFuZXNlICovXHJcbiAgamEgPSAnamEnLFxyXG4gIC8qKiBKYXZhbmVzZSAqL1xyXG4gIGp2ID0gJ2p2JyxcclxuICAvKiogR2VvcmdpYW4gKi9cclxuICBrYSA9ICdrYScsXHJcbiAgLyoqIEtpa3V5dSAqL1xyXG4gIGtpID0gJ2tpJyxcclxuICAvKiogS2F6YWtoICovXHJcbiAga2sgPSAna2snLFxyXG4gIC8qKiBLYWxhYWxsaXN1dCAqL1xyXG4gIGtsID0gJ2tsJyxcclxuICAvKiogS2htZXIgKi9cclxuICBrbSA9ICdrbScsXHJcbiAgLyoqIEthbm5hZGEgKi9cclxuICBrbiA9ICdrbicsXHJcbiAgLyoqIEtvcmVhbiAqL1xyXG4gIGtvID0gJ2tvJyxcclxuICAvKiogS2FzaG1pcmkgKi9cclxuICBrcyA9ICdrcycsXHJcbiAgLyoqIEt1cmRpc2ggKi9cclxuICBrdSA9ICdrdScsXHJcbiAgLyoqIENvcm5pc2ggKi9cclxuICBrdyA9ICdrdycsXHJcbiAgLyoqIEt5cmd5eiAqL1xyXG4gIGt5ID0gJ2t5JyxcclxuICAvKiogTGF0aW4gKi9cclxuICBsYSA9ICdsYScsXHJcbiAgLyoqIEx1eGVtYm91cmdpc2ggKi9cclxuICBsYiA9ICdsYicsXHJcbiAgLyoqIEdhbmRhICovXHJcbiAgbGcgPSAnbGcnLFxyXG4gIC8qKiBMaW5nYWxhICovXHJcbiAgbG4gPSAnbG4nLFxyXG4gIC8qKiBMYW8gKi9cclxuICBsbyA9ICdsbycsXHJcbiAgLyoqIExpdGh1YW5pYW4gKi9cclxuICBsdCA9ICdsdCcsXHJcbiAgLyoqIEx1YmEtS2F0YW5nYSAqL1xyXG4gIGx1ID0gJ2x1JyxcclxuICAvKiogTGF0dmlhbiAqL1xyXG4gIGx2ID0gJ2x2JyxcclxuICAvKiogTWFsYWdhc3kgKi9cclxuICBtZyA9ICdtZycsXHJcbiAgLyoqIE1hb3JpICovXHJcbiAgbWkgPSAnbWknLFxyXG4gIC8qKiBNYWNlZG9uaWFuICovXHJcbiAgbWsgPSAnbWsnLFxyXG4gIC8qKiBNYWxheWFsYW0gKi9cclxuICBtbCA9ICdtbCcsXHJcbiAgLyoqIE1vbmdvbGlhbiAqL1xyXG4gIG1uID0gJ21uJyxcclxuICAvKiogTWFyYXRoaSAqL1xyXG4gIG1yID0gJ21yJyxcclxuICAvKiogTWFsYXkgKi9cclxuICBtcyA9ICdtcycsXHJcbiAgLyoqIE1hbHRlc2UgKi9cclxuICBtdCA9ICdtdCcsXHJcbiAgLyoqIEJ1cm1lc2UgKi9cclxuICBteSA9ICdteScsXHJcbiAgLyoqIE5vcndlZ2lhbiBCb2ttw6VsICovXHJcbiAgbmIgPSAnbmInLFxyXG4gIC8qKiBOb3J0aCBOZGViZWxlICovXHJcbiAgbmQgPSAnbmQnLFxyXG4gIC8qKiBOZXBhbGkgKi9cclxuICBuZSA9ICduZScsXHJcbiAgLyoqIER1dGNoICovXHJcbiAgbmwgPSAnbmwnLFxyXG4gIC8qKiBGbGVtaXNoICovXHJcbiAgbmxfQkUgPSAnbmxfQkUnLFxyXG4gIC8qKiBOb3J3ZWdpYW4gTnlub3JzayAqL1xyXG4gIG5uID0gJ25uJyxcclxuICAvKiogTnlhbmphICovXHJcbiAgbnkgPSAnbnknLFxyXG4gIC8qKiBPcm9tbyAqL1xyXG4gIG9tID0gJ29tJyxcclxuICAvKiogT2RpYSAqL1xyXG4gIG9yID0gJ29yJyxcclxuICAvKiogT3NzZXRpYyAqL1xyXG4gIG9zID0gJ29zJyxcclxuICAvKiogUHVuamFiaSAqL1xyXG4gIHBhID0gJ3BhJyxcclxuICAvKiogUG9saXNoICovXHJcbiAgcGwgPSAncGwnLFxyXG4gIC8qKiBQYXNodG8gKi9cclxuICBwcyA9ICdwcycsXHJcbiAgLyoqIFBvcnR1Z3Vlc2UgKi9cclxuICBwdCA9ICdwdCcsXHJcbiAgLyoqIEJyYXppbGlhbiBQb3J0dWd1ZXNlICovXHJcbiAgcHRfQlIgPSAncHRfQlInLFxyXG4gIC8qKiBFdXJvcGVhbiBQb3J0dWd1ZXNlICovXHJcbiAgcHRfUFQgPSAncHRfUFQnLFxyXG4gIC8qKiBRdWVjaHVhICovXHJcbiAgcXUgPSAncXUnLFxyXG4gIC8qKiBSb21hbnNoICovXHJcbiAgcm0gPSAncm0nLFxyXG4gIC8qKiBSdW5kaSAqL1xyXG4gIHJuID0gJ3JuJyxcclxuICAvKiogUm9tYW5pYW4gKi9cclxuICBybyA9ICdybycsXHJcbiAgLyoqIE1vbGRhdmlhbiAqL1xyXG4gIHJvX01EID0gJ3JvX01EJyxcclxuICAvKiogUnVzc2lhbiAqL1xyXG4gIHJ1ID0gJ3J1JyxcclxuICAvKiogS2lueWFyd2FuZGEgKi9cclxuICBydyA9ICdydycsXHJcbiAgLyoqIFNhbnNrcml0ICovXHJcbiAgc2EgPSAnc2EnLFxyXG4gIC8qKiBTaW5kaGkgKi9cclxuICBzZCA9ICdzZCcsXHJcbiAgLyoqIE5vcnRoZXJuIFNhbWkgKi9cclxuICBzZSA9ICdzZScsXHJcbiAgLyoqIFNhbmdvICovXHJcbiAgc2cgPSAnc2cnLFxyXG4gIC8qKiBTaW5oYWxhICovXHJcbiAgc2kgPSAnc2knLFxyXG4gIC8qKiBTbG92YWsgKi9cclxuICBzayA9ICdzaycsXHJcbiAgLyoqIFNsb3ZlbmlhbiAqL1xyXG4gIHNsID0gJ3NsJyxcclxuICAvKiogU2Ftb2FuICovXHJcbiAgc20gPSAnc20nLFxyXG4gIC8qKiBTaG9uYSAqL1xyXG4gIHNuID0gJ3NuJyxcclxuICAvKiogU29tYWxpICovXHJcbiAgc28gPSAnc28nLFxyXG4gIC8qKiBBbGJhbmlhbiAqL1xyXG4gIHNxID0gJ3NxJyxcclxuICAvKiogU2VyYmlhbiAqL1xyXG4gIHNyID0gJ3NyJyxcclxuICAvKiogU291dGhlcm4gU290aG8gKi9cclxuICBzdCA9ICdzdCcsXHJcbiAgLyoqIFN1bmRhbmVzZSAqL1xyXG4gIHN1ID0gJ3N1JyxcclxuICAvKiogU3dlZGlzaCAqL1xyXG4gIHN2ID0gJ3N2JyxcclxuICAvKiogU3dhaGlsaSAqL1xyXG4gIHN3ID0gJ3N3JyxcclxuICAvKiogQ29uZ28gU3dhaGlsaSAqL1xyXG4gIHN3X0NEID0gJ3N3X0NEJyxcclxuICAvKiogVGFtaWwgKi9cclxuICB0YSA9ICd0YScsXHJcbiAgLyoqIFRlbHVndSAqL1xyXG4gIHRlID0gJ3RlJyxcclxuICAvKiogVGFqaWsgKi9cclxuICB0ZyA9ICd0ZycsXHJcbiAgLyoqIFRoYWkgKi9cclxuICB0aCA9ICd0aCcsXHJcbiAgLyoqIFRpZ3JpbnlhICovXHJcbiAgdGkgPSAndGknLFxyXG4gIC8qKiBUdXJrbWVuICovXHJcbiAgdGsgPSAndGsnLFxyXG4gIC8qKiBUb25nYW4gKi9cclxuICB0byA9ICd0bycsXHJcbiAgLyoqIFR1cmtpc2ggKi9cclxuICB0ciA9ICd0cicsXHJcbiAgLyoqIFRhdGFyICovXHJcbiAgdHQgPSAndHQnLFxyXG4gIC8qKiBVeWdodXIgKi9cclxuICB1ZyA9ICd1ZycsXHJcbiAgLyoqIFVrcmFpbmlhbiAqL1xyXG4gIHVrID0gJ3VrJyxcclxuICAvKiogVXJkdSAqL1xyXG4gIHVyID0gJ3VyJyxcclxuICAvKiogVXpiZWsgKi9cclxuICB1eiA9ICd1eicsXHJcbiAgLyoqIFZpZXRuYW1lc2UgKi9cclxuICB2aSA9ICd2aScsXHJcbiAgLyoqIFZvbGFww7xrICovXHJcbiAgdm8gPSAndm8nLFxyXG4gIC8qKiBXb2xvZiAqL1xyXG4gIHdvID0gJ3dvJyxcclxuICAvKiogWGhvc2EgKi9cclxuICB4aCA9ICd4aCcsXHJcbiAgLyoqIFlpZGRpc2ggKi9cclxuICB5aSA9ICd5aScsXHJcbiAgLyoqIFlvcnViYSAqL1xyXG4gIHlvID0gJ3lvJyxcclxuICAvKiogQ2hpbmVzZSAqL1xyXG4gIHpoID0gJ3poJyxcclxuICAvKiogU2ltcGxpZmllZCBDaGluZXNlICovXHJcbiAgemhfSGFucyA9ICd6aF9IYW5zJyxcclxuICAvKiogVHJhZGl0aW9uYWwgQ2hpbmVzZSAqL1xyXG4gIHpoX0hhbnQgPSAnemhfSGFudCcsXHJcbiAgLyoqIFp1bHUgKi9cclxuICB6dSA9ICd6dSdcclxufVxyXG5cclxuLyoqIFJldHVybmVkIGlmIGF0dGVtcHRpbmcgdG8gc2V0IGEgQ2hhbm5lbCdzIGRlZmF1bHRMYW5ndWFnZUNvZGUgdG8gYSBsYW5ndWFnZSB3aGljaCBpcyBub3QgZW5hYmxlZCBpbiBHbG9iYWxTZXR0aW5ncyAqL1xyXG5leHBvcnQgdHlwZSBMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsYW5ndWFnZUNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgbGVuZ3RoPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBwYXR0ZXJuPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIExvY2FsaXplZFN0cmluZyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZyc7XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgdmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gTG9naWNhbE9wZXJhdG9yIHtcclxuICBBTkQgPSAnQU5EJyxcclxuICBPUiA9ICdPUidcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTWFudWFsUGF5bWVudElucHV0ID0ge1xyXG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbWV0aG9kOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2FjdGlvbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIG1ldGFkYXRhPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5lZCB3aGVuIGEgY2FsbCB0byBhZGRNYW51YWxQYXltZW50VG9PcmRlciBpcyBtYWRlIGJ1dCB0aGUgT3JkZXJcclxuICogaXMgbm90IGluIHRoZSByZXF1aXJlZCBzdGF0ZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIE1hbnVhbFBheW1lbnRTdGF0ZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdNYW51YWxQYXltZW50U3RhdGVFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNaW1lVHlwZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdNaW1lVHlwZUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmaWxlTmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbWltZVR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIGEgUHJvbW90aW9uQ29uZGl0aW9uIGhhcyBuZWl0aGVyIGEgY291cG9uQ29kZSBub3IgYW55IGNvbmRpdGlvbnMgc2V0ICovXHJcbmV4cG9ydCB0eXBlIE1pc3NpbmdDb25kaXRpb25zRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ01pc3NpbmdDb25kaXRpb25zRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTW9kaWZ5T3JkZXJJbnB1dCA9IHtcclxuICBkcnlSdW46IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBvcmRlcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIGFkZEl0ZW1zPzogTWF5YmU8QXJyYXk8QWRkSXRlbUlucHV0Pj47XHJcbiAgYWRqdXN0T3JkZXJMaW5lcz86IE1heWJlPEFycmF5PEFkanVzdE9yZGVyTGluZUlucHV0Pj47XHJcbiAgc3VyY2hhcmdlcz86IE1heWJlPEFycmF5PFN1cmNoYXJnZUlucHV0Pj47XHJcbiAgdXBkYXRlU2hpcHBpbmdBZGRyZXNzPzogTWF5YmU8VXBkYXRlT3JkZXJBZGRyZXNzSW5wdXQ+O1xyXG4gIHVwZGF0ZUJpbGxpbmdBZGRyZXNzPzogTWF5YmU8VXBkYXRlT3JkZXJBZGRyZXNzSW5wdXQ+O1xyXG4gIG5vdGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcmVmdW5kPzogTWF5YmU8QWRtaW5pc3RyYXRvclJlZnVuZElucHV0PjtcclxuICBvcHRpb25zPzogTWF5YmU8TW9kaWZ5T3JkZXJPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyT3B0aW9ucyA9IHtcclxuICBmcmVlemVQcm9tb3Rpb25zPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICByZWNhbGN1bGF0ZVNoaXBwaW5nPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyUmVzdWx0ID0gT3JkZXIgfCBOb0NoYW5nZXNTcGVjaWZpZWRFcnJvciB8IE9yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvciB8IFBheW1lbnRNZXRob2RNaXNzaW5nRXJyb3IgfCBSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3IgfCBPcmRlckxpbWl0RXJyb3IgfCBOZWdhdGl2ZVF1YW50aXR5RXJyb3IgfCBJbnN1ZmZpY2llbnRTdG9ja0Vycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgTW92ZUNvbGxlY3Rpb25JbnB1dCA9IHtcclxuICBjb2xsZWN0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcGFyZW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5kZXg6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIGFuIG9wZXJhdGlvbiBoYXMgc3BlY2lmaWVkIE9yZGVyTGluZXMgZnJvbSBtdWx0aXBsZSBPcmRlcnMgKi9cclxuZXhwb3J0IHR5cGUgTXVsdGlwbGVPcmRlckVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdNdWx0aXBsZU9yZGVyRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdNdXRhdGlvbic7XHJcbiAgLyoqIEFkZCBDdXN0b21lcnMgdG8gYSBDdXN0b21lckdyb3VwICovXHJcbiAgYWRkQ3VzdG9tZXJzVG9Hcm91cDogQ3VzdG9tZXJHcm91cDtcclxuICBhZGRGdWxmaWxsbWVudFRvT3JkZXI6IEFkZEZ1bGZpbGxtZW50VG9PcmRlclJlc3VsdDtcclxuICAvKipcclxuICAgKiBVc2VkIHRvIG1hbnVhbGx5IGNyZWF0ZSBhIG5ldyBQYXltZW50IGFnYWluc3QgYW4gT3JkZXIuXHJcbiAgICogVGhpcyBjYW4gYmUgdXNlZCBieSBhbiBBZG1pbmlzdHJhdG9yIHdoZW4gYW4gT3JkZXIgaXMgaW4gdGhlIEFycmFuZ2luZ1BheW1lbnQgc3RhdGUuXHJcbiAgICpcclxuICAgKiBJdCBpcyBhbHNvIHVzZWQgd2hlbiBhIGNvbXBsZXRlZCBPcmRlclxyXG4gICAqIGhhcyBiZWVuIG1vZGlmaWVkICh1c2luZyBgbW9kaWZ5T3JkZXJgKSBhbmQgdGhlIHByaWNlIGhhcyBpbmNyZWFzZWQuIFRoZSBleHRyYSBwYXltZW50XHJcbiAgICogY2FuIHRoZW4gYmUgbWFudWFsbHkgYXJyYW5nZWQgYnkgdGhlIGFkbWluaXN0cmF0b3IsIGFuZCB0aGUgZGV0YWlscyB1c2VkIHRvIGNyZWF0ZSBhIG5ld1xyXG4gICAqIFBheW1lbnQuXHJcbiAgICovXHJcbiAgYWRkTWFudWFsUGF5bWVudFRvT3JkZXI6IEFkZE1hbnVhbFBheW1lbnRUb09yZGVyUmVzdWx0O1xyXG4gIC8qKiBBZGQgbWVtYmVycyB0byBhIFpvbmUgKi9cclxuICBhZGRNZW1iZXJzVG9ab25lOiBab25lO1xyXG4gIGFkZE5vdGVUb0N1c3RvbWVyOiBDdXN0b21lcjtcclxuICBhZGROb3RlVG9PcmRlcjogT3JkZXI7XHJcbiAgLyoqIEFkZCBhbiBPcHRpb25Hcm91cCB0byBhIFByb2R1Y3QgKi9cclxuICBhZGRPcHRpb25Hcm91cFRvUHJvZHVjdDogUHJvZHVjdDtcclxuICAvKiogQXNzaWduIGFzc2V0cyB0byBjaGFubmVsICovXHJcbiAgYXNzaWduQXNzZXRzVG9DaGFubmVsOiBBcnJheTxBc3NldD47XHJcbiAgLyoqIEFzc2lnbnMgUHJvZHVjdFZhcmlhbnRzIHRvIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIGFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbDogQXJyYXk8UHJvZHVjdFZhcmlhbnQ+O1xyXG4gIC8qKiBBc3NpZ25zIGFsbCBQcm9kdWN0VmFyaWFudHMgb2YgUHJvZHVjdCB0byB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICBhc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbDogQXJyYXk8UHJvZHVjdD47XHJcbiAgLyoqIEFzc2lnbnMgUHJvbW90aW9ucyB0byB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICBhc3NpZ25Qcm9tb3Rpb25zVG9DaGFubmVsOiBBcnJheTxQcm9tb3Rpb24+O1xyXG4gIC8qKiBBc3NpZ24gYSBSb2xlIHRvIGFuIEFkbWluaXN0cmF0b3IgKi9cclxuICBhc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yOiBBZG1pbmlzdHJhdG9yO1xyXG4gIC8qKiBBdXRoZW50aWNhdGVzIHRoZSB1c2VyIHVzaW5nIGEgbmFtZWQgYXV0aGVudGljYXRpb24gc3RyYXRlZ3kgKi9cclxuICBhdXRoZW50aWNhdGU6IEF1dGhlbnRpY2F0aW9uUmVzdWx0O1xyXG4gIGNhbmNlbEpvYjogSm9iO1xyXG4gIGNhbmNlbE9yZGVyOiBDYW5jZWxPcmRlclJlc3VsdDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IEFkbWluaXN0cmF0b3IgKi9cclxuICBjcmVhdGVBZG1pbmlzdHJhdG9yOiBBZG1pbmlzdHJhdG9yO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQXNzZXQgKi9cclxuICBjcmVhdGVBc3NldHM6IEFycmF5PENyZWF0ZUFzc2V0UmVzdWx0PjtcclxuICAvKiogQ3JlYXRlIGEgbmV3IENoYW5uZWwgKi9cclxuICBjcmVhdGVDaGFubmVsOiBDcmVhdGVDaGFubmVsUmVzdWx0O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQ29sbGVjdGlvbiAqL1xyXG4gIGNyZWF0ZUNvbGxlY3Rpb246IENvbGxlY3Rpb247XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBDb3VudHJ5ICovXHJcbiAgY3JlYXRlQ291bnRyeTogQ291bnRyeTtcclxuICAvKiogQ3JlYXRlIGEgbmV3IEN1c3RvbWVyLiBJZiBhIHBhc3N3b3JkIGlzIHByb3ZpZGVkLCBhIG5ldyBVc2VyIHdpbGwgYWxzbyBiZSBjcmVhdGVkIGFuIGxpbmtlZCB0byB0aGUgQ3VzdG9tZXIuICovXHJcbiAgY3JlYXRlQ3VzdG9tZXI6IENyZWF0ZUN1c3RvbWVyUmVzdWx0O1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQWRkcmVzcyBhbmQgYXNzb2NpYXRlIGl0IHdpdGggdGhlIEN1c3RvbWVyIHNwZWNpZmllZCBieSBjdXN0b21lcklkICovXHJcbiAgY3JlYXRlQ3VzdG9tZXJBZGRyZXNzOiBBZGRyZXNzO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIGNyZWF0ZUN1c3RvbWVyR3JvdXA6IEN1c3RvbWVyR3JvdXA7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBGYWNldCAqL1xyXG4gIGNyZWF0ZUZhY2V0OiBGYWNldDtcclxuICAvKiogQ3JlYXRlIG9uZSBvciBtb3JlIEZhY2V0VmFsdWVzICovXHJcbiAgY3JlYXRlRmFjZXRWYWx1ZXM6IEFycmF5PEZhY2V0VmFsdWU+O1xyXG4gIC8qKiBDcmVhdGUgZXhpc3RpbmcgUGF5bWVudE1ldGhvZCAqL1xyXG4gIGNyZWF0ZVBheW1lbnRNZXRob2Q6IFBheW1lbnRNZXRob2Q7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0ICovXHJcbiAgY3JlYXRlUHJvZHVjdDogUHJvZHVjdDtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFByb2R1Y3RPcHRpb24gd2l0aGluIGEgUHJvZHVjdE9wdGlvbkdyb3VwICovXHJcbiAgY3JlYXRlUHJvZHVjdE9wdGlvbjogUHJvZHVjdE9wdGlvbjtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFByb2R1Y3RPcHRpb25Hcm91cCAqL1xyXG4gIGNyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cDogUHJvZHVjdE9wdGlvbkdyb3VwO1xyXG4gIC8qKiBDcmVhdGUgYSBzZXQgb2YgUHJvZHVjdFZhcmlhbnRzIGJhc2VkIG9uIHRoZSBPcHRpb25Hcm91cHMgYXNzaWduZWQgdG8gdGhlIGdpdmVuIFByb2R1Y3QgKi9cclxuICBjcmVhdGVQcm9kdWN0VmFyaWFudHM6IEFycmF5PE1heWJlPFByb2R1Y3RWYXJpYW50Pj47XHJcbiAgY3JlYXRlUHJvbW90aW9uOiBDcmVhdGVQcm9tb3Rpb25SZXN1bHQ7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBSb2xlICovXHJcbiAgY3JlYXRlUm9sZTogUm9sZTtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFNoaXBwaW5nTWV0aG9kICovXHJcbiAgY3JlYXRlU2hpcHBpbmdNZXRob2Q6IFNoaXBwaW5nTWV0aG9kO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgVGFnICovXHJcbiAgY3JlYXRlVGFnOiBUYWc7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBUYXhDYXRlZ29yeSAqL1xyXG4gIGNyZWF0ZVRheENhdGVnb3J5OiBUYXhDYXRlZ29yeTtcclxuICAvKiogQ3JlYXRlIGEgbmV3IFRheFJhdGUgKi9cclxuICBjcmVhdGVUYXhSYXRlOiBUYXhSYXRlO1xyXG4gIC8qKiBDcmVhdGUgYSBuZXcgWm9uZSAqL1xyXG4gIGNyZWF0ZVpvbmU6IFpvbmU7XHJcbiAgLyoqIERlbGV0ZSBhbiBBZG1pbmlzdHJhdG9yICovXHJcbiAgZGVsZXRlQWRtaW5pc3RyYXRvcjogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGFuIEFzc2V0ICovXHJcbiAgZGVsZXRlQXNzZXQ6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBtdWx0aXBsZSBBc3NldHMgKi9cclxuICBkZWxldGVBc3NldHM6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIENoYW5uZWwgKi9cclxuICBkZWxldGVDaGFubmVsOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBDb2xsZWN0aW9uIGFuZCBhbGwgb2YgaXRzIGRlc2NlbmRhbnRzICovXHJcbiAgZGVsZXRlQ29sbGVjdGlvbjogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgQ291bnRyeSAqL1xyXG4gIGRlbGV0ZUNvdW50cnk6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIEN1c3RvbWVyICovXHJcbiAgZGVsZXRlQ3VzdG9tZXI6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZGRyZXNzICovXHJcbiAgZGVsZXRlQ3VzdG9tZXJBZGRyZXNzOiBTdWNjZXNzO1xyXG4gIC8qKiBEZWxldGUgYSBDdXN0b21lckdyb3VwICovXHJcbiAgZGVsZXRlQ3VzdG9tZXJHcm91cDogRGVsZXRpb25SZXNwb25zZTtcclxuICBkZWxldGVDdXN0b21lck5vdGU6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhbiBleGlzdGluZyBGYWNldCAqL1xyXG4gIGRlbGV0ZUZhY2V0OiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgb25lIG9yIG1vcmUgRmFjZXRWYWx1ZXMgKi9cclxuICBkZWxldGVGYWNldFZhbHVlczogQXJyYXk8RGVsZXRpb25SZXNwb25zZT47XHJcbiAgZGVsZXRlT3JkZXJOb3RlOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBQYXltZW50TWV0aG9kICovXHJcbiAgZGVsZXRlUGF5bWVudE1ldGhvZDogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgUHJvZHVjdCAqL1xyXG4gIGRlbGV0ZVByb2R1Y3Q6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIFByb2R1Y3RWYXJpYW50ICovXHJcbiAgZGVsZXRlUHJvZHVjdFZhcmlhbnQ6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgZGVsZXRlUHJvbW90aW9uOiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYW4gZXhpc3RpbmcgUm9sZSAqL1xyXG4gIGRlbGV0ZVJvbGU6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhIFNoaXBwaW5nTWV0aG9kICovXHJcbiAgZGVsZXRlU2hpcHBpbmdNZXRob2Q6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZSBhbiBleGlzdGluZyBUYWcgKi9cclxuICBkZWxldGVUYWc6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgLyoqIERlbGV0ZXMgYSBUYXhDYXRlZ29yeSAqL1xyXG4gIGRlbGV0ZVRheENhdGVnb3J5OiBEZWxldGlvblJlc3BvbnNlO1xyXG4gIC8qKiBEZWxldGUgYSBUYXhSYXRlICovXHJcbiAgZGVsZXRlVGF4UmF0ZTogRGVsZXRpb25SZXNwb25zZTtcclxuICAvKiogRGVsZXRlIGEgWm9uZSAqL1xyXG4gIGRlbGV0ZVpvbmU6IERlbGV0aW9uUmVzcG9uc2U7XHJcbiAgZmx1c2hCdWZmZXJlZEpvYnM6IFN1Y2Nlc3M7XHJcbiAgaW1wb3J0UHJvZHVjdHM/OiBNYXliZTxJbXBvcnRJbmZvPjtcclxuICAvKiogQXV0aGVudGljYXRlcyB0aGUgdXNlciB1c2luZyB0aGUgbmF0aXZlIGF1dGhlbnRpY2F0aW9uIHN0cmF0ZWd5LiBUaGlzIG11dGF0aW9uIGlzIGFuIGFsaWFzIGZvciBgYXV0aGVudGljYXRlKHsgbmF0aXZlOiB7IC4uLiB9fSlgICovXHJcbiAgbG9naW46IE5hdGl2ZUF1dGhlbnRpY2F0aW9uUmVzdWx0O1xyXG4gIGxvZ291dDogU3VjY2VzcztcclxuICAvKipcclxuICAgKiBBbGxvd3MgYW4gT3JkZXIgdG8gYmUgbW9kaWZpZWQgYWZ0ZXIgaXQgaGFzIGJlZW4gY29tcGxldGVkIGJ5IHRoZSBDdXN0b21lci4gVGhlIE9yZGVyIG11c3QgZmlyc3RcclxuICAgKiBiZSBpbiB0aGUgYE1vZGlmeWluZ2Agc3RhdGUuXHJcbiAgICovXHJcbiAgbW9kaWZ5T3JkZXI6IE1vZGlmeU9yZGVyUmVzdWx0O1xyXG4gIC8qKiBNb3ZlIGEgQ29sbGVjdGlvbiB0byBhIGRpZmZlcmVudCBwYXJlbnQgb3IgaW5kZXggKi9cclxuICBtb3ZlQ29sbGVjdGlvbjogQ29sbGVjdGlvbjtcclxuICByZWZ1bmRPcmRlcjogUmVmdW5kT3JkZXJSZXN1bHQ7XHJcbiAgcmVpbmRleDogSm9iO1xyXG4gIC8qKiBSZW1vdmUgQ3VzdG9tZXJzIGZyb20gYSBDdXN0b21lckdyb3VwICovXHJcbiAgcmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwOiBDdXN0b21lckdyb3VwO1xyXG4gIC8qKiBSZW1vdmUgbWVtYmVycyBmcm9tIGEgWm9uZSAqL1xyXG4gIHJlbW92ZU1lbWJlcnNGcm9tWm9uZTogWm9uZTtcclxuICAvKiogUmVtb3ZlIGFuIE9wdGlvbkdyb3VwIGZyb20gYSBQcm9kdWN0ICovXHJcbiAgcmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdDogUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdFJlc3VsdDtcclxuICAvKiogUmVtb3ZlcyBQcm9kdWN0VmFyaWFudHMgZnJvbSB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICByZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbDogQXJyYXk8UHJvZHVjdFZhcmlhbnQ+O1xyXG4gIC8qKiBSZW1vdmVzIGFsbCBQcm9kdWN0VmFyaWFudHMgb2YgUHJvZHVjdCBmcm9tIHRoZSBzcGVjaWZpZWQgQ2hhbm5lbCAqL1xyXG4gIHJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWw6IEFycmF5PFByb2R1Y3Q+O1xyXG4gIC8qKiBSZW1vdmVzIFByb21vdGlvbnMgZnJvbSB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cclxuICByZW1vdmVQcm9tb3Rpb25zRnJvbUNoYW5uZWw6IEFycmF5PFByb21vdGlvbj47XHJcbiAgLyoqIFJlbW92ZSBhbGwgc2V0dGxlZCBqb2JzIGluIHRoZSBnaXZlbiBxdWV1ZXMgb2xkZXIgdGhhbiB0aGUgZ2l2ZW4gZGF0ZS4gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGpvYnMgZGVsZXRlZC4gKi9cclxuICByZW1vdmVTZXR0bGVkSm9iczogU2NhbGFyc1snSW50J107XHJcbiAgcmVxdWVzdENvbXBsZXRlZDogU2NhbGFyc1snSW50J107XHJcbiAgcmVxdWVzdFN0YXJ0ZWQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXM6IFN1Y2Nlc3M7XHJcbiAgc2V0QWN0aXZlQ2hhbm5lbDogVXNlclN0YXR1cztcclxuICBzZXRBc0xvZ2dlZEluOiBVc2VyU3RhdHVzO1xyXG4gIHNldEFzTG9nZ2VkT3V0OiBVc2VyU3RhdHVzO1xyXG4gIHNldENvbnRlbnRMYW5ndWFnZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIHNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50czogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHNldE9yZGVyQ3VzdG9tRmllbGRzPzogTWF5YmU8T3JkZXI+O1xyXG4gIHNldFVpTGFuZ3VhZ2U6IExhbmd1YWdlQ29kZTtcclxuICBzZXRVaUxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzZXRVaVRoZW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzZXR0bGVQYXltZW50OiBTZXR0bGVQYXltZW50UmVzdWx0O1xyXG4gIHNldHRsZVJlZnVuZDogU2V0dGxlUmVmdW5kUmVzdWx0O1xyXG4gIHRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGU6IFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVSZXN1bHQ7XHJcbiAgdHJhbnNpdGlvbk9yZGVyVG9TdGF0ZT86IE1heWJlPFRyYW5zaXRpb25PcmRlclRvU3RhdGVSZXN1bHQ+O1xyXG4gIHRyYW5zaXRpb25QYXltZW50VG9TdGF0ZTogVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlUmVzdWx0O1xyXG4gIC8qKiBVcGRhdGUgdGhlIGFjdGl2ZSAoY3VycmVudGx5IGxvZ2dlZC1pbikgQWRtaW5pc3RyYXRvciAqL1xyXG4gIHVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3I6IEFkbWluaXN0cmF0b3I7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZG1pbmlzdHJhdG9yICovXHJcbiAgdXBkYXRlQWRtaW5pc3RyYXRvcjogQWRtaW5pc3RyYXRvcjtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEFzc2V0ICovXHJcbiAgdXBkYXRlQXNzZXQ6IEFzc2V0O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ2hhbm5lbCAqL1xyXG4gIHVwZGF0ZUNoYW5uZWw6IFVwZGF0ZUNoYW5uZWxSZXN1bHQ7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBDb2xsZWN0aW9uICovXHJcbiAgdXBkYXRlQ29sbGVjdGlvbjogQ29sbGVjdGlvbjtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIENvdW50cnkgKi9cclxuICB1cGRhdGVDb3VudHJ5OiBDb3VudHJ5O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ3VzdG9tZXIgKi9cclxuICB1cGRhdGVDdXN0b21lcjogVXBkYXRlQ3VzdG9tZXJSZXN1bHQ7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZGRyZXNzICovXHJcbiAgdXBkYXRlQ3VzdG9tZXJBZGRyZXNzOiBBZGRyZXNzO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ3VzdG9tZXJHcm91cCAqL1xyXG4gIHVwZGF0ZUN1c3RvbWVyR3JvdXA6IEN1c3RvbWVyR3JvdXA7XHJcbiAgdXBkYXRlQ3VzdG9tZXJOb3RlOiBIaXN0b3J5RW50cnk7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBGYWNldCAqL1xyXG4gIHVwZGF0ZUZhY2V0OiBGYWNldDtcclxuICAvKiogVXBkYXRlIG9uZSBvciBtb3JlIEZhY2V0VmFsdWVzICovXHJcbiAgdXBkYXRlRmFjZXRWYWx1ZXM6IEFycmF5PEZhY2V0VmFsdWU+O1xyXG4gIHVwZGF0ZUdsb2JhbFNldHRpbmdzOiBVcGRhdGVHbG9iYWxTZXR0aW5nc1Jlc3VsdDtcclxuICB1cGRhdGVPcmRlck5vdGU6IEhpc3RvcnlFbnRyeTtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFBheW1lbnRNZXRob2QgKi9cclxuICB1cGRhdGVQYXltZW50TWV0aG9kOiBQYXltZW50TWV0aG9kO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgUHJvZHVjdCAqL1xyXG4gIHVwZGF0ZVByb2R1Y3Q6IFByb2R1Y3Q7XHJcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0T3B0aW9uIHdpdGhpbiBhIFByb2R1Y3RPcHRpb25Hcm91cCAqL1xyXG4gIHVwZGF0ZVByb2R1Y3RPcHRpb246IFByb2R1Y3RPcHRpb247XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBQcm9kdWN0T3B0aW9uR3JvdXAgKi9cclxuICB1cGRhdGVQcm9kdWN0T3B0aW9uR3JvdXA6IFByb2R1Y3RPcHRpb25Hcm91cDtcclxuICAvKiogVXBkYXRlIGV4aXN0aW5nIFByb2R1Y3RWYXJpYW50cyAqL1xyXG4gIHVwZGF0ZVByb2R1Y3RWYXJpYW50czogQXJyYXk8TWF5YmU8UHJvZHVjdFZhcmlhbnQ+PjtcclxuICB1cGRhdGVQcm9tb3Rpb246IFVwZGF0ZVByb21vdGlvblJlc3VsdDtcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFJvbGUgKi9cclxuICB1cGRhdGVSb2xlOiBSb2xlO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgU2hpcHBpbmdNZXRob2QgKi9cclxuICB1cGRhdGVTaGlwcGluZ01ldGhvZDogU2hpcHBpbmdNZXRob2Q7XHJcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBUYWcgKi9cclxuICB1cGRhdGVUYWc6IFRhZztcclxuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFRheENhdGVnb3J5ICovXHJcbiAgdXBkYXRlVGF4Q2F0ZWdvcnk6IFRheENhdGVnb3J5O1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgVGF4UmF0ZSAqL1xyXG4gIHVwZGF0ZVRheFJhdGU6IFRheFJhdGU7XHJcbiAgdXBkYXRlVXNlckNoYW5uZWxzOiBVc2VyU3RhdHVzO1xyXG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgWm9uZSAqL1xyXG4gIHVwZGF0ZVpvbmU6IFpvbmU7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRDdXN0b21lcnNUb0dyb3VwQXJncyA9IHtcclxuICBjdXN0b21lckdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkRnVsZmlsbG1lbnRUb09yZGVyQXJncyA9IHtcclxuICBpbnB1dDogRnVsZmlsbE9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRNYW51YWxQYXltZW50VG9PcmRlckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IE1hbnVhbFBheW1lbnRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZE1lbWJlcnNUb1pvbmVBcmdzID0ge1xyXG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZW1iZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTm90ZVRvQ3VzdG9tZXJBcmdzID0ge1xyXG4gIGlucHV0OiBBZGROb3RlVG9DdXN0b21lcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTm90ZVRvT3JkZXJBcmdzID0ge1xyXG4gIGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RBcmdzID0ge1xyXG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcclxuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQXNzaWduQXNzZXRzVG9DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQXNzaWduQXNzZXRzVG9DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBBc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnblByb2R1Y3RzVG9DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnblByb21vdGlvbnNUb0NoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBBc3NpZ25Qcm9tb3Rpb25zVG9DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yQXJncyA9IHtcclxuICBhZG1pbmlzdHJhdG9ySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcm9sZUlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQXV0aGVudGljYXRlQXJncyA9IHtcclxuICBpbnB1dDogQXV0aGVudGljYXRpb25JbnB1dDtcclxuICByZW1lbWJlck1lPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNhbmNlbEpvYkFyZ3MgPSB7XHJcbiAgam9iSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DYW5jZWxPcmRlckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENhbmNlbE9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVBZG1pbmlzdHJhdG9yQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQXNzZXRzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlQXNzZXRJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVDaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlQ2hhbm5lbElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQ29sbGVjdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUNvbGxlY3Rpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUNvdW50cnlBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVDb3VudHJ5SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVDdXN0b21lckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQ7XHJcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVDdXN0b21lckFkZHJlc3NBcmdzID0ge1xyXG4gIGN1c3RvbWVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUN1c3RvbWVyR3JvdXBBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVGYWNldEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZUZhY2V0SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVGYWNldFZhbHVlc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZUZhY2V0VmFsdWVJbnB1dD47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVQYXltZW50TWV0aG9kQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlUGF5bWVudE1ldGhvZElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlUHJvZHVjdEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb2R1Y3RJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RPcHRpb25BcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RWYXJpYW50c0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQ+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlUHJvbW90aW9uQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlUHJvbW90aW9uSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVSb2xlQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlUm9sZUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlU2hpcHBpbmdNZXRob2RBcmdzID0ge1xyXG4gIGlucHV0OiBDcmVhdGVTaGlwcGluZ01ldGhvZElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlVGFnQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlVGFnSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVUYXhDYXRlZ29yeUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVRheENhdGVnb3J5SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVUYXhSYXRlQXJncyA9IHtcclxuICBpbnB1dDogQ3JlYXRlVGF4UmF0ZUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlWm9uZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IENyZWF0ZVpvbmVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUFkbWluaXN0cmF0b3JBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQXNzZXRBcmdzID0ge1xyXG4gIGlucHV0OiBEZWxldGVBc3NldElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQXNzZXRzQXJncyA9IHtcclxuICBpbnB1dDogRGVsZXRlQXNzZXRzSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDaGFubmVsQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUNvbGxlY3Rpb25BcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ291bnRyeUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDdXN0b21lckFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDdXN0b21lckFkZHJlc3NBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ3VzdG9tZXJHcm91cEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDdXN0b21lck5vdGVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlRmFjZXRBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUZhY2V0VmFsdWVzQXJncyA9IHtcclxuICBpZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZU9yZGVyTm90ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQYXltZW50TWV0aG9kQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQcm9kdWN0QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVByb2R1Y3RWYXJpYW50QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVByb21vdGlvbkFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVSb2xlQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVRhZ0FyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVUYXhDYXRlZ29yeUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVUYXhSYXRlQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVpvbmVBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uRmx1c2hCdWZmZXJlZEpvYnNBcmdzID0ge1xyXG4gIGJ1ZmZlcklkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25JbXBvcnRQcm9kdWN0c0FyZ3MgPSB7XHJcbiAgY3N2RmlsZTogU2NhbGFyc1snVXBsb2FkJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25Mb2dpbkFyZ3MgPSB7XHJcbiAgdXNlcm5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBhc3N3b3JkOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICByZW1lbWJlck1lPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vZGlmeU9yZGVyQXJncyA9IHtcclxuICBpbnB1dDogTW9kaWZ5T3JkZXJJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvbk1vdmVDb2xsZWN0aW9uQXJncyA9IHtcclxuICBpbnB1dDogTW92ZUNvbGxlY3Rpb25JbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlZnVuZE9yZGVyQXJncyA9IHtcclxuICBpbnB1dDogUmVmdW5kT3JkZXJJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cEFyZ3MgPSB7XHJcbiAgY3VzdG9tZXJHcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGN1c3RvbWVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZU1lbWJlcnNGcm9tWm9uZUFyZ3MgPSB7XHJcbiAgem9uZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG1lbWJlcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0QXJncyA9IHtcclxuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9uR3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsQXJncyA9IHtcclxuICBpbnB1dDogUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVQcm9tb3Rpb25zRnJvbUNoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBSZW1vdmVQcm9tb3Rpb25zRnJvbUNoYW5uZWxJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZVNldHRsZWRKb2JzQXJncyA9IHtcclxuICBxdWV1ZU5hbWVzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICBvbGRlclRoYW4/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEFjdGl2ZUNoYW5uZWxBcmdzID0ge1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldEFzTG9nZ2VkSW5BcmdzID0ge1xyXG4gIGlucHV0OiBVc2VyU3RhdHVzSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRDb250ZW50TGFuZ3VhZ2VBcmdzID0ge1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzQXJncyA9IHtcclxuICBkaXNwbGF5OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRPcmRlckN1c3RvbUZpZWxkc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZU9yZGVySW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVaUxhbmd1YWdlQXJncyA9IHtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldFVpTG9jYWxlQXJncyA9IHtcclxuICBsb2NhbGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVaVRoZW1lQXJncyA9IHtcclxuICB0aGVtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXR0bGVQYXltZW50QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblNldHRsZVJlZnVuZEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFNldHRsZVJlZnVuZElucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUFkbWluaXN0cmF0b3JJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUFzc2V0QXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQXNzZXRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUNoYW5uZWxBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVDaGFubmVsSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDb2xsZWN0aW9uQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQ29sbGVjdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQ291bnRyeUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUNvdW50cnlJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUN1c3RvbWVyQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUN1c3RvbWVyQWRkcmVzc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZUFkZHJlc3NJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUN1c3RvbWVyR3JvdXBBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVDdXN0b21lckdyb3VwSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDdXN0b21lck5vdGVBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVDdXN0b21lck5vdGVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUZhY2V0QXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlRmFjZXRJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUZhY2V0VmFsdWVzQXJncyA9IHtcclxuICBpbnB1dDogQXJyYXk8VXBkYXRlRmFjZXRWYWx1ZUlucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUdsb2JhbFNldHRpbmdzQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlR2xvYmFsU2V0dGluZ3NJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZU9yZGVyTm90ZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZU9yZGVyTm90ZUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUGF5bWVudE1ldGhvZEFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVBheW1lbnRNZXRob2RJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVByb2R1Y3RBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVQcm9kdWN0SW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0T3B0aW9uQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0VmFyaWFudHNBcmdzID0ge1xyXG4gIGlucHV0OiBBcnJheTxVcGRhdGVQcm9kdWN0VmFyaWFudElucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVByb21vdGlvbkFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb21vdGlvbklucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUm9sZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVJvbGVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBpbnB1dDogVXBkYXRlU2hpcHBpbmdNZXRob2RJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVRhZ0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVRhZ0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlVGF4Q2F0ZWdvcnlBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVUYXhDYXRlZ29yeUlucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlVGF4UmF0ZUFyZ3MgPSB7XHJcbiAgaW5wdXQ6IFVwZGF0ZVRheFJhdGVJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVVzZXJDaGFubmVsc0FyZ3MgPSB7XHJcbiAgY2hhbm5lbHM6IEFycmF5PEN1cnJlbnRVc2VyQ2hhbm5lbElucHV0PjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVpvbmVBcmdzID0ge1xyXG4gIGlucHV0OiBVcGRhdGVab25lSW5wdXQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOYXRpdmVBdXRoSW5wdXQgPSB7XHJcbiAgdXNlcm5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBhc3N3b3JkOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cmVkIHdoZW4gYXR0ZW1wdGluZyBhbiBvcGVyYXRpb24gdGhhdCByZWxpZXMgb24gdGhlIE5hdGl2ZUF1dGhTdHJhdGVneSwgaWYgdGhhdCBzdHJhdGVneSBpcyBub3QgY29uZmlndXJlZC4gKi9cclxuZXhwb3J0IHR5cGUgTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ05hdGl2ZUF1dGhTdHJhdGVneUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE5hdGl2ZUF1dGhlbnRpY2F0aW9uUmVzdWx0ID0gQ3VycmVudFVzZXIgfCBJbnZhbGlkQ3JlZGVudGlhbHNFcnJvciB8IE5hdGl2ZUF1dGhTdHJhdGVneUVycm9yO1xyXG5cclxuLyoqIFJldHVyZWQgd2hlbiBhdHRlbXRpbmcgdG8gc2V0IGEgbmVnYXRpdmUgT3JkZXJMaW5lIHF1YW50aXR5LiAqL1xyXG5leHBvcnQgdHlwZSBOZWdhdGl2ZVF1YW50aXR5RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ05lZ2F0aXZlUXVhbnRpdHlFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOZXR3b3JrU3RhdHVzID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnTmV0d29ya1N0YXR1cyc7XHJcbiAgaW5GbGlnaHRSZXF1ZXN0czogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiBhIGNhbGwgdG8gbW9kaWZ5T3JkZXIgZmFpbHMgdG8gc3BlY2lmeSBhbnkgY2hhbmdlcyAqL1xyXG5leHBvcnQgdHlwZSBOb0NoYW5nZXNTcGVjaWZpZWRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIHJlZnVuZCBhbiBPcmRlciBidXQgbmVpdGhlciBpdGVtcyBub3Igc2hpcHBpbmcgcmVmdW5kIHdhcyBzcGVjaWZpZWQgKi9cclxuZXhwb3J0IHR5cGUgTm90aGluZ1RvUmVmdW5kRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ05vdGhpbmdUb1JlZnVuZEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIEludCBvciBGbG9hdCBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBOdW1iZXJPcGVyYXRvcnMgPSB7XHJcbiAgZXE/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxuICBsdD86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGx0ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIGd0PzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgZ3RlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XHJcbiAgYmV0d2Vlbj86IE1heWJlPE51bWJlclJhbmdlPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE51bWJlclJhbmdlID0ge1xyXG4gIHN0YXJ0OiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGVuZDogU2NhbGFyc1snRmxvYXQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyJztcclxuICBuZXh0U3RhdGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbW9kaWZpY2F0aW9uczogQXJyYXk8T3JkZXJNb2RpZmljYXRpb24+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgLyoqXHJcbiAgICogVGhlIGRhdGUgJiB0aW1lIHRoYXQgdGhlIE9yZGVyIHdhcyBwbGFjZWQsIGkuZS4gdGhlIEN1c3RvbWVyXHJcbiAgICogY29tcGxldGVkIHRoZSBjaGVja291dCBhbmQgdGhlIE9yZGVyIGlzIG5vIGxvbmdlciBcImFjdGl2ZVwiXHJcbiAgICovXHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIC8qKiBBIHVuaXF1ZSBjb2RlIGZvciB0aGUgT3JkZXIgKi9cclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgLyoqIEFuIG9yZGVyIGlzIGFjdGl2ZSBhcyBsb25nIGFzIHRoZSBwYXltZW50IHByb2Nlc3MgaGFzIG5vdCBiZWVuIGNvbXBsZXRlZCAqL1xyXG4gIGFjdGl2ZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGN1c3RvbWVyPzogTWF5YmU8Q3VzdG9tZXI+O1xyXG4gIHNoaXBwaW5nQWRkcmVzcz86IE1heWJlPE9yZGVyQWRkcmVzcz47XHJcbiAgYmlsbGluZ0FkZHJlc3M/OiBNYXliZTxPcmRlckFkZHJlc3M+O1xyXG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmU+O1xyXG4gIC8qKlxyXG4gICAqIFN1cmNoYXJnZXMgYXJlIGFyYml0cmFyeSBtb2RpZmljYXRpb25zIHRvIHRoZSBPcmRlciB0b3RhbCB3aGljaCBhcmUgbmVpdGhlclxyXG4gICAqIFByb2R1Y3RWYXJpYW50cyBub3IgZGlzY291bnRzIHJlc3VsdGluZyBmcm9tIGFwcGxpZWQgUHJvbW90aW9ucy4gRm9yIGV4YW1wbGUsXHJcbiAgICogb25lLW9mZiBkaXNjb3VudHMgYmFzZWQgb24gY3VzdG9tZXIgaW50ZXJhY3Rpb24sIG9yIHN1cmNoYXJnZXMgYmFzZWQgb24gcGF5bWVudFxyXG4gICAqIG1ldGhvZHMuXHJcbiAgICovXHJcbiAgc3VyY2hhcmdlczogQXJyYXk8U3VyY2hhcmdlPjtcclxuICBkaXNjb3VudHM6IEFycmF5PERpc2NvdW50PjtcclxuICAvKiogQW4gYXJyYXkgb2YgYWxsIGNvdXBvbiBjb2RlcyBhcHBsaWVkIHRvIHRoZSBPcmRlciAqL1xyXG4gIGNvdXBvbkNvZGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgLyoqIFByb21vdGlvbnMgYXBwbGllZCB0byB0aGUgb3JkZXIuIE9ubHkgZ2V0cyBwb3B1bGF0ZWQgYWZ0ZXIgdGhlIHBheW1lbnQgcHJvY2VzcyBoYXMgY29tcGxldGVkLiAqL1xyXG4gIHByb21vdGlvbnM6IEFycmF5PFByb21vdGlvbj47XHJcbiAgcGF5bWVudHM/OiBNYXliZTxBcnJheTxQYXltZW50Pj47XHJcbiAgZnVsZmlsbG1lbnRzPzogTWF5YmU8QXJyYXk8RnVsZmlsbG1lbnQ+PjtcclxuICB0b3RhbFF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKipcclxuICAgKiBUaGUgc3ViVG90YWwgaXMgdGhlIHRvdGFsIG9mIGFsbCBPcmRlckxpbmVzIGluIHRoZSBPcmRlci4gVGhpcyBmaWd1cmUgYWxzbyBpbmNsdWRlcyBhbnkgT3JkZXItbGV2ZWxcclxuICAgKiBkaXNjb3VudHMgd2hpY2ggaGF2ZSBiZWVuIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseSBkaXN0cmlidXRlZCkgYW1vbmdzdCB0aGUgT3JkZXJJdGVtcy5cclxuICAgKiBUbyBnZXQgYSB0b3RhbCBvZiBhbGwgT3JkZXJMaW5lcyB3aGljaCBkb2VzIG5vdCBhY2NvdW50IGZvciBwcm9yYXRlZCBkaXNjb3VudHMsIHVzZSB0aGVcclxuICAgKiBzdW0gb2YgYE9yZGVyTGluZS5kaXNjb3VudGVkTGluZVByaWNlYCB2YWx1ZXMuXHJcbiAgICovXHJcbiAgc3ViVG90YWw6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBTYW1lIGFzIHN1YlRvdGFsLCBidXQgaW5jbHVzaXZlIG9mIHRheCAqL1xyXG4gIHN1YlRvdGFsV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGU7XHJcbiAgc2hpcHBpbmdMaW5lczogQXJyYXk8U2hpcHBpbmdMaW5lPjtcclxuICBzaGlwcGluZzogU2NhbGFyc1snSW50J107XHJcbiAgc2hpcHBpbmdXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogRXF1YWwgdG8gc3ViVG90YWwgcGx1cyBzaGlwcGluZyAqL1xyXG4gIHRvdGFsOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIGZpbmFsIHBheWFibGUgYW1vdW50LiBFcXVhbCB0byBzdWJUb3RhbFdpdGhUYXggcGx1cyBzaGlwcGluZ1dpdGhUYXggKi9cclxuICB0b3RhbFdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBBIHN1bW1hcnkgb2YgdGhlIHRheGVzIGJlaW5nIGFwcGxpZWQgdG8gdGhpcyBPcmRlciAqL1xyXG4gIHRheFN1bW1hcnk6IEFycmF5PE9yZGVyVGF4U3VtbWFyeT47XHJcbiAgaGlzdG9yeTogSGlzdG9yeUVudHJ5TGlzdDtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVySGlzdG9yeUFyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyQWRkcmVzcyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcyc7XHJcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY291bnRyeT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwaG9uZU51bWJlcj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgY3VzdG9tZXJMYXN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHN0YXRlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBhY3RpdmU/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICB0b3RhbFF1YW50aXR5PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzdWJUb3RhbD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgc3ViVG90YWxXaXRoVGF4PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHNoaXBwaW5nPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBzaGlwcGluZ1dpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIHRvdGFsPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICB0b3RhbFdpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJJdGVtID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVySXRlbSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBjYW5jZWxsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQsIGV4Y2x1ZGluZyB0YXggYW5kIGRpc2NvdW50cyAqL1xyXG4gIHVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0LCBpbmNsdWRpbmcgdGF4IGJ1dCBleGNsdWRpbmcgZGlzY291bnRzICovXHJcbiAgdW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqXHJcbiAgICogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQgaW5jbHVkaW5nIGRpc2NvdW50cywgZXhjbHVkaW5nIHRheC5cclxuICAgKlxyXG4gICAqIElmIE9yZGVyLWxldmVsIGRpc2NvdW50cyBoYXZlIGJlZW4gYXBwbGllZCwgdGhpcyB3aWxsIG5vdCBiZSB0aGVcclxuICAgKiBhY3R1YWwgdGF4YWJsZSB1bml0IHByaWNlIChzZWUgYHByb3JhdGVkVW5pdFByaWNlYCksIGJ1dCBpcyBnZW5lcmFsbHkgdGhlXHJcbiAgICogY29ycmVjdCBwcmljZSB0byBkaXNwbGF5IHRvIGN1c3RvbWVycyB0byBhdm9pZCBjb25mdXNpb25cclxuICAgKiBhYm91dCB0aGUgaW50ZXJuYWwgaGFuZGxpbmcgb2YgZGlzdHJpYnV0ZWQgT3JkZXItbGV2ZWwgZGlzY291bnRzLlxyXG4gICAqL1xyXG4gIGRpc2NvdW50ZWRVbml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCBpbmNsdWRpbmcgZGlzY291bnRzIGFuZCB0YXggKi9cclxuICBkaXNjb3VudGVkVW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqXHJcbiAgICogVGhlIGFjdHVhbCB1bml0IHByaWNlLCB0YWtpbmcgaW50byBhY2NvdW50IGJvdGggaXRlbSBkaXNjb3VudHMgX2FuZF8gcHJvcmF0ZWQgKHByb3BvcnRpb25hbGx5LWRpc3RyaWJ1dGVkKVxyXG4gICAqIE9yZGVyLWxldmVsIGRpc2NvdW50cy4gVGhpcyB2YWx1ZSBpcyB0aGUgdHJ1ZSBlY29ub21pYyB2YWx1ZSBvZiB0aGUgT3JkZXJJdGVtLCBhbmQgaXMgdXNlZCBpbiB0YXhcclxuICAgKiBhbmQgcmVmdW5kIGNhbGN1bGF0aW9ucy5cclxuICAgKi9cclxuICBwcm9yYXRlZFVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcm9yYXRlZFVuaXRQcmljZSBpbmNsdWRpbmcgdGF4ICovXHJcbiAgcHJvcmF0ZWRVbml0UHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICB1bml0VGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGFkanVzdG1lbnRzOiBBcnJheTxBZGp1c3RtZW50PjtcclxuICB0YXhMaW5lczogQXJyYXk8VGF4TGluZT47XHJcbiAgZnVsZmlsbG1lbnQ/OiBNYXliZTxGdWxmaWxsbWVudD47XHJcbiAgcmVmdW5kSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cmVkIHdoZW4gdGhlIG1heGltdW0gb3JkZXIgc2l6ZSBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLiAqL1xyXG5leHBvcnQgdHlwZSBPcmRlckxpbWl0RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyTGltaXRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbWF4SXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJMaW5lID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ09yZGVyTGluZSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XHJcbiAgZmVhdHVyZWRBc3NldD86IE1heWJlPEFzc2V0PjtcclxuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQsIGV4Y2x1ZGluZyB0YXggYW5kIGRpc2NvdW50cyAqL1xyXG4gIHVuaXRQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0LCBpbmNsdWRpbmcgdGF4IGJ1dCBleGNsdWRpbmcgZGlzY291bnRzICovXHJcbiAgdW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIE5vbi16ZXJvIGlmIHRoZSB1bml0UHJpY2UgaGFzIGNoYW5nZWQgc2luY2UgaXQgd2FzIGluaXRpYWxseSBhZGRlZCB0byBPcmRlciAqL1xyXG4gIHVuaXRQcmljZUNoYW5nZVNpbmNlQWRkZWQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBOb24temVybyBpZiB0aGUgdW5pdFByaWNlV2l0aFRheCBoYXMgY2hhbmdlZCBzaW5jZSBpdCB3YXMgaW5pdGlhbGx5IGFkZGVkIHRvIE9yZGVyICovXHJcbiAgdW5pdFByaWNlV2l0aFRheENoYW5nZVNpbmNlQWRkZWQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0IGluY2x1ZGluZyBkaXNjb3VudHMsIGV4Y2x1ZGluZyB0YXguXHJcbiAgICpcclxuICAgKiBJZiBPcmRlci1sZXZlbCBkaXNjb3VudHMgaGF2ZSBiZWVuIGFwcGxpZWQsIHRoaXMgd2lsbCBub3QgYmUgdGhlXHJcbiAgICogYWN0dWFsIHRheGFibGUgdW5pdCBwcmljZSAoc2VlIGBwcm9yYXRlZFVuaXRQcmljZWApLCBidXQgaXMgZ2VuZXJhbGx5IHRoZVxyXG4gICAqIGNvcnJlY3QgcHJpY2UgdG8gZGlzcGxheSB0byBjdXN0b21lcnMgdG8gYXZvaWQgY29uZnVzaW9uXHJcbiAgICogYWJvdXQgdGhlIGludGVybmFsIGhhbmRsaW5nIG9mIGRpc3RyaWJ1dGVkIE9yZGVyLWxldmVsIGRpc2NvdW50cy5cclxuICAgKi9cclxuICBkaXNjb3VudGVkVW5pdFByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQgaW5jbHVkaW5nIGRpc2NvdW50cyBhbmQgdGF4ICovXHJcbiAgZGlzY291bnRlZFVuaXRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBhY3R1YWwgdW5pdCBwcmljZSwgdGFraW5nIGludG8gYWNjb3VudCBib3RoIGl0ZW0gZGlzY291bnRzIF9hbmRfIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseS1kaXN0cmlidXRlZClcclxuICAgKiBPcmRlci1sZXZlbCBkaXNjb3VudHMuIFRoaXMgdmFsdWUgaXMgdGhlIHRydWUgZWNvbm9taWMgdmFsdWUgb2YgdGhlIE9yZGVySXRlbSwgYW5kIGlzIHVzZWQgaW4gdGF4XHJcbiAgICogYW5kIHJlZnVuZCBjYWxjdWxhdGlvbnMuXHJcbiAgICovXHJcbiAgcHJvcmF0ZWRVbml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIC8qKiBUaGUgcHJvcmF0ZWRVbml0UHJpY2UgaW5jbHVkaW5nIHRheCAqL1xyXG4gIHByb3JhdGVkVW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGl0ZW1zOiBBcnJheTxPcmRlckl0ZW0+O1xyXG4gIHRheFJhdGU6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbiAgLyoqIFRoZSB0b3RhbCBwcmljZSBvZiB0aGUgbGluZSBleGNsdWRpbmcgdGF4IGFuZCBkaXNjb3VudHMuICovXHJcbiAgbGluZVByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIHRvdGFsIHByaWNlIG9mIHRoZSBsaW5lIGluY2x1ZGluZyB0YXggYnV0IGV4Y2x1ZGluZyBkaXNjb3VudHMuICovXHJcbiAgbGluZVByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiB0aGUgbGluZSBpbmNsdWRpbmcgZGlzY291bnRzLCBleGNsdWRpbmcgdGF4ICovXHJcbiAgZGlzY291bnRlZExpbmVQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcmljZSBvZiB0aGUgbGluZSBpbmNsdWRpbmcgZGlzY291bnRzIGFuZCB0YXggKi9cclxuICBkaXNjb3VudGVkTGluZVByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgLyoqXHJcbiAgICogVGhlIGFjdHVhbCBsaW5lIHByaWNlLCB0YWtpbmcgaW50byBhY2NvdW50IGJvdGggaXRlbSBkaXNjb3VudHMgX2FuZF8gcHJvcmF0ZWQgKHByb3BvcnRpb25hbGx5LWRpc3RyaWJ1dGVkKVxyXG4gICAqIE9yZGVyLWxldmVsIGRpc2NvdW50cy4gVGhpcyB2YWx1ZSBpcyB0aGUgdHJ1ZSBlY29ub21pYyB2YWx1ZSBvZiB0aGUgT3JkZXJMaW5lLCBhbmQgaXMgdXNlZCBpbiB0YXhcclxuICAgKiBhbmQgcmVmdW5kIGNhbGN1bGF0aW9ucy5cclxuICAgKi9cclxuICBwcm9yYXRlZExpbmVQcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgLyoqIFRoZSBwcm9yYXRlZExpbmVQcmljZSBpbmNsdWRpbmcgdGF4ICovXHJcbiAgcHJvcmF0ZWRMaW5lUHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIHRvdGFsIHRheCBvbiB0aGlzIGxpbmUgKi9cclxuICBsaW5lVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICBkaXNjb3VudHM6IEFycmF5PERpc2NvdW50PjtcclxuICB0YXhMaW5lczogQXJyYXk8VGF4TGluZT47XHJcbiAgb3JkZXI6IE9yZGVyO1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpbmVJbnB1dCA9IHtcclxuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJMaXN0JztcclxuICBpdGVtczogQXJyYXk8T3JkZXI+O1xyXG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPE9yZGVyU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPE9yZGVyRmlsdGVyUGFyYW1ldGVyPjtcclxuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cclxuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlck1vZGlmaWNhdGlvbiA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcmljZUNoYW5nZTogU2NhbGFyc1snSW50J107XHJcbiAgbm90ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgb3JkZXJJdGVtcz86IE1heWJlPEFycmF5PE9yZGVySXRlbT4+O1xyXG4gIHN1cmNoYXJnZXM/OiBNYXliZTxBcnJheTxTdXJjaGFyZ2U+PjtcclxuICBwYXltZW50PzogTWF5YmU8UGF5bWVudD47XHJcbiAgcmVmdW5kPzogTWF5YmU8UmVmdW5kPjtcclxuICBpc1NldHRsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCB3aGVuIGF0dGVtcHRpbmcgdG8gbW9kaWZ5IHRoZSBjb250ZW50cyBvZiBhbiBPcmRlciB0aGF0IGlzIG5vdCBpbiB0aGUgYE1vZGlmeWluZ2Agc3RhdGUuICovXHJcbmV4cG9ydCB0eXBlIE9yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyUHJvY2Vzc1N0YXRlID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJQcm9jZXNzU3RhdGUnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRvOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlclNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgY3VzdG9tZXJMYXN0TmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBvcmRlclBsYWNlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjb2RlPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzdGF0ZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdG90YWxRdWFudGl0eT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3ViVG90YWw/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHN1YlRvdGFsV2l0aFRheD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc2hpcHBpbmc/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHNoaXBwaW5nV2l0aFRheD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdG90YWw/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHRvdGFsV2l0aFRheD86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgaWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4gdHJhbnNpdGlvbmluZyB0aGUgT3JkZXIgc3RhdGUgKi9cclxuZXhwb3J0IHR5cGUgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHJhbnNpdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmcm9tU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRvU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEEgc3VtbWFyeSBvZiB0aGUgdGF4ZXMgYmVpbmcgYXBwbGllZCB0byB0aGlzIG9yZGVyLCBncm91cGVkXHJcbiAqIGJ5IHRheFJhdGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBPcmRlclRheFN1bW1hcnkgPSB7XHJcbiAgX190eXBlbmFtZT86ICdPcmRlclRheFN1bW1hcnknO1xyXG4gIC8qKiBBIGRlc2NyaXB0aW9uIG9mIHRoaXMgdGF4ICovXHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIC8qKiBUaGUgdGF4UmF0ZSBhcyBhIHBlcmNlbnRhZ2UgKi9cclxuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIC8qKiBUaGUgdG90YWwgbmV0IHByaWNlIG9yIE9yZGVySXRlbXMgdG8gd2hpY2ggdGhpcyB0YXhSYXRlIGFwcGxpZXMgKi9cclxuICB0YXhCYXNlOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogVGhlIHRvdGFsIHRheCBiZWluZyBhcHBsaWVkIHRvIHRoZSBPcmRlciBhdCB0aGlzIHRheFJhdGUgKi9cclxuICB0YXhUb3RhbDogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYWdpbmF0ZWRMaXN0ID0ge1xyXG4gIGl0ZW1zOiBBcnJheTxOb2RlPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnQgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudCc7XHJcbiAgbmV4dFN0YXRlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbWV0aG9kOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhbW91bnQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2FjdGlvbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVycm9yTWVzc2FnZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICByZWZ1bmRzOiBBcnJheTxSZWZ1bmQ+O1xyXG4gIG1ldGFkYXRhPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2QgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGNoZWNrZXI/OiBNYXliZTxDb25maWd1cmFibGVPcGVyYXRpb24+O1xyXG4gIGhhbmRsZXI6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZEZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZW5hYmxlZD86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZExpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZExpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxQYXltZW50TWV0aG9kPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPFBheW1lbnRNZXRob2RTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8UGF5bWVudE1ldGhvZEZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybmVkIHdoZW4gYSBjYWxsIHRvIG1vZGlmeU9yZGVyIGZhaWxzIHRvIGluY2x1ZGUgYSBwYXltZW50TWV0aG9kIGV2ZW5cclxuICogdGhvdWdoIHRoZSBwcmljZSBoYXMgaW5jcmVhc2VkIGFzIGEgcmVzdWx0IG9mIHRoZSBjaGFuZ2VzLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kUXVvdGUgPSB7XHJcbiAgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kUXVvdGUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBpc0VsaWdpYmxlOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgZWxpZ2liaWxpdHlNZXNzYWdlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kU29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIHJlZnVuZCBhIFBheW1lbnQgYWdhaW5zdCBPcmRlckxpbmVzIGZyb20gYSBkaWZmZXJlbnQgT3JkZXIgKi9cclxuZXhwb3J0IHR5cGUgUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBpbiB0cmFuc2l0aW9uaW5nIHRoZSBQYXltZW50IHN0YXRlICovXHJcbmV4cG9ydCB0eXBlIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2l0aW9uRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZyb21TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdG9TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFBlcm1pc3Npb25zIGZvciBhZG1pbmlzdHJhdG9ycyBhbmQgY3VzdG9tZXJzLiBVc2VkIHRvIGNvbnRyb2wgYWNjZXNzIHRvXHJcbiAqIEdyYXBoUUwgcmVzb2x2ZXJzIHZpYSB0aGUge0BsaW5rIEFsbG93fSBkZWNvcmF0b3IuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tbW9uXHJcbiAqL1xyXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uIHtcclxuICAvKiogQXV0aGVudGljYXRlZCBtZWFucyBzaW1wbHkgdGhhdCB0aGUgdXNlciBpcyBsb2dnZWQgaW4gKi9cclxuICBBdXRoZW50aWNhdGVkID0gJ0F1dGhlbnRpY2F0ZWQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQWRtaW5pc3RyYXRvciAqL1xyXG4gIENyZWF0ZUFkbWluaXN0cmF0b3IgPSAnQ3JlYXRlQWRtaW5pc3RyYXRvcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBBc3NldCAqL1xyXG4gIENyZWF0ZUFzc2V0ID0gJ0NyZWF0ZUFzc2V0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cclxuICBDcmVhdGVDYXRhbG9nID0gJ0NyZWF0ZUNhdGFsb2cnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ2hhbm5lbCAqL1xyXG4gIENyZWF0ZUNoYW5uZWwgPSAnQ3JlYXRlQ2hhbm5lbCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBDb2xsZWN0aW9uICovXHJcbiAgQ3JlYXRlQ29sbGVjdGlvbiA9ICdDcmVhdGVDb2xsZWN0aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIENvdW50cnkgKi9cclxuICBDcmVhdGVDb3VudHJ5ID0gJ0NyZWF0ZUNvdW50cnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ3VzdG9tZXIgKi9cclxuICBDcmVhdGVDdXN0b21lciA9ICdDcmVhdGVDdXN0b21lcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBDdXN0b21lckdyb3VwICovXHJcbiAgQ3JlYXRlQ3VzdG9tZXJHcm91cCA9ICdDcmVhdGVDdXN0b21lckdyb3VwJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIEZhY2V0ICovXHJcbiAgQ3JlYXRlRmFjZXQgPSAnQ3JlYXRlRmFjZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgT3JkZXIgKi9cclxuICBDcmVhdGVPcmRlciA9ICdDcmVhdGVPcmRlcicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBQYXltZW50TWV0aG9kICovXHJcbiAgQ3JlYXRlUGF5bWVudE1ldGhvZCA9ICdDcmVhdGVQYXltZW50TWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFByb2R1Y3QgKi9cclxuICBDcmVhdGVQcm9kdWN0ID0gJ0NyZWF0ZVByb2R1Y3QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgUHJvbW90aW9uICovXHJcbiAgQ3JlYXRlUHJvbW90aW9uID0gJ0NyZWF0ZVByb21vdGlvbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBQYXltZW50TWV0aG9kcywgU2hpcHBpbmdNZXRob2RzLCBUYXhDYXRlZ29yaWVzLCBUYXhSYXRlcywgWm9uZXMsIENvdW50cmllcywgU3lzdGVtICYgR2xvYmFsU2V0dGluZ3MgKi9cclxuICBDcmVhdGVTZXR0aW5ncyA9ICdDcmVhdGVTZXR0aW5ncycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBTaGlwcGluZ01ldGhvZCAqL1xyXG4gIENyZWF0ZVNoaXBwaW5nTWV0aG9kID0gJ0NyZWF0ZVNoaXBwaW5nTWV0aG9kJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFN5c3RlbSAqL1xyXG4gIENyZWF0ZVN5c3RlbSA9ICdDcmVhdGVTeXN0ZW0nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgVGFnICovXHJcbiAgQ3JlYXRlVGFnID0gJ0NyZWF0ZVRhZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBUYXhDYXRlZ29yeSAqL1xyXG4gIENyZWF0ZVRheENhdGVnb3J5ID0gJ0NyZWF0ZVRheENhdGVnb3J5JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFRheFJhdGUgKi9cclxuICBDcmVhdGVUYXhSYXRlID0gJ0NyZWF0ZVRheFJhdGUnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgWm9uZSAqL1xyXG4gIENyZWF0ZVpvbmUgPSAnQ3JlYXRlWm9uZScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBBZG1pbmlzdHJhdG9yICovXHJcbiAgRGVsZXRlQWRtaW5pc3RyYXRvciA9ICdEZWxldGVBZG1pbmlzdHJhdG9yJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIEFzc2V0ICovXHJcbiAgRGVsZXRlQXNzZXQgPSAnRGVsZXRlQXNzZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgUHJvZHVjdHMsIEZhY2V0cywgQXNzZXRzLCBDb2xsZWN0aW9ucyAqL1xyXG4gIERlbGV0ZUNhdGFsb2cgPSAnRGVsZXRlQ2F0YWxvZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDaGFubmVsICovXHJcbiAgRGVsZXRlQ2hhbm5lbCA9ICdEZWxldGVDaGFubmVsJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIENvbGxlY3Rpb24gKi9cclxuICBEZWxldGVDb2xsZWN0aW9uID0gJ0RlbGV0ZUNvbGxlY3Rpb24nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQ291bnRyeSAqL1xyXG4gIERlbGV0ZUNvdW50cnkgPSAnRGVsZXRlQ291bnRyeScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDdXN0b21lciAqL1xyXG4gIERlbGV0ZUN1c3RvbWVyID0gJ0RlbGV0ZUN1c3RvbWVyJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIEN1c3RvbWVyR3JvdXAgKi9cclxuICBEZWxldGVDdXN0b21lckdyb3VwID0gJ0RlbGV0ZUN1c3RvbWVyR3JvdXAnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgRmFjZXQgKi9cclxuICBEZWxldGVGYWNldCA9ICdEZWxldGVGYWNldCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBPcmRlciAqL1xyXG4gIERlbGV0ZU9yZGVyID0gJ0RlbGV0ZU9yZGVyJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFBheW1lbnRNZXRob2QgKi9cclxuICBEZWxldGVQYXltZW50TWV0aG9kID0gJ0RlbGV0ZVBheW1lbnRNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgUHJvZHVjdCAqL1xyXG4gIERlbGV0ZVByb2R1Y3QgPSAnRGVsZXRlUHJvZHVjdCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBQcm9tb3Rpb24gKi9cclxuICBEZWxldGVQcm9tb3Rpb24gPSAnRGVsZXRlUHJvbW90aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFBheW1lbnRNZXRob2RzLCBTaGlwcGluZ01ldGhvZHMsIFRheENhdGVnb3JpZXMsIFRheFJhdGVzLCBab25lcywgQ291bnRyaWVzLCBTeXN0ZW0gJiBHbG9iYWxTZXR0aW5ncyAqL1xyXG4gIERlbGV0ZVNldHRpbmdzID0gJ0RlbGV0ZVNldHRpbmdzJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFNoaXBwaW5nTWV0aG9kICovXHJcbiAgRGVsZXRlU2hpcHBpbmdNZXRob2QgPSAnRGVsZXRlU2hpcHBpbmdNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgU3lzdGVtICovXHJcbiAgRGVsZXRlU3lzdGVtID0gJ0RlbGV0ZVN5c3RlbScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBUYWcgKi9cclxuICBEZWxldGVUYWcgPSAnRGVsZXRlVGFnJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFRheENhdGVnb3J5ICovXHJcbiAgRGVsZXRlVGF4Q2F0ZWdvcnkgPSAnRGVsZXRlVGF4Q2F0ZWdvcnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgVGF4UmF0ZSAqL1xyXG4gIERlbGV0ZVRheFJhdGUgPSAnRGVsZXRlVGF4UmF0ZScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBab25lICovXHJcbiAgRGVsZXRlWm9uZSA9ICdEZWxldGVab25lJyxcclxuICAvKiogT3duZXIgbWVhbnMgdGhlIHVzZXIgb3ducyB0aGlzIGVudGl0eSwgZS5nLiBhIEN1c3RvbWVyJ3Mgb3duIE9yZGVyICovXHJcbiAgT3duZXIgPSAnT3duZXInLFxyXG4gIFBsYWNlaG9sZGVyID0gJ1BsYWNlaG9sZGVyJyxcclxuICAvKiogUHVibGljIG1lYW5zIGFueSB1bmF1dGhlbnRpY2F0ZWQgdXNlciBtYXkgcGVyZm9ybSB0aGUgb3BlcmF0aW9uICovXHJcbiAgUHVibGljID0gJ1B1YmxpYycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQWRtaW5pc3RyYXRvciAqL1xyXG4gIFJlYWRBZG1pbmlzdHJhdG9yID0gJ1JlYWRBZG1pbmlzdHJhdG9yJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBBc3NldCAqL1xyXG4gIFJlYWRBc3NldCA9ICdSZWFkQXNzZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cclxuICBSZWFkQ2F0YWxvZyA9ICdSZWFkQ2F0YWxvZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ2hhbm5lbCAqL1xyXG4gIFJlYWRDaGFubmVsID0gJ1JlYWRDaGFubmVsJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBDb2xsZWN0aW9uICovXHJcbiAgUmVhZENvbGxlY3Rpb24gPSAnUmVhZENvbGxlY3Rpb24nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIENvdW50cnkgKi9cclxuICBSZWFkQ291bnRyeSA9ICdSZWFkQ291bnRyeScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ3VzdG9tZXIgKi9cclxuICBSZWFkQ3VzdG9tZXIgPSAnUmVhZEN1c3RvbWVyJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBDdXN0b21lckdyb3VwICovXHJcbiAgUmVhZEN1c3RvbWVyR3JvdXAgPSAnUmVhZEN1c3RvbWVyR3JvdXAnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIEZhY2V0ICovXHJcbiAgUmVhZEZhY2V0ID0gJ1JlYWRGYWNldCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgT3JkZXIgKi9cclxuICBSZWFkT3JkZXIgPSAnUmVhZE9yZGVyJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQYXltZW50TWV0aG9kICovXHJcbiAgUmVhZFBheW1lbnRNZXRob2QgPSAnUmVhZFBheW1lbnRNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFByb2R1Y3QgKi9cclxuICBSZWFkUHJvZHVjdCA9ICdSZWFkUHJvZHVjdCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgUHJvbW90aW9uICovXHJcbiAgUmVhZFByb21vdGlvbiA9ICdSZWFkUHJvbW90aW9uJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQYXltZW50TWV0aG9kcywgU2hpcHBpbmdNZXRob2RzLCBUYXhDYXRlZ29yaWVzLCBUYXhSYXRlcywgWm9uZXMsIENvdW50cmllcywgU3lzdGVtICYgR2xvYmFsU2V0dGluZ3MgKi9cclxuICBSZWFkU2V0dGluZ3MgPSAnUmVhZFNldHRpbmdzJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBTaGlwcGluZ01ldGhvZCAqL1xyXG4gIFJlYWRTaGlwcGluZ01ldGhvZCA9ICdSZWFkU2hpcHBpbmdNZXRob2QnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFN5c3RlbSAqL1xyXG4gIFJlYWRTeXN0ZW0gPSAnUmVhZFN5c3RlbScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgVGFnICovXHJcbiAgUmVhZFRhZyA9ICdSZWFkVGFnJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBUYXhDYXRlZ29yeSAqL1xyXG4gIFJlYWRUYXhDYXRlZ29yeSA9ICdSZWFkVGF4Q2F0ZWdvcnknLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFRheFJhdGUgKi9cclxuICBSZWFkVGF4UmF0ZSA9ICdSZWFkVGF4UmF0ZScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgWm9uZSAqL1xyXG4gIFJlYWRab25lID0gJ1JlYWRab25lJyxcclxuICAvKiogU3VwZXJBZG1pbiBoYXMgdW5yZXN0cmljdGVkIGFjY2VzcyB0byBhbGwgb3BlcmF0aW9ucyAqL1xyXG4gIFN1cGVyQWRtaW4gPSAnU3VwZXJBZG1pbicsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBBZG1pbmlzdHJhdG9yICovXHJcbiAgVXBkYXRlQWRtaW5pc3RyYXRvciA9ICdVcGRhdGVBZG1pbmlzdHJhdG9yJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIEFzc2V0ICovXHJcbiAgVXBkYXRlQXNzZXQgPSAnVXBkYXRlQXNzZXQnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgUHJvZHVjdHMsIEZhY2V0cywgQXNzZXRzLCBDb2xsZWN0aW9ucyAqL1xyXG4gIFVwZGF0ZUNhdGFsb2cgPSAnVXBkYXRlQ2F0YWxvZycsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDaGFubmVsICovXHJcbiAgVXBkYXRlQ2hhbm5lbCA9ICdVcGRhdGVDaGFubmVsJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIENvbGxlY3Rpb24gKi9cclxuICBVcGRhdGVDb2xsZWN0aW9uID0gJ1VwZGF0ZUNvbGxlY3Rpb24nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQ291bnRyeSAqL1xyXG4gIFVwZGF0ZUNvdW50cnkgPSAnVXBkYXRlQ291bnRyeScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDdXN0b21lciAqL1xyXG4gIFVwZGF0ZUN1c3RvbWVyID0gJ1VwZGF0ZUN1c3RvbWVyJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIEN1c3RvbWVyR3JvdXAgKi9cclxuICBVcGRhdGVDdXN0b21lckdyb3VwID0gJ1VwZGF0ZUN1c3RvbWVyR3JvdXAnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgRmFjZXQgKi9cclxuICBVcGRhdGVGYWNldCA9ICdVcGRhdGVGYWNldCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBHbG9iYWxTZXR0aW5ncyAqL1xyXG4gIFVwZGF0ZUdsb2JhbFNldHRpbmdzID0gJ1VwZGF0ZUdsb2JhbFNldHRpbmdzJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIE9yZGVyICovXHJcbiAgVXBkYXRlT3JkZXIgPSAnVXBkYXRlT3JkZXInLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgUGF5bWVudE1ldGhvZCAqL1xyXG4gIFVwZGF0ZVBheW1lbnRNZXRob2QgPSAnVXBkYXRlUGF5bWVudE1ldGhvZCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBQcm9kdWN0ICovXHJcbiAgVXBkYXRlUHJvZHVjdCA9ICdVcGRhdGVQcm9kdWN0JyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFByb21vdGlvbiAqL1xyXG4gIFVwZGF0ZVByb21vdGlvbiA9ICdVcGRhdGVQcm9tb3Rpb24nLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgUGF5bWVudE1ldGhvZHMsIFNoaXBwaW5nTWV0aG9kcywgVGF4Q2F0ZWdvcmllcywgVGF4UmF0ZXMsIFpvbmVzLCBDb3VudHJpZXMsIFN5c3RlbSAmIEdsb2JhbFNldHRpbmdzICovXHJcbiAgVXBkYXRlU2V0dGluZ3MgPSAnVXBkYXRlU2V0dGluZ3MnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgU2hpcHBpbmdNZXRob2QgKi9cclxuICBVcGRhdGVTaGlwcGluZ01ldGhvZCA9ICdVcGRhdGVTaGlwcGluZ01ldGhvZCcsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBTeXN0ZW0gKi9cclxuICBVcGRhdGVTeXN0ZW0gPSAnVXBkYXRlU3lzdGVtJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFRhZyAqL1xyXG4gIFVwZGF0ZVRhZyA9ICdVcGRhdGVUYWcnLFxyXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgVGF4Q2F0ZWdvcnkgKi9cclxuICBVcGRhdGVUYXhDYXRlZ29yeSA9ICdVcGRhdGVUYXhDYXRlZ29yeScsXHJcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBUYXhSYXRlICovXHJcbiAgVXBkYXRlVGF4UmF0ZSA9ICdVcGRhdGVUYXhSYXRlJyxcclxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFpvbmUgKi9cclxuICBVcGRhdGVab25lID0gJ1VwZGF0ZVpvbmUnXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25EZWZpbml0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnUGVybWlzc2lvbkRlZmluaXRpb24nO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhc3NpZ25hYmxlOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG4vKiogVGhlIHByaWNlIHJhbmdlIHdoZXJlIHRoZSByZXN1bHQgaGFzIG1vcmUgdGhhbiBvbmUgcHJpY2UgKi9cclxuZXhwb3J0IHR5cGUgUHJpY2VSYW5nZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1ByaWNlUmFuZ2UnO1xyXG4gIG1pbjogU2NhbGFyc1snSW50J107XHJcbiAgbWF4OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3QgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdCc7XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDaGFubmVsPjtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNsdWc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmZWF0dXJlZEFzc2V0PzogTWF5YmU8QXNzZXQ+O1xyXG4gIGFzc2V0czogQXJyYXk8QXNzZXQ+O1xyXG4gIC8qKiBSZXR1cm5zIGFsbCBQcm9kdWN0VmFyaWFudHMgKi9cclxuICB2YXJpYW50czogQXJyYXk8UHJvZHVjdFZhcmlhbnQ+O1xyXG4gIC8qKiBSZXR1cm5zIGEgcGFnaW5hdGVkLCBzb3J0YWJsZSwgZmlsdGVyYWJsZSBsaXN0IG9mIFByb2R1Y3RWYXJpYW50cyAqL1xyXG4gIHZhcmlhbnRMaXN0OiBQcm9kdWN0VmFyaWFudExpc3Q7XHJcbiAgb3B0aW9uR3JvdXBzOiBBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXA+O1xyXG4gIGZhY2V0VmFsdWVzOiBBcnJheTxGYWNldFZhbHVlPjtcclxuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RUcmFuc2xhdGlvbj47XHJcbiAgY29sbGVjdGlvbnM6IEFycmF5PENvbGxlY3Rpb24+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRMaXN0QXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0RmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBsYW5ndWFnZUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIHNsdWc/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RMaXN0JztcclxuICBpdGVtczogQXJyYXk8UHJvZHVjdD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0TGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxQcm9kdWN0U29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPFByb2R1Y3RGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb24gPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBncm91cElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGdyb3VwOiBQcm9kdWN0T3B0aW9uR3JvdXA7XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXAgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG9wdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb24+O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25JblVzZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgb3B0aW9uR3JvdXBDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwcm9kdWN0VmFyaWFudENvdW50OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25UcmFuc2xhdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25UcmFuc2xhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25UcmFuc2xhdGlvbklucHV0ID0ge1xyXG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzbHVnPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VHJhbnNsYXRpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2x1ZzogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFRyYW5zbGF0aW9uSW5wdXQgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHNsdWc/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JztcclxuICBlbmFibGVkOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgdHJhY2tJbnZlbnRvcnk6IEdsb2JhbEZsYWc7XHJcbiAgc3RvY2tPbkhhbmQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHN0b2NrQWxsb2NhdGVkOiBTY2FsYXJzWydJbnQnXTtcclxuICBvdXRPZlN0b2NrVGhyZXNob2xkOiBTY2FsYXJzWydJbnQnXTtcclxuICB1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgc3RvY2tNb3ZlbWVudHM6IFN0b2NrTW92ZW1lbnRMaXN0O1xyXG4gIGNoYW5uZWxzOiBBcnJheTxDaGFubmVsPjtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBwcm9kdWN0OiBQcm9kdWN0O1xyXG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIHNrdTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZmVhdHVyZWRBc3NldD86IE1heWJlPEFzc2V0PjtcclxuICBhc3NldHM6IEFycmF5PEFzc2V0PjtcclxuICBwcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGU7XHJcbiAgcHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICBzdG9ja0xldmVsOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0YXhSYXRlQXBwbGllZDogVGF4UmF0ZTtcclxuICB0YXhDYXRlZ29yeTogVGF4Q2F0ZWdvcnk7XHJcbiAgb3B0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvbj47XHJcbiAgZmFjZXRWYWx1ZXM6IEFycmF5PEZhY2V0VmFsdWU+O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudFN0b2NrTW92ZW1lbnRzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8U3RvY2tNb3ZlbWVudExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50RmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxuICB0cmFja0ludmVudG9yeT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgc3RvY2tPbkhhbmQ/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIHN0b2NrQWxsb2NhdGVkPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICBvdXRPZlN0b2NrVGhyZXNob2xkPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcclxuICB1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgcHJvZHVjdElkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgc2t1PzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBwcmljZT86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XHJcbiAgY3VycmVuY3lDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBwcmljZVdpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIHN0b2NrTGV2ZWw/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PFByb2R1Y3RWYXJpYW50PjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxQcm9kdWN0VmFyaWFudFNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxQcm9kdWN0VmFyaWFudEZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRTb3J0UGFyYW1ldGVyID0ge1xyXG4gIHN0b2NrT25IYW5kPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzdG9ja0FsbG9jYXRlZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHByb2R1Y3RJZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHNrdT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgcHJpY2U/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHByaWNlV2l0aFRheD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgc3RvY2tMZXZlbD86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbic7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50VHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb21vdGlvbiA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgc3RhcnRzQXQ/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICBlbmRzQXQ/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcclxuICBjb3Vwb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBlckN1c3RvbWVyVXNhZ2VMaW1pdD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBlbmFibGVkOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgY29uZGl0aW9uczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uPjtcclxuICBhY3Rpb25zOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb24+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25GaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgc3RhcnRzQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBlbmRzQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBjb3Vwb25Db2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGVuYWJsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb21vdGlvbkxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uTGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PFByb21vdGlvbj47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25MaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPFByb21vdGlvblNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxQcm9tb3Rpb25GaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb21vdGlvblNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBzdGFydHNBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZW5kc0F0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjb3Vwb25Db2RlPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuLyoqIFJldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcXVhbnRpdHkgb2YgYW4gT3JkZXJMaW5lIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIHRoYXQgbGluZSAqL1xyXG5leHBvcnQgdHlwZSBRdWFudGl0eVRvb0dyZWF0RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1F1YW50aXR5VG9vR3JlYXRFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1F1ZXJ5JztcclxuICBhY3RpdmVBZG1pbmlzdHJhdG9yPzogTWF5YmU8QWRtaW5pc3RyYXRvcj47XHJcbiAgYWN0aXZlQ2hhbm5lbDogQ2hhbm5lbDtcclxuICBhZG1pbmlzdHJhdG9yPzogTWF5YmU8QWRtaW5pc3RyYXRvcj47XHJcbiAgYWRtaW5pc3RyYXRvcnM6IEFkbWluaXN0cmF0b3JMaXN0O1xyXG4gIC8qKiBHZXQgYSBzaW5nbGUgQXNzZXQgYnkgaWQgKi9cclxuICBhc3NldD86IE1heWJlPEFzc2V0PjtcclxuICAvKiogR2V0IGEgbGlzdCBvZiBBc3NldHMgKi9cclxuICBhc3NldHM6IEFzc2V0TGlzdDtcclxuICBjaGFubmVsPzogTWF5YmU8Q2hhbm5lbD47XHJcbiAgY2hhbm5lbHM6IEFycmF5PENoYW5uZWw+O1xyXG4gIC8qKiBHZXQgYSBDb2xsZWN0aW9uIGVpdGhlciBieSBpZCBvciBzbHVnLiBJZiBuZWl0aGVyIGlkIG5vciBzbHVnIGlzIHNwZWNpZmllZCwgYW4gZXJyb3Igd2lsbCByZXN1bHQuICovXHJcbiAgY29sbGVjdGlvbj86IE1heWJlPENvbGxlY3Rpb24+O1xyXG4gIGNvbGxlY3Rpb25GaWx0ZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBjb2xsZWN0aW9uczogQ29sbGVjdGlvbkxpc3Q7XHJcbiAgY291bnRyaWVzOiBDb3VudHJ5TGlzdDtcclxuICBjb3VudHJ5PzogTWF5YmU8Q291bnRyeT47XHJcbiAgY3VzdG9tZXI/OiBNYXliZTxDdXN0b21lcj47XHJcbiAgY3VzdG9tZXJHcm91cD86IE1heWJlPEN1c3RvbWVyR3JvdXA+O1xyXG4gIGN1c3RvbWVyR3JvdXBzOiBDdXN0b21lckdyb3VwTGlzdDtcclxuICBjdXN0b21lcnM6IEN1c3RvbWVyTGlzdDtcclxuICBmYWNldD86IE1heWJlPEZhY2V0PjtcclxuICBmYWNldHM6IEZhY2V0TGlzdDtcclxuICBmdWxmaWxsbWVudEhhbmRsZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBnbG9iYWxTZXR0aW5nczogR2xvYmFsU2V0dGluZ3M7XHJcbiAgam9iPzogTWF5YmU8Sm9iPjtcclxuICBqb2JCdWZmZXJTaXplOiBBcnJheTxKb2JCdWZmZXJTaXplPjtcclxuICBqb2JRdWV1ZXM6IEFycmF5PEpvYlF1ZXVlPjtcclxuICBqb2JzOiBKb2JMaXN0O1xyXG4gIGpvYnNCeUlkOiBBcnJheTxKb2I+O1xyXG4gIG1lPzogTWF5YmU8Q3VycmVudFVzZXI+O1xyXG4gIG5ldHdvcmtTdGF0dXM6IE5ldHdvcmtTdGF0dXM7XHJcbiAgb3JkZXI/OiBNYXliZTxPcmRlcj47XHJcbiAgb3JkZXJzOiBPcmRlckxpc3Q7XHJcbiAgcGF5bWVudE1ldGhvZD86IE1heWJlPFBheW1lbnRNZXRob2Q+O1xyXG4gIHBheW1lbnRNZXRob2RFbGlnaWJpbGl0eUNoZWNrZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcclxuICBwYXltZW50TWV0aG9kSGFuZGxlcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xyXG4gIHBheW1lbnRNZXRob2RzOiBQYXltZW50TWV0aG9kTGlzdDtcclxuICBwZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzOiBTY2FsYXJzWydJbnQnXTtcclxuICAvKiogR2V0IGEgUHJvZHVjdCBlaXRoZXIgYnkgaWQgb3Igc2x1Zy4gSWYgbmVpdGhlciBpZCBub3Igc2x1ZyBpcyBzcGVpY2lmaWVkLCBhbiBlcnJvciB3aWxsIHJlc3VsdC4gKi9cclxuICBwcm9kdWN0PzogTWF5YmU8UHJvZHVjdD47XHJcbiAgcHJvZHVjdE9wdGlvbkdyb3VwPzogTWF5YmU8UHJvZHVjdE9wdGlvbkdyb3VwPjtcclxuICBwcm9kdWN0T3B0aW9uR3JvdXBzOiBBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXA+O1xyXG4gIC8qKiBHZXQgYSBQcm9kdWN0VmFyaWFudCBieSBpZCAqL1xyXG4gIHByb2R1Y3RWYXJpYW50PzogTWF5YmU8UHJvZHVjdFZhcmlhbnQ+O1xyXG4gIC8qKiBMaXN0IFByb2R1Y3RWYXJpYW50cyBlaXRoZXIgYWxsIG9yIGZvciB0aGUgc3BlY2lmaWMgcHJvZHVjdC4gKi9cclxuICBwcm9kdWN0VmFyaWFudHM6IFByb2R1Y3RWYXJpYW50TGlzdDtcclxuICAvKiogTGlzdCBQcm9kdWN0cyAqL1xyXG4gIHByb2R1Y3RzOiBQcm9kdWN0TGlzdDtcclxuICBwcm9tb3Rpb24/OiBNYXliZTxQcm9tb3Rpb24+O1xyXG4gIHByb21vdGlvbkFjdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xyXG4gIHByb21vdGlvbkNvbmRpdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xyXG4gIHByb21vdGlvbnM6IFByb21vdGlvbkxpc3Q7XHJcbiAgcm9sZT86IE1heWJlPFJvbGU+O1xyXG4gIHJvbGVzOiBSb2xlTGlzdDtcclxuICBzZWFyY2g6IFNlYXJjaFJlc3BvbnNlO1xyXG4gIHNoaXBwaW5nQ2FsY3VsYXRvcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xyXG4gIHNoaXBwaW5nRWxpZ2liaWxpdHlDaGVja2VyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XHJcbiAgc2hpcHBpbmdNZXRob2Q/OiBNYXliZTxTaGlwcGluZ01ldGhvZD47XHJcbiAgc2hpcHBpbmdNZXRob2RzOiBTaGlwcGluZ01ldGhvZExpc3Q7XHJcbiAgdGFnOiBUYWc7XHJcbiAgdGFnczogVGFnTGlzdDtcclxuICB0YXhDYXRlZ29yaWVzOiBBcnJheTxUYXhDYXRlZ29yeT47XHJcbiAgdGF4Q2F0ZWdvcnk/OiBNYXliZTxUYXhDYXRlZ29yeT47XHJcbiAgdGF4UmF0ZT86IE1heWJlPFRheFJhdGU+O1xyXG4gIHRheFJhdGVzOiBUYXhSYXRlTGlzdDtcclxuICB0ZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHM6IEFycmF5PFNoaXBwaW5nTWV0aG9kUXVvdGU+O1xyXG4gIHRlc3RTaGlwcGluZ01ldGhvZDogVGVzdFNoaXBwaW5nTWV0aG9kUmVzdWx0O1xyXG4gIHVpU3RhdGU6IFVpU3RhdGU7XHJcbiAgdXNlclN0YXR1czogVXNlclN0YXR1cztcclxuICB6b25lPzogTWF5YmU8Wm9uZT47XHJcbiAgem9uZXM6IEFycmF5PFpvbmU+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5QWRtaW5pc3RyYXRvckFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlBZG1pbmlzdHJhdG9yc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEFkbWluaXN0cmF0b3JMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlBc3NldEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlBc3NldHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxBc3NldExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUNoYW5uZWxBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q29sbGVjdGlvbkFyZ3MgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBzbHVnPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q29sbGVjdGlvbnNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDb2xsZWN0aW9uTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q291bnRyaWVzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8Q291bnRyeUxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUNvdW50cnlBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q3VzdG9tZXJBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Q3VzdG9tZXJHcm91cEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDdXN0b21lckdyb3Vwc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyR3JvdXBMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlDdXN0b21lcnNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUZhY2V0QXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUZhY2V0c0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPEZhY2V0TGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Sm9iQXJncyA9IHtcclxuICBqb2JJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeUpvYkJ1ZmZlclNpemVBcmdzID0ge1xyXG4gIGJ1ZmZlcklkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlKb2JzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8Sm9iTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Sm9ic0J5SWRBcmdzID0ge1xyXG4gIGpvYklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlPcmRlckFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlPcmRlcnNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxPcmRlckxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVBheW1lbnRNZXRob2RBcmdzID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UGF5bWVudE1ldGhvZHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxQYXltZW50TWV0aG9kTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdEFyZ3MgPSB7XHJcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBzbHVnPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdE9wdGlvbkdyb3VwQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb2R1Y3RPcHRpb25Hcm91cHNBcmdzID0ge1xyXG4gIGZpbHRlclRlcm0/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9kdWN0VmFyaWFudEFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9kdWN0VmFyaWFudHNBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcclxuICBwcm9kdWN0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb2R1Y3RzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdExpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVByb21vdGlvbkFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlQcm9tb3Rpb25zQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvbW90aW9uTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5Um9sZUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlSb2xlc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFJvbGVMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlTZWFyY2hBcmdzID0ge1xyXG4gIGlucHV0OiBTZWFyY2hJbnB1dDtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVNoaXBwaW5nTWV0aG9kc0FyZ3MgPSB7XHJcbiAgb3B0aW9ucz86IE1heWJlPFNoaXBwaW5nTWV0aG9kTGlzdE9wdGlvbnM+O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5VGFnQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRhZ3NBcmdzID0ge1xyXG4gIG9wdGlvbnM/OiBNYXliZTxUYWdMaXN0T3B0aW9ucz47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlUYXhDYXRlZ29yeUFyZ3MgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlUYXhSYXRlQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRheFJhdGVzQXJncyA9IHtcclxuICBvcHRpb25zPzogTWF5YmU8VGF4UmF0ZUxpc3RPcHRpb25zPjtcclxufTtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0FyZ3MgPSB7XHJcbiAgaW5wdXQ6IFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0lucHV0O1xyXG59O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5VGVzdFNoaXBwaW5nTWV0aG9kQXJncyA9IHtcclxuICBpbnB1dDogVGVzdFNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUXVlcnlab25lQXJncyA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlZnVuZCA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWZ1bmQnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgaXRlbXM6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHNoaXBwaW5nOiBTY2FsYXJzWydJbnQnXTtcclxuICBhZGp1c3RtZW50OiBTY2FsYXJzWydJbnQnXTtcclxuICB0b3RhbDogU2NhbGFyc1snSW50J107XHJcbiAgbWV0aG9kPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2FjdGlvbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHJlYXNvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBvcmRlckl0ZW1zOiBBcnJheTxPcmRlckl0ZW0+O1xyXG4gIHBheW1lbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRPcmRlcklucHV0ID0ge1xyXG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmVJbnB1dD47XHJcbiAgc2hpcHBpbmc6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGFkanVzdG1lbnQ6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHBheW1lbnRJZDogU2NhbGFyc1snSUQnXTtcclxuICByZWFzb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRPcmRlclJlc3VsdCA9IFJlZnVuZCB8IFF1YW50aXR5VG9vR3JlYXRFcnJvciB8IE5vdGhpbmdUb1JlZnVuZEVycm9yIHwgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciB8IE11bHRpcGxlT3JkZXJFcnJvciB8IFBheW1lbnRPcmRlck1pc21hdGNoRXJyb3IgfCBSZWZ1bmRPcmRlclN0YXRlRXJyb3IgfCBBbHJlYWR5UmVmdW5kZWRFcnJvciB8IFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yO1xyXG5cclxuLyoqIFJldHVybmVkIGlmIGFuIGF0dGVtcHRpbmcgdG8gcmVmdW5kIGFuIE9yZGVyIHdoaWNoIGlzIG5vdCBpbiB0aGUgZXhwZWN0ZWQgc3RhdGUgKi9cclxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJTdGF0ZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWZ1bmRPcmRlclN0YXRlRXJyb3InO1xyXG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xyXG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG9yZGVyU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIFJldHVybmVkIHdoZW4gYSBjYWxsIHRvIG1vZGlmeU9yZGVyIGZhaWxzIHRvIGluY2x1ZGUgYSByZWZ1bmRQYXltZW50SWQgZXZlblxyXG4gKiB0aG91Z2ggdGhlIHByaWNlIGhhcyBkZWNyZWFzZWQgYXMgYSByZXN1bHQgb2YgdGhlIGNoYW5nZXMuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcic7XHJcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XHJcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG4vKiogUmV0dXJuZWQgd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBpbiB0cmFuc2l0aW9uaW5nIHRoZSBSZWZ1bmQgc3RhdGUgKi9cclxuZXhwb3J0IHR5cGUgUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0cmFuc2l0aW9uRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZyb21TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdG9TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnID0gQ3VzdG9tRmllbGQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJztcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIHJlYWRvbmx5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgbnVsbGFibGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGVudGl0eTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2NhbGFyRmllbGRzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsZWFzZSA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUmVsZWFzZSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XHJcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG9yZGVySXRlbTogT3JkZXJJdGVtO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdFJlc3VsdCA9IFByb2R1Y3QgfCBQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsSW5wdXQgPSB7XHJcbiAgcHJvZHVjdFZhcmlhbnRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dCA9IHtcclxuICBwcm9kdWN0SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9tb3Rpb25zRnJvbUNoYW5uZWxJbnB1dCA9IHtcclxuICBwcm9tb3Rpb25JZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJldHVybiA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnUmV0dXJuJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHByb2R1Y3RWYXJpYW50OiBQcm9kdWN0VmFyaWFudDtcclxuICB0eXBlOiBTdG9ja01vdmVtZW50VHlwZTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbiAgb3JkZXJJdGVtOiBPcmRlckl0ZW07XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSb2xlID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JvbGUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcclxuICBjaGFubmVsczogQXJyYXk8Q2hhbm5lbD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSb2xlRmlsdGVyUGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xyXG4gIGNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJvbGVMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1JvbGVMaXN0JztcclxuICBpdGVtczogQXJyYXk8Um9sZT47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBSb2xlTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxSb2xlU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPFJvbGVGaWx0ZXJQYXJhbWV0ZXI+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xyXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFJvbGVTb3J0UGFyYW1ldGVyID0ge1xyXG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2FsZSA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2FsZSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XHJcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG4gIG9yZGVySXRlbTogT3JkZXJJdGVtO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoSW5wdXQgPSB7XHJcbiAgdGVybT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBmYWNldFZhbHVlSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIGZhY2V0VmFsdWVPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XHJcbiAgZmFjZXRWYWx1ZUZpbHRlcnM/OiBNYXliZTxBcnJheTxGYWNldFZhbHVlRmlsdGVySW5wdXQ+PjtcclxuICBjb2xsZWN0aW9uSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBjb2xsZWN0aW9uU2x1Zz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBncm91cEJ5UHJvZHVjdD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIHNvcnQ/OiBNYXliZTxTZWFyY2hSZXN1bHRTb3J0UGFyYW1ldGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlYXJjaFJlaW5kZXhSZXNwb25zZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1NlYXJjaFJlaW5kZXhSZXNwb25zZSc7XHJcbiAgc3VjY2VzczogU2NhbGFyc1snQm9vbGVhbiddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzcG9uc2UgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTZWFyY2hSZXNwb25zZSc7XHJcbiAgaXRlbXM6IEFycmF5PFNlYXJjaFJlc3VsdD47XHJcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XHJcbiAgZmFjZXRWYWx1ZXM6IEFycmF5PEZhY2V0VmFsdWVSZXN1bHQ+O1xyXG4gIGNvbGxlY3Rpb25zOiBBcnJheTxDb2xsZWN0aW9uUmVzdWx0PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlYXJjaFJlc3VsdCA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1NlYXJjaFJlc3VsdCc7XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIC8qKiBBbiBhcnJheSBvZiBpZHMgb2YgdGhlIENoYW5uZWxzIGluIHdoaWNoIHRoaXMgcmVzdWx0IGFwcGVhcnMgKi9cclxuICBjaGFubmVsSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcclxuICBza3U6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHNsdWc6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcclxuICBwcm9kdWN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcHJvZHVjdEFzc2V0PzogTWF5YmU8U2VhcmNoUmVzdWx0QXNzZXQ+O1xyXG4gIHByb2R1Y3RWYXJpYW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJvZHVjdFZhcmlhbnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwcm9kdWN0VmFyaWFudEFzc2V0PzogTWF5YmU8U2VhcmNoUmVzdWx0QXNzZXQ+O1xyXG4gIHByaWNlOiBTZWFyY2hSZXN1bHRQcmljZTtcclxuICBwcmljZVdpdGhUYXg6IFNlYXJjaFJlc3VsdFByaWNlO1xyXG4gIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBmYWNldElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgZmFjZXRWYWx1ZUlkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XHJcbiAgLyoqIEFuIGFycmF5IG9mIGlkcyBvZiB0aGUgQ29sbGVjdGlvbnMgaW4gd2hpY2ggdGhpcyByZXN1bHQgYXBwZWFycyAqL1xyXG4gIGNvbGxlY3Rpb25JZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xyXG4gIC8qKiBBIHJlbGV2ZW5jZSBzY29yZSBmb3IgdGhlIHJlc3VsdC4gRGlmZmVycyBiZXR3ZWVuIGRhdGFiYXNlIGltcGxlbWVudGF0aW9ucyAqL1xyXG4gIHNjb3JlOiBTY2FsYXJzWydGbG9hdCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0QXNzZXQgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHRBc3NldCc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcHJldmlldzogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZm9jYWxQb2ludD86IE1heWJlPENvb3JkaW5hdGU+O1xyXG59O1xyXG5cclxuLyoqIFRoZSBwcmljZSBvZiBhIHNlYXJjaCByZXN1bHQgcHJvZHVjdCwgZWl0aGVyIGFzIGEgcmFuZ2Ugb3IgYXMgYSBzaW5nbGUgcHJpY2UgKi9cclxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0UHJpY2UgPSBQcmljZVJhbmdlIHwgU2luZ2xlUHJpY2U7XHJcblxyXG5leHBvcnQgdHlwZSBTZWFyY2hSZXN1bHRTb3J0UGFyYW1ldGVyID0ge1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHByaWNlPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNlcnZlckNvbmZpZyA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1NlcnZlckNvbmZpZyc7XHJcbiAgb3JkZXJQcm9jZXNzOiBBcnJheTxPcmRlclByb2Nlc3NTdGF0ZT47XHJcbiAgcGVybWl0dGVkQXNzZXRUeXBlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uRGVmaW5pdGlvbj47XHJcbiAgY3VzdG9tRmllbGRDb25maWc6IEN1c3RvbUZpZWxkcztcclxufTtcclxuXHJcbi8qKiBSZXR1cm5lZCBpZiB0aGUgUGF5bWVudCBzZXR0bGVtZW50IGZhaWxzICovXHJcbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2V0dGxlUGF5bWVudEVycm9yJztcclxuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcclxuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBwYXltZW50RXJyb3JNZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRSZXN1bHQgPSBQYXltZW50IHwgU2V0dGxlUGF5bWVudEVycm9yIHwgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHwgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVJlZnVuZElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHRyYW5zYWN0aW9uSWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0dGxlUmVmdW5kUmVzdWx0ID0gUmVmdW5kIHwgUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBTaGlwcGluZ0xpbmUgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTaGlwcGluZ0xpbmUnO1xyXG4gIHNoaXBwaW5nTWV0aG9kOiBTaGlwcGluZ01ldGhvZDtcclxuICBwcmljZTogU2NhbGFyc1snSW50J107XHJcbiAgcHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcclxuICBkaXNjb3VudGVkUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGRpc2NvdW50ZWRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGRpc2NvdW50czogQXJyYXk8RGlzY291bnQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2QgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlckNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGNoZWNrZXI6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbjtcclxuICBjYWxjdWxhdG9yOiBDb25maWd1cmFibGVPcGVyYXRpb247XHJcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG4gIGZ1bGZpbGxtZW50SGFuZGxlckNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kTGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PFNoaXBwaW5nTWV0aG9kPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kTGlzdE9wdGlvbnMgPSB7XHJcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xyXG4gIHNvcnQ/OiBNYXliZTxTaGlwcGluZ01ldGhvZFNvcnRQYXJhbWV0ZXI+O1xyXG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cclxuICBmaWx0ZXI/OiBNYXliZTxTaGlwcGluZ01ldGhvZEZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RRdW90ZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kUXVvdGUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICBwcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICAvKiogQW55IG9wdGlvbmFsIG1ldGFkYXRhIHJldHVybmVkIGJ5IHRoZSBTaGlwcGluZ0NhbGN1bGF0b3IgaW4gdGhlIFNoaXBwaW5nQ2FsY3VsYXRpb25SZXN1bHQgKi9cclxuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kU29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBmdWxmaWxsbWVudEhhbmRsZXJDb2RlPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kVHJhbnNsYXRpb24gPSB7XHJcbiAgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbi8qKiBUaGUgcHJpY2UgdmFsdWUgd2hlcmUgdGhlIHJlc3VsdCBoYXMgYSBzaW5nbGUgcHJpY2UgKi9cclxuZXhwb3J0IHR5cGUgU2luZ2xlUHJpY2UgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTaW5nbGVQcmljZSc7XHJcbiAgdmFsdWU6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gU29ydE9yZGVyIHtcclxuICBBU0MgPSAnQVNDJyxcclxuICBERVNDID0gJ0RFU0MnXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN0b2NrQWRqdXN0bWVudCA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU3RvY2tBZGp1c3RtZW50JztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHByb2R1Y3RWYXJpYW50OiBQcm9kdWN0VmFyaWFudDtcclxuICB0eXBlOiBTdG9ja01vdmVtZW50VHlwZTtcclxuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTdG9ja01vdmVtZW50ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xyXG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xyXG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0b2NrTW92ZW1lbnRJdGVtID0gU3RvY2tBZGp1c3RtZW50IHwgQWxsb2NhdGlvbiB8IFNhbGUgfCBDYW5jZWxsYXRpb24gfCBSZXR1cm4gfCBSZWxlYXNlO1xyXG5cclxuZXhwb3J0IHR5cGUgU3RvY2tNb3ZlbWVudExpc3QgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTdG9ja01vdmVtZW50TGlzdCc7XHJcbiAgaXRlbXM6IEFycmF5PFN0b2NrTW92ZW1lbnRJdGVtPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFN0b2NrTW92ZW1lbnRMaXN0T3B0aW9ucyA9IHtcclxuICB0eXBlPzogTWF5YmU8U3RvY2tNb3ZlbWVudFR5cGU+O1xyXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIFN0b2NrTW92ZW1lbnRUeXBlIHtcclxuICBBREpVU1RNRU5UID0gJ0FESlVTVE1FTlQnLFxyXG4gIEFMTE9DQVRJT04gPSAnQUxMT0NBVElPTicsXHJcbiAgUkVMRUFTRSA9ICdSRUxFQVNFJyxcclxuICBTQUxFID0gJ1NBTEUnLFxyXG4gIENBTkNFTExBVElPTiA9ICdDQU5DRUxMQVRJT04nLFxyXG4gIFJFVFVSTiA9ICdSRVRVUk4nXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnID0gQ3VzdG9tRmllbGQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZyc7XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGxlbmd0aD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgcGF0dGVybj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBvcHRpb25zPzogTWF5YmU8QXJyYXk8U3RyaW5nRmllbGRPcHRpb24+PjtcclxuICB1aT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTdHJpbmdGaWVsZE9wdGlvbiA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1N0cmluZ0ZpZWxkT3B0aW9uJztcclxuICB2YWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcclxufTtcclxuXHJcbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIFN0cmluZyBmaWVsZCAqL1xyXG5leHBvcnQgdHlwZSBTdHJpbmdPcGVyYXRvcnMgPSB7XHJcbiAgZXE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbm90RXE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29udGFpbnM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbm90Q29udGFpbnM/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgaW4/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG4gIG5vdEluPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcclxuICByZWdleD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufTtcclxuXHJcbi8qKiBJbmRpY2F0ZXMgdGhhdCBhbiBvcGVyYXRpb24gc3VjY2VlZGVkLCB3aGVyZSB3ZSBkbyBub3Qgd2FudCB0byByZXR1cm4gYW55IG1vcmUgc3BlY2lmaWMgaW5mb3JtYXRpb24uICovXHJcbmV4cG9ydCB0eXBlIFN1Y2Nlc3MgPSB7XHJcbiAgX190eXBlbmFtZT86ICdTdWNjZXNzJztcclxuICBzdWNjZXNzOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTdXJjaGFyZ2UgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnU3VyY2hhcmdlJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBza3U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdGF4TGluZXM6IEFycmF5PFRheExpbmU+O1xyXG4gIHByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICBwcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHRheFJhdGU6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBTdXJjaGFyZ2VJbnB1dCA9IHtcclxuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgc2t1PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHByaWNlOiBTY2FsYXJzWydJbnQnXTtcclxuICBwcmljZUluY2x1ZGVzVGF4OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgdGF4UmF0ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xyXG4gIHRheERlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGFnID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1RhZyc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB2YWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBUYWdGaWx0ZXJQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XHJcbiAgdmFsdWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGFnTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XHJcbiAgX190eXBlbmFtZT86ICdUYWdMaXN0JztcclxuICBpdGVtczogQXJyYXk8VGFnPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRhZ0xpc3RPcHRpb25zID0ge1xyXG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xyXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cclxuICBzb3J0PzogTWF5YmU8VGFnU29ydFBhcmFtZXRlcj47XHJcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xyXG4gIGZpbHRlcj86IE1heWJlPFRhZ0ZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGFnU29ydFBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIHZhbHVlPzogTWF5YmU8U29ydE9yZGVyPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRheENhdGVnb3J5ID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzRGVmYXVsdDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBUYXhMaW5lID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnVGF4TGluZSc7XHJcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHRheFJhdGU6IFNjYWxhcnNbJ0Zsb2F0J107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBUYXhSYXRlID0gTm9kZSAmIHtcclxuICBfX3R5cGVuYW1lPzogJ1RheFJhdGUnO1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHZhbHVlOiBTY2FsYXJzWydGbG9hdCddO1xyXG4gIGNhdGVnb3J5OiBUYXhDYXRlZ29yeTtcclxuICB6b25lOiBab25lO1xyXG4gIGN1c3RvbWVyR3JvdXA/OiBNYXliZTxDdXN0b21lckdyb3VwPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGF4UmF0ZUZpbHRlclBhcmFtZXRlciA9IHtcclxuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcclxuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcclxuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcclxuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XHJcbiAgdmFsdWU/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGF4UmF0ZUxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnVGF4UmF0ZUxpc3QnO1xyXG4gIGl0ZW1zOiBBcnJheTxUYXhSYXRlPjtcclxuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRheFJhdGVMaXN0T3B0aW9ucyA9IHtcclxuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXHJcbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cclxuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXHJcbiAgc29ydD86IE1heWJlPFRheFJhdGVTb3J0UGFyYW1ldGVyPjtcclxuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXHJcbiAgZmlsdGVyPzogTWF5YmU8VGF4UmF0ZUZpbHRlclBhcmFtZXRlcj47XHJcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXHJcbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGF4UmF0ZVNvcnRQYXJhbWV0ZXIgPSB7XHJcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xyXG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XHJcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcclxuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcclxuICB2YWx1ZT86IE1heWJlPFNvcnRPcmRlcj47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNJbnB1dCA9IHtcclxuICBzaGlwcGluZ0FkZHJlc3M6IENyZWF0ZUFkZHJlc3NJbnB1dDtcclxuICBsaW5lczogQXJyYXk8VGVzdFNoaXBwaW5nTWV0aG9kT3JkZXJMaW5lSW5wdXQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGVzdFNoaXBwaW5nTWV0aG9kSW5wdXQgPSB7XHJcbiAgY2hlY2tlcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XHJcbiAgY2FsY3VsYXRvcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XHJcbiAgc2hpcHBpbmdBZGRyZXNzOiBDcmVhdGVBZGRyZXNzSW5wdXQ7XHJcbiAgbGluZXM6IEFycmF5PFRlc3RTaGlwcGluZ01ldGhvZE9yZGVyTGluZUlucHV0PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZE9yZGVyTGluZUlucHV0ID0ge1xyXG4gIHByb2R1Y3RWYXJpYW50SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGVzdFNoaXBwaW5nTWV0aG9kUXVvdGUgPSB7XHJcbiAgX190eXBlbmFtZT86ICdUZXN0U2hpcHBpbmdNZXRob2RRdW90ZSc7XHJcbiAgcHJpY2U6IFNjYWxhcnNbJ0ludCddO1xyXG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XHJcbiAgbWV0YWRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGVzdFNoaXBwaW5nTWV0aG9kUmVzdWx0ID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnVGVzdFNoaXBwaW5nTWV0aG9kUmVzdWx0JztcclxuICBlbGlnaWJsZTogU2NhbGFyc1snQm9vbGVhbiddO1xyXG4gIHF1b3RlPzogTWF5YmU8VGVzdFNoaXBwaW5nTWV0aG9kUXVvdGU+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGV4dEN1c3RvbUZpZWxkQ29uZmlnID0gQ3VzdG9tRmllbGQgJiB7XHJcbiAgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnO1xyXG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xyXG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XHJcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZVJlc3VsdCA9IEZ1bGZpbGxtZW50IHwgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25PcmRlclRvU3RhdGVSZXN1bHQgPSBPcmRlciB8IE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVSZXN1bHQgPSBQYXltZW50IHwgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgVWlTdGF0ZSA9IHtcclxuICBfX3R5cGVuYW1lPzogJ1VpU3RhdGUnO1xyXG4gIGxhbmd1YWdlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbG9jYWxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGNvbnRlbnRMYW5ndWFnZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIHRoZW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBkaXNwbGF5VWlFeHRlbnNpb25Qb2ludHM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JJbnB1dCA9IHtcclxuICBmaXJzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgbGFzdE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBhc3N3b3JkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVBZGRyZXNzSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBzdHJlZXRMaW5lMj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjaXR5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY291bnRyeUNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZGVmYXVsdFNoaXBwaW5nQWRkcmVzcz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgZGVmYXVsdEJpbGxpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQWRtaW5pc3RyYXRvcklucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGZpcnN0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBsYXN0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcm9sZUlkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQXNzZXRJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGZvY2FsUG9pbnQ/OiBNYXliZTxDb29yZGluYXRlSW5wdXQ+O1xyXG4gIHRhZ3M/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDaGFubmVsSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB0b2tlbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZWZhdWx0TGFuZ3VhZ2VDb2RlPzogTWF5YmU8TGFuZ3VhZ2VDb2RlPjtcclxuICBwcmljZXNJbmNsdWRlVGF4PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxDdXJyZW5jeUNvZGU+O1xyXG4gIGRlZmF1bHRUYXhab25lSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBkZWZhdWx0U2hpcHBpbmdab25lSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ2hhbm5lbFJlc3VsdCA9IENoYW5uZWwgfCBMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ29sbGVjdGlvbklucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlzUHJpdmF0ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgZmVhdHVyZWRBc3NldElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgcGFyZW50SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBhc3NldElkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBmaWx0ZXJzPzogTWF5YmU8QXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+PjtcclxuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxVcGRhdGVDb2xsZWN0aW9uVHJhbnNsYXRpb25JbnB1dD4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDb2xsZWN0aW9uVHJhbnNsYXRpb25JbnB1dCA9IHtcclxuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgc2x1Zz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ291bnRyeUlucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdHJhbnNsYXRpb25zPzogTWF5YmU8QXJyYXk8Q291bnRyeVRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVySW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgdGl0bGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZmlyc3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGxhc3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJOb3RlSW5wdXQgPSB7XHJcbiAgbm90ZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5vdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJSZXN1bHQgPSBDdXN0b21lciB8IEVtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3I7XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVGYWNldElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGlzUHJpdmF0ZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxGYWNldFRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZUlucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdHJhbnNsYXRpb25zPzogTWF5YmU8QXJyYXk8RmFjZXRWYWx1ZVRyYW5zbGF0aW9uSW5wdXQ+PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsU2V0dGluZ3NJbnB1dCA9IHtcclxuICBhdmFpbGFibGVMYW5ndWFnZXM/OiBNYXliZTxBcnJheTxMYW5ndWFnZUNvZGU+PjtcclxuICB0cmFja0ludmVudG9yeT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsU2V0dGluZ3NSZXN1bHQgPSBHbG9iYWxTZXR0aW5ncyB8IENoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcjtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyQWRkcmVzc0lucHV0ID0ge1xyXG4gIGZ1bGxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGNvbXBhbnk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgc3RyZWV0TGluZTE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwcm92aW5jZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGNvdW50cnlDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJOb3RlSW5wdXQgPSB7XHJcbiAgbm90ZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5vdGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgaXNQdWJsaWM/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUGF5bWVudE1ldGhvZElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjaGVja2VyPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG4gIGhhbmRsZXI/OiBNYXliZTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBmZWF0dXJlZEFzc2V0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBhc3NldElkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBmYWNldFZhbHVlSWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PFByb2R1Y3RUcmFuc2xhdGlvbklucHV0Pj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdHJhbnNsYXRpb25zPzogTWF5YmU8QXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb25JbnB1dD4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbklucHV0Pj47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgZW5hYmxlZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgdHJhbnNsYXRpb25zPzogTWF5YmU8QXJyYXk8UHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbklucHV0Pj47XHJcbiAgZmFjZXRWYWx1ZUlkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxuICBza3U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdGF4Q2F0ZWdvcnlJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIHByaWNlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIGZlYXR1cmVkQXNzZXRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xyXG4gIHN0b2NrT25IYW5kPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIG91dE9mU3RvY2tUaHJlc2hvbGQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XHJcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XHJcbiAgdHJhY2tJbnZlbnRvcnk/OiBNYXliZTxHbG9iYWxGbGFnPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvbW90aW9uSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBzdGFydHNBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIGVuZHNBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIGNvdXBvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xyXG4gIGNvbmRpdGlvbnM/OiBNYXliZTxBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD4+O1xyXG4gIGFjdGlvbnM/OiBNYXliZTxBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD4+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb25SZXN1bHQgPSBQcm9tb3Rpb24gfCBNaXNzaW5nQ29uZGl0aW9uc0Vycm9yO1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUm9sZUlucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgcGVybWlzc2lvbnM/OiBNYXliZTxBcnJheTxQZXJtaXNzaW9uPj47XHJcbiAgY2hhbm5lbElkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxuICBmdWxmaWxsbWVudEhhbmRsZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgY2hlY2tlcj86IE1heWJlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcclxuICBjYWxjdWxhdG9yPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xyXG4gIHRyYW5zbGF0aW9uczogQXJyYXk8U2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbklucHV0PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGFnSW5wdXQgPSB7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgdmFsdWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhDYXRlZ29yeUlucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgaXNEZWZhdWx0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGF4UmF0ZUlucHV0ID0ge1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XHJcbiAgdmFsdWU/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcclxuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxuICBjYXRlZ29yeUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgem9uZUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgY3VzdG9tZXJHcm91cElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XHJcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVpvbmVJbnB1dCA9IHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXNlciA9IE5vZGUgJiB7XHJcbiAgX190eXBlbmFtZT86ICdVc2VyJztcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIGlkZW50aWZpZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHZlcmlmaWVkOiBTY2FsYXJzWydCb29sZWFuJ107XHJcbiAgcm9sZXM6IEFycmF5PFJvbGU+O1xyXG4gIGxhc3RMb2dpbj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xyXG4gIGF1dGhlbnRpY2F0aW9uTWV0aG9kczogQXJyYXk8QXV0aGVudGljYXRpb25NZXRob2Q+O1xyXG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBVc2VyU3RhdHVzID0ge1xyXG4gIF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cyc7XHJcbiAgdXNlcm5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIGlzTG9nZ2VkSW46IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxuICBsb2dpblRpbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcclxuICBhY3RpdmVDaGFubmVsSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcclxuICBjaGFubmVsczogQXJyYXk8Q3VycmVudFVzZXJDaGFubmVsPjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFVzZXJTdGF0dXNJbnB1dCA9IHtcclxuICB1c2VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgbG9naW5UaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBhY3RpdmVDaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY2hhbm5lbHM6IEFycmF5PEN1cnJlbnRVc2VyQ2hhbm5lbElucHV0PjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIFpvbmUgPSBOb2RlICYge1xyXG4gIF9fdHlwZW5hbWU/OiAnWm9uZSc7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcclxuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxuICBtZW1iZXJzOiBBcnJheTxDb3VudHJ5PjtcclxuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUm9sZUZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSb2xlJyB9XHJcbiAgJiBQaWNrPFJvbGUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdwZXJtaXNzaW9ucyc+XHJcbiAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZScgfCAndG9rZW4nPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcicgfVxyXG4gICYgUGljazxBZG1pbmlzdHJhdG9yLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdlbWFpbEFkZHJlc3MnPlxyXG4gICYgeyB1c2VyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxyXG4gICAgJiBQaWNrPFVzZXIsICdpZCcgfCAnaWRlbnRpZmllcicgfCAnbGFzdExvZ2luJz5cclxuICAgICYgeyByb2xlczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxyXG4gICAgICAmIFJvbGVGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWRtaW5pc3RyYXRvcnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8QWRtaW5pc3RyYXRvckxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWRtaW5pc3RyYXRvcnNRdWVyeSA9IHsgYWRtaW5pc3RyYXRvcnM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yTGlzdCcgfVxyXG4gICAgJiBQaWNrPEFkbWluaXN0cmF0b3JMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICAgJiBBZG1pbmlzdHJhdG9yRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnkgPSB7IGFjdGl2ZUFkbWluaXN0cmF0b3I/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcicgfVxyXG4gICAgJiBBZG1pbmlzdHJhdG9yRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWRtaW5pc3RyYXRvclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBZG1pbmlzdHJhdG9yUXVlcnkgPSB7IGFkbWluaXN0cmF0b3I/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcicgfVxyXG4gICAgJiBBZG1pbmlzdHJhdG9yRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVBZG1pbmlzdHJhdG9ySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgY3JlYXRlQWRtaW5pc3RyYXRvcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVBZG1pbmlzdHJhdG9ySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgdXBkYXRlQWRtaW5pc3RyYXRvcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9ySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgdXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cclxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IGRlbGV0ZUFkbWluaXN0cmF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Um9sZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8Um9sZUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Um9sZXNRdWVyeSA9IHsgcm9sZXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdSb2xlTGlzdCcgfVxyXG4gICAgJiBQaWNrPFJvbGVMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cclxuICAgICAgJiBSb2xlRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRSb2xlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFJvbGVRdWVyeSA9IHsgcm9sZT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdSb2xlJyB9XHJcbiAgICAmIFJvbGVGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVSb2xlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVJvbGVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUm9sZU11dGF0aW9uID0geyBjcmVhdGVSb2xlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxyXG4gICAgJiBSb2xlRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVSb2xlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVJvbGVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUm9sZU11dGF0aW9uID0geyB1cGRhdGVSb2xlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxyXG4gICAgJiBSb2xlRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVSb2xlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVJvbGVNdXRhdGlvbiA9IHsgZGVsZXRlUm9sZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgYWRtaW5pc3RyYXRvcklkOiBTY2FsYXJzWydJRCddO1xyXG4gIHJvbGVJZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uID0geyBhc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcicgfVxyXG4gICAgJiBBZG1pbmlzdHJhdG9yRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDdXJyZW50VXNlckZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDdXJyZW50VXNlcicgfVxyXG4gICYgUGljazxDdXJyZW50VXNlciwgJ2lkJyB8ICdpZGVudGlmaWVyJz5cclxuICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXJyZW50VXNlckNoYW5uZWwnIH1cclxuICAgICYgUGljazxDdXJyZW50VXNlckNoYW5uZWwsICdpZCcgfCAnY29kZScgfCAndG9rZW4nIHwgJ3Blcm1pc3Npb25zJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBBdHRlbXB0TG9naW5NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICB1c2VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgcGFzc3dvcmQ6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG4gIHJlbWVtYmVyTWU6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQXR0ZW1wdExvZ2luTXV0YXRpb24gPSB7IGxvZ2luOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInIH1cclxuICAgICYgQ3VycmVudFVzZXJGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSW52YWxpZENyZWRlbnRpYWxzRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfSW52YWxpZENyZWRlbnRpYWxzRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ05hdGl2ZUF1dGhTdHJhdGVneUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X05hdGl2ZUF1dGhTdHJhdGVneUVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgTG9nT3V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBMb2dPdXRNdXRhdGlvbiA9IHsgbG9nb3V0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU3VjY2VzcycgfVxyXG4gICAgJiBQaWNrPFN1Y2Nlc3MsICdzdWNjZXNzJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXJyZW50VXNlclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VycmVudFVzZXJRdWVyeSA9IHsgbWU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInIH1cclxuICAgICYgQ3VycmVudFVzZXJGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBSZXF1ZXN0U3RhcnRlZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXJ0ZWRNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdyZXF1ZXN0U3RhcnRlZCc+O1xyXG5cclxuZXhwb3J0IHR5cGUgUmVxdWVzdENvbXBsZXRlZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVxdWVzdENvbXBsZXRlZE11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3JlcXVlc3RDb21wbGV0ZWQnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFVzZXJTdGF0dXNGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICYgUGljazxVc2VyU3RhdHVzLCAndXNlcm5hbWUnIHwgJ2lzTG9nZ2VkSW4nIHwgJ2xvZ2luVGltZScgfCAnYWN0aXZlQ2hhbm5lbElkJyB8ICdwZXJtaXNzaW9ucyc+XHJcbiAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXJDaGFubmVsJyB9XHJcbiAgICAmIFBpY2s8Q3VycmVudFVzZXJDaGFubmVsLCAnaWQnIHwgJ2NvZGUnIHwgJ3Rva2VuJyB8ICdwZXJtaXNzaW9ucyc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0QXNMb2dnZWRJbk11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVc2VyU3RhdHVzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkSW5NdXRhdGlvbiA9IHsgc2V0QXNMb2dnZWRJbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cclxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0QXNMb2dnZWRPdXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkT3V0TXV0YXRpb24gPSB7IHNldEFzTG9nZ2VkT3V0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBTZXRVaUxhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbiAgbG9jYWxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRVaUxhbmd1YWdlTXV0YXRpb24gPSBQaWNrPE11dGF0aW9uLCAnc2V0VWlMYW5ndWFnZScgfCAnc2V0VWlMb2NhbGUnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFNldFVpTG9jYWxlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgbG9jYWxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBTZXRVaUxvY2FsZU11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldFVpTG9jYWxlJz47XHJcblxyXG5leHBvcnQgdHlwZSBTZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBkaXNwbGF5OiBTY2FsYXJzWydCb29sZWFuJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50c011dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldERpc3BsYXlVaUV4dGVuc2lvblBvaW50cyc+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0Q29udGVudExhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldENvbnRlbnRMYW5ndWFnZU11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldENvbnRlbnRMYW5ndWFnZSc+O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlUaGVtZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIHRoZW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0VWlUaGVtZU11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldFVpVGhlbWUnPjtcclxuXHJcbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtTdGF0dXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldE5ldHdvcmtTdGF0dXNRdWVyeSA9IHsgbmV0d29ya1N0YXR1czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ05ldHdvcmtTdGF0dXMnIH1cclxuICAgICYgUGljazxOZXR3b3JrU3RhdHVzLCAnaW5GbGlnaHRSZXF1ZXN0cyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VXNlclN0YXR1c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VXNlclN0YXR1c1F1ZXJ5ID0geyB1c2VyU3RhdHVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRVaVN0YXRlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRVaVN0YXRlUXVlcnkgPSB7IHVpU3RhdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdVaVN0YXRlJyB9XHJcbiAgICAmIFBpY2s8VWlTdGF0ZSwgJ2xhbmd1YWdlJyB8ICdsb2NhbGUnIHwgJ2NvbnRlbnRMYW5ndWFnZScgfCAndGhlbWUnIHwgJ2Rpc3BsYXlVaUV4dGVuc2lvblBvaW50cyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q2xpZW50U3RhdGVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldENsaWVudFN0YXRlUXVlcnkgPSB7IG5ldHdvcmtTdGF0dXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdOZXR3b3JrU3RhdHVzJyB9XHJcbiAgICAmIFBpY2s8TmV0d29ya1N0YXR1cywgJ2luRmxpZ2h0UmVxdWVzdHMnPlxyXG4gICksIHVzZXJTdGF0dXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJyB9XHJcbiAgICAmIFVzZXJTdGF0dXNGcmFnbWVudFxyXG4gICksIHVpU3RhdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdVaVN0YXRlJyB9XHJcbiAgICAmIFBpY2s8VWlTdGF0ZSwgJ2xhbmd1YWdlJyB8ICdsb2NhbGUnIHwgJ2NvbnRlbnRMYW5ndWFnZScgfCAndGhlbWUnIHwgJ2Rpc3BsYXlVaUV4dGVuc2lvblBvaW50cyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uID0geyBzZXRBY3RpdmVDaGFubmVsOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxyXG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBjaGFubmVsczogQXJyYXk8Q3VycmVudFVzZXJDaGFubmVsSW5wdXQ+IHwgQ3VycmVudFVzZXJDaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uID0geyB1cGRhdGVVc2VyQ2hhbm5lbHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJyB9XHJcbiAgICAmIFVzZXJTdGF0dXNGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25GaWx0ZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5ID0geyBjb2xsZWN0aW9uRmlsdGVyczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgJiBQaWNrPENvbGxlY3Rpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ3NsdWcnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdpc1ByaXZhdGUnIHwgJ2xhbmd1YWdlQ29kZSc+XHJcbiAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+LCBhc3NldHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKT4sIGZpbHRlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApPiwgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvblRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvblRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAnc2x1ZycgfCAnZGVzY3JpcHRpb24nPlxyXG4gICk+LCBwYXJlbnQ/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBQaWNrPENvbGxlY3Rpb24sICdpZCcgfCAnbmFtZSc+XHJcbiAgKT4sIGNoaWxkcmVuPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ25hbWUnPlxyXG4gICk+PiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDb2xsZWN0aW9uTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5ID0geyBjb2xsZWN0aW9uczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25MaXN0JyB9XHJcbiAgICAmIFBpY2s8Q29sbGVjdGlvbkxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNQcml2YXRlJz5cclxuICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICAgJiBBc3NldEZyYWdtZW50XHJcbiAgICAgICk+LCBwYXJlbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvblF1ZXJ5ID0geyBjb2xsZWN0aW9uPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICYgQ29sbGVjdGlvbkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQ29sbGVjdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IGNyZWF0ZUNvbGxlY3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIENvbGxlY3Rpb25GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQ29sbGVjdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IHVwZGF0ZUNvbGxlY3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XHJcbiAgICAmIENvbGxlY3Rpb25GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIE1vdmVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IE1vdmVDb2xsZWN0aW9uSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIE1vdmVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IG1vdmVDb2xsZWN0aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxyXG4gICAgJiBDb2xsZWN0aW9uRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvbiA9IHsgZGVsZXRlQ29sbGVjdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5ID0geyBjb2xsZWN0aW9uPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cclxuICAgICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgJiB7IHByb2R1Y3RWYXJpYW50czogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRMaXN0JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnIHwgJ3Byb2R1Y3RJZCcgfCAnbmFtZSc+XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRyZXNzRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cclxuICAmIFBpY2s8QWRkcmVzcywgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZnVsbE5hbWUnIHwgJ2NvbXBhbnknIHwgJ3N0cmVldExpbmUxJyB8ICdzdHJlZXRMaW5lMicgfCAnY2l0eScgfCAncHJvdmluY2UnIHwgJ3Bvc3RhbENvZGUnIHwgJ3Bob25lTnVtYmVyJyB8ICdkZWZhdWx0U2hpcHBpbmdBZGRyZXNzJyB8ICdkZWZhdWx0QmlsbGluZ0FkZHJlc3MnPlxyXG4gICYgeyBjb3VudHJ5OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgJiBQaWNrPENvdW50cnksICdpZCcgfCAnY29kZScgfCAnbmFtZSc+XHJcbiAgKSB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21lckZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICYgUGljazxDdXN0b21lciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAndGl0bGUnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ3Bob25lTnVtYmVyJyB8ICdlbWFpbEFkZHJlc3MnPlxyXG4gICYgeyB1c2VyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cclxuICAgICYgUGljazxVc2VyLCAnaWQnIHwgJ2lkZW50aWZpZXInIHwgJ3ZlcmlmaWVkJyB8ICdsYXN0TG9naW4nPlxyXG4gICk+LCBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxyXG4gICAgJiBBZGRyZXNzRnJhZ21lbnRcclxuICApPj4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XHJcbiAgJiBQaWNrPEN1c3RvbWVyR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckxpc3RRdWVyeSA9IHsgY3VzdG9tZXJzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJMaXN0JyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXJMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAgICYgUGljazxDdXN0b21lciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAndGl0bGUnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2VtYWlsQWRkcmVzcyc+XHJcbiAgICAgICYgeyB1c2VyPzogTWF5YmU8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdVc2VyJyB9XHJcbiAgICAgICAgJiBQaWNrPFVzZXIsICdpZCcgfCAndmVyaWZpZWQnPlxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICBvcmRlckxpc3RPcHRpb25zPzogTWF5YmU8T3JkZXJMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyUXVlcnkgPSB7IGN1c3RvbWVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIHsgZ3JvdXBzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XHJcbiAgICAgICYgUGljazxDdXN0b21lckdyb3VwLCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgKT4sIG9yZGVyczogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJMaXN0JyB9XHJcbiAgICAgICYgUGljazxPcmRlckxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAgICAgJiBQaWNrPE9yZGVyLCAnaWQnIHwgJ2NvZGUnIHwgJ3N0YXRlJyB8ICd0b3RhbFdpdGhUYXgnIHwgJ2N1cnJlbmN5Q29kZScgfCAndXBkYXRlZEF0Jz5cclxuICAgICAgKT4gfVxyXG4gICAgKSB9XHJcbiAgICAmIEN1c3RvbWVyRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQ3VzdG9tZXJJbnB1dDtcclxuICBwYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJNdXRhdGlvbiA9IHsgY3JlYXRlQ3VzdG9tZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiBDdXN0b21lckZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVDdXN0b21lcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck11dGF0aW9uID0geyB1cGRhdGVDdXN0b21lcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIEN1c3RvbWVyRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyTXV0YXRpb24gPSB7IGRlbGV0ZUN1c3RvbWVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGN1c3RvbWVySWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24gPSB7IGNyZWF0ZUN1c3RvbWVyQWRkcmVzczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cclxuICAgICYgQWRkcmVzc0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUFkZHJlc3NJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24gPSB7IHVwZGF0ZUN1c3RvbWVyQWRkcmVzczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cclxuICAgICYgQWRkcmVzc0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbiA9IHsgY3JlYXRlQ3VzdG9tZXJHcm91cDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICYgQ3VzdG9tZXJHcm91cEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVDdXN0b21lckdyb3VwSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbiA9IHsgdXBkYXRlQ3VzdG9tZXJHcm91cDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICYgQ3VzdG9tZXJHcm91cEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb24gPSB7IGRlbGV0ZUN1c3RvbWVyR3JvdXA6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJHcm91cHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8Q3VzdG9tZXJHcm91cExpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJHcm91cHNRdWVyeSA9IHsgY3VzdG9tZXJHcm91cHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwTGlzdCcgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyR3JvdXBMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeSA9IHsgY3VzdG9tZXJHcm91cD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XHJcbiAgICAmIHsgY3VzdG9tZXJzOiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckxpc3QnIH1cclxuICAgICAgJiBQaWNrPEN1c3RvbWVyTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cclxuICAgICAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2VtYWlsQWRkcmVzcycgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZSc+XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgY3VzdG9tZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uID0geyBhZGRDdXN0b21lcnNUb0dyb3VwOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxyXG4gICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBncm91cElkOiBTY2FsYXJzWydJRCddO1xyXG4gIGN1c3RvbWVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uID0geyByZW1vdmVDdXN0b21lcnNGcm9tR3JvdXA6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XHJcbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG9wdGlvbnM/OiBNYXliZTxIaXN0b3J5RW50cnlMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5ID0geyBjdXN0b21lcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyLCAnaWQnPlxyXG4gICAgJiB7IGhpc3Rvcnk6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeUxpc3QnIH1cclxuICAgICAgJiBQaWNrPEhpc3RvcnlFbnRyeUxpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeScgfVxyXG4gICAgICAgICYgUGljazxIaXN0b3J5RW50cnksICdpZCcgfCAndHlwZScgfCAnY3JlYXRlZEF0JyB8ICdpc1B1YmxpYycgfCAnZGF0YSc+XHJcbiAgICAgICAgJiB7IGFkbWluaXN0cmF0b3I/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcicgfVxyXG4gICAgICAgICAgJiBQaWNrPEFkbWluaXN0cmF0b3IsICdpZCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZSc+XHJcbiAgICAgICAgKT4gfVxyXG4gICAgICApPiB9XHJcbiAgICApIH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQWRkTm90ZVRvQ3VzdG9tZXJJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvbiA9IHsgYWRkTm90ZVRvQ3VzdG9tZXI6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxyXG4gICAgJiBQaWNrPEN1c3RvbWVyLCAnaWQnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVDdXN0b21lck5vdGVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJOb3RlTXV0YXRpb24gPSB7IHVwZGF0ZUN1c3RvbWVyTm90ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeScgfVxyXG4gICAgJiBQaWNrPEhpc3RvcnlFbnRyeSwgJ2lkJyB8ICdkYXRhJyB8ICdpc1B1YmxpYyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uID0geyBkZWxldGVDdXN0b21lck5vdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZUZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnY29kZScgfCAnbmFtZSc+XHJcbiAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWVUcmFuc2xhdGlvbicgfVxyXG4gICAgJiBQaWNrPEZhY2V0VmFsdWVUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnPlxyXG4gICk+LCBmYWNldDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAmIFBpY2s8RmFjZXQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnPlxyXG4gICkgfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgRmFjZXRXaXRoVmFsdWVzRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdsYW5ndWFnZUNvZGUnIHwgJ2lzUHJpdmF0ZScgfCAnY29kZScgfCAnbmFtZSc+XHJcbiAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VHJhbnNsYXRpb24nIH1cclxuICAgICYgUGljazxGYWNldFRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgKT4sIHZhbHVlczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAgICYgRmFjZXRWYWx1ZUZyYWdtZW50XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlRmFjZXRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRNdXRhdGlvbiA9IHsgY3JlYXRlRmFjZXQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgJiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZUZhY2V0SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0TXV0YXRpb24gPSB7IHVwZGF0ZUZhY2V0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICYgRmFjZXRXaXRoVmFsdWVzRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXRNdXRhdGlvbiA9IHsgZGVsZXRlRmFjZXQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlRmFjZXRWYWx1ZUlucHV0PiB8IENyZWF0ZUZhY2V0VmFsdWVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvbiA9IHsgY3JlYXRlRmFjZXRWYWx1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAmIEZhY2V0VmFsdWVGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBBcnJheTxVcGRhdGVGYWNldFZhbHVlSW5wdXQ+IHwgVXBkYXRlRmFjZXRWYWx1ZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVGYWNldFZhbHVlc011dGF0aW9uID0geyB1cGRhdGVGYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cclxuICAgICYgRmFjZXRWYWx1ZUZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XHJcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVGYWNldFZhbHVlc011dGF0aW9uID0geyBkZWxldGVGYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPEZhY2V0TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRGYWNldExpc3RRdWVyeSA9IHsgZmFjZXRzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRMaXN0JyB9XHJcbiAgICAmIFBpY2s8RmFjZXRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAgICYgRmFjZXRXaXRoVmFsdWVzRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRGYWNldFdpdGhWYWx1ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnkgPSB7IGZhY2V0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAmIEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIERpc2NvdW50RnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Rpc2NvdW50JyB9XHJcbiAgJiBQaWNrPERpc2NvdW50LCAnYWRqdXN0bWVudFNvdXJjZScgfCAnYW1vdW50JyB8ICdhbW91bnRXaXRoVGF4JyB8ICdkZXNjcmlwdGlvbicgfCAndHlwZSc+XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kJyB9XHJcbiAgJiBQaWNrPFJlZnVuZCwgJ2lkJyB8ICdzdGF0ZScgfCAnaXRlbXMnIHwgJ3NoaXBwaW5nJyB8ICdhZGp1c3RtZW50JyB8ICd0cmFuc2FjdGlvbklkJyB8ICdwYXltZW50SWQnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJBZGRyZXNzRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcycgfVxyXG4gICYgUGljazxPcmRlckFkZHJlc3MsICdmdWxsTmFtZScgfCAnY29tcGFueScgfCAnc3RyZWV0TGluZTEnIHwgJ3N0cmVldExpbmUyJyB8ICdjaXR5JyB8ICdwcm92aW5jZScgfCAncG9zdGFsQ29kZScgfCAnY291bnRyeScgfCAnY291bnRyeUNvZGUnIHwgJ3Bob25lTnVtYmVyJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIE9yZGVyRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgJiBQaWNrPE9yZGVyLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdvcmRlclBsYWNlZEF0JyB8ICdjb2RlJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZSc+XHJcbiAgJiB7IGN1c3RvbWVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZSc+XHJcbiAgKT4sIHNoaXBwaW5nTGluZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ0xpbmUnIH1cclxuICAgICYgeyBzaGlwcGluZ01ldGhvZDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kLCAnbmFtZSc+XHJcbiAgICApIH1cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBGdWxmaWxsbWVudEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxyXG4gICYgUGljazxGdWxmaWxsbWVudCwgJ2lkJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ21ldGhvZCcgfCAndHJhY2tpbmdDb2RlJz5cclxuICAmIHsgb3JkZXJJdGVtczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVySXRlbScgfVxyXG4gICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBPcmRlckxpbmVGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJMaW5lJyB9XHJcbiAgJiBQaWNrPE9yZGVyTGluZSwgJ2lkJyB8ICd1bml0UHJpY2UnIHwgJ3VuaXRQcmljZVdpdGhUYXgnIHwgJ3Byb3JhdGVkVW5pdFByaWNlJyB8ICdwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXgnIHwgJ3F1YW50aXR5JyB8ICdsaW5lUHJpY2UnIHwgJ2xpbmVUYXgnIHwgJ2xpbmVQcmljZVdpdGhUYXgnIHwgJ2Rpc2NvdW50ZWRMaW5lUHJpY2UnIHwgJ2Rpc2NvdW50ZWRMaW5lUHJpY2VXaXRoVGF4Jz5cclxuICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBQaWNrPEFzc2V0LCAncHJldmlldyc+XHJcbiAgKT4sIHByb2R1Y3RWYXJpYW50OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJyB8ICdza3UnIHwgJ3RyYWNrSW52ZW50b3J5JyB8ICdzdG9ja09uSGFuZCc+XHJcbiAgKSwgZGlzY291bnRzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGlzY291bnQnIH1cclxuICAgICYgRGlzY291bnRGcmFnbWVudFxyXG4gICk+LCBpdGVtczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVySXRlbScgfVxyXG4gICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJyB8ICd1bml0UHJpY2UnIHwgJ3VuaXRQcmljZVdpdGhUYXgnIHwgJ3RheFJhdGUnIHwgJ3JlZnVuZElkJyB8ICdjYW5jZWxsZWQnPlxyXG4gICAgJiB7IGZ1bGZpbGxtZW50PzogTWF5YmU8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnQnIH1cclxuICAgICAgJiBGdWxmaWxsbWVudEZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgT3JkZXJEZXRhaWxGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAmIFBpY2s8T3JkZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ3N0YXRlJyB8ICduZXh0U3RhdGVzJyB8ICdhY3RpdmUnIHwgJ3N1YlRvdGFsJyB8ICdzdWJUb3RhbFdpdGhUYXgnIHwgJ3RvdGFsJyB8ICd0b3RhbFdpdGhUYXgnIHwgJ2N1cnJlbmN5Q29kZScgfCAnc2hpcHBpbmcnIHwgJ3NoaXBwaW5nV2l0aFRheCc+XHJcbiAgJiB7IGN1c3RvbWVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XHJcbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZSc+XHJcbiAgKT4sIGxpbmVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJMaW5lJyB9XHJcbiAgICAmIE9yZGVyTGluZUZyYWdtZW50XHJcbiAgKT4sIHN1cmNoYXJnZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTdXJjaGFyZ2UnIH1cclxuICAgICYgUGljazxTdXJjaGFyZ2UsICdpZCcgfCAnc2t1JyB8ICdkZXNjcmlwdGlvbicgfCAncHJpY2UnIHwgJ3ByaWNlV2l0aFRheCcgfCAndGF4UmF0ZSc+XHJcbiAgKT4sIGRpc2NvdW50czogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Rpc2NvdW50JyB9XHJcbiAgICAmIERpc2NvdW50RnJhZ21lbnRcclxuICApPiwgcHJvbW90aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbicgfVxyXG4gICAgJiBQaWNrPFByb21vdGlvbiwgJ2lkJyB8ICdjb3Vwb25Db2RlJz5cclxuICApPiwgc2hpcHBpbmdMaW5lczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTGluZScgfVxyXG4gICAgJiB7IHNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZCcgfVxyXG4gICAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2QsICdpZCcgfCAnY29kZScgfCAnbmFtZScgfCAnZnVsZmlsbG1lbnRIYW5kbGVyQ29kZScgfCAnZGVzY3JpcHRpb24nPlxyXG4gICAgKSB9XHJcbiAgKT4sIHRheFN1bW1hcnk6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlclRheFN1bW1hcnknIH1cclxuICAgICYgUGljazxPcmRlclRheFN1bW1hcnksICdkZXNjcmlwdGlvbicgfCAndGF4QmFzZScgfCAndGF4UmF0ZScgfCAndGF4VG90YWwnPlxyXG4gICk+LCBzaGlwcGluZ0FkZHJlc3M/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJBZGRyZXNzJyB9XHJcbiAgICAmIE9yZGVyQWRkcmVzc0ZyYWdtZW50XHJcbiAgKT4sIGJpbGxpbmdBZGRyZXNzPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcycgfVxyXG4gICAgJiBPcmRlckFkZHJlc3NGcmFnbWVudFxyXG4gICk+LCBwYXltZW50cz86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50JyB9XHJcbiAgICAmIFBpY2s8UGF5bWVudCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3RyYW5zYWN0aW9uSWQnIHwgJ2Ftb3VudCcgfCAnbWV0aG9kJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAnZXJyb3JNZXNzYWdlJyB8ICdtZXRhZGF0YSc+XHJcbiAgICAmIHsgcmVmdW5kczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kJyB9XHJcbiAgICAgICYgUGljazxSZWZ1bmQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICdzdGF0ZScgfCAnaXRlbXMnIHwgJ2FkanVzdG1lbnQnIHwgJ3RvdGFsJyB8ICdwYXltZW50SWQnIHwgJ3JlYXNvbicgfCAndHJhbnNhY3Rpb25JZCcgfCAnbWV0aG9kJyB8ICdtZXRhZGF0YSc+XHJcbiAgICAgICYgeyBvcmRlckl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVySXRlbScgfVxyXG4gICAgICAgICYgUGljazxPcmRlckl0ZW0sICdpZCc+XHJcbiAgICAgICk+IH1cclxuICAgICk+IH1cclxuICApPj4sIGZ1bGZpbGxtZW50cz86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxyXG4gICAgJiBGdWxmaWxsbWVudEZyYWdtZW50XHJcbiAgKT4+LCBtb2RpZmljYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb24nIH1cclxuICAgICYgUGljazxPcmRlck1vZGlmaWNhdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ2lzU2V0dGxlZCcgfCAncHJpY2VDaGFuZ2UnIHwgJ25vdGUnPlxyXG4gICAgJiB7IHBheW1lbnQ/OiBNYXliZTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50JyB9XHJcbiAgICAgICYgUGljazxQYXltZW50LCAnaWQnIHwgJ2Ftb3VudCc+XHJcbiAgICApPiwgb3JkZXJJdGVtcz86IE1heWJlPEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVySXRlbScgfVxyXG4gICAgICAmIFBpY2s8T3JkZXJJdGVtLCAnaWQnPlxyXG4gICAgKT4+LCByZWZ1bmQ/OiBNYXliZTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmQnIH1cclxuICAgICAgJiBQaWNrPFJlZnVuZCwgJ2lkJyB8ICdwYXltZW50SWQnIHwgJ3RvdGFsJz5cclxuICAgICk+LCBzdXJjaGFyZ2VzPzogTWF5YmU8QXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU3VyY2hhcmdlJyB9XHJcbiAgICAgICYgUGljazxTdXJjaGFyZ2UsICdpZCc+XHJcbiAgICApPj4gfVxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldE9yZGVyTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxPcmRlckxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0T3JkZXJMaXN0UXVlcnkgPSB7IG9yZGVyczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGlzdCcgfVxyXG4gICAgJiBQaWNrPE9yZGVyTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgICAmIE9yZGVyRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRPcmRlclF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRPcmRlclF1ZXJ5ID0geyBvcmRlcj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxyXG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgU2V0dGxlUGF5bWVudE11dGF0aW9uID0geyBzZXR0bGVQYXltZW50OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxyXG4gICAgJiBQaWNrPFBheW1lbnQsICdpZCcgfCAndHJhbnNhY3Rpb25JZCcgfCAnYW1vdW50JyB8ICdtZXRob2QnIHwgJ3N0YXRlJyB8ICdtZXRhZGF0YSc+XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdTZXR0bGVQYXltZW50RXJyb3InIH1cclxuICAgICYgUGljazxTZXR0bGVQYXltZW50RXJyb3IsICdwYXltZW50RXJyb3JNZXNzYWdlJz5cclxuICAgICYgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICd0cmFuc2l0aW9uRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgUGljazxPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb24gPSB7IHRyYW5zaXRpb25QYXltZW50VG9TdGF0ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnQnIH1cclxuICAgICYgUGljazxQYXltZW50LCAnaWQnIHwgJ3RyYW5zYWN0aW9uSWQnIHwgJ2Ftb3VudCcgfCAnbWV0aG9kJyB8ICdzdGF0ZScgfCAnbWV0YWRhdGEnPlxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIFBpY2s8UGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cclxuICAgICYgRXJyb3JSZXN1bHRfUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogRnVsZmlsbE9yZGVySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb24gPSB7IGFkZEZ1bGZpbGxtZW50VG9PcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50JyB9XHJcbiAgICAmIEZ1bGZpbGxtZW50RnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBQaWNrPEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnIHwgJ3RyYW5zaXRpb25FcnJvcic+XHJcbiAgICAmIEVycm9yUmVzdWx0X0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NyZWF0ZUZ1bGZpbGxtZW50RXJyb3InIH1cclxuICAgICYgUGljazxDcmVhdGVGdWxmaWxsbWVudEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJyB8ICdmdWxmaWxsbWVudEhhbmRsZXJFcnJvcic+XHJcbiAgICAmIEVycm9yUmVzdWx0X0NyZWF0ZUZ1bGZpbGxtZW50RXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxPcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDYW5jZWxPcmRlcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxPcmRlck11dGF0aW9uID0geyBjYW5jZWxPcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRGV0YWlsRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUXVhbnRpdHlUb29HcmVhdEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1F1YW50aXR5VG9vR3JlYXRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTXVsdGlwbGVPcmRlckVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X011bHRpcGxlT3JkZXJFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9DYW5jZWxBY3RpdmVPcmRlckVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRPcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBSZWZ1bmRPcmRlcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZWZ1bmRPcmRlck11dGF0aW9uID0geyByZWZ1bmRPcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZCcgfVxyXG4gICAgJiBSZWZ1bmRGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUXVhbnRpdHlUb29HcmVhdEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1F1YW50aXR5VG9vR3JlYXRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTm90aGluZ1RvUmVmdW5kRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTXVsdGlwbGVPcmRlckVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X011bHRpcGxlT3JkZXJFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9QYXltZW50T3JkZXJNaXNtYXRjaEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmRPcmRlclN0YXRlRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUmVmdW5kT3JkZXJTdGF0ZUVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBbHJlYWR5UmVmdW5kZWRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9BbHJlYWR5UmVmdW5kZWRFcnJvcl9GcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBTZXR0bGVSZWZ1bmRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogU2V0dGxlUmVmdW5kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNldHRsZVJlZnVuZE11dGF0aW9uID0geyBzZXR0bGVSZWZ1bmQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmQnIH1cclxuICAgICYgUmVmdW5kRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0T3JkZXJIaXN0b3J5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0T3JkZXJIaXN0b3J5UXVlcnkgPSB7IG9yZGVyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIFBpY2s8T3JkZXIsICdpZCc+XHJcbiAgICAmIHsgaGlzdG9yeTogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5TGlzdCcgfVxyXG4gICAgICAmIFBpY2s8SGlzdG9yeUVudHJ5TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5JyB9XHJcbiAgICAgICAgJiBQaWNrPEhpc3RvcnlFbnRyeSwgJ2lkJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ2lzUHVibGljJyB8ICdkYXRhJz5cclxuICAgICAgICAmIHsgYWRtaW5pc3RyYXRvcj86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XHJcbiAgICAgICAgICAmIFBpY2s8QWRtaW5pc3RyYXRvciwgJ2lkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9PcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGROb3RlVG9PcmRlck11dGF0aW9uID0geyBhZGROb3RlVG9PcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIFBpY2s8T3JkZXIsICdpZCc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJOb3RlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZU9yZGVyTm90ZUlucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlck5vdGVNdXRhdGlvbiA9IHsgdXBkYXRlT3JkZXJOb3RlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5JyB9XHJcbiAgICAmIFBpY2s8SGlzdG9yeUVudHJ5LCAnaWQnIHwgJ2RhdGEnIHwgJ2lzUHVibGljJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVPcmRlck5vdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlT3JkZXJOb3RlTXV0YXRpb24gPSB7IGRlbGV0ZU9yZGVyTm90ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb24gPSB7IHRyYW5zaXRpb25PcmRlclRvU3RhdGU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBQaWNrPE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3IsICd0cmFuc2l0aW9uRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZU9yZGVySW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzTXV0YXRpb24gPSB7IHNldE9yZGVyQ3VzdG9tRmllbGRzPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZU11dGF0aW9uID0geyB0cmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnQnIH1cclxuICAgICYgRnVsZmlsbG1lbnRGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICAgJiBQaWNrPEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICd0cmFuc2l0aW9uRXJyb3InPlxyXG4gICAgJiBFcnJvclJlc3VsdF9GdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0T3JkZXJTdW1tYXJ5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgc3RhcnQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XHJcbiAgZW5kOiBTY2FsYXJzWydEYXRlVGltZSddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRPcmRlclN1bW1hcnlRdWVyeSA9IHsgb3JkZXJzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJMaXN0JyB9XHJcbiAgICAmIFBpY2s8T3JkZXJMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAgICYgUGljazxPcmRlciwgJ2lkJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBNb2RpZnlPcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBNb2RpZnlPcmRlcklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBNb2RpZnlPcmRlck11dGF0aW9uID0geyBtb2RpZnlPcmRlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XHJcbiAgICAmIE9yZGVyRGV0YWlsRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ05vQ2hhbmdlc1NwZWNpZmllZEVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X05vQ2hhbmdlc1NwZWNpZmllZEVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yX0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X1BheW1lbnRNZXRob2RNaXNzaW5nRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9SZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGltaXRFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ05lZ2F0aXZlUXVhbnRpdHlFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9OZWdhdGl2ZVF1YW50aXR5RXJyb3JfRnJhZ21lbnRcclxuICApIHwgKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFkZE1hbnVhbFBheW1lbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogTWFudWFsUGF5bWVudElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50TXV0YXRpb24gPSB7IGFkZE1hbnVhbFBheW1lbnRUb09yZGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cclxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWFudWFsUGF5bWVudFN0YXRlRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfTWFudWFsUGF5bWVudFN0YXRlRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBc3NldEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICYgUGljazxBc3NldCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnZmlsZVNpemUnIHwgJ21pbWVUeXBlJyB8ICd0eXBlJyB8ICdwcmV2aWV3JyB8ICdzb3VyY2UnIHwgJ3dpZHRoJyB8ICdoZWlnaHQnPlxyXG4gICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cclxuICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgVGFnRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICYgUGljazxUYWcsICdpZCcgfCAndmFsdWUnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAmIFBpY2s8UHJvZHVjdE9wdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdncm91cElkJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2VuYWJsZWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5Q29kZScgfCAncHJpY2VXaXRoVGF4JyB8ICdzdG9ja09uSGFuZCcgfCAnc3RvY2tBbGxvY2F0ZWQnIHwgJ3RyYWNrSW52ZW50b3J5JyB8ICdvdXRPZlN0b2NrVGhyZXNob2xkJyB8ICd1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkJyB8ICdza3UnPlxyXG4gICYgeyB0YXhSYXRlQXBwbGllZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cclxuICAgICYgUGljazxUYXhSYXRlLCAnaWQnIHwgJ25hbWUnIHwgJ3ZhbHVlJz5cclxuICApLCB0YXhDYXRlZ29yeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgICAmIFBpY2s8VGF4Q2F0ZWdvcnksICdpZCcgfCAnbmFtZSc+XHJcbiAgKSwgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICYgUHJvZHVjdE9wdGlvbkZyYWdtZW50XHJcbiAgKT4sIGZhY2V0VmFsdWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnY29kZScgfCAnbmFtZSc+XHJcbiAgICAmIHsgZmFjZXQ6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XHJcbiAgICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICduYW1lJz5cclxuICAgICkgfVxyXG4gICk+LCBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIEFzc2V0RnJhZ21lbnRcclxuICApPiwgYXNzZXRzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICk+LCB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnPlxyXG4gICk+LCBjaGFubmVsczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NvZGUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3REZXRhaWxGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdlbmFibGVkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ3NsdWcnIHwgJ2Rlc2NyaXB0aW9uJz5cclxuICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiBBc3NldEZyYWdtZW50XHJcbiAgKT4sIGFzc2V0czogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIEFzc2V0RnJhZ21lbnRcclxuICApPiwgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAnc2x1ZycgfCAnZGVzY3JpcHRpb24nPlxyXG4gICk+LCBvcHRpb25Hcm91cHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cclxuICAgICYgUHJvZHVjdE9wdGlvbkdyb3VwRnJhZ21lbnRcclxuICApPiwgZmFjZXRWYWx1ZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XHJcbiAgICAmIFBpY2s8RmFjZXRWYWx1ZSwgJ2lkJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAgICYgeyBmYWNldDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cclxuICAgICAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgKSB9XHJcbiAgKT4sIGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxyXG4gICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgJiBQaWNrPFByb2R1Y3RPcHRpb25Hcm91cCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24nIH1cclxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbiwgJ2lkJyB8ICduYW1lJz5cclxuICApPiwgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAnY29kZSc+XHJcbiAgICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24nIH1cclxuICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb25UcmFuc2xhdGlvbiwgJ25hbWUnPlxyXG4gICAgKT4gfVxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlUHJvZHVjdElucHV0O1xyXG4gIHZhcmlhbnRMaXN0T3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0TXV0YXRpb24gPSB7IHVwZGF0ZVByb2R1Y3Q6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAmIHsgdmFyaWFudExpc3Q6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgICAgICYgUHJvZHVjdFZhcmlhbnRGcmFnbWVudFxyXG4gICAgICApPiB9XHJcbiAgICApIH1cclxuICAgICYgUHJvZHVjdERldGFpbEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0SW5wdXQ7XHJcbiAgdmFyaWFudExpc3RPcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RNdXRhdGlvbiA9IHsgY3JlYXRlUHJvZHVjdDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgeyB2YXJpYW50TGlzdDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRMaXN0JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICAgJiBQcm9kdWN0RGV0YWlsRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RNdXRhdGlvbiA9IHsgZGVsZXRlUHJvZHVjdDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQXJyYXk8Q3JlYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD4gfCBDcmVhdGVQcm9kdWN0VmFyaWFudElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvbiA9IHsgY3JlYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cclxuICAgICYgUHJvZHVjdFZhcmlhbnRGcmFnbWVudFxyXG4gICk+PiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQ+IHwgVXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb24gPSB7IHVwZGF0ZVByb2R1Y3RWYXJpYW50czogQXJyYXk8TWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAmIFByb2R1Y3RWYXJpYW50RnJhZ21lbnRcclxuICApPj4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb24gPSB7IGNyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICAgJiBQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9uc0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RPcHRpb25Hcm91cFF1ZXJ5ID0geyBwcm9kdWN0T3B0aW9uR3JvdXA/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgICAmIFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFkZE9wdGlvblRvR3JvdXBNdXRhdGlvbiA9IHsgY3JlYXRlUHJvZHVjdE9wdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdjb2RlJyB8ICdncm91cElkJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcclxuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uID0geyBhZGRPcHRpb25Hcm91cFRvUHJvZHVjdDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0Jz5cclxuICAgICYgeyBvcHRpb25Hcm91cHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbkdyb3VwLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJz5cclxuICAgICAgJiB7IG9wdGlvbnM6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxyXG4gICAgICAgICYgUGljazxQcm9kdWN0T3B0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XHJcbiAgb3B0aW9uR3JvdXBJZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uID0geyByZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0OiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxyXG4gICAgJiB7IG9wdGlvbkdyb3VwczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxyXG4gICAgICAmIHsgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9Qcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcl9GcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxuICB2YXJpYW50TGlzdE9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFdpdGhWYXJpYW50c1F1ZXJ5ID0geyBwcm9kdWN0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgeyB2YXJpYW50TGlzdDogKFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRMaXN0JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICAgJiBQcm9kdWN0RGV0YWlsRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFNpbXBsZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0U2ltcGxlUXVlcnkgPSB7IHByb2R1Y3Q/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnbmFtZSc+XHJcbiAgICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0TGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM/OiBNYXliZTxQcm9kdWN0TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0TGlzdFF1ZXJ5ID0geyBwcm9kdWN0czogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RMaXN0JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdzbHVnJz5cclxuICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdwcmV2aWV3Jz5cclxuICAgICAgKT4gfVxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RPcHRpb25Hcm91cHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBmaWx0ZXJUZXJtPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBzUXVlcnkgPSB7IHByb2R1Y3RPcHRpb25Hcm91cHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cclxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnY29kZScgfCAnbmFtZSc+XHJcbiAgICAmIHsgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxyXG4gICAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICdjb2RlJyB8ICduYW1lJz5cclxuICAgICk+IH1cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0QXNzZXRMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPEFzc2V0TGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBc3NldExpc3RRdWVyeSA9IHsgYXNzZXRzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXRMaXN0JyB9XHJcbiAgICAmIFBpY2s8QXNzZXRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAgICYgeyB0YWdzOiBBcnJheTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICAgICAgICYgVGFnRnJhZ21lbnRcclxuICAgICAgKT4gfVxyXG4gICAgICAmIEFzc2V0RnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRBc3NldFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBc3NldFF1ZXJ5ID0geyBhc3NldD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiB7IHRhZ3M6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICAgICAmIFRhZ0ZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgICAmIEFzc2V0RnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZUFzc2V0SW5wdXQ+IHwgQ3JlYXRlQXNzZXRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRzTXV0YXRpb24gPSB7IGNyZWF0ZUFzc2V0czogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XHJcbiAgICAmIHsgdGFnczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAgICYgVGFnRnJhZ21lbnRcclxuICAgICk+IH1cclxuICAgICYgQXNzZXRGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTWltZVR5cGVFcnJvcicgfVxyXG4gICAgJiBQaWNrPE1pbWVUeXBlRXJyb3IsICdtZXNzYWdlJz5cclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQXNzZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlQXNzZXRJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQXNzZXRNdXRhdGlvbiA9IHsgdXBkYXRlQXNzZXQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgJiB7IHRhZ3M6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxyXG4gICAgICAmIFRhZ0ZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgICAmIEFzc2V0RnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVBc3NldHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogRGVsZXRlQXNzZXRzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUFzc2V0c011dGF0aW9uID0geyBkZWxldGVBc3NldHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoUHJvZHVjdHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogU2VhcmNoSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFNlYXJjaFByb2R1Y3RzUXVlcnkgPSB7IHNlYXJjaDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaFJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8U2VhcmNoUmVzcG9uc2UsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0JyB9XHJcbiAgICAgICYgUGljazxTZWFyY2hSZXN1bHQsICdlbmFibGVkJyB8ICdwcm9kdWN0SWQnIHwgJ3Byb2R1Y3ROYW1lJyB8ICdwcm9kdWN0VmFyaWFudElkJyB8ICdwcm9kdWN0VmFyaWFudE5hbWUnIHwgJ3NrdScgfCAnY2hhbm5lbElkcyc+XHJcbiAgICAgICYgeyBwcm9kdWN0QXNzZXQ/OiBNYXliZTwoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlYXJjaFJlc3VsdEFzc2V0JyB9XHJcbiAgICAgICAgJiBQaWNrPFNlYXJjaFJlc3VsdEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxyXG4gICAgICAgICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cclxuICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XHJcbiAgICAgICAgKT4gfVxyXG4gICAgICApPiwgcHJvZHVjdFZhcmlhbnRBc3NldD86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnIH1cclxuICAgICAgICAmIFBpY2s8U2VhcmNoUmVzdWx0QXNzZXQsICdpZCcgfCAncHJldmlldyc+XHJcbiAgICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+IH1cclxuICAgICk+LCBmYWNldFZhbHVlczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZVJlc3VsdCcgfVxyXG4gICAgICAmIFBpY2s8RmFjZXRWYWx1ZVJlc3VsdCwgJ2NvdW50Jz5cclxuICAgICAgJiB7IGZhY2V0VmFsdWU6IChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZScgfVxyXG4gICAgICAgICYgUGljazxGYWNldFZhbHVlLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cclxuICAgICAgICAmIHsgZmFjZXQ6IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxyXG4gICAgICAgICAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cclxuICAgICAgICApIH1cclxuICAgICAgKSB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgdGVybTogU2NhbGFyc1snU3RyaW5nJ107XHJcbiAgdGFrZTogU2NhbGFyc1snSW50J107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5ID0geyBzZWFyY2g6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hSZXNwb25zZScgfVxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHQnIH1cclxuICAgICAgJiBQaWNrPFNlYXJjaFJlc3VsdCwgJ3Byb2R1Y3RWYXJpYW50SWQnIHwgJ3Byb2R1Y3RWYXJpYW50TmFtZScgfCAnc2t1Jz5cclxuICAgICAgJiB7IHByb2R1Y3RBc3NldD86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnIH1cclxuICAgICAgICAmIFBpY2s8U2VhcmNoUmVzdWx0QXNzZXQsICdpZCcgfCAncHJldmlldyc+XHJcbiAgICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+LCBwcmljZTogeyBfX3R5cGVuYW1lPzogJ1ByaWNlUmFuZ2UnIH0gfCAoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1NpbmdsZVByaWNlJyB9XHJcbiAgICAgICAgJiBQaWNrPFNpbmdsZVByaWNlLCAndmFsdWUnPlxyXG4gICAgICApLCBwcmljZVdpdGhUYXg6IHsgX190eXBlbmFtZT86ICdQcmljZVJhbmdlJyB9IHwgKFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTaW5nbGVQcmljZScgfVxyXG4gICAgICAgICYgUGljazxTaW5nbGVQcmljZSwgJ3ZhbHVlJz5cclxuICAgICAgKSB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XHJcbiAgICAmIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVQcm9kdWN0T3B0aW9uSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdE9wdGlvbjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cclxuICAgICYgUHJvZHVjdE9wdGlvbkZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvbiA9IHsgZGVsZXRlUHJvZHVjdFZhcmlhbnQ6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5ID0geyBwcm9kdWN0PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cclxuICAgICYgeyBvcHRpb25Hcm91cHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxyXG4gICAgICAmIHsgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAgICAgJiBQcm9kdWN0T3B0aW9uRnJhZ21lbnRcclxuICAgICAgKT4gfVxyXG4gICAgICAmIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50XHJcbiAgICApPiwgdmFyaWFudHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbmFtZScgfCAnc2t1JyB8ICdwcmljZScgfCAnc3RvY2tPbkhhbmQnPlxyXG4gICAgICAmIHsgb3B0aW9uczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XHJcbiAgICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2dyb3VwSWQnPlxyXG4gICAgICApPiB9XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb24gPSB7IGFzc2lnblByb2R1Y3RzVG9DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCc+XHJcbiAgICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEFzc2lnblZhcmlhbnRzVG9DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IEFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uID0geyBhc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWw6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnPlxyXG4gICAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAgICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NvZGUnPlxyXG4gICAgKT4gfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uID0geyByZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxyXG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCc+XHJcbiAgICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uID0geyByZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbDogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCc+XHJcbiAgICAmIHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XHJcbiAgICApPiB9XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50UXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAnbmFtZScgfCAnc2t1Jz5cclxuICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxyXG4gICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XHJcbiAgICAgICk+IH1cclxuICAgICk+LCBwcm9kdWN0OiAoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0LCAnaWQnPlxyXG4gICAgICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICAgICAmIFBpY2s8QXNzZXQsICdpZCcgfCAncHJldmlldyc+XHJcbiAgICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+IH1cclxuICAgICkgfVxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zOiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zO1xyXG4gIHByb2R1Y3RJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeSA9IHsgcHJvZHVjdFZhcmlhbnRzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRMaXN0JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJyB8ICdza3UnPlxyXG4gICAgICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cclxuICAgICAgICAmIFBpY2s8QXNzZXQsICdpZCcgfCAncHJldmlldyc+XHJcbiAgICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxyXG4gICAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cclxuICAgICAgICApPiB9XHJcbiAgICAgICk+LCBwcm9kdWN0OiAoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cclxuICAgICAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJz5cclxuICAgICAgICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxyXG4gICAgICAgICAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxyXG4gICAgICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXHJcbiAgICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XHJcbiAgICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XHJcbiAgICAgICAgICApPiB9XHJcbiAgICAgICAgKT4gfVxyXG4gICAgICApIH1cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zOiBQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zO1xyXG4gIHByb2R1Y3RJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeSA9IHsgcHJvZHVjdFZhcmlhbnRzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnRMaXN0JyB9XHJcbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XHJcbiAgICAgICYgUHJvZHVjdFZhcmlhbnRGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFRhZ0xpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8VGFnTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYWdMaXN0UXVlcnkgPSB7IHRhZ3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYWdMaXN0JyB9XHJcbiAgICAmIFBpY2s8VGFnTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cclxuICAgICAgJiBUYWdGcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFRhZ1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYWdRdWVyeSA9IHsgdGFnOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAmIFRhZ0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGFnTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVRhZ0lucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVUYWdNdXRhdGlvbiA9IHsgY3JlYXRlVGFnOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAmIFRhZ0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGFnTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVRhZ0lucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVUYWdNdXRhdGlvbiA9IHsgdXBkYXRlVGFnOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XHJcbiAgICAmIFRhZ0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlVGFnTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVRhZ011dGF0aW9uID0geyBkZWxldGVUYWc6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ21lc3NhZ2UnIHwgJ3Jlc3VsdCc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvbW90aW9uRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbicgfVxyXG4gICYgUGljazxQcm9tb3Rpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnIHwgJ2NvdXBvbkNvZGUnIHwgJ3BlckN1c3RvbWVyVXNhZ2VMaW1pdCcgfCAnc3RhcnRzQXQnIHwgJ2VuZHNBdCc+XHJcbiAgJiB7IGNvbmRpdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApPiwgYWN0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb21vdGlvbkxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8UHJvbW90aW9uTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9tb3Rpb25MaXN0UXVlcnkgPSB7IHByb21vdGlvbnM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb25MaXN0JyB9XHJcbiAgICAmIFBpY2s8UHJvbW90aW9uTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nIH1cclxuICAgICAgJiBQcm9tb3Rpb25GcmFnbWVudFxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFByb21vdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQcm9tb3Rpb25RdWVyeSA9IHsgcHJvbW90aW9uPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbicgfVxyXG4gICAgJiBQcm9tb3Rpb25GcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRBZGp1c3RtZW50T3BlcmF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QWRqdXN0bWVudE9wZXJhdGlvbnNRdWVyeSA9IHsgcHJvbW90aW9uQ29uZGl0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcclxuICApPiwgcHJvbW90aW9uQWN0aW9uczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVByb21vdGlvbklucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9tb3Rpb25NdXRhdGlvbiA9IHsgY3JlYXRlUHJvbW90aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XHJcbiAgICAmIFByb21vdGlvbkZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdNaXNzaW5nQ29uZGl0aW9uc0Vycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X01pc3NpbmdDb25kaXRpb25zRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlUHJvbW90aW9uSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVByb21vdGlvbk11dGF0aW9uID0geyB1cGRhdGVQcm9tb3Rpb246IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nIH1cclxuICAgICYgUHJvbW90aW9uRnJhZ21lbnRcclxuICApIHwgeyBfX3R5cGVuYW1lPzogJ01pc3NpbmdDb25kaXRpb25zRXJyb3InIH0gfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVByb21vdGlvbk11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVQcm9tb3Rpb25NdXRhdGlvbiA9IHsgZGVsZXRlUHJvbW90aW9uOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENvdW50cnlGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICYgUGljazxDb3VudHJ5LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICduYW1lJyB8ICdlbmFibGVkJz5cclxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeVRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8Q291bnRyeVRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XHJcbiAgKT4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q291bnRyeUxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8Q291bnRyeUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q291bnRyeUxpc3RRdWVyeSA9IHsgY291bnRyaWVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeUxpc3QnIH1cclxuICAgICYgUGljazxDb3VudHJ5TGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XHJcbiAgICAgICYgUGljazxDb3VudHJ5LCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnPlxyXG4gICAgKT4gfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEF2YWlsYWJsZUNvdW50cmllc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0QXZhaWxhYmxlQ291bnRyaWVzUXVlcnkgPSB7IGNvdW50cmllczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnlMaXN0JyB9XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICAgJiBQaWNrPENvdW50cnksICdpZCcgfCAnY29kZScgfCAnbmFtZScgfCAnZW5hYmxlZCc+XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q291bnRyeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRDb3VudHJ5UXVlcnkgPSB7IGNvdW50cnk/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgJiBDb3VudHJ5RnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlQ291bnRyeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVDb3VudHJ5SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNvdW50cnlNdXRhdGlvbiA9IHsgY3JlYXRlQ291bnRyeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICYgQ291bnRyeUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ291bnRyeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVDb3VudHJ5SW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNvdW50cnlNdXRhdGlvbiA9IHsgdXBkYXRlQ291bnRyeTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cclxuICAgICYgQ291bnRyeUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlQ291bnRyeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDb3VudHJ5TXV0YXRpb24gPSB7IGRlbGV0ZUNvdW50cnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgWm9uZUZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgJiBQaWNrPFpvbmUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnPlxyXG4gICYgeyBtZW1iZXJzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgJiBDb3VudHJ5RnJhZ21lbnRcclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRab25lc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Wm9uZXNRdWVyeSA9IHsgem9uZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIHsgbWVtYmVyczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxyXG4gICAgICAmIFBpY2s8Q291bnRyeSwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdpZCcgfCAnbmFtZScgfCAnY29kZScgfCAnZW5hYmxlZCc+XHJcbiAgICApPiB9XHJcbiAgICAmIFpvbmVGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRab25lUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFpvbmVRdWVyeSA9IHsgem9uZT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFpvbmVGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVpvbmVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlWm9uZU11dGF0aW9uID0geyBjcmVhdGVab25lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBab25lRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBVcGRhdGVab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVpvbmVJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlWm9uZU11dGF0aW9uID0geyB1cGRhdGVab25lOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxyXG4gICAgJiBab25lRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVpvbmVNdXRhdGlvbiA9IHsgZGVsZXRlWm9uZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAnbWVzc2FnZScgfCAncmVzdWx0Jz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBBZGRNZW1iZXJzVG9ab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgem9uZUlkOiBTY2FsYXJzWydJRCddO1xyXG4gIG1lbWJlcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBBZGRNZW1iZXJzVG9ab25lTXV0YXRpb24gPSB7IGFkZE1lbWJlcnNUb1pvbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFpvbmVGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFJlbW92ZU1lbWJlcnNGcm9tWm9uZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcclxuICBtZW1iZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+IHwgU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgUmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb24gPSB7IHJlbW92ZU1lbWJlcnNGcm9tWm9uZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgWm9uZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVGF4Q2F0ZWdvcnlGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cclxuICAmIFBpY2s8VGF4Q2F0ZWdvcnksICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2lzRGVmYXVsdCc+XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhDYXRlZ29yaWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhDYXRlZ29yaWVzUXVlcnkgPSB7IHRheENhdGVnb3JpZXM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICAgJiBUYXhDYXRlZ29yeUZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheENhdGVnb3J5UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheENhdGVnb3J5UXVlcnkgPSB7IHRheENhdGVnb3J5PzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgICAmIFRheENhdGVnb3J5RnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlVGF4Q2F0ZWdvcnlJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvbiA9IHsgY3JlYXRlVGF4Q2F0ZWdvcnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICAgJiBUYXhDYXRlZ29yeUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlVGF4Q2F0ZWdvcnlJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvbiA9IHsgdXBkYXRlVGF4Q2F0ZWdvcnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICAgJiBUYXhDYXRlZ29yeUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlVGF4Q2F0ZWdvcnlNdXRhdGlvbiA9IHsgZGVsZXRlVGF4Q2F0ZWdvcnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVGF4UmF0ZUZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XHJcbiAgJiBQaWNrPFRheFJhdGUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnIHwgJ3ZhbHVlJz5cclxuICAmIHsgY2F0ZWdvcnk6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxyXG4gICAgJiBQaWNrPFRheENhdGVnb3J5LCAnaWQnIHwgJ25hbWUnPlxyXG4gICksIHpvbmU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFBpY2s8Wm9uZSwgJ2lkJyB8ICduYW1lJz5cclxuICApLCBjdXN0b21lckdyb3VwPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cclxuICAgICYgUGljazxDdXN0b21lckdyb3VwLCAnaWQnIHwgJ25hbWUnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheFJhdGVMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgb3B0aW9ucz86IE1heWJlPFRheFJhdGVMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFRheFJhdGVMaXN0UXVlcnkgPSB7IHRheFJhdGVzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZUxpc3QnIH1cclxuICAgICYgUGljazxUYXhSYXRlTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XHJcbiAgICAgICYgVGF4UmF0ZUZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZUxpc3RTaW1wbGVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8VGF4UmF0ZUxpc3RPcHRpb25zPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZUxpc3RTaW1wbGVRdWVyeSA9IHsgdGF4UmF0ZXM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlTGlzdCcgfVxyXG4gICAgJiBQaWNrPFRheFJhdGVMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cclxuICAgICAgJiBQaWNrPFRheFJhdGUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnIHwgJ3ZhbHVlJz5cclxuICAgICAgJiB7IGNhdGVnb3J5OiAoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JyB9XHJcbiAgICAgICAgJiBQaWNrPFRheENhdGVnb3J5LCAnaWQnIHwgJ25hbWUnPlxyXG4gICAgICApLCB6b25lOiAoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICAgICAmIFBpY2s8Wm9uZSwgJ2lkJyB8ICduYW1lJz5cclxuICAgICAgKSB9XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlUXVlcnkgPSB7IHRheFJhdGU/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxyXG4gICAgJiBUYXhSYXRlRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4UmF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVUYXhSYXRlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVRheFJhdGVNdXRhdGlvbiA9IHsgY3JlYXRlVGF4UmF0ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cclxuICAgICYgVGF4UmF0ZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlVGF4UmF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVUYXhSYXRlSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVRheFJhdGVNdXRhdGlvbiA9IHsgdXBkYXRlVGF4UmF0ZTogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cclxuICAgICYgVGF4UmF0ZUZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlVGF4UmF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVUYXhSYXRlTXV0YXRpb24gPSB7IGRlbGV0ZVRheFJhdGU6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XHJcbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ2hhbm5lbEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ3Rva2VuJyB8ICdwcmljZXNJbmNsdWRlVGF4JyB8ICdjdXJyZW5jeUNvZGUnIHwgJ2RlZmF1bHRMYW5ndWFnZUNvZGUnPlxyXG4gICYgeyBkZWZhdWx0U2hpcHBpbmdab25lPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cclxuICAgICYgUGljazxab25lLCAnaWQnIHwgJ25hbWUnPlxyXG4gICk+LCBkZWZhdWx0VGF4Wm9uZT86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XHJcbiAgICAmIFBpY2s8Wm9uZSwgJ2lkJyB8ICduYW1lJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDaGFubmVsc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0Q2hhbm5lbHNRdWVyeSA9IHsgY2hhbm5lbHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAmIENoYW5uZWxGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRDaGFubmVsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldENoYW5uZWxRdWVyeSA9IHsgY2hhbm5lbD86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAmIENoYW5uZWxGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVDaGFubmVsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVDaGFubmVsUXVlcnkgPSB7IGFjdGl2ZUNoYW5uZWw6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAmIENoYW5uZWxGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogQ3JlYXRlQ2hhbm5lbElucHV0O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBDcmVhdGVDaGFubmVsTXV0YXRpb24gPSB7IGNyZWF0ZUNoYW5uZWw6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsJyB9XHJcbiAgICAmIENoYW5uZWxGcmFnbWVudFxyXG4gICkgfCAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcicgfVxyXG4gICAgJiBFcnJvclJlc3VsdF9MYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVDaGFubmVsSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZUNoYW5uZWxNdXRhdGlvbiA9IHsgdXBkYXRlQ2hhbm5lbDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cclxuICAgICYgQ2hhbm5lbEZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yJyB9XHJcbiAgICAmIEVycm9yUmVzdWx0X0xhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3JfRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBEZWxldGVDaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZUNoYW5uZWxNdXRhdGlvbiA9IHsgZGVsZXRlQ2hhbm5lbDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cclxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cclxuICAmIFBpY2s8UGF5bWVudE1ldGhvZCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnY29kZScgfCAnZGVzY3JpcHRpb24nIHwgJ2VuYWJsZWQnPlxyXG4gICYgeyBjaGVja2VyPzogTWF5YmU8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxyXG4gICk+LCBoYW5kbGVyOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50XHJcbiAgKSB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIG9wdGlvbnM6IFBheW1lbnRNZXRob2RMaXN0T3B0aW9ucztcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZExpc3RRdWVyeSA9IHsgcGF5bWVudE1ldGhvZHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kTGlzdCcgfVxyXG4gICAgJiBQaWNrPFBheW1lbnRNZXRob2RMaXN0LCAndG90YWxJdGVtcyc+XHJcbiAgICAmIHsgaXRlbXM6IEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cclxuICAgICAgJiBQYXltZW50TWV0aG9kRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZE9wZXJhdGlvbnNRdWVyeSA9IHsgcGF5bWVudE1ldGhvZEVsaWdpYmlsaXR5Q2hlY2tlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4sIHBheW1lbnRNZXRob2RIYW5kbGVyczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRQYXltZW50TWV0aG9kUXVlcnkgPSB7IHBheW1lbnRNZXRob2Q/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxyXG4gICAgJiBQYXltZW50TWV0aG9kRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ3JlYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBDcmVhdGVQYXltZW50TWV0aG9kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVBheW1lbnRNZXRob2RNdXRhdGlvbiA9IHsgY3JlYXRlUGF5bWVudE1ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cclxuICAgICYgUGF5bWVudE1ldGhvZEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBVcGRhdGVQYXltZW50TWV0aG9kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVBheW1lbnRNZXRob2RNdXRhdGlvbiA9IHsgdXBkYXRlUGF5bWVudE1ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cclxuICAgICYgUGF5bWVudE1ldGhvZEZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgRGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uID0geyBkZWxldGVQYXltZW50TWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdsb2JhbFNldHRpbmdzRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0dsb2JhbFNldHRpbmdzJyB9XHJcbiAgJiBQaWNrPEdsb2JhbFNldHRpbmdzLCAnaWQnIHwgJ2F2YWlsYWJsZUxhbmd1YWdlcycgfCAndHJhY2tJbnZlbnRvcnknIHwgJ291dE9mU3RvY2tUaHJlc2hvbGQnPlxyXG4gICYgeyBzZXJ2ZXJDb25maWc6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2ZXJDb25maWcnIH1cclxuICAgICYgeyBwZXJtaXNzaW9uczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGVybWlzc2lvbkRlZmluaXRpb24nIH1cclxuICAgICAgJiBQaWNrPFBlcm1pc3Npb25EZWZpbml0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Fzc2lnbmFibGUnPlxyXG4gICAgKT4sIG9yZGVyUHJvY2VzczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJQcm9jZXNzU3RhdGUnIH1cclxuICAgICAgJiBQaWNrPE9yZGVyUHJvY2Vzc1N0YXRlLCAnbmFtZSc+XHJcbiAgICApPiB9XHJcbiAgKSB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0R2xvYmFsU2V0dGluZ3NRdWVyeSA9IHsgZ2xvYmFsU2V0dGluZ3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncycgfVxyXG4gICAgJiBHbG9iYWxTZXR0aW5nc0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsU2V0dGluZ3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVXBkYXRlR2xvYmFsU2V0dGluZ3NJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsU2V0dGluZ3NNdXRhdGlvbiA9IHsgdXBkYXRlR2xvYmFsU2V0dGluZ3M6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncycgfVxyXG4gICAgJiBHbG9iYWxTZXR0aW5nc0ZyYWdtZW50XHJcbiAgKSB8IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3InIH1cclxuICAgICYgRXJyb3JSZXN1bHRfQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yX0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxCb29sZWFuQ3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPERhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPEZsb2F0Q3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8SW50Q3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8TG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8U3RyaW5nQ3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZENvbmZpZ19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUGljazxUZXh0Q3VzdG9tRmllbGRDb25maWcsICduYW1lJyB8ICd0eXBlJyB8ICdsaXN0JyB8ICdyZWFkb25seScgfCAnbnVsbGFibGUnIHwgJ3VpJz5cclxuICAmIHsgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XHJcbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgKT4+LCBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cclxuICAgICYgUGljazxMb2NhbGl6ZWRTdHJpbmcsICdsYW5ndWFnZUNvZGUnIHwgJ3ZhbHVlJz5cclxuICApPj4gfVxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGRDb25maWdGcmFnbWVudCA9IEN1c3RvbUZpZWxkQ29uZmlnX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudDtcclxuXHJcbmV4cG9ydCB0eXBlIFN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnLCAncGF0dGVybic+XHJcbiAgJiB7IG9wdGlvbnM/OiBNYXliZTxBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nRmllbGRPcHRpb24nIH1cclxuICAgICYgUGljazxTdHJpbmdGaWVsZE9wdGlvbiwgJ3ZhbHVlJz5cclxuICAgICYgeyBsYWJlbD86IE1heWJlPEFycmF5PChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZycgfVxyXG4gICAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XHJcbiAgICApPj4gfVxyXG4gICk+PiB9XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFBpY2s8TG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcsICdwYXR0ZXJuJz5cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBUZXh0Q3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEJvb2xlYW5DdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgSW50Q3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIHsgaW50TWluOiBJbnRDdXN0b21GaWVsZENvbmZpZ1snbWluJ10sIGludE1heDogSW50Q3VzdG9tRmllbGRDb25maWdbJ21heCddLCBpbnRTdGVwOiBJbnRDdXN0b21GaWVsZENvbmZpZ1snc3RlcCddIH1cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBGbG9hdEN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIHsgZmxvYXRNaW46IEZsb2F0Q3VzdG9tRmllbGRDb25maWdbJ21pbiddLCBmbG9hdE1heDogRmxvYXRDdXN0b21GaWVsZENvbmZpZ1snbWF4J10sIGZsb2F0U3RlcDogRmxvYXRDdXN0b21GaWVsZENvbmZpZ1snc3RlcCddIH1cclxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIERhdGVUaW1lQ3VzdG9tRmllbGRGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgeyBkYXRldGltZU1pbjogRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ1snbWluJ10sIGRhdGV0aW1lTWF4OiBEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnWydtYXgnXSwgZGF0ZXRpbWVTdGVwOiBEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnWydzdGVwJ10gfVxyXG4gICYgQ3VzdG9tRmllbGRDb25maWdfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgUmVsYXRpb25DdXN0b21GaWVsZEZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBQaWNrPFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcsICdlbnRpdHknIHwgJ3NjYWxhckZpZWxkcyc+XHJcbiAgJiBDdXN0b21GaWVsZENvbmZpZ19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgQm9vbGVhbkN1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIERhdGVUaW1lQ3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgRmxvYXRDdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIEludEN1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxudHlwZSBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICYgUmVsYXRpb25DdXN0b21GaWVsZEZyYWdtZW50XHJcbik7XHJcblxyXG50eXBlIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAmIFN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnRcclxuKTtcclxuXHJcbnR5cGUgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgJiBUZXh0Q3VzdG9tRmllbGRGcmFnbWVudFxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGRzRnJhZ21lbnQgPSBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudDtcclxuXHJcbmV4cG9ydCB0eXBlIEdldFNlcnZlckNvbmZpZ1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2VydmVyQ29uZmlnUXVlcnkgPSB7IGdsb2JhbFNldHRpbmdzOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnR2xvYmFsU2V0dGluZ3MnIH1cclxuICAgICYgUGljazxHbG9iYWxTZXR0aW5ncywgJ2lkJz5cclxuICAgICYgeyBzZXJ2ZXJDb25maWc6IChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NlcnZlckNvbmZpZycgfVxyXG4gICAgICAmIFBpY2s8U2VydmVyQ29uZmlnLCAncGVybWl0dGVkQXNzZXRUeXBlcyc+XHJcbiAgICAgICYgeyBvcmRlclByb2Nlc3M6IEFycmF5PChcclxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJQcm9jZXNzU3RhdGUnIH1cclxuICAgICAgICAmIFBpY2s8T3JkZXJQcm9jZXNzU3RhdGUsICduYW1lJyB8ICd0byc+XHJcbiAgICAgICk+LCBwZXJtaXNzaW9uczogQXJyYXk8KFxyXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQZXJtaXNzaW9uRGVmaW5pdGlvbicgfVxyXG4gICAgICAgICYgUGljazxQZXJtaXNzaW9uRGVmaW5pdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhc3NpZ25hYmxlJz5cclxuICAgICAgKT4sIGN1c3RvbUZpZWxkQ29uZmlnOiAoXHJcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbUZpZWxkcycgfVxyXG4gICAgICAgICYgeyBBZGRyZXNzOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEFkbWluaXN0cmF0b3I6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgQXNzZXQ6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgQ2hhbm5lbDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBDb2xsZWN0aW9uOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIENvdW50cnk6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgQ3VzdG9tZXI6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgQ3VzdG9tZXJHcm91cDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBGYWNldDogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBGYWNldFZhbHVlOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEZ1bGZpbGxtZW50OiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIEdsb2JhbFNldHRpbmdzOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIE9yZGVyOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIE9yZGVyTGluZTogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBQYXltZW50TWV0aG9kOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFByb2R1Y3Q6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgUHJvZHVjdE9wdGlvbjogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBQcm9kdWN0T3B0aW9uR3JvdXA6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgUHJvZHVjdFZhcmlhbnQ6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgUHJvbW90aW9uOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFNoaXBwaW5nTWV0aG9kOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFRheENhdGVnb3J5OiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4sIFRheFJhdGU6IEFycmF5PChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApPiwgVXNlcjogQXJyYXk8KFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICk+LCBab25lOiBBcnJheTwoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKSB8IChcclxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxyXG4gICAgICAgICkgfCAoXHJcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XHJcbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cclxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcclxuICAgICAgICApIHwgKFxyXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxyXG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XHJcbiAgICAgICAgKT4gfVxyXG4gICAgICApIH1cclxuICAgICkgfVxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIEpvYkluZm9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XHJcbiAgJiBQaWNrPEpvYiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3N0YXJ0ZWRBdCcgfCAnc2V0dGxlZEF0JyB8ICdxdWV1ZU5hbWUnIHwgJ3N0YXRlJyB8ICdpc1NldHRsZWQnIHwgJ3Byb2dyZXNzJyB8ICdkdXJhdGlvbicgfCAnZGF0YScgfCAncmVzdWx0JyB8ICdlcnJvcicgfCAncmV0cmllcycgfCAnYXR0ZW1wdHMnPlxyXG4pO1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Sm9iSW5mb1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkOiBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRKb2JJbmZvUXVlcnkgPSB7IGpvYj86IE1heWJlPChcclxuICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cclxuICAgICYgSm9iSW5mb0ZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIEdldEFsbEpvYnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8Sm9iTGlzdE9wdGlvbnM+O1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRBbGxKb2JzUXVlcnkgPSB7IGpvYnM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdKb2JMaXN0JyB9XHJcbiAgICAmIFBpY2s8Sm9iTGlzdCwgJ3RvdGFsSXRlbXMnPlxyXG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXHJcbiAgICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cclxuICAgICAgJiBKb2JJbmZvRnJhZ21lbnRcclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRKb2JzQnlJZFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT4gfCBTY2FsYXJzWydJRCddO1xyXG59PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRKb2JzQnlJZFF1ZXJ5ID0geyBqb2JzQnlJZDogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0pvYicgfVxyXG4gICAgJiBKb2JJbmZvRnJhZ21lbnRcclxuICApPiB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0Sm9iUXVldWVMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBHZXRKb2JRdWV1ZUxpc3RRdWVyeSA9IHsgam9iUXVldWVzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iUXVldWUnIH1cclxuICAgICYgUGljazxKb2JRdWV1ZSwgJ25hbWUnIHwgJ3J1bm5pbmcnPlxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBDYW5jZWxKb2JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgQ2FuY2VsSm9iTXV0YXRpb24gPSB7IGNhbmNlbEpvYjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0pvYicgfVxyXG4gICAgJiBKb2JJbmZvRnJhZ21lbnRcclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBSZWluZGV4TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcclxuXHJcblxyXG5leHBvcnQgdHlwZSBSZWluZGV4TXV0YXRpb24gPSB7IHJlaW5kZXg6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cclxuICAgICYgSm9iSW5mb0ZyYWdtZW50XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc1F1ZXJ5ID0gUGljazxRdWVyeSwgJ3BlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMnPjtcclxuXHJcbmV4cG9ydCB0eXBlIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvbiA9IHsgcnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlczogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1N1Y2Nlc3MnIH1cclxuICAgICYgUGljazxTdWNjZXNzLCAnc3VjY2Vzcyc+XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxyXG4gICYgUGljazxDb25maWd1cmFibGVPcGVyYXRpb24sICdjb2RlJz5cclxuICAmIHsgYXJnczogQXJyYXk8KFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ0FyZycgfVxyXG4gICAgJiBQaWNrPENvbmZpZ0FyZywgJ25hbWUnIHwgJ3ZhbHVlJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxyXG4gICYgUGljazxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uLCAnY29kZScgfCAnZGVzY3JpcHRpb24nPlxyXG4gICYgeyBhcmdzOiBBcnJheTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlnQXJnRGVmaW5pdGlvbicgfVxyXG4gICAgJiBQaWNrPENvbmZpZ0FyZ0RlZmluaXRpb24sICduYW1lJyB8ICd0eXBlJyB8ICdyZXF1aXJlZCcgfCAnZGVmYXVsdFZhbHVlJyB8ICdsaXN0JyB8ICd1aScgfCAnbGFiZWwnPlxyXG4gICk+IH1cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQWxyZWFkeVJlZnVuZGVkRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0FscmVhZHlSZWZ1bmRlZEVycm9yJyB9XHJcbiAgJiBQaWNrPEFscmVhZHlSZWZ1bmRlZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcicgfVxyXG4gICYgUGljazxDYW5jZWxBY3RpdmVPcmRlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdDaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3InIH1cclxuICAmIFBpY2s8Q2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcicgfVxyXG4gICYgUGljazxDcmVhdGVGdWxmaWxsbWVudEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcicgfVxyXG4gICYgUGljazxFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcicgfVxyXG4gICYgUGljazxFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICYgUGljazxGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tFcnJvcicgfVxyXG4gICYgUGljazxJbnN1ZmZpY2llbnRTdG9ja0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcicgfVxyXG4gICYgUGljazxJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW52YWxpZENyZWRlbnRpYWxzRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRDcmVkZW50aWFsc0Vycm9yJyB9XHJcbiAgJiBQaWNrPEludmFsaWRDcmVkZW50aWFsc0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3InIH1cclxuICAmIFBpY2s8SW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yJyB9XHJcbiAgJiBQaWNrPEl0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcicgfVxyXG4gICYgUGljazxMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTWFudWFsUGF5bWVudFN0YXRlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ01hbnVhbFBheW1lbnRTdGF0ZUVycm9yJyB9XHJcbiAgJiBQaWNrPE1hbnVhbFBheW1lbnRTdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTWltZVR5cGVFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTWltZVR5cGVFcnJvcicgfVxyXG4gICYgUGljazxNaW1lVHlwZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTWlzc2luZ0NvbmRpdGlvbnNFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnTWlzc2luZ0NvbmRpdGlvbnNFcnJvcicgfVxyXG4gICYgUGljazxNaXNzaW5nQ29uZGl0aW9uc0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTXVsdGlwbGVPcmRlckVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdNdWx0aXBsZU9yZGVyRXJyb3InIH1cclxuICAmIFBpY2s8TXVsdGlwbGVPcmRlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05hdGl2ZUF1dGhTdHJhdGVneUVycm9yJyB9XHJcbiAgJiBQaWNrPE5hdGl2ZUF1dGhTdHJhdGVneUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTmVnYXRpdmVRdWFudGl0eUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InIH1cclxuICAmIFBpY2s8TmVnYXRpdmVRdWFudGl0eUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05vQ2hhbmdlc1NwZWNpZmllZEVycm9yJyB9XHJcbiAgJiBQaWNrPE5vQ2hhbmdlc1NwZWNpZmllZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ05vdGhpbmdUb1JlZnVuZEVycm9yJyB9XHJcbiAgJiBQaWNrPE5vdGhpbmdUb1JlZnVuZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJMaW1pdEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InIH1cclxuICAmIFBpY2s8T3JkZXJMaW1pdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3InIH1cclxuICAmIFBpY2s8T3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxyXG4gICYgUGljazxPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcicgfVxyXG4gICYgUGljazxQYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvcl9GcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE9yZGVyTWlzbWF0Y2hFcnJvcicgfVxyXG4gICYgUGljazxQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cclxuICAmIFBpY2s8UGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUHJvZHVjdE9wdGlvbkluVXNlRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25JblVzZUVycm9yJyB9XHJcbiAgJiBQaWNrPFByb2R1Y3RPcHRpb25JblVzZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUXVhbnRpdHlUb29HcmVhdEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdRdWFudGl0eVRvb0dyZWF0RXJyb3InIH1cclxuICAmIFBpY2s8UXVhbnRpdHlUb29HcmVhdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUmVmdW5kT3JkZXJTdGF0ZUVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSZWZ1bmRPcmRlclN0YXRlRXJyb3InIH1cclxuICAmIFBpY2s8UmVmdW5kT3JkZXJTdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3InIH1cclxuICAmIFBpY2s8UmVmdW5kUGF5bWVudElkTWlzc2luZ0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnQgPSAoXHJcbiAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XHJcbiAgJiBQaWNrPFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbnR5cGUgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50ID0gKFxyXG4gIHsgX190eXBlbmFtZT86ICdTZXR0bGVQYXltZW50RXJyb3InIH1cclxuICAmIFBpY2s8U2V0dGxlUGF5bWVudEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cclxuKTtcclxuXHJcbmV4cG9ydCB0eXBlIEVycm9yUmVzdWx0RnJhZ21lbnQgPSBFcnJvclJlc3VsdF9BbHJlYWR5UmVmdW5kZWRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9DaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9DcmVhdGVGdWxmaWxsbWVudEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9GdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9JbnZhbGlkQ3JlZGVudGlhbHNFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X01hbnVhbFBheW1lbnRTdGF0ZUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTWltZVR5cGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X01pc3NpbmdDb25kaXRpb25zRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9NdWx0aXBsZU9yZGVyRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9OYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05lZ2F0aXZlUXVhbnRpdHlFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05vQ2hhbmdlc1NwZWNpZmllZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9Qcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1F1YW50aXR5VG9vR3JlYXRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZE9yZGVyU3RhdGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50O1xyXG5cclxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RGcmFnbWVudCA9IChcclxuICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAmIFBpY2s8U2hpcHBpbmdNZXRob2QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdmdWxmaWxsbWVudEhhbmRsZXJDb2RlJz5cclxuICAmIHsgY2hlY2tlcjogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxyXG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxyXG4gICksIGNhbGN1bGF0b3I6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cclxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcclxuICApLCB0cmFuc2xhdGlvbnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uJyB9XHJcbiAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJz5cclxuICApPiB9XHJcbik7XHJcblxyXG5leHBvcnQgdHlwZSBHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBvcHRpb25zPzogTWF5YmU8U2hpcHBpbmdNZXRob2RMaXN0T3B0aW9ucz47XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5ID0geyBzaGlwcGluZ01ldGhvZHM6IChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZExpc3QnIH1cclxuICAgICYgUGljazxTaGlwcGluZ01ldGhvZExpc3QsICd0b3RhbEl0ZW1zJz5cclxuICAgICYgeyBpdGVtczogQXJyYXk8KFxyXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICAgJiBTaGlwcGluZ01ldGhvZEZyYWdtZW50XHJcbiAgICApPiB9XHJcbiAgKSB9O1xyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpZDogU2NhbGFyc1snSUQnXTtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RRdWVyeSA9IHsgc2hpcHBpbmdNZXRob2Q/OiBNYXliZTwoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxyXG4gICk+IH07XHJcblxyXG5leHBvcnQgdHlwZSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9uc1F1ZXJ5ID0geyBzaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4sIHNoaXBwaW5nQ2FsY3VsYXRvcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4sIGZ1bGZpbGxtZW50SGFuZGxlcnM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XHJcbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XHJcbiAgKT4gfTtcclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IENyZWF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb24gPSB7IGNyZWF0ZVNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaW5wdXQ6IFVwZGF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb24gPSB7IHVwZGF0ZVNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cclxuICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XHJcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIERlbGV0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb24gPSB7IGRlbGV0ZVNoaXBwaW5nTWV0aG9kOiAoXHJcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxyXG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxyXG4gICkgfTtcclxuXHJcbmV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xyXG4gIGlucHV0OiBUZXN0U2hpcHBpbmdNZXRob2RJbnB1dDtcclxufT47XHJcblxyXG5cclxuZXhwb3J0IHR5cGUgVGVzdFNoaXBwaW5nTWV0aG9kUXVlcnkgPSB7IHRlc3RTaGlwcGluZ01ldGhvZDogKFxyXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Rlc3RTaGlwcGluZ01ldGhvZFJlc3VsdCcgfVxyXG4gICAgJiBQaWNrPFRlc3RTaGlwcGluZ01ldGhvZFJlc3VsdCwgJ2VsaWdpYmxlJz5cclxuICAgICYgeyBxdW90ZT86IE1heWJlPChcclxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Rlc3RTaGlwcGluZ01ldGhvZFF1b3RlJyB9XHJcbiAgICAgICYgUGljazxUZXN0U2hpcHBpbmdNZXRob2RRdW90ZSwgJ3ByaWNlJyB8ICdwcmljZVdpdGhUYXgnIHwgJ21ldGFkYXRhJz5cclxuICAgICk+IH1cclxuICApIH07XHJcblxyXG5leHBvcnQgdHlwZSBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcclxuICBpbnB1dDogVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzSW5wdXQ7XHJcbn0+O1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5ID0geyB0ZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHM6IEFycmF5PChcclxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFF1b3RlJyB9XHJcbiAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2RRdW90ZSwgJ2lkJyB8ICduYW1lJyB8ICdjb2RlJyB8ICdkZXNjcmlwdGlvbicgfCAncHJpY2UnIHwgJ3ByaWNlV2l0aFRheCcgfCAnbWV0YWRhdGEnPlxyXG4gICk+IH07XHJcblxyXG50eXBlIERpc2NyaW1pbmF0ZVVuaW9uPFQsIFU+ID0gVCBleHRlbmRzIFUgPyBUIDogbmV2ZXI7XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJvbGUge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUm9sZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJvbGVGcmFnbWVudFsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQWRtaW5pc3RyYXRvckZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFVzZXIgPSAoTm9uTnVsbGFibGU8QWRtaW5pc3RyYXRvckZyYWdtZW50Wyd1c2VyJ10+KTtcclxuICBleHBvcnQgdHlwZSBSb2xlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QWRtaW5pc3RyYXRvckZyYWdtZW50Wyd1c2VyJ10+KVsncm9sZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFkbWluaXN0cmF0b3JzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBZG1pbmlzdHJhdG9yc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWRtaW5pc3RyYXRvcnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9ycyA9IChOb25OdWxsYWJsZTxHZXRBZG1pbmlzdHJhdG9yc1F1ZXJ5WydhZG1pbmlzdHJhdG9ycyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEFkbWluaXN0cmF0b3JzUXVlcnlbJ2FkbWluaXN0cmF0b3JzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFjdGl2ZUFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFjdGl2ZUFkbWluaXN0cmF0b3JRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFjdGl2ZUFkbWluaXN0cmF0b3JRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBY3RpdmVBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPEdldEFjdGl2ZUFkbWluaXN0cmF0b3JRdWVyeVsnYWN0aXZlQWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0QWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWRtaW5pc3RyYXRvclF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWRtaW5pc3RyYXRvclF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8R2V0QWRtaW5pc3RyYXRvclF1ZXJ5WydhZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVBZG1pbmlzdHJhdG9yIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25bJ2NyZWF0ZUFkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUFkbWluaXN0cmF0b3Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblsndXBkYXRlQWRtaW5pc3RyYXRvciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8VXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uWyd1cGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVBZG1pbmlzdHJhdG9yIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb25bJ2RlbGV0ZUFkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFJvbGVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRSb2xlc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Um9sZXNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBSb2xlcyA9IChOb25OdWxsYWJsZTxHZXRSb2xlc1F1ZXJ5Wydyb2xlcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFJvbGVzUXVlcnlbJ3JvbGVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFJvbGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFJvbGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJvbGVRdWVyeTtcclxuICBleHBvcnQgdHlwZSBSb2xlID0gKE5vbk51bGxhYmxlPEdldFJvbGVRdWVyeVsncm9sZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUm9sZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlUm9sZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVJvbGUgPSAoTm9uTnVsbGFibGU8Q3JlYXRlUm9sZU11dGF0aW9uWydjcmVhdGVSb2xlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVSb2xlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVSb2xlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVSb2xlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUm9sZSA9IChOb25OdWxsYWJsZTxVcGRhdGVSb2xlTXV0YXRpb25bJ3VwZGF0ZVJvbGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVJvbGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVJvbGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVJvbGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVSb2xlID0gKE5vbk51bGxhYmxlPERlbGV0ZVJvbGVNdXRhdGlvblsnZGVsZXRlUm9sZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8QXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uWydhc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDdXJyZW50VXNlciB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDdXJyZW50VXNlckZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEN1cnJlbnRVc2VyRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBdHRlbXB0TG9naW4ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEF0dGVtcHRMb2dpbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXR0ZW1wdExvZ2luTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgTG9naW4gPSAoTm9uTnVsbGFibGU8QXR0ZW1wdExvZ2luTXV0YXRpb25bJ2xvZ2luJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBMb2dPdXQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IExvZ091dE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gTG9nT3V0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgTG9nb3V0ID0gKE5vbk51bGxhYmxlPExvZ091dE11dGF0aW9uWydsb2dvdXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1cnJlbnRVc2VyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXJyZW50VXNlclF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VycmVudFVzZXJRdWVyeTtcclxuICBleHBvcnQgdHlwZSBNZSA9IChOb25OdWxsYWJsZTxHZXRDdXJyZW50VXNlclF1ZXJ5WydtZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVxdWVzdFN0YXJ0ZWQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlcXVlc3RTdGFydGVkTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZXF1ZXN0U3RhcnRlZE11dGF0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlcXVlc3RDb21wbGV0ZWQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVc2VyU3RhdHVzIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFVzZXJTdGF0dXNGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVc2VyU3RhdHVzRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXRBc0xvZ2dlZEluIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRBc0xvZ2dlZEluTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRBc0xvZ2dlZEluTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0QXNMb2dnZWRJbiA9IChOb25OdWxsYWJsZTxTZXRBc0xvZ2dlZEluTXV0YXRpb25bJ3NldEFzTG9nZ2VkSW4nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldEFzTG9nZ2VkT3V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRBc0xvZ2dlZE91dE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QXNMb2dnZWRPdXRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBTZXRBc0xvZ2dlZE91dCA9IChOb25OdWxsYWJsZTxTZXRBc0xvZ2dlZE91dE11dGF0aW9uWydzZXRBc0xvZ2dlZE91dCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0VWlMYW5ndWFnZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0VWlMYW5ndWFnZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0VWlMYW5ndWFnZU11dGF0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldFVpTG9jYWxlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVaUxvY2FsZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0VWlMb2NhbGVNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50c011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzTXV0YXRpb247XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0Q29udGVudExhbmd1YWdlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRDb250ZW50TGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldENvbnRlbnRMYW5ndWFnZU11dGF0aW9uO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNldFVpVGhlbWUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVpVGhlbWVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVpVGhlbWVNdXRhdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXROZXR3b3JrU3RhdHVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXROZXR3b3JrU3RhdHVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXROZXR3b3JrU3RhdHVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgTmV0d29ya1N0YXR1cyA9IChOb25OdWxsYWJsZTxHZXROZXR3b3JrU3RhdHVzUXVlcnlbJ25ldHdvcmtTdGF0dXMnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFVzZXJTdGF0dXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFVzZXJTdGF0dXNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJTdGF0dXNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBVc2VyU3RhdHVzID0gKE5vbk51bGxhYmxlPEdldFVzZXJTdGF0dXNRdWVyeVsndXNlclN0YXR1cyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VWlTdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VWlTdGF0ZVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VWlTdGF0ZVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFVpU3RhdGUgPSAoTm9uTnVsbGFibGU8R2V0VWlTdGF0ZVF1ZXJ5Wyd1aVN0YXRlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDbGllbnRTdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2xpZW50U3RhdGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENsaWVudFN0YXRlUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgTmV0d29ya1N0YXR1cyA9IChOb25OdWxsYWJsZTxHZXRDbGllbnRTdGF0ZVF1ZXJ5WyduZXR3b3JrU3RhdHVzJ10+KTtcclxuICBleHBvcnQgdHlwZSBVc2VyU3RhdHVzID0gKE5vbk51bGxhYmxlPEdldENsaWVudFN0YXRlUXVlcnlbJ3VzZXJTdGF0dXMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFVpU3RhdGUgPSAoTm9uTnVsbGFibGU8R2V0Q2xpZW50U3RhdGVRdWVyeVsndWlTdGF0ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0QWN0aXZlQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWwgPSAoTm9uTnVsbGFibGU8U2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uWydzZXRBY3RpdmVDaGFubmVsJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVVc2VyQ2hhbm5lbHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlVXNlckNoYW5uZWxzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlVXNlckNoYW5uZWxzID0gKE5vbk51bGxhYmxlPFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uWyd1cGRhdGVVc2VyQ2hhbm5lbHMnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbGxlY3Rpb25GaWx0ZXJzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29sbGVjdGlvbkZpbHRlcnNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDb2xsZWN0aW9uRmlsdGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5Wydjb2xsZWN0aW9uRmlsdGVycyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDb2xsZWN0aW9uRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2V0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2Fzc2V0cyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmlsdGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2ZpbHRlcnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUGFyZW50ID0gKE5vbk51bGxhYmxlPENvbGxlY3Rpb25GcmFnbWVudFsncGFyZW50J10+KTtcclxuICBleHBvcnQgdHlwZSBDaGlsZHJlbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2NoaWxkcmVuJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb2xsZWN0aW9uTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29sbGVjdGlvbkxpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbGxlY3Rpb25MaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbnMgPSAoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkxpc3RRdWVyeVsnY29sbGVjdGlvbnMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5Wydjb2xsZWN0aW9ucyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkxpc3RRdWVyeVsnY29sbGVjdGlvbnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBhcmVudCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25MaXN0UXVlcnlbJ2NvbGxlY3Rpb25zJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydwYXJlbnQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbGxlY3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbGxlY3Rpb25RdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbGxlY3Rpb25RdWVyeTtcclxuICBleHBvcnQgdHlwZSBDb2xsZWN0aW9uID0gKE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25RdWVyeVsnY29sbGVjdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uWydjcmVhdGVDb2xsZWN0aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDb2xsZWN0aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25bJ3VwZGF0ZUNvbGxlY3Rpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIE1vdmVDb2xsZWN0aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBNb3ZlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gTW92ZUNvbGxlY3Rpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBNb3ZlQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxNb3ZlQ29sbGVjdGlvbk11dGF0aW9uWydtb3ZlQ29sbGVjdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ29sbGVjdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8RGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uWydkZWxldGVDb2xsZWN0aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb2xsZWN0aW9uQ29udGVudHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsnY29sbGVjdGlvbiddPik7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRzID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsnY29sbGVjdGlvbiddPilbJ3Byb2R1Y3RWYXJpYW50cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsnY29sbGVjdGlvbiddPilbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGRyZXNzIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEFkZHJlc3NGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDb3VudHJ5ID0gKE5vbk51bGxhYmxlPEFkZHJlc3NGcmFnbWVudFsnY291bnRyeSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3VzdG9tZXIge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VzdG9tZXJGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBVc2VyID0gKE5vbk51bGxhYmxlPEN1c3RvbWVyRnJhZ21lbnRbJ3VzZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEFkZHJlc3NlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDdXN0b21lckZyYWdtZW50WydhZGRyZXNzZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEN1c3RvbWVyR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VzdG9tZXJHcm91cEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVyTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VzdG9tZXJMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckxpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lcnMgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJMaXN0UXVlcnlbJ2N1c3RvbWVycyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyTGlzdFF1ZXJ5WydjdXN0b21lcnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVXNlciA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyTGlzdFF1ZXJ5WydjdXN0b21lcnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3VzZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXN0b21lclF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VzdG9tZXJRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lclF1ZXJ5WydjdXN0b21lciddPik7XHJcbiAgZXhwb3J0IHR5cGUgR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lclF1ZXJ5WydjdXN0b21lciddPilbJ2dyb3VwcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJzID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lclF1ZXJ5WydjdXN0b21lciddPilbJ29yZGVycyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lclF1ZXJ5WydjdXN0b21lciddPilbJ29yZGVycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVDdXN0b21lciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUN1c3RvbWVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ3VzdG9tZXJNdXRhdGlvblsnY3JlYXRlQ3VzdG9tZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUN1c3RvbWVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQ3VzdG9tZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lciA9IChOb25OdWxsYWJsZTxVcGRhdGVDdXN0b21lck11dGF0aW9uWyd1cGRhdGVDdXN0b21lciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ3VzdG9tZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUN1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVDdXN0b21lck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyID0gKE5vbk51bGxhYmxlPERlbGV0ZUN1c3RvbWVyTXV0YXRpb25bJ2RlbGV0ZUN1c3RvbWVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVDdXN0b21lckFkZHJlc3Mge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzID0gKE5vbk51bGxhYmxlPENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uWydjcmVhdGVDdXN0b21lckFkZHJlc3MnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lckFkZHJlc3MgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25bJ3VwZGF0ZUN1c3RvbWVyQWRkcmVzcyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ3VzdG9tZXJHcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyR3JvdXAgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uWydjcmVhdGVDdXN0b21lckdyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDdXN0b21lckdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cCA9IChOb25OdWxsYWJsZTxVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb25bJ3VwZGF0ZUN1c3RvbWVyR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUN1c3RvbWVyR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckdyb3VwID0gKE5vbk51bGxhYmxlPERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblsnZGVsZXRlQ3VzdG9tZXJHcm91cCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q3VzdG9tZXJHcm91cHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyR3JvdXBzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXBzID0gKE5vbk51bGxhYmxlPEdldEN1c3RvbWVyR3JvdXBzUXVlcnlbJ2N1c3RvbWVyR3JvdXBzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJHcm91cHNRdWVyeVsnY3VzdG9tZXJHcm91cHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyR3JvdXAgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeVsnY3VzdG9tZXJHcm91cCddPik7XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXJzID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5WydjdXN0b21lckdyb3VwJ10+KVsnY3VzdG9tZXJzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlbJ2N1c3RvbWVyR3JvdXAnXT4pWydjdXN0b21lcnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkQ3VzdG9tZXJzVG9Hcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFkZEN1c3RvbWVyc1RvR3JvdXAgPSAoTm9uTnVsbGFibGU8QWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uWydhZGRDdXN0b21lcnNUb0dyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwID0gKE5vbk51bGxhYmxlPFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cE11dGF0aW9uWydyZW1vdmVDdXN0b21lcnNGcm9tR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVySGlzdG9yeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckhpc3RvcnlRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lckhpc3RvcnlRdWVyeVsnY3VzdG9tZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEhpc3RvcnkgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5WydjdXN0b21lciddPilbJ2hpc3RvcnknXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlbJ2N1c3RvbWVyJ10+KVsnaGlzdG9yeSddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5WydjdXN0b21lciddPilbJ2hpc3RvcnknXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2FkbWluaXN0cmF0b3InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkZE5vdGVUb0N1c3RvbWVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGROb3RlVG9DdXN0b21lck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lciA9IChOb25OdWxsYWJsZTxBZGROb3RlVG9DdXN0b21lck11dGF0aW9uWydhZGROb3RlVG9DdXN0b21lciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXJOb3RlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyTm90ZSA9IChOb25OdWxsYWJsZTxVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvblsndXBkYXRlQ3VzdG9tZXJOb3RlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lck5vdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJOb3RlID0gKE5vbk51bGxhYmxlPERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uWydkZWxldGVDdXN0b21lck5vdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEZhY2V0VmFsdWUge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmFjZXRWYWx1ZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGYWNldFZhbHVlRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8RmFjZXRWYWx1ZUZyYWdtZW50WydmYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRmFjZXRXaXRoVmFsdWVzIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RmFjZXRXaXRoVmFsdWVzRnJhZ21lbnRbJ3ZhbHVlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlRmFjZXQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGYWNldE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0ID0gKE5vbk51bGxhYmxlPENyZWF0ZUZhY2V0TXV0YXRpb25bJ2NyZWF0ZUZhY2V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVGYWNldCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUZhY2V0TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXQgPSAoTm9uTnVsbGFibGU8VXBkYXRlRmFjZXRNdXRhdGlvblsndXBkYXRlRmFjZXQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUZhY2V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYWNldE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmFjZXRNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVGYWNldCA9IChOb25OdWxsYWJsZTxEZWxldGVGYWNldE11dGF0aW9uWydkZWxldGVGYWNldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlRmFjZXRWYWx1ZXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGYWNldFZhbHVlc011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZUZhY2V0VmFsdWVzTXV0YXRpb25bJ2NyZWF0ZUZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVGYWNldFZhbHVlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUZhY2V0VmFsdWVzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblsndXBkYXRlRmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUZhY2V0VmFsdWVzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxEZWxldGVGYWNldFZhbHVlc011dGF0aW9uWydkZWxldGVGYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0RmFjZXRMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRGYWNldExpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEZhY2V0TGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0cyA9IChOb25OdWxsYWJsZTxHZXRGYWNldExpc3RRdWVyeVsnZmFjZXRzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0RmFjZXRMaXN0UXVlcnlbJ2ZhY2V0cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRGYWNldFdpdGhWYWx1ZXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEZhY2V0V2l0aFZhbHVlc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0RmFjZXRXaXRoVmFsdWVzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8R2V0RmFjZXRXaXRoVmFsdWVzUXVlcnlbJ2ZhY2V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEaXNjb3VudCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBEaXNjb3VudEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlZnVuZCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBSZWZ1bmRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBPcmRlckFkZHJlc3Mge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3JkZXJBZGRyZXNzRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgT3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3JkZXJGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxPcmRlckZyYWdtZW50WydjdXN0b21lciddPik7XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdMaW5lcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckZyYWdtZW50WydzaGlwcGluZ0xpbmVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJGcmFnbWVudFsnc2hpcHBpbmdMaW5lcyddPilbbnVtYmVyXT5bJ3NoaXBwaW5nTWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBGdWxmaWxsbWVudCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBGdWxmaWxsbWVudEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVySXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RnVsZmlsbG1lbnRGcmFnbWVudFsnb3JkZXJJdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgT3JkZXJMaW5lIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE9yZGVyTGluZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8T3JkZXJMaW5lRnJhZ21lbnRbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50ID0gKE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50Wydwcm9kdWN0VmFyaWFudCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydkaXNjb3VudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydpdGVtcyddPilbbnVtYmVyXT5bJ2Z1bGZpbGxtZW50J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBPcmRlckRldGFpbCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPcmRlckRldGFpbEZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyID0gKE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2N1c3RvbWVyJ10+KTtcclxuICBleHBvcnQgdHlwZSBMaW5lcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgU3VyY2hhcmdlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydzdXJjaGFyZ2VzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBEaXNjb3VudHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnZGlzY291bnRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBQcm9tb3Rpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3Byb21vdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTGluZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnc2hpcHBpbmdMaW5lcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2QgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3NoaXBwaW5nTGluZXMnXT4pW251bWJlcl0+WydzaGlwcGluZ01ldGhvZCddPik7XHJcbiAgZXhwb3J0IHR5cGUgVGF4U3VtbWFyeSA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wyd0YXhTdW1tYXJ5J10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ0FkZHJlc3MgPSAoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnc2hpcHBpbmdBZGRyZXNzJ10+KTtcclxuICBleHBvcnQgdHlwZSBCaWxsaW5nQWRkcmVzcyA9IChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydiaWxsaW5nQWRkcmVzcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsncGF5bWVudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFJlZnVuZHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3BheW1lbnRzJ10+KVtudW1iZXJdPlsncmVmdW5kcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3BheW1lbnRzJ10+KVtudW1iZXJdPlsncmVmdW5kcyddPilbbnVtYmVyXT5bJ29yZGVySXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydmdWxmaWxsbWVudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE1vZGlmaWNhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnbW9kaWZpY2F0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnbW9kaWZpY2F0aW9ucyddPilbbnVtYmVyXT5bJ3BheW1lbnQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIF9PcmRlckl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wydtb2RpZmljYXRpb25zJ10+KVtudW1iZXJdPlsnb3JkZXJJdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUmVmdW5kID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wydtb2RpZmljYXRpb25zJ10+KVtudW1iZXJdPlsncmVmdW5kJ10+KTtcclxuICBleHBvcnQgdHlwZSBfU3VyY2hhcmdlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnbW9kaWZpY2F0aW9ucyddPilbbnVtYmVyXT5bJ3N1cmNoYXJnZXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldE9yZGVyTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0T3JkZXJMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRPcmRlckxpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBPcmRlcnMgPSAoTm9uTnVsbGFibGU8R2V0T3JkZXJMaXN0UXVlcnlbJ29yZGVycyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldE9yZGVyTGlzdFF1ZXJ5WydvcmRlcnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0T3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE9yZGVyUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRPcmRlclF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVyID0gKE5vbk51bGxhYmxlPEdldE9yZGVyUXVlcnlbJ29yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBTZXR0bGVQYXltZW50IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXR0bGVQYXltZW50TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXR0bGVQYXltZW50TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0dGxlUGF5bWVudCA9IChOb25OdWxsYWJsZTxTZXR0bGVQYXltZW50TXV0YXRpb25bJ3NldHRsZVBheW1lbnQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8U2V0dGxlUGF5bWVudE11dGF0aW9uWydzZXR0bGVQYXltZW50J10+KSwgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnQnIH0+KTtcclxuICBleHBvcnQgdHlwZSBTZXR0bGVQYXltZW50RXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8U2V0dGxlUGF5bWVudE11dGF0aW9uWydzZXR0bGVQYXltZW50J10+KSwgeyBfX3R5cGVuYW1lPzogJ1NldHRsZVBheW1lbnRFcnJvcicgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxTZXR0bGVQYXltZW50TXV0YXRpb25bJ3NldHRsZVBheW1lbnQnXT4pLCB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxTZXR0bGVQYXltZW50TXV0YXRpb25bJ3NldHRsZVBheW1lbnQnXT4pLCB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGUgPSAoTm9uTnVsbGFibGU8VHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25QYXltZW50VG9TdGF0ZSddPik7XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVNdXRhdGlvblsndHJhbnNpdGlvblBheW1lbnRUb1N0YXRlJ10+KSwgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnQnIH0+KTtcclxuICBleHBvcnQgdHlwZSBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8VHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25QYXltZW50VG9TdGF0ZSddPiksIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVGdWxmaWxsbWVudCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRkRnVsZmlsbG1lbnRUb09yZGVyID0gKE5vbk51bGxhYmxlPENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb25bJ2FkZEZ1bGZpbGxtZW50VG9PcmRlciddPik7XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uWydhZGRGdWxmaWxsbWVudFRvT3JkZXInXT4pLCB7IF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcicgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8Q3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvblsnYWRkRnVsZmlsbG1lbnRUb09yZGVyJ10+KSwgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDYW5jZWxPcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ2FuY2VsT3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENhbmNlbE9yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsT3JkZXIgPSAoTm9uTnVsbGFibGU8Q2FuY2VsT3JkZXJNdXRhdGlvblsnY2FuY2VsT3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlZnVuZE9yZGVyIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZWZ1bmRPcmRlck11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVmdW5kT3JkZXJNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZWZ1bmRPcmRlciA9IChOb25OdWxsYWJsZTxSZWZ1bmRPcmRlck11dGF0aW9uWydyZWZ1bmRPcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2V0dGxlUmVmdW5kIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXR0bGVSZWZ1bmRNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldHRsZVJlZnVuZE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFNldHRsZVJlZnVuZCA9IChOb25OdWxsYWJsZTxTZXR0bGVSZWZ1bmRNdXRhdGlvblsnc2V0dGxlUmVmdW5kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRPcmRlckhpc3Rvcnkge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE9yZGVySGlzdG9yeVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0T3JkZXJIaXN0b3J5UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXIgPSAoTm9uTnVsbGFibGU8R2V0T3JkZXJIaXN0b3J5UXVlcnlbJ29yZGVyJ10+KTtcclxuICBleHBvcnQgdHlwZSBIaXN0b3J5ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRPcmRlckhpc3RvcnlRdWVyeVsnb3JkZXInXT4pWydoaXN0b3J5J10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldE9yZGVySGlzdG9yeVF1ZXJ5WydvcmRlciddPilbJ2hpc3RvcnknXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRPcmRlckhpc3RvcnlRdWVyeVsnb3JkZXInXT4pWydoaXN0b3J5J10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydhZG1pbmlzdHJhdG9yJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGROb3RlVG9PcmRlciB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkTm90ZVRvT3JkZXJNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZE5vdGVUb09yZGVyTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRkTm90ZVRvT3JkZXIgPSAoTm9uTnVsbGFibGU8QWRkTm90ZVRvT3JkZXJNdXRhdGlvblsnYWRkTm90ZVRvT3JkZXInXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZU9yZGVyTm90ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlT3JkZXJOb3RlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVPcmRlck5vdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVPcmRlck5vdGUgPSAoTm9uTnVsbGFibGU8VXBkYXRlT3JkZXJOb3RlTXV0YXRpb25bJ3VwZGF0ZU9yZGVyTm90ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlT3JkZXJOb3RlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVPcmRlck5vdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZU9yZGVyTm90ZSA9IChOb25OdWxsYWJsZTxEZWxldGVPcmRlck5vdGVNdXRhdGlvblsnZGVsZXRlT3JkZXJOb3RlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZSA9IChOb25OdWxsYWJsZTxUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25PcmRlclRvU3RhdGUnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3JJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8VHJhbnNpdGlvbk9yZGVyVG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uT3JkZXJUb1N0YXRlJ10+KSwgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVPcmRlckN1c3RvbUZpZWxkcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlT3JkZXJDdXN0b21GaWVsZHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgU2V0T3JkZXJDdXN0b21GaWVsZHMgPSAoTm9uTnVsbGFibGU8VXBkYXRlT3JkZXJDdXN0b21GaWVsZHNNdXRhdGlvblsnc2V0T3JkZXJDdXN0b21GaWVsZHMnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlID0gKE5vbk51bGxhYmxlPFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvblsndHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSddPik7XHJcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUnXT4pLCB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldE9yZGVyU3VtbWFyeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0T3JkZXJTdW1tYXJ5UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRPcmRlclN1bW1hcnlRdWVyeTtcclxuICBleHBvcnQgdHlwZSBPcmRlcnMgPSAoTm9uTnVsbGFibGU8R2V0T3JkZXJTdW1tYXJ5UXVlcnlbJ29yZGVycyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldE9yZGVyU3VtbWFyeVF1ZXJ5WydvcmRlcnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgTW9kaWZ5T3JkZXIge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IE1vZGlmeU9yZGVyTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb2RpZnlPcmRlck11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyID0gKE5vbk51bGxhYmxlPE1vZGlmeU9yZGVyTXV0YXRpb25bJ21vZGlmeU9yZGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGRNYW51YWxQYXltZW50IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRNYW51YWxQYXltZW50TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRNYW51YWxQYXltZW50TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQWRkTWFudWFsUGF5bWVudFRvT3JkZXIgPSAoTm9uTnVsbGFibGU8QWRkTWFudWFsUGF5bWVudE11dGF0aW9uWydhZGRNYW51YWxQYXltZW50VG9PcmRlciddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQXNzZXQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQXNzZXRGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBGb2NhbFBvaW50ID0gKE5vbk51bGxhYmxlPEFzc2V0RnJhZ21lbnRbJ2ZvY2FsUG9pbnQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRhZyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBUYWdGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0T3B0aW9uR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvZHVjdE9wdGlvbkdyb3VwRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFByb2R1Y3RPcHRpb24ge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvZHVjdE9wdGlvbkZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0T3B0aW9uRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUHJvZHVjdFZhcmlhbnQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvZHVjdFZhcmlhbnRGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBUYXhSYXRlQXBwbGllZCA9IChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50Wyd0YXhSYXRlQXBwbGllZCddPik7XHJcbiAgZXhwb3J0IHR5cGUgVGF4Q2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsndGF4Q2F0ZWdvcnknXT4pO1xyXG4gIGV4cG9ydCB0eXBlIE9wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnb3B0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT5bJ2ZhY2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEFzc2V0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50Wydhc3NldHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0RGV0YWlsIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFByb2R1Y3REZXRhaWxGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnZmVhdHVyZWRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgQXNzZXRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnYXNzZXRzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9wdGlvbkdyb3VwcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ29wdGlvbkdyb3VwcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+WydmYWNldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50WydjaGFubmVscyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnMge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnRbJ29wdGlvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIF9UcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnRbJ29wdGlvbnMnXT4pW251bWJlcl0+Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVByb2R1Y3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb2R1Y3RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0ID0gKE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RNdXRhdGlvblsndXBkYXRlUHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFudExpc3QgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RNdXRhdGlvblsndXBkYXRlUHJvZHVjdCddPilbJ3ZhcmlhbnRMaXN0J10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RNdXRhdGlvblsndXBkYXRlUHJvZHVjdCddPilbJ3ZhcmlhbnRMaXN0J10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVByb2R1Y3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVByb2R1Y3RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0ID0gKE5vbk51bGxhYmxlPENyZWF0ZVByb2R1Y3RNdXRhdGlvblsnY3JlYXRlUHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFudExpc3QgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZVByb2R1Y3RNdXRhdGlvblsnY3JlYXRlUHJvZHVjdCddPilbJ3ZhcmlhbnRMaXN0J10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZVByb2R1Y3RNdXRhdGlvblsnY3JlYXRlUHJvZHVjdCddPilbJ3ZhcmlhbnRMaXN0J10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVByb2R1Y3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVByb2R1Y3RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0ID0gKE5vbk51bGxhYmxlPERlbGV0ZVByb2R1Y3RNdXRhdGlvblsnZGVsZXRlUHJvZHVjdCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUHJvZHVjdFZhcmlhbnRzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RWYXJpYW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblsnY3JlYXRlUHJvZHVjdFZhcmlhbnRzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQcm9kdWN0VmFyaWFudHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdFZhcmlhbnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uWyd1cGRhdGVQcm9kdWN0VmFyaWFudHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAgPSAoTm9uTnVsbGFibGU8Q3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdE9wdGlvbkdyb3VwIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RPcHRpb25Hcm91cFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cCA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0T3B0aW9uR3JvdXBRdWVyeVsncHJvZHVjdE9wdGlvbkdyb3VwJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBBZGRPcHRpb25Ub0dyb3VwIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRPcHRpb25Ub0dyb3VwTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRPcHRpb25Ub0dyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbiA9IChOb25OdWxsYWJsZTxBZGRPcHRpb25Ub0dyb3VwTXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3RPcHRpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdCA9IChOb25OdWxsYWJsZTxBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uWydhZGRPcHRpb25Hcm91cFRvUHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uWydhZGRPcHRpb25Hcm91cFRvUHJvZHVjdCddPilbJ29wdGlvbkdyb3VwcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb25bJ2FkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0J10+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPlsnb3B0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QgPSAoTm9uTnVsbGFibGU8UmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uWydyZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0J10+KTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0SW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblsncmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCddPiksIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8UmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uWydyZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0J10+KSwgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH0+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBPcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblsncmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCddPiksIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9PilbJ29wdGlvbkdyb3VwcyddPilbbnVtYmVyXT5bJ29wdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RXaXRoVmFyaWFudHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0ID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeVsncHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFudExpc3QgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeVsncHJvZHVjdCddPilbJ3ZhcmlhbnRMaXN0J10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeVsncHJvZHVjdCddPilbJ3ZhcmlhbnRMaXN0J10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RTaW1wbGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RTaW1wbGVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RTaW1wbGVRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0ID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RTaW1wbGVRdWVyeVsncHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0J10+KVsnZmVhdHVyZWRBc3NldCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdExpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0TGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RzID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RMaXN0UXVlcnlbJ3Byb2R1Y3RzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdExpc3RRdWVyeVsncHJvZHVjdHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RMaXN0UXVlcnlbJ3Byb2R1Y3RzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydmZWF0dXJlZEFzc2V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0T3B0aW9uR3JvdXBzUXVlcnlbJ3Byb2R1Y3RPcHRpb25Hcm91cHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RPcHRpb25Hcm91cHNRdWVyeVsncHJvZHVjdE9wdGlvbkdyb3VwcyddPilbbnVtYmVyXT5bJ29wdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFzc2V0TGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QXNzZXRMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBc3NldExpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBc3NldHMgPSAoTm9uTnVsbGFibGU8R2V0QXNzZXRMaXN0UXVlcnlbJ2Fzc2V0cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEFzc2V0TGlzdFF1ZXJ5Wydhc3NldHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVGFncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEFzc2V0TGlzdFF1ZXJ5Wydhc3NldHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3RhZ3MnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFzc2V0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBc3NldFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QXNzZXRRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBc3NldCA9IChOb25OdWxsYWJsZTxHZXRBc3NldFF1ZXJ5Wydhc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgVGFncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0QXNzZXRRdWVyeVsnYXNzZXQnXT4pWyd0YWdzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVBc3NldHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUFzc2V0c011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQXNzZXRzTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZUFzc2V0c011dGF0aW9uWydjcmVhdGVBc3NldHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEFzc2V0SW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZUFzc2V0c011dGF0aW9uWydjcmVhdGVBc3NldHMnXT4pW251bWJlcl0+LCB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH0+KTtcclxuICBleHBvcnQgdHlwZSBUYWdzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChEaXNjcmltaW5hdGVVbmlvbjxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3JlYXRlQXNzZXRzTXV0YXRpb25bJ2NyZWF0ZUFzc2V0cyddPilbbnVtYmVyXT4sIHsgX190eXBlbmFtZT86ICdBc3NldCcgfT4pWyd0YWdzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBFcnJvclJlc3VsdElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVBc3NldHNNdXRhdGlvblsnY3JlYXRlQXNzZXRzJ10+KVtudW1iZXJdPiwgeyBfX3R5cGVuYW1lPzogJ0Vycm9yUmVzdWx0JyB9Pik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQXNzZXQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUFzc2V0TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVBc3NldE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUFzc2V0ID0gKE5vbk51bGxhYmxlPFVwZGF0ZUFzc2V0TXV0YXRpb25bJ3VwZGF0ZUFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBUYWdzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVBc3NldE11dGF0aW9uWyd1cGRhdGVBc3NldCddPilbJ3RhZ3MnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUFzc2V0cyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQXNzZXRzTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVBc3NldHNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVBc3NldHMgPSAoTm9uTnVsbGFibGU8RGVsZXRlQXNzZXRzTXV0YXRpb25bJ2RlbGV0ZUFzc2V0cyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgU2VhcmNoUHJvZHVjdHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNlYXJjaFByb2R1Y3RzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQcm9kdWN0c1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFNlYXJjaCA9IChOb25OdWxsYWJsZTxTZWFyY2hQcm9kdWN0c1F1ZXJ5WydzZWFyY2gnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTZWFyY2hQcm9kdWN0c1F1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0QXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0QXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0VmFyaWFudEFzc2V0J10+KTtcclxuICBleHBvcnQgdHlwZSBfRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTZWFyY2hQcm9kdWN0c1F1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3Byb2R1Y3RWYXJpYW50QXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcclxuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnZmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWUgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTZWFyY2hQcm9kdWN0c1F1ZXJ5WydzZWFyY2gnXT4pWydmYWNldFZhbHVlcyddPilbbnVtYmVyXT5bJ2ZhY2V0VmFsdWUnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXRWYWx1ZSddPilbJ2ZhY2V0J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0U2VsZWN0b3JTZWFyY2gge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gUHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgU2VhcmNoID0gKE5vbk51bGxhYmxlPFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5WydzZWFyY2gnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RBc3NldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3Byb2R1Y3RBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0QXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcclxuICBleHBvcnQgdHlwZSBQcmljZSA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3ByaWNlJ10+KTtcclxuICBleHBvcnQgdHlwZSBTaW5nbGVQcmljZUlubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3ByaWNlJ10+KSwgeyBfX3R5cGVuYW1lPzogJ1NpbmdsZVByaWNlJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgUHJpY2VXaXRoVGF4ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJpY2VXaXRoVGF4J10+KTtcclxuICBleHBvcnQgdHlwZSBfU2luZ2xlUHJpY2VJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydwcmljZVdpdGhUYXgnXT4pLCB7IF9fdHlwZW5hbWU/OiAnU2luZ2xlUHJpY2UnIH0+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXAge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwID0gKE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uWyd1cGRhdGVQcm9kdWN0T3B0aW9uR3JvdXAnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVByb2R1Y3RPcHRpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uID0gKE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvblsndXBkYXRlUHJvZHVjdE9wdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUHJvZHVjdFZhcmlhbnQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVQcm9kdWN0VmFyaWFudE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVByb2R1Y3RWYXJpYW50ID0gKE5vbk51bGxhYmxlPERlbGV0ZVByb2R1Y3RWYXJpYW50TXV0YXRpb25bJ2RlbGV0ZVByb2R1Y3RWYXJpYW50J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdCA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeVsncHJvZHVjdCddPik7XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeVsncHJvZHVjdCddPilbJ29wdGlvbkdyb3VwcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5Wydwcm9kdWN0J10+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPlsnb3B0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFudHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5Wydwcm9kdWN0J10+KVsndmFyaWFudHMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIF9PcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlbJ3Byb2R1Y3QnXT4pWyd2YXJpYW50cyddPilbbnVtYmVyXT5bJ29wdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbE11dGF0aW9uWydhc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb25bJ2Fzc2lnblByb2R1Y3RzVG9DaGFubmVsJ10+KVtudW1iZXJdPlsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEFzc2lnblZhcmlhbnRzVG9DaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBBc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvblsnYXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvblsnYXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsJ10+KVtudW1iZXJdPlsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxNdXRhdGlvblsncmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxNdXRhdGlvblsncmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT5bJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvblsncmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWwnXT4pW251bWJlcl0+WydjaGFubmVscyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdFZhcmlhbnQge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RWYXJpYW50UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50ID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+KTtcclxuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5Wydwcm9kdWN0VmFyaWFudCddPilbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5Wydwcm9kdWN0VmFyaWFudCddPilbJ2ZlYXR1cmVkQXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5Wydwcm9kdWN0VmFyaWFudCddPilbJ3Byb2R1Y3QnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIF9GZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRRdWVyeVsncHJvZHVjdFZhcmlhbnQnXT4pWydwcm9kdWN0J10+KVsnZmVhdHVyZWRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgX0ZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRRdWVyeVsncHJvZHVjdFZhcmlhbnQnXT4pWydwcm9kdWN0J10+KVsnZmVhdHVyZWRBc3NldCddPilbJ2ZvY2FsUG9pbnQnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudHMgPSAoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZlYXR1cmVkQXNzZXQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnZmVhdHVyZWRBc3NldCddPilbJ2ZvY2FsUG9pbnQnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3QgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0J10+KTtcclxuICBleHBvcnQgdHlwZSBfRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0J10+KVsnZmVhdHVyZWRBc3NldCddPik7XHJcbiAgZXhwb3J0IHR5cGUgX0ZvY2FsUG9pbnQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3Byb2R1Y3QnXT4pWydmZWF0dXJlZEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdFZhcmlhbnRMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RWYXJpYW50TGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50cyA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYWdMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRUYWdMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRUYWdMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGFncyA9IChOb25OdWxsYWJsZTxHZXRUYWdMaXN0UXVlcnlbJ3RhZ3MnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYWdMaXN0UXVlcnlbJ3RhZ3MnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VGFnIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRUYWdRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRhZ1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFRhZyA9IChOb25OdWxsYWJsZTxHZXRUYWdRdWVyeVsndGFnJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVUYWcge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVRhZ011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlVGFnTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlVGFnID0gKE5vbk51bGxhYmxlPENyZWF0ZVRhZ011dGF0aW9uWydjcmVhdGVUYWcnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVRhZyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlVGFnTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVUYWdNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVUYWcgPSAoTm9uTnVsbGFibGU8VXBkYXRlVGFnTXV0YXRpb25bJ3VwZGF0ZVRhZyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlVGFnIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVUYWdNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVRhZ011dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVRhZyA9IChOb25OdWxsYWJsZTxEZWxldGVUYWdNdXRhdGlvblsnZGVsZXRlVGFnJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBQcm9tb3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvbW90aW9uRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ29uZGl0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9tb3Rpb25GcmFnbWVudFsnY29uZGl0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQWN0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9tb3Rpb25GcmFnbWVudFsnYWN0aW9ucyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvbW90aW9uTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvbW90aW9uTGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvbW90aW9uTGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb21vdGlvbnMgPSAoTm9uTnVsbGFibGU8R2V0UHJvbW90aW9uTGlzdFF1ZXJ5Wydwcm9tb3Rpb25zJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvbW90aW9uTGlzdFF1ZXJ5Wydwcm9tb3Rpb25zJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb21vdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvbW90aW9uUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9tb3Rpb25RdWVyeTtcclxuICBleHBvcnQgdHlwZSBQcm9tb3Rpb24gPSAoTm9uTnVsbGFibGU8R2V0UHJvbW90aW9uUXVlcnlbJ3Byb21vdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0QWRqdXN0bWVudE9wZXJhdGlvbnMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFkanVzdG1lbnRPcGVyYXRpb25zUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBZGp1c3RtZW50T3BlcmF0aW9uc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFByb21vdGlvbkNvbmRpdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0QWRqdXN0bWVudE9wZXJhdGlvbnNRdWVyeVsncHJvbW90aW9uQ29uZGl0aW9ucyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9uQWN0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBZGp1c3RtZW50T3BlcmF0aW9uc1F1ZXJ5Wydwcm9tb3Rpb25BY3Rpb25zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVQcm9tb3Rpb24ge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVByb21vdGlvbk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlUHJvbW90aW9uTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlUHJvbW90aW9uID0gKE5vbk51bGxhYmxlPENyZWF0ZVByb21vdGlvbk11dGF0aW9uWydjcmVhdGVQcm9tb3Rpb24nXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVByb21vdGlvbiB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVQcm9tb3Rpb25NdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb24gPSAoTm9uTnVsbGFibGU8VXBkYXRlUHJvbW90aW9uTXV0YXRpb25bJ3VwZGF0ZVByb21vdGlvbiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUHJvbW90aW9uIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVQcm9tb3Rpb25NdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVByb21vdGlvbk11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVByb21vdGlvbiA9IChOb25OdWxsYWJsZTxEZWxldGVQcm9tb3Rpb25NdXRhdGlvblsnZGVsZXRlUHJvbW90aW9uJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDb3VudHJ5IHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IENvdW50cnlGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBUcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q291bnRyeUZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldENvdW50cnlMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb3VudHJ5TGlzdFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q291bnRyeUxpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDb3VudHJpZXMgPSAoTm9uTnVsbGFibGU8R2V0Q291bnRyeUxpc3RRdWVyeVsnY291bnRyaWVzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q291bnRyeUxpc3RRdWVyeVsnY291bnRyaWVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEF2YWlsYWJsZUNvdW50cmllcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QXZhaWxhYmxlQ291bnRyaWVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBdmFpbGFibGVDb3VudHJpZXNRdWVyeTtcclxuICBleHBvcnQgdHlwZSBDb3VudHJpZXMgPSAoTm9uTnVsbGFibGU8R2V0QXZhaWxhYmxlQ291bnRyaWVzUXVlcnlbJ2NvdW50cmllcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEF2YWlsYWJsZUNvdW50cmllc1F1ZXJ5Wydjb3VudHJpZXMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q291bnRyeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q291bnRyeVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q291bnRyeVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIENvdW50cnkgPSAoTm9uTnVsbGFibGU8R2V0Q291bnRyeVF1ZXJ5Wydjb3VudHJ5J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVDb3VudHJ5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVDb3VudHJ5TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVDb3VudHJ5TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQ291bnRyeSA9IChOb25OdWxsYWJsZTxDcmVhdGVDb3VudHJ5TXV0YXRpb25bJ2NyZWF0ZUNvdW50cnknXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUNvdW50cnkge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUNvdW50cnlNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUNvdW50cnlNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVDb3VudHJ5ID0gKE5vbk51bGxhYmxlPFVwZGF0ZUNvdW50cnlNdXRhdGlvblsndXBkYXRlQ291bnRyeSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ291bnRyeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ291bnRyeU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ291bnRyeU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZUNvdW50cnkgPSAoTm9uTnVsbGFibGU8RGVsZXRlQ291bnRyeU11dGF0aW9uWydkZWxldGVDb3VudHJ5J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBab25lIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFpvbmVGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBNZW1iZXJzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFpvbmVGcmFnbWVudFsnbWVtYmVycyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Wm9uZXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFpvbmVzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRab25lc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFpvbmVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFpvbmVzUXVlcnlbJ3pvbmVzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBNZW1iZXJzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRab25lc1F1ZXJ5Wyd6b25lcyddPilbbnVtYmVyXT5bJ21lbWJlcnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFpvbmUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFpvbmVRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFpvbmVRdWVyeTtcclxuICBleHBvcnQgdHlwZSBab25lID0gKE5vbk51bGxhYmxlPEdldFpvbmVRdWVyeVsnem9uZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlWm9uZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlWm9uZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlWm9uZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVpvbmUgPSAoTm9uTnVsbGFibGU8Q3JlYXRlWm9uZU11dGF0aW9uWydjcmVhdGVab25lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVab25lIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVab25lTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVab25lTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlWm9uZSA9IChOb25OdWxsYWJsZTxVcGRhdGVab25lTXV0YXRpb25bJ3VwZGF0ZVpvbmUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVpvbmUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVpvbmVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVpvbmVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVab25lID0gKE5vbk51bGxhYmxlPERlbGV0ZVpvbmVNdXRhdGlvblsnZGVsZXRlWm9uZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQWRkTWVtYmVyc1RvWm9uZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQWRkTWVtYmVyc1RvWm9uZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkTWVtYmVyc1RvWm9uZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIEFkZE1lbWJlcnNUb1pvbmUgPSAoTm9uTnVsbGFibGU8QWRkTWVtYmVyc1RvWm9uZU11dGF0aW9uWydhZGRNZW1iZXJzVG9ab25lJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVNZW1iZXJzRnJvbVpvbmUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZU1lbWJlcnNGcm9tWm9uZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlTWVtYmVyc0Zyb21ab25lID0gKE5vbk51bGxhYmxlPFJlbW92ZU1lbWJlcnNGcm9tWm9uZU11dGF0aW9uWydyZW1vdmVNZW1iZXJzRnJvbVpvbmUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRheENhdGVnb3J5IHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFRheENhdGVnb3J5RnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VGF4Q2F0ZWdvcmllcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4Q2F0ZWdvcmllc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VGF4Q2F0ZWdvcmllc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFRheENhdGVnb3JpZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0VGF4Q2F0ZWdvcmllc1F1ZXJ5Wyd0YXhDYXRlZ29yaWVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYXhDYXRlZ29yeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4Q2F0ZWdvcnlRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRheENhdGVnb3J5UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgVGF4Q2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8R2V0VGF4Q2F0ZWdvcnlRdWVyeVsndGF4Q2F0ZWdvcnknXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVRheENhdGVnb3J5IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVUYXhDYXRlZ29yeU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVUYXhDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxDcmVhdGVUYXhDYXRlZ29yeU11dGF0aW9uWydjcmVhdGVUYXhDYXRlZ29yeSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlVGF4Q2F0ZWdvcnkge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVRheENhdGVnb3J5TXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVUYXhDYXRlZ29yeU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVRheENhdGVnb3J5ID0gKE5vbk51bGxhYmxlPFVwZGF0ZVRheENhdGVnb3J5TXV0YXRpb25bJ3VwZGF0ZVRheENhdGVnb3J5J10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVUYXhDYXRlZ29yeSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVRheENhdGVnb3J5TXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlVGF4Q2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8RGVsZXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblsnZGVsZXRlVGF4Q2F0ZWdvcnknXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRheFJhdGUge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVGF4UmF0ZUZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIENhdGVnb3J5ID0gKE5vbk51bGxhYmxlPFRheFJhdGVGcmFnbWVudFsnY2F0ZWdvcnknXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFpvbmUgPSAoTm9uTnVsbGFibGU8VGF4UmF0ZUZyYWdtZW50Wyd6b25lJ10+KTtcclxuICBleHBvcnQgdHlwZSBDdXN0b21lckdyb3VwID0gKE5vbk51bGxhYmxlPFRheFJhdGVGcmFnbWVudFsnY3VzdG9tZXJHcm91cCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VGF4UmF0ZUxpc3Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFRheFJhdGVMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRUYXhSYXRlTGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFRheFJhdGVzID0gKE5vbk51bGxhYmxlPEdldFRheFJhdGVMaXN0UXVlcnlbJ3RheFJhdGVzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0VGF4UmF0ZUxpc3RRdWVyeVsndGF4UmF0ZXMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VGF4UmF0ZUxpc3RTaW1wbGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFRheFJhdGVzID0gKE5vbk51bGxhYmxlPEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnlbJ3RheFJhdGVzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0VGF4UmF0ZUxpc3RTaW1wbGVRdWVyeVsndGF4UmF0ZXMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5Wyd0YXhSYXRlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnY2F0ZWdvcnknXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFpvbmUgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5Wyd0YXhSYXRlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnem9uZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0VGF4UmF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4UmF0ZVF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VGF4UmF0ZVF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFRheFJhdGUgPSAoTm9uTnVsbGFibGU8R2V0VGF4UmF0ZVF1ZXJ5Wyd0YXhSYXRlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVUYXhSYXRlIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVUYXhSYXRlTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVUYXhSYXRlTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlVGF4UmF0ZSA9IChOb25OdWxsYWJsZTxDcmVhdGVUYXhSYXRlTXV0YXRpb25bJ2NyZWF0ZVRheFJhdGUnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVRheFJhdGUge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVRheFJhdGVNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVRheFJhdGVNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVUYXhSYXRlID0gKE5vbk51bGxhYmxlPFVwZGF0ZVRheFJhdGVNdXRhdGlvblsndXBkYXRlVGF4UmF0ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlVGF4UmF0ZSB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlVGF4UmF0ZU11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVGF4UmF0ZU11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIERlbGV0ZVRheFJhdGUgPSAoTm9uTnVsbGFibGU8RGVsZXRlVGF4UmF0ZU11dGF0aW9uWydkZWxldGVUYXhSYXRlJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IENoYW5uZWxGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBEZWZhdWx0U2hpcHBpbmdab25lID0gKE5vbk51bGxhYmxlPENoYW5uZWxGcmFnbWVudFsnZGVmYXVsdFNoaXBwaW5nWm9uZSddPik7XHJcbiAgZXhwb3J0IHR5cGUgRGVmYXVsdFRheFpvbmUgPSAoTm9uTnVsbGFibGU8Q2hhbm5lbEZyYWdtZW50WydkZWZhdWx0VGF4Wm9uZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q2hhbm5lbHMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENoYW5uZWxzUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDaGFubmVsc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENoYW5uZWxzUXVlcnlbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDaGFubmVsUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDaGFubmVsUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbCA9IChOb25OdWxsYWJsZTxHZXRDaGFubmVsUXVlcnlbJ2NoYW5uZWwnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEFjdGl2ZUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFjdGl2ZUNoYW5uZWxRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFjdGl2ZUNoYW5uZWxRdWVyeTtcclxuICBleHBvcnQgdHlwZSBBY3RpdmVDaGFubmVsID0gKE5vbk51bGxhYmxlPEdldEFjdGl2ZUNoYW5uZWxRdWVyeVsnYWN0aXZlQ2hhbm5lbCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ2hhbm5lbCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ2hhbm5lbE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZUNoYW5uZWwgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ2hhbm5lbE11dGF0aW9uWydjcmVhdGVDaGFubmVsJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDaGFubmVsIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDaGFubmVsTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ2hhbm5lbCA9IChOb25OdWxsYWJsZTxVcGRhdGVDaGFubmVsTXV0YXRpb25bJ3VwZGF0ZUNoYW5uZWwnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUNoYW5uZWwge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUNoYW5uZWxNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVDaGFubmVsID0gKE5vbk51bGxhYmxlPERlbGV0ZUNoYW5uZWxNdXRhdGlvblsnZGVsZXRlQ2hhbm5lbCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUGF5bWVudE1ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQYXltZW50TWV0aG9kRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ2hlY2tlciA9IChOb25OdWxsYWJsZTxQYXltZW50TWV0aG9kRnJhZ21lbnRbJ2NoZWNrZXInXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEhhbmRsZXIgPSAoTm9uTnVsbGFibGU8UGF5bWVudE1ldGhvZEZyYWdtZW50WydoYW5kbGVyJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQYXltZW50TWV0aG9kTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UGF5bWVudE1ldGhvZExpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZHMgPSAoTm9uTnVsbGFibGU8R2V0UGF5bWVudE1ldGhvZExpc3RRdWVyeVsncGF5bWVudE1ldGhvZHMnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5WydwYXltZW50TWV0aG9kcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9ucyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UGF5bWVudE1ldGhvZE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFBheW1lbnRNZXRob2RPcGVyYXRpb25zUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZEVsaWdpYmlsaXR5Q2hlY2tlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UGF5bWVudE1ldGhvZE9wZXJhdGlvbnNRdWVyeVsncGF5bWVudE1ldGhvZEVsaWdpYmlsaXR5Q2hlY2tlcnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RIYW5kbGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5WydwYXltZW50TWV0aG9kSGFuZGxlcnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFBheW1lbnRNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFBheW1lbnRNZXRob2RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFBheW1lbnRNZXRob2RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0gKE5vbk51bGxhYmxlPEdldFBheW1lbnRNZXRob2RRdWVyeVsncGF5bWVudE1ldGhvZCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUGF5bWVudE1ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIENyZWF0ZVBheW1lbnRNZXRob2QgPSAoTm9uTnVsbGFibGU8Q3JlYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uWydjcmVhdGVQYXltZW50TWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQYXltZW50TWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUGF5bWVudE1ldGhvZCA9IChOb25OdWxsYWJsZTxVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb25bJ3VwZGF0ZVBheW1lbnRNZXRob2QnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVBheW1lbnRNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVBheW1lbnRNZXRob2RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBEZWxldGVQYXltZW50TWV0aG9kID0gKE5vbk51bGxhYmxlPERlbGV0ZVBheW1lbnRNZXRob2RNdXRhdGlvblsnZGVsZXRlUGF5bWVudE1ldGhvZCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2xvYmFsU2V0dGluZ3Mge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gR2xvYmFsU2V0dGluZ3NGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBTZXJ2ZXJDb25maWcgPSAoTm9uTnVsbGFibGU8R2xvYmFsU2V0dGluZ3NGcmFnbWVudFsnc2VydmVyQ29uZmlnJ10+KTtcclxuICBleHBvcnQgdHlwZSBQZXJtaXNzaW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2xvYmFsU2V0dGluZ3NGcmFnbWVudFsnc2VydmVyQ29uZmlnJ10+KVsncGVybWlzc2lvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIE9yZGVyUHJvY2VzcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2xvYmFsU2V0dGluZ3NGcmFnbWVudFsnc2VydmVyQ29uZmlnJ10+KVsnb3JkZXJQcm9jZXNzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRHbG9iYWxTZXR0aW5ncyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0R2xvYmFsU2V0dGluZ3NRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEdsb2JhbFNldHRpbmdzUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgR2xvYmFsU2V0dGluZ3MgPSAoTm9uTnVsbGFibGU8R2V0R2xvYmFsU2V0dGluZ3NRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUdsb2JhbFNldHRpbmdzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVHbG9iYWxTZXR0aW5nc011dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlR2xvYmFsU2V0dGluZ3NNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBVcGRhdGVHbG9iYWxTZXR0aW5ncyA9IChOb25OdWxsYWJsZTxVcGRhdGVHbG9iYWxTZXR0aW5nc011dGF0aW9uWyd1cGRhdGVHbG9iYWxTZXR0aW5ncyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ3VzdG9tRmllbGRDb25maWcge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VzdG9tRmllbGRDb25maWdGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBEZXNjcmlwdGlvbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDdXN0b21GaWVsZENvbmZpZ0ZyYWdtZW50WydkZXNjcmlwdGlvbiddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgTGFiZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3VzdG9tRmllbGRDb25maWdGcmFnbWVudFsnbGFiZWwnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFN0cmluZ0N1c3RvbUZpZWxkIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50WydvcHRpb25zJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBMYWJlbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudFsnb3B0aW9ucyddPilbbnVtYmVyXT5bJ2xhYmVsJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRleHRDdXN0b21GaWVsZCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBUZXh0Q3VzdG9tRmllbGRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBCb29sZWFuQ3VzdG9tRmllbGQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQm9vbGVhbkN1c3RvbUZpZWxkRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgSW50Q3VzdG9tRmllbGQge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gSW50Q3VzdG9tRmllbGRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBGbG9hdEN1c3RvbUZpZWxkIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZsb2F0Q3VzdG9tRmllbGRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEYXRlVGltZUN1c3RvbUZpZWxkIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IERhdGVUaW1lQ3VzdG9tRmllbGRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBSZWxhdGlvbkN1c3RvbUZpZWxkIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJlbGF0aW9uQ3VzdG9tRmllbGRGcmFnbWVudDtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDdXN0b21GaWVsZHMge1xyXG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VzdG9tRmllbGRzRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgU3RyaW5nQ3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgVGV4dEN1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH0+KTtcclxuICBleHBvcnQgdHlwZSBCb29sZWFuQ3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIEludEN1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfT4pO1xyXG4gIGV4cG9ydCB0eXBlIEZsb2F0Q3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH0+KTtcclxuICBleHBvcnQgdHlwZSBEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XHJcbiAgZXhwb3J0IHR5cGUgUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ0lubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPEN1c3RvbUZpZWxkc0ZyYWdtZW50LCB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFNlcnZlckNvbmZpZyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0U2VydmVyQ29uZmlnUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRTZXJ2ZXJDb25maWdRdWVyeTtcclxuICBleHBvcnQgdHlwZSBHbG9iYWxTZXR0aW5ncyA9IChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFNlcnZlckNvbmZpZyA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KTtcclxuICBleHBvcnQgdHlwZSBPcmRlclByb2Nlc3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydvcmRlclByb2Nlc3MnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFBlcm1pc3Npb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsncGVybWlzc2lvbnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkQ29uZmlnID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pO1xyXG4gIGV4cG9ydCB0eXBlIEFkZHJlc3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydBZGRyZXNzJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQWRtaW5pc3RyYXRvciddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQXNzZXQgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydBc3NldCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0NoYW5uZWwnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIENvbGxlY3Rpb24gPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydDb2xsZWN0aW9uJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBDb3VudHJ5ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQ291bnRyeSddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydDdXN0b21lciddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0N1c3RvbWVyR3JvdXAnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnRmFjZXQnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWUgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydGYWNldFZhbHVlJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBGdWxmaWxsbWVudCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0Z1bGZpbGxtZW50J10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBfR2xvYmFsU2V0dGluZ3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydHbG9iYWxTZXR0aW5ncyddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXIgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydPcmRlciddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgT3JkZXJMaW5lID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnT3JkZXJMaW5lJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnUGF5bWVudE1ldGhvZCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1Byb2R1Y3QnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb24gPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydQcm9kdWN0T3B0aW9uJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXAgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydQcm9kdWN0T3B0aW9uR3JvdXAnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnUHJvZHVjdFZhcmlhbnQnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFByb21vdGlvbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1Byb21vdGlvbiddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2QgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydTaGlwcGluZ01ldGhvZCddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVGF4Q2F0ZWdvcnkgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydUYXhDYXRlZ29yeSddPilbbnVtYmVyXT47XHJcbiAgZXhwb3J0IHR5cGUgVGF4UmF0ZSA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1RheFJhdGUnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydVc2VyJ10+KVtudW1iZXJdPjtcclxuICBleHBvcnQgdHlwZSBab25lID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnWm9uZSddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgSm9iSW5mbyB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBKb2JJbmZvRnJhZ21lbnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Sm9iSW5mbyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Sm9iSW5mb1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Sm9iSW5mb1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEpvYiA9IChOb25OdWxsYWJsZTxHZXRKb2JJbmZvUXVlcnlbJ2pvYiddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0QWxsSm9icyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWxsSm9ic1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWxsSm9ic1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEpvYnMgPSAoTm9uTnVsbGFibGU8R2V0QWxsSm9ic1F1ZXJ5Wydqb2JzJ10+KTtcclxuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0QWxsSm9ic1F1ZXJ5Wydqb2JzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldEpvYnNCeUlkIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRKb2JzQnlJZFF1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Sm9ic0J5SWRRdWVyeTtcclxuICBleHBvcnQgdHlwZSBKb2JzQnlJZCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRKb2JzQnlJZFF1ZXJ5Wydqb2JzQnlJZCddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0Sm9iUXVldWVMaXN0IHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRKb2JRdWV1ZUxpc3RRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEpvYlF1ZXVlTGlzdFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIEpvYlF1ZXVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRKb2JRdWV1ZUxpc3RRdWVyeVsnam9iUXVldWVzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBDYW5jZWxKb2Ige1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENhbmNlbEpvYk11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ2FuY2VsSm9iTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsSm9iID0gKE5vbk51bGxhYmxlPENhbmNlbEpvYk11dGF0aW9uWydjYW5jZWxKb2InXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJlaW5kZXgge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlaW5kZXhNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlaW5kZXhNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSZWluZGV4ID0gKE5vbk51bGxhYmxlPFJlaW5kZXhNdXRhdGlvblsncmVpbmRleCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc1F1ZXJ5O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBSdW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzID0gKE5vbk51bGxhYmxlPFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvblsncnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQ29uZmlndXJhYmxlT3BlcmF0aW9uIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50O1xyXG4gIGV4cG9ydCB0eXBlIEFyZ3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRbJ2FyZ3MnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZiB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudDtcclxuICBleHBvcnQgdHlwZSBBcmdzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50WydhcmdzJ10+KVtudW1iZXJdPjtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBFcnJvclJlc3VsdCB7XHJcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBFcnJvclJlc3VsdEZyYWdtZW50O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFNoaXBwaW5nTWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFNoaXBwaW5nTWV0aG9kRnJhZ21lbnQ7XHJcbiAgZXhwb3J0IHR5cGUgQ2hlY2tlciA9IChOb25OdWxsYWJsZTxTaGlwcGluZ01ldGhvZEZyYWdtZW50WydjaGVja2VyJ10+KTtcclxuICBleHBvcnQgdHlwZSBDYWxjdWxhdG9yID0gKE5vbk51bGxhYmxlPFNoaXBwaW5nTWV0aG9kRnJhZ21lbnRbJ2NhbGN1bGF0b3InXT4pO1xyXG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTaGlwcGluZ01ldGhvZEZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIEdldFNoaXBwaW5nTWV0aG9kTGlzdCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0U2hpcHBpbmdNZXRob2RMaXN0UXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZHMgPSAoTm9uTnVsbGFibGU8R2V0U2hpcHBpbmdNZXRob2RMaXN0UXVlcnlbJ3NoaXBwaW5nTWV0aG9kcyddPik7XHJcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5WydzaGlwcGluZ01ldGhvZHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgR2V0U2hpcHBpbmdNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFNoaXBwaW5nTWV0aG9kUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRTaGlwcGluZ01ldGhvZFF1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kUXVlcnlbJ3NoaXBwaW5nTWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnMge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9uc1F1ZXJ5VmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0U2hpcHBpbmdNZXRob2RPcGVyYXRpb25zUXVlcnk7XHJcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdFbGlnaWJpbGl0eUNoZWNrZXJzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9uc1F1ZXJ5WydzaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nQ2FsY3VsYXRvcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2hpcHBpbmdNZXRob2RPcGVyYXRpb25zUXVlcnlbJ3NoaXBwaW5nQ2FsY3VsYXRvcnMnXT4pW251bWJlcl0+O1xyXG4gIGV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50SGFuZGxlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2hpcHBpbmdNZXRob2RPcGVyYXRpb25zUXVlcnlbJ2Z1bGZpbGxtZW50SGFuZGxlcnMnXT4pW251bWJlcl0+O1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVNoaXBwaW5nTWV0aG9kIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xyXG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvbjtcclxuICBleHBvcnQgdHlwZSBDcmVhdGVTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxDcmVhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uWydjcmVhdGVTaGlwcGluZ01ldGhvZCddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlU2hpcHBpbmdNZXRob2Qge1xyXG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uO1xyXG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25bJ3VwZGF0ZVNoaXBwaW5nTWV0aG9kJ10+KTtcclxufVxyXG5cclxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVTaGlwcGluZ01ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb247XHJcbiAgZXhwb3J0IHR5cGUgRGVsZXRlU2hpcHBpbmdNZXRob2QgPSAoTm9uTnVsbGFibGU8RGVsZXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvblsnZGVsZXRlU2hpcHBpbmdNZXRob2QnXT4pO1xyXG59XHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIFRlc3RTaGlwcGluZ01ldGhvZCB7XHJcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVGVzdFNoaXBwaW5nTWV0aG9kUXVlcnlWYXJpYWJsZXM7XHJcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBUZXN0U2hpcHBpbmdNZXRob2RRdWVyeTtcclxuICBleHBvcnQgdHlwZSBUZXN0U2hpcHBpbmdNZXRob2QgPSAoTm9uTnVsbGFibGU8VGVzdFNoaXBwaW5nTWV0aG9kUXVlcnlbJ3Rlc3RTaGlwcGluZ01ldGhvZCddPik7XHJcbiAgZXhwb3J0IHR5cGUgUXVvdGUgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFRlc3RTaGlwcGluZ01ldGhvZFF1ZXJ5Wyd0ZXN0U2hpcHBpbmdNZXRob2QnXT4pWydxdW90ZSddPik7XHJcbn1cclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzIHtcclxuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVZhcmlhYmxlcztcclxuICBleHBvcnQgdHlwZSBRdWVyeSA9IFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc1F1ZXJ5O1xyXG4gIGV4cG9ydCB0eXBlIFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVsndGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzJ10+KVtudW1iZXJdPjtcclxufVxyXG4iXX0=
|
|
982
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVkLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9jb21tb24vZ2VuZXJhdGVkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBFQSxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3hCLHlDQUF1QixDQUFBO0lBQ3ZCLDZFQUEyRCxDQUFBO0lBQzNELGlDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUpXLGNBQWMsS0FBZCxjQUFjLFFBSXpCO0FBa0pELE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7SUFDZiw4QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEI7QUEra0JEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUEyVFg7QUEzVEQsV0FBWSxZQUFZO0lBQ3RCLGtDQUFrQztJQUNsQywyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsb0NBQW9DO0lBQ3BDLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gsOENBQThDO0lBQzlDLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLGdCQUFnQjtJQUNoQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLGtCQUFrQjtJQUNsQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCw4QkFBOEI7SUFDOUIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCw2QkFBNkI7SUFDN0IsMkJBQVcsQ0FBQTtJQUNYLGlCQUFpQjtJQUNqQiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsV0FBVztJQUNYLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLDZCQUE2QjtJQUM3QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gscUJBQXFCO0lBQ3JCLDJCQUFXLENBQUE7SUFDWCxtQkFBbUI7SUFDbkIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLDRCQUE0QjtJQUM1QiwyQkFBVyxDQUFBO0lBQ1gsd0JBQXdCO0lBQ3hCLDJCQUFXLENBQUE7SUFDWCxjQUFjO0lBQ2QsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLDBCQUEwQjtJQUMxQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gsaUJBQWlCO0lBQ2pCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsNkJBQTZCO0lBQzdCLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLHNCQUFzQjtJQUN0QiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxvQkFBb0I7SUFDcEIsMkJBQVcsQ0FBQTtJQUNYLG9CQUFvQjtJQUNwQiwyQkFBVyxDQUFBO0lBQ1gsb0JBQW9CO0lBQ3BCLDJCQUFXLENBQUE7SUFDWCxrQkFBa0I7SUFDbEIsMkJBQVcsQ0FBQTtJQUNYLDZCQUE2QjtJQUM3QiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsdUJBQXVCO0lBQ3ZCLDJCQUFXLENBQUE7SUFDWCx5QkFBeUI7SUFDekIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLDJCQUEyQjtJQUMzQiwyQkFBVyxDQUFBO0lBQ1gsa0NBQWtDO0lBQ2xDLDJCQUFXLENBQUE7SUFDWCx1QkFBdUI7SUFDdkIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxnQkFBZ0I7SUFDaEIsMkJBQVcsQ0FBQTtJQUNYLHlCQUF5QjtJQUN6QiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsbUJBQW1CO0lBQ25CLDJCQUFXLENBQUE7SUFDWCxpQ0FBaUM7SUFDakMsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCx3QkFBd0I7SUFDeEIsMkJBQVcsQ0FBQTtJQUNYLHVCQUF1QjtJQUN2QiwyQkFBVyxDQUFBO0lBQ1gsMkJBQTJCO0lBQzNCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHFCQUFxQjtJQUNyQiwyQkFBVyxDQUFBO0lBQ1gsa0NBQWtDO0lBQ2xDLDJCQUFXLENBQUE7SUFDWCxzQkFBc0I7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLG1CQUFtQjtJQUNuQiwyQkFBVyxDQUFBO0lBQ1gsa0JBQWtCO0lBQ2xCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLDRCQUE0QjtJQUM1QiwyQkFBVyxDQUFBO0lBQ1gsc0JBQXNCO0lBQ3RCLDJCQUFXLENBQUE7SUFDWCxrQ0FBa0M7SUFDbEMsMkJBQVcsQ0FBQTtJQUNYLGtCQUFrQjtJQUNsQiwyQkFBVyxDQUFBO0lBQ1gseUJBQXlCO0lBQ3pCLDJCQUFXLENBQUE7SUFDWCxxQkFBcUI7SUFDckIsMkJBQVcsQ0FBQTtJQUNYLHdCQUF3QjtJQUN4QiwyQkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQTNUVyxZQUFZLEtBQVosWUFBWSxRQTJUdkI7QUFrUEQsTUFBTSxDQUFOLElBQVksY0FLWDtBQUxELFdBQVksY0FBYztJQUN4QiwwQ0FBMEM7SUFDMUMscUNBQW1CLENBQUE7SUFDbkIsMkRBQTJEO0lBQzNELDZDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQXlCRCxNQUFNLENBQU4sSUFBWSxTQXNDWDtBQXRDRCxXQUFZLFNBQVM7SUFDbkIsNENBQStCLENBQUE7SUFDL0IsZ0RBQW1DLENBQUE7SUFDbkMsMEVBQTZELENBQUE7SUFDN0QsOEVBQWlFLENBQUE7SUFDakUsMERBQTZDLENBQUE7SUFDN0Msa0ZBQXFFLENBQUE7SUFDckUsNEVBQStELENBQUE7SUFDL0Qsb0ZBQXVFLENBQUE7SUFDdkUsa0VBQXFELENBQUE7SUFDckQsa0ZBQXFFLENBQUE7SUFDckUsMERBQTZDLENBQUE7SUFDN0Msb0VBQXVELENBQUE7SUFDdkQsMEVBQTZELENBQUE7SUFDN0Qsa0VBQXFELENBQUE7SUFDckQsZ0VBQW1ELENBQUE7SUFDbkQsOERBQWlELENBQUE7SUFDakQsa0VBQXFELENBQUE7SUFDckQsNEVBQStELENBQUE7SUFDL0QsOEVBQWlFLENBQUE7SUFDakUsc0ZBQXlFLENBQUE7SUFDekUsOEVBQWlFLENBQUE7SUFDakUsc0VBQXlELENBQUE7SUFDekQsMEVBQTZELENBQUE7SUFDN0QsZ0ZBQW1FLENBQUE7SUFDbkUsc0VBQXlELENBQUE7SUFDekQsd0VBQTJELENBQUE7SUFDM0Qsa0VBQXFELENBQUE7SUFDckQsc0VBQXlELENBQUE7SUFDekQsb0VBQXVELENBQUE7SUFDdkQsMEVBQTZELENBQUE7SUFDN0QsMEVBQTZELENBQUE7SUFDN0Qsb0RBQXVDLENBQUE7SUFDdkMsZ0VBQW1ELENBQUE7SUFDbkQsa0VBQXFELENBQUE7SUFDckQsb0VBQXVELENBQUE7SUFDdkQsb0VBQXVELENBQUE7SUFDdkQsZ0VBQW1ELENBQUE7QUFDckQsQ0FBQyxFQXRDVyxTQUFTLEtBQVQsU0FBUyxRQXNDcEI7QUEwS0QsTUFBTSxDQUFOLElBQVksVUFJWDtBQUpELFdBQVksVUFBVTtJQUNwQiwyQkFBYSxDQUFBO0lBQ2IsNkJBQWUsQ0FBQTtJQUNmLGlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxVQUFVLEtBQVYsVUFBVSxRQUlyQjtBQTBERCxNQUFNLENBQU4sSUFBWSxnQkF5Qlg7QUF6QkQsV0FBWSxnQkFBZ0I7SUFDMUIsK0RBQTJDLENBQUE7SUFDM0MsMkRBQXVDLENBQUE7SUFDdkMsdUVBQW1ELENBQUE7SUFDbkQsdUVBQW1ELENBQUE7SUFDbkQsK0VBQTJELENBQUE7SUFDM0QseUVBQXFELENBQUE7SUFDckQseUVBQXFELENBQUE7SUFDckQseUVBQXFELENBQUE7SUFDckQsMkVBQXVELENBQUE7SUFDdkQsMkZBQXVFLENBQUE7SUFDdkUseUZBQXFFLENBQUE7SUFDckUsdUZBQW1FLENBQUE7SUFDbkUscUZBQWlFLENBQUE7SUFDakUsbURBQStCLENBQUE7SUFDL0IscUVBQWlELENBQUE7SUFDakQseUVBQXFELENBQUE7SUFDckQsMkRBQXVDLENBQUE7SUFDdkMsNkRBQXlDLENBQUE7SUFDekMsdUVBQW1ELENBQUE7SUFDbkQsaUZBQTZELENBQUE7SUFDN0QsNkNBQXlCLENBQUE7SUFDekIsaUVBQTZDLENBQUE7SUFDN0MsaUVBQTZDLENBQUE7SUFDN0MscURBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQXpCVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBeUIzQjtBQThKRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLFFBT1g7QUFQRCxXQUFZLFFBQVE7SUFDbEIsK0JBQW1CLENBQUE7SUFDbkIsK0JBQW1CLENBQUE7SUFDbkIsbUNBQXVCLENBQUE7SUFDdkIsaUNBQXFCLENBQUE7SUFDckIsNkJBQWlCLENBQUE7SUFDakIsbUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQVBXLFFBQVEsS0FBUixRQUFRLFFBT25CO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQU4sSUFBWSxZQTJUWDtBQTNURCxXQUFZLFlBQVk7SUFDdEIsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGtCQUFrQjtJQUNsQix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1Qsc0JBQXNCO0lBQ3RCLCtCQUFlLENBQUE7SUFDZix3QkFBd0I7SUFDeEIsK0JBQWUsQ0FBQTtJQUNmLGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsVUFBVTtJQUNWLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QseUJBQXlCO0lBQ3pCLCtCQUFlLENBQUE7SUFDZix1QkFBdUI7SUFDdkIsK0JBQWUsQ0FBQTtJQUNmLHNCQUFzQjtJQUN0QiwrQkFBZSxDQUFBO0lBQ2YsdUJBQXVCO0lBQ3ZCLCtCQUFlLENBQUE7SUFDZixnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsdUJBQXVCO0lBQ3ZCLCtCQUFlLENBQUE7SUFDZixzQkFBc0I7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCwrQkFBZSxDQUFBO0lBQ2YsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxzQkFBc0I7SUFDdEIsK0JBQWUsQ0FBQTtJQUNmLG1CQUFtQjtJQUNuQiwrQkFBZSxDQUFBO0lBQ2Ysc0JBQXNCO0lBQ3RCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULHNCQUFzQjtJQUN0Qix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxxQkFBcUI7SUFDckIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxrQkFBa0I7SUFDbEIseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1Qsa0JBQWtCO0lBQ2xCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1Qsb0JBQW9CO0lBQ3BCLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsVUFBVTtJQUNWLHlCQUFTLENBQUE7SUFDVCxpQkFBaUI7SUFDakIseUJBQVMsQ0FBQTtJQUNULG1CQUFtQjtJQUNuQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGdCQUFnQjtJQUNoQix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCx1QkFBdUI7SUFDdkIseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCwrQkFBZSxDQUFBO0lBQ2Ysd0JBQXdCO0lBQ3hCLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsV0FBVztJQUNYLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULGlCQUFpQjtJQUNqQix5QkFBUyxDQUFBO0lBQ1QsMkJBQTJCO0lBQzNCLCtCQUFlLENBQUE7SUFDZiwwQkFBMEI7SUFDMUIsK0JBQWUsQ0FBQTtJQUNmLGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGVBQWU7SUFDZix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLCtCQUFlLENBQUE7SUFDZixjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGtCQUFrQjtJQUNsQix5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULG9CQUFvQjtJQUNwQix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxhQUFhO0lBQ2IseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxlQUFlO0lBQ2YseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QscUJBQXFCO0lBQ3JCLHlCQUFTLENBQUE7SUFDVCxnQkFBZ0I7SUFDaEIseUJBQVMsQ0FBQTtJQUNULGNBQWM7SUFDZCx5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxvQkFBb0I7SUFDcEIsK0JBQWUsQ0FBQTtJQUNmLFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsYUFBYTtJQUNiLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULFdBQVc7SUFDWCx5QkFBUyxDQUFBO0lBQ1QsZUFBZTtJQUNmLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCxZQUFZO0lBQ1oseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsZ0JBQWdCO0lBQ2hCLHlCQUFTLENBQUE7SUFDVCxXQUFXO0lBQ1gseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsaUJBQWlCO0lBQ2pCLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULFlBQVk7SUFDWix5QkFBUyxDQUFBO0lBQ1QsWUFBWTtJQUNaLHlCQUFTLENBQUE7SUFDVCxjQUFjO0lBQ2QseUJBQVMsQ0FBQTtJQUNULGFBQWE7SUFDYix5QkFBUyxDQUFBO0lBQ1QsY0FBYztJQUNkLHlCQUFTLENBQUE7SUFDVCx5QkFBeUI7SUFDekIsbUNBQW1CLENBQUE7SUFDbkIsMEJBQTBCO0lBQzFCLG1DQUFtQixDQUFBO0lBQ25CLFdBQVc7SUFDWCx5QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQTNUVyxZQUFZLEtBQVosWUFBWSxRQTJUdkI7QUErQkQsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN6Qiw4QkFBVyxDQUFBO0lBQ1gsNEJBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQjtBQTZ6Q0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLENBQU4sSUFBWSxVQTRLWDtBQTVLRCxXQUFZLFVBQVU7SUFDcEIsNERBQTREO0lBQzVELDZDQUErQixDQUFBO0lBQy9CLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0VBQXdFO0lBQ3hFLDZDQUErQixDQUFBO0lBQy9CLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiw2Q0FBNkM7SUFDN0MsbURBQXFDLENBQUE7SUFDckMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDJDQUEyQztJQUMzQywrQ0FBaUMsQ0FBQTtJQUNqQyxnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQixnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0MsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDRDQUE0QztJQUM1QyxpREFBbUMsQ0FBQTtJQUNuQyxzSUFBc0k7SUFDdEksK0NBQWlDLENBQUE7SUFDakMsaURBQWlEO0lBQ2pELDJEQUE2QyxDQUFBO0lBQzdDLHlDQUF5QztJQUN6QywyQ0FBNkIsQ0FBQTtJQUM3QixzQ0FBc0M7SUFDdEMscUNBQXVCLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQix1Q0FBdUM7SUFDdkMsdUNBQXlCLENBQUE7SUFDekIsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix3RUFBd0U7SUFDeEUsNkNBQStCLENBQUE7SUFDL0IsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLDZDQUE2QztJQUM3QyxtREFBcUMsQ0FBQTtJQUNyQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsMkNBQTJDO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0Isd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHNJQUFzSTtJQUN0SSwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0MseUNBQXlDO0lBQ3pDLDJDQUE2QixDQUFBO0lBQzdCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtJQUN6Qix5RUFBeUU7SUFDekUsNkJBQWUsQ0FBQTtJQUNmLHlDQUEyQixDQUFBO0lBQzNCLHNFQUFzRTtJQUN0RSwrQkFBaUIsQ0FBQTtJQUNqQiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsc0NBQXNDO0lBQ3RDLHFDQUF1QixDQUFBO0lBQ3ZCLHNFQUFzRTtJQUN0RSx5Q0FBMkIsQ0FBQTtJQUMzQix3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IsMkNBQTJDO0lBQzNDLCtDQUFpQyxDQUFBO0lBQ2pDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBeUM7SUFDekMsMkNBQTZCLENBQUE7SUFDN0IsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2QixzQ0FBc0M7SUFDdEMscUNBQXVCLENBQUE7SUFDdkIsOENBQThDO0lBQzlDLHFEQUF1QyxDQUFBO0lBQ3ZDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQiwwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0Isb0lBQW9JO0lBQ3BJLDJDQUE2QixDQUFBO0lBQzdCLCtDQUErQztJQUMvQyx1REFBeUMsQ0FBQTtJQUN6Qyx1Q0FBdUM7SUFDdkMsdUNBQXlCLENBQUE7SUFDekIsb0NBQW9DO0lBQ3BDLGlDQUFtQixDQUFBO0lBQ25CLDRDQUE0QztJQUM1QyxpREFBbUMsQ0FBQTtJQUNuQyx3Q0FBd0M7SUFDeEMseUNBQTJCLENBQUE7SUFDM0IscUNBQXFDO0lBQ3JDLG1DQUFxQixDQUFBO0lBQ3JCLDJEQUEyRDtJQUMzRCx1Q0FBeUIsQ0FBQTtJQUN6QixnREFBZ0Q7SUFDaEQseURBQTJDLENBQUE7SUFDM0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLHdFQUF3RTtJQUN4RSw2Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNkNBQTZDO0lBQzdDLG1EQUFxQyxDQUFBO0lBQ3JDLDBDQUEwQztJQUMxQyw2Q0FBK0IsQ0FBQTtJQUMvQiwyQ0FBMkM7SUFDM0MsK0NBQWlDLENBQUE7SUFDakMsZ0RBQWdEO0lBQ2hELHlEQUEyQyxDQUFBO0lBQzNDLHdDQUF3QztJQUN4Qyx5Q0FBMkIsQ0FBQTtJQUMzQixpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0Msd0NBQXdDO0lBQ3hDLHlDQUEyQixDQUFBO0lBQzNCLGdEQUFnRDtJQUNoRCx5REFBMkMsQ0FBQTtJQUMzQywwQ0FBMEM7SUFDMUMsNkNBQStCLENBQUE7SUFDL0IsNENBQTRDO0lBQzVDLGlEQUFtQyxDQUFBO0lBQ25DLHNJQUFzSTtJQUN0SSwrQ0FBaUMsQ0FBQTtJQUNqQyxpREFBaUQ7SUFDakQsMkRBQTZDLENBQUE7SUFDN0MseUNBQXlDO0lBQ3pDLDJDQUE2QixDQUFBO0lBQzdCLHNDQUFzQztJQUN0QyxxQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBOEM7SUFDOUMscURBQXVDLENBQUE7SUFDdkMsMENBQTBDO0lBQzFDLDZDQUErQixDQUFBO0lBQy9CLHVDQUF1QztJQUN2Qyx1Q0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBNUtXLFVBQVUsS0FBVixVQUFVLFFBNEtyQjtBQXcrQkQsTUFBTSxDQUFOLElBQVksU0FHWDtBQUhELFdBQVksU0FBUztJQUNuQix3QkFBVyxDQUFBO0lBQ1gsMEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQW1DRCxNQUFNLENBQU4sSUFBWSxpQkFPWDtBQVBELFdBQVksaUJBQWlCO0lBQzNCLDhDQUF5QixDQUFBO0lBQ3pCLDhDQUF5QixDQUFBO0lBQ3pCLHdDQUFtQixDQUFBO0lBQ25CLGtDQUFhLENBQUE7SUFDYixrREFBNkIsQ0FBQTtJQUM3QixzQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU81QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlXG5leHBvcnQgdHlwZSBNYXliZTxUPiA9IFQgfCBudWxsO1xuZXhwb3J0IHR5cGUgRXhhY3Q8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PiA9IHsgW0sgaW4ga2V5b2YgVF06IFRbS10gfTtcbmV4cG9ydCB0eXBlIE1ha2VPcHRpb25hbDxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgeyBbU3ViS2V5IGluIEtdPzogTWF5YmU8VFtTdWJLZXldPiB9O1xuZXhwb3J0IHR5cGUgTWFrZU1heWJlPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPiA9IE9taXQ8VCwgSz4gJiB7IFtTdWJLZXkgaW4gS106IE1heWJlPFRbU3ViS2V5XT4gfTtcbi8qKiBBbGwgYnVpbHQtaW4gYW5kIGN1c3RvbSBzY2FsYXJzLCBtYXBwZWQgdG8gdGhlaXIgYWN0dWFsIHZhbHVlcyAqL1xuZXhwb3J0IHR5cGUgU2NhbGFycyA9IHtcbiAgSUQ6IHN0cmluZztcbiAgU3RyaW5nOiBzdHJpbmc7XG4gIEJvb2xlYW46IGJvb2xlYW47XG4gIEludDogbnVtYmVyO1xuICBGbG9hdDogbnVtYmVyO1xuICAvKiogQSBkYXRlLXRpbWUgc3RyaW5nIGF0IFVUQywgc3VjaCBhcyAyMDA3LTEyLTAzVDEwOjE1OjMwWiwgY29tcGxpYW50IHdpdGggdGhlIGBkYXRlLXRpbWVgIGZvcm1hdCBvdXRsaW5lZCBpbiBzZWN0aW9uIDUuNiBvZiB0aGUgUkZDIDMzMzkgcHJvZmlsZSBvZiB0aGUgSVNPIDg2MDEgc3RhbmRhcmQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGRhdGVzIGFuZCB0aW1lcyB1c2luZyB0aGUgR3JlZ29yaWFuIGNhbGVuZGFyLiAqL1xuICBEYXRlVGltZTogYW55O1xuICAvKiogVGhlIGBKU09OYCBzY2FsYXIgdHlwZSByZXByZXNlbnRzIEpTT04gdmFsdWVzIGFzIHNwZWNpZmllZCBieSBbRUNNQS00MDRdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9wdWJsaWNhdGlvbnMvZmlsZXMvRUNNQS1TVC9FQ01BLTQwNC5wZGYpLiAqL1xuICBKU09OOiBhbnk7XG4gIC8qKiBUaGUgYFVwbG9hZGAgc2NhbGFyIHR5cGUgcmVwcmVzZW50cyBhIGZpbGUgdXBsb2FkLiAqL1xuICBVcGxvYWQ6IGFueTtcbn07XG5cblxuZXhwb3J0IHR5cGUgQWRkRnVsZmlsbG1lbnRUb09yZGVyUmVzdWx0ID0gRnVsZmlsbG1lbnQgfCBFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yIHwgSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3IgfCBJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yIHwgSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yIHwgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB8IENyZWF0ZUZ1bGZpbGxtZW50RXJyb3I7XG5cbmV4cG9ydCB0eXBlIEFkZEl0ZW1JbnB1dCA9IHtcbiAgcHJvZHVjdFZhcmlhbnRJZDogU2NhbGFyc1snSUQnXTtcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgQWRkTWFudWFsUGF5bWVudFRvT3JkZXJSZXN1bHQgPSBPcmRlciB8IE1hbnVhbFBheW1lbnRTdGF0ZUVycm9yO1xuXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lcklucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgbm90ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGlzUHVibGljOiBTY2FsYXJzWydCb29sZWFuJ107XG59O1xuXG5leHBvcnQgdHlwZSBBZGROb3RlVG9PcmRlcklucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgbm90ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGlzUHVibGljOiBTY2FsYXJzWydCb29sZWFuJ107XG59O1xuXG5leHBvcnQgdHlwZSBBZGRyZXNzID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdBZGRyZXNzJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBmdWxsTmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY29tcGFueT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0TGluZTE6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdHJlZXRMaW5lMj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY2l0eT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcHJvdmluY2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBvc3RhbENvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvdW50cnk6IENvdW50cnk7XG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWZhdWx0U2hpcHBpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVmYXVsdEJpbGxpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFkanVzdE9yZGVyTGluZUlucHV0ID0ge1xuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgQWRqdXN0bWVudCA9IHtcbiAgX190eXBlbmFtZT86ICdBZGp1c3RtZW50JztcbiAgYWRqdXN0bWVudFNvdXJjZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHR5cGU6IEFkanVzdG1lbnRUeXBlO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFtb3VudDogU2NhbGFyc1snSW50J107XG59O1xuXG5leHBvcnQgZW51bSBBZGp1c3RtZW50VHlwZSB7XG4gIFBST01PVElPTiA9ICdQUk9NT1RJT04nLFxuICBESVNUUklCVVRFRF9PUkRFUl9QUk9NT1RJT04gPSAnRElTVFJJQlVURURfT1JERVJfUFJPTU9USU9OJyxcbiAgT1RIRVIgPSAnT1RIRVInXG59XG5cbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSBOb2RlICYge1xuICBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGZpcnN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGxhc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZW1haWxBZGRyZXNzOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdXNlcjogVXNlcjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JGaWx0ZXJQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIGZpcnN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIGxhc3ROYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcbiAgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yTGlzdCc7XG4gIGl0ZW1zOiBBcnJheTxBZG1pbmlzdHJhdG9yPjtcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XG59O1xuXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yTGlzdE9wdGlvbnMgPSB7XG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXG4gIHNvcnQ/OiBNYXliZTxBZG1pbmlzdHJhdG9yU29ydFBhcmFtZXRlcj47XG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cbiAgZmlsdGVyPzogTWF5YmU8QWRtaW5pc3RyYXRvckZpbHRlclBhcmFtZXRlcj47XG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XG59O1xuXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yUGF5bWVudElucHV0ID0ge1xuICBwYXltZW50TWV0aG9kPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBBZG1pbmlzdHJhdG9yUmVmdW5kSW5wdXQgPSB7XG4gIHBheW1lbnRJZDogU2NhbGFyc1snSUQnXTtcbiAgcmVhc29uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvclNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgZmlyc3ROYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgbGFzdE5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgQWxsb2NhdGlvbiA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xuICBfX3R5cGVuYW1lPzogJ0FsbG9jYXRpb24nO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHByb2R1Y3RWYXJpYW50OiBQcm9kdWN0VmFyaWFudDtcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcbiAgb3JkZXJMaW5lOiBPcmRlckxpbmU7XG59O1xuXG4vKiogUmV0dXJuZWQgaWYgYW4gYXR0ZW1wdGluZyB0byByZWZ1bmQgYW4gT3JkZXJJdGVtIHdoaWNoIGhhcyBhbHJlYWR5IGJlZW4gcmVmdW5kZWQgKi9cbmV4cG9ydCB0eXBlIEFscmVhZHlSZWZ1bmRlZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQWxyZWFkeVJlZnVuZGVkRXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHJlZnVuZElkOiBTY2FsYXJzWydJRCddO1xufTtcblxuZXhwb3J0IHR5cGUgQXNzZXQgPSBOb2RlICYge1xuICBfX3R5cGVuYW1lPzogJ0Fzc2V0JztcbiAgdGFnczogQXJyYXk8VGFnPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZTogQXNzZXRUeXBlO1xuICBmaWxlU2l6ZTogU2NhbGFyc1snSW50J107XG4gIG1pbWVUeXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgd2lkdGg6IFNjYWxhcnNbJ0ludCddO1xuICBoZWlnaHQ6IFNjYWxhcnNbJ0ludCddO1xuICBzb3VyY2U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwcmV2aWV3OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZm9jYWxQb2ludD86IE1heWJlPENvb3JkaW5hdGU+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXNzZXRGaWx0ZXJQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICB0eXBlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgZmlsZVNpemU/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xuICBtaW1lVHlwZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHdpZHRoPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgaGVpZ2h0PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgc291cmNlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgcHJldmlldz86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG59O1xuXG5leHBvcnQgdHlwZSBBc3NldExpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xuICBfX3R5cGVuYW1lPzogJ0Fzc2V0TGlzdCc7XG4gIGl0ZW1zOiBBcnJheTxBc3NldD47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgQXNzZXRMaXN0T3B0aW9ucyA9IHtcbiAgdGFncz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHRhZ3NPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXG4gIHNvcnQ/OiBNYXliZTxBc3NldFNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPEFzc2V0RmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc2V0U29ydFBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgZmlsZVNpemU/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBtaW1lVHlwZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIHdpZHRoPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgaGVpZ2h0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgc291cmNlPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgcHJldmlldz86IE1heWJlPFNvcnRPcmRlcj47XG59O1xuXG5leHBvcnQgZW51bSBBc3NldFR5cGUge1xuICBJTUFHRSA9ICdJTUFHRScsXG4gIFZJREVPID0gJ1ZJREVPJyxcbiAgQklOQVJZID0gJ0JJTkFSWSdcbn1cblxuZXhwb3J0IHR5cGUgQXNzaWduQXNzZXRzVG9DaGFubmVsSW5wdXQgPSB7XG4gIGFzc2V0SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xufTtcblxuZXhwb3J0IHR5cGUgQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQgPSB7XG4gIHByb2R1Y3RWYXJpYW50SWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xuICBwcmljZUZhY3Rvcj86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xufTtcblxuZXhwb3J0IHR5cGUgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxJbnB1dCA9IHtcbiAgcHJvZHVjdElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcbiAgcHJpY2VGYWN0b3I/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc2lnblByb21vdGlvbnNUb0NoYW5uZWxJbnB1dCA9IHtcbiAgcHJvbW90aW9uSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xufTtcblxuZXhwb3J0IHR5cGUgQXV0aGVudGljYXRpb25JbnB1dCA9IHtcbiAgbmF0aXZlPzogTWF5YmU8TmF0aXZlQXV0aElucHV0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEF1dGhlbnRpY2F0aW9uTWV0aG9kID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdBdXRoZW50aWNhdGlvbk1ldGhvZCc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgc3RyYXRlZ3k6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQXV0aGVudGljYXRpb25SZXN1bHQgPSBDdXJyZW50VXNlciB8IEludmFsaWRDcmVkZW50aWFsc0Vycm9yO1xuXG5leHBvcnQgdHlwZSBCb29sZWFuQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcbiAgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgbGlzdCBvZiBCb29sZWFuIGZpZWxkcyAqL1xuZXhwb3J0IHR5cGUgQm9vbGVhbkxpc3RPcGVyYXRvcnMgPSB7XG4gIGluTGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xufTtcblxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgQm9vbGVhbiBmaWVsZCAqL1xuZXhwb3J0IHR5cGUgQm9vbGVhbk9wZXJhdG9ycyA9IHtcbiAgZXE/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuLyoqIFJldHVybmVkIGlmIGFuIGF0dGVtcHRpbmcgdG8gY2FuY2VsIGxpbmVzIGZyb20gYW4gT3JkZXIgd2hpY2ggaXMgc3RpbGwgYWN0aXZlICovXG5leHBvcnQgdHlwZSBDYW5jZWxBY3RpdmVPcmRlckVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3JkZXJTdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDYW5jZWxPcmRlcklucHV0ID0ge1xuICAvKiogVGhlIGlkIG9mIHRoZSBvcmRlciB0byBiZSBjYW5jZWxsZWQgKi9cbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcbiAgLyoqIE9wdGlvbmFsbHkgc3BlY2lmeSB3aGljaCBPcmRlckxpbmVzIHRvIGNhbmNlbC4gSWYgbm90IHByb3ZpZGVkLCBhbGwgT3JkZXJMaW5lcyB3aWxsIGJlIGNhbmNlbGxlZCAqL1xuICBsaW5lcz86IE1heWJlPEFycmF5PE9yZGVyTGluZUlucHV0Pj47XG4gIC8qKiBTcGVjaWZ5IHdoZXRoZXIgdGhlIHNoaXBwaW5nIGNoYXJnZXMgc2hvdWxkIGFsc28gYmUgY2FuY2VsbGVkLiBEZWZhdWx0cyB0byBmYWxzZSAqL1xuICBjYW5jZWxTaGlwcGluZz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlYXNvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENhbmNlbE9yZGVyUmVzdWx0ID0gT3JkZXIgfCBFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yIHwgUXVhbnRpdHlUb29HcmVhdEVycm9yIHwgTXVsdGlwbGVPcmRlckVycm9yIHwgQ2FuY2VsQWN0aXZlT3JkZXJFcnJvciB8IE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3I7XG5cbmV4cG9ydCB0eXBlIENhbmNlbGxhdGlvbiA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xuICBfX3R5cGVuYW1lPzogJ0NhbmNlbGxhdGlvbic7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgcHJvZHVjdFZhcmlhbnQ6IFByb2R1Y3RWYXJpYW50O1xuICB0eXBlOiBTdG9ja01vdmVtZW50VHlwZTtcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xuICBvcmRlckxpbmU6IE9yZGVyTGluZTtcbn07XG5cbmV4cG9ydCB0eXBlIENoYW5uZWwgPSBOb2RlICYge1xuICBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0b2tlbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlZmF1bHRUYXhab25lPzogTWF5YmU8Wm9uZT47XG4gIGRlZmF1bHRTaGlwcGluZ1pvbmU/OiBNYXliZTxab25lPjtcbiAgZGVmYXVsdExhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBjdXJyZW5jeUNvZGU6IEN1cnJlbmN5Q29kZTtcbiAgcHJpY2VzSW5jbHVkZVRheDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuLyoqXG4gKiBSZXR1cm5lZCB3aGVuIHRoZSBkZWZhdWx0IExhbmd1YWdlQ29kZSBvZiBhIENoYW5uZWwgaXMgbm8gbG9uZ2VyIGZvdW5kIGluIHRoZSBgYXZhaWxhYmxlTGFuZ3VhZ2VzYFxuICogb2YgdGhlIEdsb2JhbFNldHRpbmdzXG4gKi9cbmV4cG9ydCB0eXBlIENoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvciA9IEVycm9yUmVzdWx0ICYge1xuICBfX3R5cGVuYW1lPzogJ0NoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbGFuZ3VhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjaGFubmVsQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJztcbiAgaXNQcml2YXRlOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8TGFuZ3VhZ2VDb2RlPjtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNsdWc6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBicmVhZGNydW1iczogQXJyYXk8Q29sbGVjdGlvbkJyZWFkY3J1bWI+O1xuICBwb3NpdGlvbjogU2NhbGFyc1snSW50J107XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZmVhdHVyZWRBc3NldD86IE1heWJlPEFzc2V0PjtcbiAgYXNzZXRzOiBBcnJheTxBc3NldD47XG4gIHBhcmVudD86IE1heWJlPENvbGxlY3Rpb24+O1xuICBjaGlsZHJlbj86IE1heWJlPEFycmF5PENvbGxlY3Rpb24+PjtcbiAgZmlsdGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uPjtcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxDb2xsZWN0aW9uVHJhbnNsYXRpb24+O1xuICBwcm9kdWN0VmFyaWFudHM6IFByb2R1Y3RWYXJpYW50TGlzdDtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblByb2R1Y3RWYXJpYW50c0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxQcm9kdWN0VmFyaWFudExpc3RPcHRpb25zPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25CcmVhZGNydW1iID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25CcmVhZGNydW1iJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25GaWx0ZXJQYXJhbWV0ZXIgPSB7XG4gIGlzUHJpdmF0ZT86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICBsYW5ndWFnZUNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgc2x1Zz86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHBvc2l0aW9uPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvbkxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xuICBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb25MaXN0JztcbiAgaXRlbXM6IEFycmF5PENvbGxlY3Rpb24+O1xuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25MaXN0T3B0aW9ucyA9IHtcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cbiAgc29ydD86IE1heWJlPENvbGxlY3Rpb25Tb3J0UGFyYW1ldGVyPjtcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xuICBmaWx0ZXI/OiBNYXliZTxDb2xsZWN0aW9uRmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbi8qKlxuICogV2hpY2ggQ29sbGVjdGlvbnMgYXJlIHByZXNlbnQgaW4gdGhlIHByb2R1Y3RzIHJldHVybmVkXG4gKiBieSB0aGUgc2VhcmNoLCBhbmQgaW4gd2hhdCBxdWFudGl0eS5cbiAqL1xuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uUmVzdWx0JztcbiAgY29sbGVjdGlvbjogQ29sbGVjdGlvbjtcbiAgY291bnQ6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgQ29sbGVjdGlvblNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIHNsdWc/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBwb3NpdGlvbj86IE1heWJlPFNvcnRPcmRlcj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U29ydE9yZGVyPjtcbn07XG5cbmV4cG9ydCB0eXBlIENvbGxlY3Rpb25UcmFuc2xhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uVHJhbnNsYXRpb24nO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2x1ZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbmZpZ0FyZyA9IHtcbiAgX190eXBlbmFtZT86ICdDb25maWdBcmcnO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlnQXJnRGVmaW5pdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDb25maWdBcmdEZWZpbml0aW9uJztcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XG4gIHJlcXVpcmVkOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGRlZmF1bHRWYWx1ZT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG4gIGxhYmVsPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlnQXJnSW5wdXQgPSB7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICAvKiogQSBKU09OIHN0cmluZ2lmaWVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBhY3R1YWwgdmFsdWUgKi9cbiAgdmFsdWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlndXJhYmxlT3BlcmF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbic7XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhcmdzOiBBcnJheTxDb25maWdBcmc+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJztcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFyZ3M6IEFycmF5PENvbmZpZ0FyZ0RlZmluaXRpb24+O1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dCA9IHtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFyZ3VtZW50czogQXJyYXk8Q29uZmlnQXJnSW5wdXQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZSA9IHtcbiAgX190eXBlbmFtZT86ICdDb29yZGluYXRlJztcbiAgeDogU2NhbGFyc1snRmxvYXQnXTtcbiAgeTogU2NhbGFyc1snRmxvYXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENvb3JkaW5hdGVJbnB1dCA9IHtcbiAgeDogU2NhbGFyc1snRmxvYXQnXTtcbiAgeTogU2NhbGFyc1snRmxvYXQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENvdW50cnkgPSBOb2RlICYge1xuICBfX3R5cGVuYW1lPzogJ0NvdW50cnknO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxDb3VudHJ5VHJhbnNsYXRpb24+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ291bnRyeUZpbHRlclBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgbGFuZ3VhZ2VDb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XG59O1xuXG5leHBvcnQgdHlwZSBDb3VudHJ5TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQ291bnRyeUxpc3QnO1xuICBpdGVtczogQXJyYXk8Q291bnRyeT47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgQ291bnRyeUxpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8Q291bnRyeVNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPENvdW50cnlGaWx0ZXJQYXJhbWV0ZXI+O1xuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xufTtcblxuZXhwb3J0IHR5cGUgQ291bnRyeVNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgQ291bnRyeVRyYW5zbGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0NvdW50cnlUcmFuc2xhdGlvbic7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ291bnRyeVRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuLyoqIFJldHVybmVkIGlmIHRoZSBwcm92aWRlZCBjb3Vwb24gY29kZSBpcyBpbnZhbGlkICovXG5leHBvcnQgdHlwZSBDb3Vwb25Db2RlRXhwaXJlZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUV4cGlyZWRFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291cG9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG4vKiogUmV0dXJuZWQgaWYgdGhlIHByb3ZpZGVkIGNvdXBvbiBjb2RlIGlzIGludmFsaWQgKi9cbmV4cG9ydCB0eXBlIENvdXBvbkNvZGVJbnZhbGlkRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlSW52YWxpZEVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb3Vwb25Db2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbi8qKiBSZXR1cm5lZCBpZiB0aGUgcHJvdmlkZWQgY291cG9uIGNvZGUgaXMgaW52YWxpZCAqL1xuZXhwb3J0IHR5cGUgQ291cG9uQ29kZUxpbWl0RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlTGltaXRFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY291cG9uQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGxpbWl0OiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUFkZHJlc3NJbnB1dCA9IHtcbiAgZnVsbE5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbXBhbnk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHN0cmVldExpbmUxOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZWZhdWx0U2hpcHBpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZGVmYXVsdEJpbGxpbmdBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUFkbWluaXN0cmF0b3JJbnB1dCA9IHtcbiAgZmlyc3ROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbGFzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwYXNzd29yZDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHJvbGVJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRJbnB1dCA9IHtcbiAgZmlsZTogU2NhbGFyc1snVXBsb2FkJ107XG4gIHRhZ3M/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRSZXN1bHQgPSBBc3NldCB8IE1pbWVUeXBlRXJyb3I7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNoYW5uZWxJbnB1dCA9IHtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRva2VuOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVmYXVsdExhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBwcmljZXNJbmNsdWRlVGF4OiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xuICBkZWZhdWx0VGF4Wm9uZUlkOiBTY2FsYXJzWydJRCddO1xuICBkZWZhdWx0U2hpcHBpbmdab25lSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVDaGFubmVsUmVzdWx0ID0gQ2hhbm5lbCB8IExhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3I7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb25JbnB1dCA9IHtcbiAgaXNQcml2YXRlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgZmVhdHVyZWRBc3NldElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xuICBwYXJlbnRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBmaWx0ZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8Q3JlYXRlQ29sbGVjdGlvblRyYW5zbGF0aW9uSW5wdXQ+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ29sbGVjdGlvblRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2x1ZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvdW50cnlJbnB1dCA9IHtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8Q291bnRyeVRyYW5zbGF0aW9uSW5wdXQ+O1xuICBlbmFibGVkOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQgPSB7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjdXN0b21lcklkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVySW5wdXQgPSB7XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBsYXN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJSZXN1bHQgPSBDdXN0b21lciB8IEVtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3I7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0SW5wdXQgPSB7XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBpc1ByaXZhdGU6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxGYWNldFRyYW5zbGF0aW9uSW5wdXQ+O1xuICB2YWx1ZXM/OiBNYXliZTxBcnJheTxDcmVhdGVGYWNldFZhbHVlV2l0aEZhY2V0SW5wdXQ+PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0VmFsdWVJbnB1dCA9IHtcbiAgZmFjZXRJZDogU2NhbGFyc1snSUQnXTtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8RmFjZXRWYWx1ZVRyYW5zbGF0aW9uSW5wdXQ+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRWYWx1ZVdpdGhGYWNldElucHV0ID0ge1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxGYWNldFZhbHVlVHJhbnNsYXRpb25JbnB1dD47XG59O1xuXG4vKiogUmV0dXJuZWQgaWYgYW4gZXJyb3IgaXMgdGhyb3duIGluIGEgRnVsZmlsbG1lbnRIYW5kbGVyJ3MgY3JlYXRlRnVsZmlsbG1lbnQgbWV0aG9kICovXG5leHBvcnQgdHlwZSBDcmVhdGVGdWxmaWxsbWVudEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZnVsZmlsbG1lbnRIYW5kbGVyRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlR3JvdXBPcHRpb25JbnB1dCA9IHtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb25JbnB1dD47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQYXltZW50TWV0aG9kSW5wdXQgPSB7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgY2hlY2tlcj86IE1heWJlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcbiAgaGFuZGxlcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0SW5wdXQgPSB7XG4gIGZlYXR1cmVkQXNzZXRJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgYXNzZXRJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdFRyYW5zbGF0aW9uSW5wdXQ+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQgPSB7XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+O1xuICBvcHRpb25zOiBBcnJheTxDcmVhdGVHcm91cE9wdGlvbklucHV0PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RPcHRpb25JbnB1dCA9IHtcbiAgcHJvZHVjdE9wdGlvbkdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdFZhcmlhbnRJbnB1dCA9IHtcbiAgcHJvZHVjdElkOiBTY2FsYXJzWydJRCddO1xuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RWYXJpYW50VHJhbnNsYXRpb25JbnB1dD47XG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIHNrdTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHByaWNlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0YXhDYXRlZ29yeUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIG9wdGlvbklkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcbiAgZmVhdHVyZWRBc3NldElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xuICBzdG9ja09uSGFuZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRyYWNrSW52ZW50b3J5PzogTWF5YmU8R2xvYmFsRmxhZz47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudE9wdGlvbklucHV0ID0ge1xuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb25JbnB1dD47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9tb3Rpb25JbnB1dCA9IHtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgc3RhcnRzQXQ/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgZW5kc0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGNvdXBvbkNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHBlckN1c3RvbWVyVXNhZ2VMaW1pdD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgY29uZGl0aW9uczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xuICBhY3Rpb25zOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9tb3Rpb25SZXN1bHQgPSBQcm9tb3Rpb24gfCBNaXNzaW5nQ29uZGl0aW9uc0Vycm9yO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVSb2xlSW5wdXQgPSB7XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcbiAgY2hhbm5lbElkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQgPSB7XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmdWxmaWxsbWVudEhhbmRsZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBjaGVja2VyOiBDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dDtcbiAgY2FsY3VsYXRvcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8U2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbklucHV0PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVRhZ0lucHV0ID0ge1xuICB2YWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhDYXRlZ29yeUlucHV0ID0ge1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgaXNEZWZhdWx0PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVRheFJhdGVJbnB1dCA9IHtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgdmFsdWU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIGNhdGVnb3J5SWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcbiAgY3VzdG9tZXJHcm91cElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVab25lSW5wdXQgPSB7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtZW1iZXJJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogSVNPIDQyMTcgY3VycmVuY3kgY29kZVxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tbW9uXG4gKi9cbmV4cG9ydCBlbnVtIEN1cnJlbmN5Q29kZSB7XG4gIC8qKiBVbml0ZWQgQXJhYiBFbWlyYXRlcyBkaXJoYW0gKi9cbiAgQUVEID0gJ0FFRCcsXG4gIC8qKiBBZmdoYW4gYWZnaGFuaSAqL1xuICBBRk4gPSAnQUZOJyxcbiAgLyoqIEFsYmFuaWFuIGxlayAqL1xuICBBTEwgPSAnQUxMJyxcbiAgLyoqIEFybWVuaWFuIGRyYW0gKi9cbiAgQU1EID0gJ0FNRCcsXG4gIC8qKiBOZXRoZXJsYW5kcyBBbnRpbGxlYW4gZ3VpbGRlciAqL1xuICBBTkcgPSAnQU5HJyxcbiAgLyoqIEFuZ29sYW4ga3dhbnphICovXG4gIEFPQSA9ICdBT0EnLFxuICAvKiogQXJnZW50aW5lIHBlc28gKi9cbiAgQVJTID0gJ0FSUycsXG4gIC8qKiBBdXN0cmFsaWFuIGRvbGxhciAqL1xuICBBVUQgPSAnQVVEJyxcbiAgLyoqIEFydWJhbiBmbG9yaW4gKi9cbiAgQVdHID0gJ0FXRycsXG4gIC8qKiBBemVyYmFpamFuaSBtYW5hdCAqL1xuICBBWk4gPSAnQVpOJyxcbiAgLyoqIEJvc25pYSBhbmQgSGVyemVnb3ZpbmEgY29udmVydGlibGUgbWFyayAqL1xuICBCQU0gPSAnQkFNJyxcbiAgLyoqIEJhcmJhZG9zIGRvbGxhciAqL1xuICBCQkQgPSAnQkJEJyxcbiAgLyoqIEJhbmdsYWRlc2hpIHRha2EgKi9cbiAgQkRUID0gJ0JEVCcsXG4gIC8qKiBCdWxnYXJpYW4gbGV2ICovXG4gIEJHTiA9ICdCR04nLFxuICAvKiogQmFocmFpbmkgZGluYXIgKi9cbiAgQkhEID0gJ0JIRCcsXG4gIC8qKiBCdXJ1bmRpYW4gZnJhbmMgKi9cbiAgQklGID0gJ0JJRicsXG4gIC8qKiBCZXJtdWRpYW4gZG9sbGFyICovXG4gIEJNRCA9ICdCTUQnLFxuICAvKiogQnJ1bmVpIGRvbGxhciAqL1xuICBCTkQgPSAnQk5EJyxcbiAgLyoqIEJvbGl2aWFubyAqL1xuICBCT0IgPSAnQk9CJyxcbiAgLyoqIEJyYXppbGlhbiByZWFsICovXG4gIEJSTCA9ICdCUkwnLFxuICAvKiogQmFoYW1pYW4gZG9sbGFyICovXG4gIEJTRCA9ICdCU0QnLFxuICAvKiogQmh1dGFuZXNlIG5ndWx0cnVtICovXG4gIEJUTiA9ICdCVE4nLFxuICAvKiogQm90c3dhbmEgcHVsYSAqL1xuICBCV1AgPSAnQldQJyxcbiAgLyoqIEJlbGFydXNpYW4gcnVibGUgKi9cbiAgQllOID0gJ0JZTicsXG4gIC8qKiBCZWxpemUgZG9sbGFyICovXG4gIEJaRCA9ICdCWkQnLFxuICAvKiogQ2FuYWRpYW4gZG9sbGFyICovXG4gIENBRCA9ICdDQUQnLFxuICAvKiogQ29uZ29sZXNlIGZyYW5jICovXG4gIENERiA9ICdDREYnLFxuICAvKiogU3dpc3MgZnJhbmMgKi9cbiAgQ0hGID0gJ0NIRicsXG4gIC8qKiBDaGlsZWFuIHBlc28gKi9cbiAgQ0xQID0gJ0NMUCcsXG4gIC8qKiBSZW5taW5iaSAoQ2hpbmVzZSkgeXVhbiAqL1xuICBDTlkgPSAnQ05ZJyxcbiAgLyoqIENvbG9tYmlhbiBwZXNvICovXG4gIENPUCA9ICdDT1AnLFxuICAvKiogQ29zdGEgUmljYW4gY29sb24gKi9cbiAgQ1JDID0gJ0NSQycsXG4gIC8qKiBDdWJhbiBjb252ZXJ0aWJsZSBwZXNvICovXG4gIENVQyA9ICdDVUMnLFxuICAvKiogQ3ViYW4gcGVzbyAqL1xuICBDVVAgPSAnQ1VQJyxcbiAgLyoqIENhcGUgVmVyZGUgZXNjdWRvICovXG4gIENWRSA9ICdDVkUnLFxuICAvKiogQ3plY2gga29ydW5hICovXG4gIENaSyA9ICdDWksnLFxuICAvKiogRGppYm91dGlhbiBmcmFuYyAqL1xuICBESkYgPSAnREpGJyxcbiAgLyoqIERhbmlzaCBrcm9uZSAqL1xuICBES0sgPSAnREtLJyxcbiAgLyoqIERvbWluaWNhbiBwZXNvICovXG4gIERPUCA9ICdET1AnLFxuICAvKiogQWxnZXJpYW4gZGluYXIgKi9cbiAgRFpEID0gJ0RaRCcsXG4gIC8qKiBFZ3lwdGlhbiBwb3VuZCAqL1xuICBFR1AgPSAnRUdQJyxcbiAgLyoqIEVyaXRyZWFuIG5ha2ZhICovXG4gIEVSTiA9ICdFUk4nLFxuICAvKiogRXRoaW9waWFuIGJpcnIgKi9cbiAgRVRCID0gJ0VUQicsXG4gIC8qKiBFdXJvICovXG4gIEVVUiA9ICdFVVInLFxuICAvKiogRmlqaSBkb2xsYXIgKi9cbiAgRkpEID0gJ0ZKRCcsXG4gIC8qKiBGYWxrbGFuZCBJc2xhbmRzIHBvdW5kICovXG4gIEZLUCA9ICdGS1AnLFxuICAvKiogUG91bmQgc3RlcmxpbmcgKi9cbiAgR0JQID0gJ0dCUCcsXG4gIC8qKiBHZW9yZ2lhbiBsYXJpICovXG4gIEdFTCA9ICdHRUwnLFxuICAvKiogR2hhbmFpYW4gY2VkaSAqL1xuICBHSFMgPSAnR0hTJyxcbiAgLyoqIEdpYnJhbHRhciBwb3VuZCAqL1xuICBHSVAgPSAnR0lQJyxcbiAgLyoqIEdhbWJpYW4gZGFsYXNpICovXG4gIEdNRCA9ICdHTUQnLFxuICAvKiogR3VpbmVhbiBmcmFuYyAqL1xuICBHTkYgPSAnR05GJyxcbiAgLyoqIEd1YXRlbWFsYW4gcXVldHphbCAqL1xuICBHVFEgPSAnR1RRJyxcbiAgLyoqIEd1eWFuZXNlIGRvbGxhciAqL1xuICBHWUQgPSAnR1lEJyxcbiAgLyoqIEhvbmcgS29uZyBkb2xsYXIgKi9cbiAgSEtEID0gJ0hLRCcsXG4gIC8qKiBIb25kdXJhbiBsZW1waXJhICovXG4gIEhOTCA9ICdITkwnLFxuICAvKiogQ3JvYXRpYW4ga3VuYSAqL1xuICBIUksgPSAnSFJLJyxcbiAgLyoqIEhhaXRpYW4gZ291cmRlICovXG4gIEhURyA9ICdIVEcnLFxuICAvKiogSHVuZ2FyaWFuIGZvcmludCAqL1xuICBIVUYgPSAnSFVGJyxcbiAgLyoqIEluZG9uZXNpYW4gcnVwaWFoICovXG4gIElEUiA9ICdJRFInLFxuICAvKiogSXNyYWVsaSBuZXcgc2hla2VsICovXG4gIElMUyA9ICdJTFMnLFxuICAvKiogSW5kaWFuIHJ1cGVlICovXG4gIElOUiA9ICdJTlInLFxuICAvKiogSXJhcWkgZGluYXIgKi9cbiAgSVFEID0gJ0lRRCcsXG4gIC8qKiBJcmFuaWFuIHJpYWwgKi9cbiAgSVJSID0gJ0lSUicsXG4gIC8qKiBJY2VsYW5kaWMga3LDs25hICovXG4gIElTSyA9ICdJU0snLFxuICAvKiogSmFtYWljYW4gZG9sbGFyICovXG4gIEpNRCA9ICdKTUQnLFxuICAvKiogSm9yZGFuaWFuIGRpbmFyICovXG4gIEpPRCA9ICdKT0QnLFxuICAvKiogSmFwYW5lc2UgeWVuICovXG4gIEpQWSA9ICdKUFknLFxuICAvKiogS2VueWFuIHNoaWxsaW5nICovXG4gIEtFUyA9ICdLRVMnLFxuICAvKiogS3lyZ3l6c3Rhbmkgc29tICovXG4gIEtHUyA9ICdLR1MnLFxuICAvKiogQ2FtYm9kaWFuIHJpZWwgKi9cbiAgS0hSID0gJ0tIUicsXG4gIC8qKiBDb21vcm8gZnJhbmMgKi9cbiAgS01GID0gJ0tNRicsXG4gIC8qKiBOb3J0aCBLb3JlYW4gd29uICovXG4gIEtQVyA9ICdLUFcnLFxuICAvKiogU291dGggS29yZWFuIHdvbiAqL1xuICBLUlcgPSAnS1JXJyxcbiAgLyoqIEt1d2FpdGkgZGluYXIgKi9cbiAgS1dEID0gJ0tXRCcsXG4gIC8qKiBDYXltYW4gSXNsYW5kcyBkb2xsYXIgKi9cbiAgS1lEID0gJ0tZRCcsXG4gIC8qKiBLYXpha2hzdGFuaSB0ZW5nZSAqL1xuICBLWlQgPSAnS1pUJyxcbiAgLyoqIExhbyBraXAgKi9cbiAgTEFLID0gJ0xBSycsXG4gIC8qKiBMZWJhbmVzZSBwb3VuZCAqL1xuICBMQlAgPSAnTEJQJyxcbiAgLyoqIFNyaSBMYW5rYW4gcnVwZWUgKi9cbiAgTEtSID0gJ0xLUicsXG4gIC8qKiBMaWJlcmlhbiBkb2xsYXIgKi9cbiAgTFJEID0gJ0xSRCcsXG4gIC8qKiBMZXNvdGhvIGxvdGkgKi9cbiAgTFNMID0gJ0xTTCcsXG4gIC8qKiBMaWJ5YW4gZGluYXIgKi9cbiAgTFlEID0gJ0xZRCcsXG4gIC8qKiBNb3JvY2NhbiBkaXJoYW0gKi9cbiAgTUFEID0gJ01BRCcsXG4gIC8qKiBNb2xkb3ZhbiBsZXUgKi9cbiAgTURMID0gJ01ETCcsXG4gIC8qKiBNYWxhZ2FzeSBhcmlhcnkgKi9cbiAgTUdBID0gJ01HQScsXG4gIC8qKiBNYWNlZG9uaWFuIGRlbmFyICovXG4gIE1LRCA9ICdNS0QnLFxuICAvKiogTXlhbm1hciBreWF0ICovXG4gIE1NSyA9ICdNTUsnLFxuICAvKiogTW9uZ29saWFuIHTDtmdyw7ZnICovXG4gIE1OVCA9ICdNTlQnLFxuICAvKiogTWFjYW5lc2UgcGF0YWNhICovXG4gIE1PUCA9ICdNT1AnLFxuICAvKiogTWF1cml0YW5pYW4gb3VndWl5YSAqL1xuICBNUlUgPSAnTVJVJyxcbiAgLyoqIE1hdXJpdGlhbiBydXBlZSAqL1xuICBNVVIgPSAnTVVSJyxcbiAgLyoqIE1hbGRpdmlhbiBydWZpeWFhICovXG4gIE1WUiA9ICdNVlInLFxuICAvKiogTWFsYXdpYW4ga3dhY2hhICovXG4gIE1XSyA9ICdNV0snLFxuICAvKiogTWV4aWNhbiBwZXNvICovXG4gIE1YTiA9ICdNWE4nLFxuICAvKiogTWFsYXlzaWFuIHJpbmdnaXQgKi9cbiAgTVlSID0gJ01ZUicsXG4gIC8qKiBNb3phbWJpY2FuIG1ldGljYWwgKi9cbiAgTVpOID0gJ01aTicsXG4gIC8qKiBOYW1pYmlhbiBkb2xsYXIgKi9cbiAgTkFEID0gJ05BRCcsXG4gIC8qKiBOaWdlcmlhbiBuYWlyYSAqL1xuICBOR04gPSAnTkdOJyxcbiAgLyoqIE5pY2FyYWd1YW4gY8OzcmRvYmEgKi9cbiAgTklPID0gJ05JTycsXG4gIC8qKiBOb3J3ZWdpYW4ga3JvbmUgKi9cbiAgTk9LID0gJ05PSycsXG4gIC8qKiBOZXBhbGVzZSBydXBlZSAqL1xuICBOUFIgPSAnTlBSJyxcbiAgLyoqIE5ldyBaZWFsYW5kIGRvbGxhciAqL1xuICBOWkQgPSAnTlpEJyxcbiAgLyoqIE9tYW5pIHJpYWwgKi9cbiAgT01SID0gJ09NUicsXG4gIC8qKiBQYW5hbWFuaWFuIGJhbGJvYSAqL1xuICBQQUIgPSAnUEFCJyxcbiAgLyoqIFBlcnV2aWFuIHNvbCAqL1xuICBQRU4gPSAnUEVOJyxcbiAgLyoqIFBhcHVhIE5ldyBHdWluZWFuIGtpbmEgKi9cbiAgUEdLID0gJ1BHSycsXG4gIC8qKiBQaGlsaXBwaW5lIHBlc28gKi9cbiAgUEhQID0gJ1BIUCcsXG4gIC8qKiBQYWtpc3RhbmkgcnVwZWUgKi9cbiAgUEtSID0gJ1BLUicsXG4gIC8qKiBQb2xpc2ggesWCb3R5ICovXG4gIFBMTiA9ICdQTE4nLFxuICAvKiogUGFyYWd1YXlhbiBndWFyYW7DrSAqL1xuICBQWUcgPSAnUFlHJyxcbiAgLyoqIFFhdGFyaSByaXlhbCAqL1xuICBRQVIgPSAnUUFSJyxcbiAgLyoqIFJvbWFuaWFuIGxldSAqL1xuICBST04gPSAnUk9OJyxcbiAgLyoqIFNlcmJpYW4gZGluYXIgKi9cbiAgUlNEID0gJ1JTRCcsXG4gIC8qKiBSdXNzaWFuIHJ1YmxlICovXG4gIFJVQiA9ICdSVUInLFxuICAvKiogUndhbmRhbiBmcmFuYyAqL1xuICBSV0YgPSAnUldGJyxcbiAgLyoqIFNhdWRpIHJpeWFsICovXG4gIFNBUiA9ICdTQVInLFxuICAvKiogU29sb21vbiBJc2xhbmRzIGRvbGxhciAqL1xuICBTQkQgPSAnU0JEJyxcbiAgLyoqIFNleWNoZWxsZXMgcnVwZWUgKi9cbiAgU0NSID0gJ1NDUicsXG4gIC8qKiBTdWRhbmVzZSBwb3VuZCAqL1xuICBTREcgPSAnU0RHJyxcbiAgLyoqIFN3ZWRpc2gga3JvbmEva3Jvbm9yICovXG4gIFNFSyA9ICdTRUsnLFxuICAvKiogU2luZ2Fwb3JlIGRvbGxhciAqL1xuICBTR0QgPSAnU0dEJyxcbiAgLyoqIFNhaW50IEhlbGVuYSBwb3VuZCAqL1xuICBTSFAgPSAnU0hQJyxcbiAgLyoqIFNpZXJyYSBMZW9uZWFuIGxlb25lICovXG4gIFNMTCA9ICdTTEwnLFxuICAvKiogU29tYWxpIHNoaWxsaW5nICovXG4gIFNPUyA9ICdTT1MnLFxuICAvKiogU3VyaW5hbWVzZSBkb2xsYXIgKi9cbiAgU1JEID0gJ1NSRCcsXG4gIC8qKiBTb3V0aCBTdWRhbmVzZSBwb3VuZCAqL1xuICBTU1AgPSAnU1NQJyxcbiAgLyoqIFPDo28gVG9tw6kgYW5kIFByw61uY2lwZSBkb2JyYSAqL1xuICBTVE4gPSAnU1ROJyxcbiAgLyoqIFNhbHZhZG9yYW4gY29sw7NuICovXG4gIFNWQyA9ICdTVkMnLFxuICAvKiogU3lyaWFuIHBvdW5kICovXG4gIFNZUCA9ICdTWVAnLFxuICAvKiogU3dhemkgbGlsYW5nZW5pICovXG4gIFNaTCA9ICdTWkwnLFxuICAvKiogVGhhaSBiYWh0ICovXG4gIFRIQiA9ICdUSEInLFxuICAvKiogVGFqaWtpc3Rhbmkgc29tb25pICovXG4gIFRKUyA9ICdUSlMnLFxuICAvKiogVHVya21lbmlzdGFuIG1hbmF0ICovXG4gIFRNVCA9ICdUTVQnLFxuICAvKiogVHVuaXNpYW4gZGluYXIgKi9cbiAgVE5EID0gJ1RORCcsXG4gIC8qKiBUb25nYW4gcGHKu2FuZ2EgKi9cbiAgVE9QID0gJ1RPUCcsXG4gIC8qKiBUdXJraXNoIGxpcmEgKi9cbiAgVFJZID0gJ1RSWScsXG4gIC8qKiBUcmluaWRhZCBhbmQgVG9iYWdvIGRvbGxhciAqL1xuICBUVEQgPSAnVFREJyxcbiAgLyoqIE5ldyBUYWl3YW4gZG9sbGFyICovXG4gIFRXRCA9ICdUV0QnLFxuICAvKiogVGFuemFuaWFuIHNoaWxsaW5nICovXG4gIFRaUyA9ICdUWlMnLFxuICAvKiogVWtyYWluaWFuIGhyeXZuaWEgKi9cbiAgVUFIID0gJ1VBSCcsXG4gIC8qKiBVZ2FuZGFuIHNoaWxsaW5nICovXG4gIFVHWCA9ICdVR1gnLFxuICAvKiogVW5pdGVkIFN0YXRlcyBkb2xsYXIgKi9cbiAgVVNEID0gJ1VTRCcsXG4gIC8qKiBVcnVndWF5YW4gcGVzbyAqL1xuICBVWVUgPSAnVVlVJyxcbiAgLyoqIFV6YmVraXN0YW4gc29tICovXG4gIFVaUyA9ICdVWlMnLFxuICAvKiogVmVuZXp1ZWxhbiBib2zDrXZhciBzb2JlcmFubyAqL1xuICBWRVMgPSAnVkVTJyxcbiAgLyoqIFZpZXRuYW1lc2UgxJHhu5NuZyAqL1xuICBWTkQgPSAnVk5EJyxcbiAgLyoqIFZhbnVhdHUgdmF0dSAqL1xuICBWVVYgPSAnVlVWJyxcbiAgLyoqIFNhbW9hbiB0YWxhICovXG4gIFdTVCA9ICdXU1QnLFxuICAvKiogQ0ZBIGZyYW5jIEJFQUMgKi9cbiAgWEFGID0gJ1hBRicsXG4gIC8qKiBFYXN0IENhcmliYmVhbiBkb2xsYXIgKi9cbiAgWENEID0gJ1hDRCcsXG4gIC8qKiBDRkEgZnJhbmMgQkNFQU8gKi9cbiAgWE9GID0gJ1hPRicsXG4gIC8qKiBDRlAgZnJhbmMgKGZyYW5jIFBhY2lmaXF1ZSkgKi9cbiAgWFBGID0gJ1hQRicsXG4gIC8qKiBZZW1lbmkgcmlhbCAqL1xuICBZRVIgPSAnWUVSJyxcbiAgLyoqIFNvdXRoIEFmcmljYW4gcmFuZCAqL1xuICBaQVIgPSAnWkFSJyxcbiAgLyoqIFphbWJpYW4ga3dhY2hhICovXG4gIFpNVyA9ICdaTVcnLFxuICAvKiogWmltYmFid2VhbiBkb2xsYXIgKi9cbiAgWldMID0gJ1pXTCdcbn1cblxuZXhwb3J0IHR5cGUgQ3VycmVudFVzZXIgPSB7XG4gIF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInO1xuICBjaGFubmVsczogQXJyYXk8Q3VycmVudFVzZXJDaGFubmVsPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGlkZW50aWZpZXI6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgQ3VycmVudFVzZXJDaGFubmVsID0ge1xuICBfX3R5cGVuYW1lPzogJ0N1cnJlbnRVc2VyQ2hhbm5lbCc7XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgcGVybWlzc2lvbnM6IEFycmF5PFBlcm1pc3Npb24+O1xuICB0b2tlbjogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBDdXJyZW50VXNlckNoYW5uZWxJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHRva2VuOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcbn07XG5cbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkID0ge1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tRmllbGRDb25maWcgPSBTdHJpbmdDdXN0b21GaWVsZENvbmZpZyB8IExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnIHwgSW50Q3VzdG9tRmllbGRDb25maWcgfCBGbG9hdEN1c3RvbUZpZWxkQ29uZmlnIHwgQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnIHwgRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZyB8IFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcgfCBUZXh0Q3VzdG9tRmllbGRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkcyA9IHtcbiAgX190eXBlbmFtZT86ICdDdXN0b21GaWVsZHMnO1xuICBBZGRyZXNzOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIEFkbWluaXN0cmF0b3I6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgQXNzZXQ6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgQ2hhbm5lbDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xuICBDb2xsZWN0aW9uOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIENvdW50cnk6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgQ3VzdG9tZXI6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgQ3VzdG9tZXJHcm91cDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xuICBGYWNldDogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xuICBGYWNldFZhbHVlOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIEZ1bGZpbGxtZW50OiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIEdsb2JhbFNldHRpbmdzOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIE9yZGVyOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIE9yZGVyTGluZTogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xuICBQYXltZW50TWV0aG9kOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIFByb2R1Y3Q6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgUHJvZHVjdE9wdGlvbjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xuICBQcm9kdWN0T3B0aW9uR3JvdXA6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgUHJvZHVjdFZhcmlhbnQ6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgUHJvbW90aW9uOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIFNoaXBwaW5nTWV0aG9kOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIFRheENhdGVnb3J5OiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG4gIFRheFJhdGU6IEFycmF5PEN1c3RvbUZpZWxkQ29uZmlnPjtcbiAgVXNlcjogQXJyYXk8Q3VzdG9tRmllbGRDb25maWc+O1xuICBab25lOiBBcnJheTxDdXN0b21GaWVsZENvbmZpZz47XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21lciA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInO1xuICBncm91cHM6IEFycmF5PEN1c3RvbWVyR3JvdXA+O1xuICBoaXN0b3J5OiBIaXN0b3J5RW50cnlMaXN0O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHRpdGxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmaXJzdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBsYXN0TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBob25lTnVtYmVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbWFpbEFkZHJlc3M6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhZGRyZXNzZXM/OiBNYXliZTxBcnJheTxBZGRyZXNzPj47XG4gIG9yZGVyczogT3JkZXJMaXN0O1xuICB1c2VyPzogTWF5YmU8VXNlcj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIEN1c3RvbWVySGlzdG9yeUFyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxIaXN0b3J5RW50cnlMaXN0T3B0aW9ucz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIEN1c3RvbWVyT3JkZXJzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPE9yZGVyTGlzdE9wdGlvbnM+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJGaWx0ZXJQYXJhbWV0ZXIgPSB7XG4gIHBvc3RhbENvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICB0aXRsZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIGZpcnN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIGxhc3ROYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBlbWFpbEFkZHJlc3M/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cCA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGN1c3RvbWVyczogQ3VzdG9tZXJMaXN0O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBDdXN0b21lckdyb3VwQ3VzdG9tZXJzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPEN1c3RvbWVyTGlzdE9wdGlvbnM+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cEZpbHRlclBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21lckdyb3VwTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cExpc3QnO1xuICBpdGVtczogQXJyYXk8Q3VzdG9tZXJHcm91cD47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cExpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8Q3VzdG9tZXJHcm91cFNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPEN1c3RvbWVyR3JvdXBGaWx0ZXJQYXJhbWV0ZXI+O1xuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cFNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21lckxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xuICBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyTGlzdCc7XG4gIGl0ZW1zOiBBcnJheTxDdXN0b21lcj47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJMaXN0T3B0aW9ucyA9IHtcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cbiAgc29ydD86IE1heWJlPEN1c3RvbWVyU29ydFBhcmFtZXRlcj47XG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cbiAgZmlsdGVyPzogTWF5YmU8Q3VzdG9tZXJGaWx0ZXJQYXJhbWV0ZXI+O1xuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tZXJTb3J0UGFyYW1ldGVyID0ge1xuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHRpdGxlPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgZmlyc3ROYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgbGFzdE5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBwaG9uZU51bWJlcj86IE1heWJlPFNvcnRPcmRlcj47XG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPFNvcnRPcmRlcj47XG59O1xuXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBsaXN0IG9mIERhdGUgZmllbGRzICovXG5leHBvcnQgdHlwZSBEYXRlTGlzdE9wZXJhdG9ycyA9IHtcbiAgaW5MaXN0OiBTY2FsYXJzWydEYXRlVGltZSddO1xufTtcblxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgRGF0ZVRpbWUgZmllbGQgKi9cbmV4cG9ydCB0eXBlIERhdGVPcGVyYXRvcnMgPSB7XG4gIGVxPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGJlZm9yZT86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBhZnRlcj86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBiZXR3ZWVuPzogTWF5YmU8RGF0ZVJhbmdlPjtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGVSYW5nZSA9IHtcbiAgc3RhcnQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGVuZDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbn07XG5cblxuLyoqXG4gKiBFeHBlY3RzIHRoZSBzYW1lIHZhbGlkYXRpb24gZm9ybWF0cyBhcyB0aGUgYDxpbnB1dCB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIj5gIEhUTUwgZWxlbWVudC5cbiAqIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW5wdXQvZGF0ZXRpbWUtbG9jYWwjQWRkaXRpb25hbF9hdHRyaWJ1dGVzXG4gKi9cbmV4cG9ydCB0eXBlIERhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcbiAgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJztcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XG4gIHJlYWRvbmx5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG1pbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWF4PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdGVwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB1aT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBEZWxldGVBc3NldElucHV0ID0ge1xuICBhc3NldElkOiBTY2FsYXJzWydJRCddO1xuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlbGV0ZUZyb21BbGxDaGFubmVscz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBEZWxldGVBc3NldHNJbnB1dCA9IHtcbiAgYXNzZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xuICBmb3JjZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGRlbGV0ZUZyb21BbGxDaGFubmVscz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5leHBvcnQgdHlwZSBEZWxldGlvblJlc3BvbnNlID0ge1xuICBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnO1xuICByZXN1bHQ6IERlbGV0aW9uUmVzdWx0O1xuICBtZXNzYWdlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IGVudW0gRGVsZXRpb25SZXN1bHQge1xuICAvKiogVGhlIGVudGl0eSB3YXMgc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQgKi9cbiAgREVMRVRFRCA9ICdERUxFVEVEJyxcbiAgLyoqIERlbGV0aW9uIGRpZCBub3QgdGFrZSBwbGFjZSwgcmVhc29uIGdpdmVuIGluIG1lc3NhZ2UgKi9cbiAgTk9UX0RFTEVURUQgPSAnTk9UX0RFTEVURUQnXG59XG5cbmV4cG9ydCB0eXBlIERpc2NvdW50ID0ge1xuICBfX3R5cGVuYW1lPzogJ0Rpc2NvdW50JztcbiAgYWRqdXN0bWVudFNvdXJjZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHR5cGU6IEFkanVzdG1lbnRUeXBlO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGFtb3VudDogU2NhbGFyc1snSW50J107XG4gIGFtb3VudFdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyB0byBjcmVhdGUgYSBDdXN0b21lciB3aXRoIGFuIGVtYWlsIGFkZHJlc3MgYWxyZWFkeSByZWdpc3RlcmVkIHRvIGFuIGV4aXN0aW5nIFVzZXIuICovXG5leHBvcnQgdHlwZSBFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbi8qKiBSZXR1cm5lZCBpZiBubyBPcmRlckxpbmVzIGhhdmUgYmVlbiBzcGVjaWZpZWQgZm9yIHRoZSBvcGVyYXRpb24gKi9cbmV4cG9ydCB0eXBlIEVtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IGVudW0gRXJyb3JDb2RlIHtcbiAgVU5LTk9XTl9FUlJPUiA9ICdVTktOT1dOX0VSUk9SJyxcbiAgTUlNRV9UWVBFX0VSUk9SID0gJ01JTUVfVFlQRV9FUlJPUicsXG4gIExBTkdVQUdFX05PVF9BVkFJTEFCTEVfRVJST1IgPSAnTEFOR1VBR0VfTk9UX0FWQUlMQUJMRV9FUlJPUicsXG4gIENIQU5ORUxfREVGQVVMVF9MQU5HVUFHRV9FUlJPUiA9ICdDSEFOTkVMX0RFRkFVTFRfTEFOR1VBR0VfRVJST1InLFxuICBTRVRUTEVfUEFZTUVOVF9FUlJPUiA9ICdTRVRUTEVfUEFZTUVOVF9FUlJPUicsXG4gIEVNUFRZX09SREVSX0xJTkVfU0VMRUNUSU9OX0VSUk9SID0gJ0VNUFRZX09SREVSX0xJTkVfU0VMRUNUSU9OX0VSUk9SJyxcbiAgSVRFTVNfQUxSRUFEWV9GVUxGSUxMRURfRVJST1IgPSAnSVRFTVNfQUxSRUFEWV9GVUxGSUxMRURfRVJST1InLFxuICBJTlZBTElEX0ZVTEZJTExNRU5UX0hBTkRMRVJfRVJST1IgPSAnSU5WQUxJRF9GVUxGSUxMTUVOVF9IQU5ETEVSX0VSUk9SJyxcbiAgQ1JFQVRFX0ZVTEZJTExNRU5UX0VSUk9SID0gJ0NSRUFURV9GVUxGSUxMTUVOVF9FUlJPUicsXG4gIElOU1VGRklDSUVOVF9TVE9DS19PTl9IQU5EX0VSUk9SID0gJ0lOU1VGRklDSUVOVF9TVE9DS19PTl9IQU5EX0VSUk9SJyxcbiAgTVVMVElQTEVfT1JERVJfRVJST1IgPSAnTVVMVElQTEVfT1JERVJfRVJST1InLFxuICBDQU5DRUxfQUNUSVZFX09SREVSX0VSUk9SID0gJ0NBTkNFTF9BQ1RJVkVfT1JERVJfRVJST1InLFxuICBQQVlNRU5UX09SREVSX01JU01BVENIX0VSUk9SID0gJ1BBWU1FTlRfT1JERVJfTUlTTUFUQ0hfRVJST1InLFxuICBSRUZVTkRfT1JERVJfU1RBVEVfRVJST1IgPSAnUkVGVU5EX09SREVSX1NUQVRFX0VSUk9SJyxcbiAgTk9USElOR19UT19SRUZVTkRfRVJST1IgPSAnTk9USElOR19UT19SRUZVTkRfRVJST1InLFxuICBBTFJFQURZX1JFRlVOREVEX0VSUk9SID0gJ0FMUkVBRFlfUkVGVU5ERURfRVJST1InLFxuICBRVUFOVElUWV9UT09fR1JFQVRfRVJST1IgPSAnUVVBTlRJVFlfVE9PX0dSRUFUX0VSUk9SJyxcbiAgUkVGVU5EX1NUQVRFX1RSQU5TSVRJT05fRVJST1IgPSAnUkVGVU5EX1NUQVRFX1RSQU5TSVRJT05fRVJST1InLFxuICBQQVlNRU5UX1NUQVRFX1RSQU5TSVRJT05fRVJST1IgPSAnUEFZTUVOVF9TVEFURV9UUkFOU0lUSU9OX0VSUk9SJyxcbiAgRlVMRklMTE1FTlRfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdGVUxGSUxMTUVOVF9TVEFURV9UUkFOU0lUSU9OX0VSUk9SJyxcbiAgT1JERVJfTU9ESUZJQ0FUSU9OX1NUQVRFX0VSUk9SID0gJ09SREVSX01PRElGSUNBVElPTl9TVEFURV9FUlJPUicsXG4gIE5PX0NIQU5HRVNfU1BFQ0lGSUVEX0VSUk9SID0gJ05PX0NIQU5HRVNfU1BFQ0lGSUVEX0VSUk9SJyxcbiAgUEFZTUVOVF9NRVRIT0RfTUlTU0lOR19FUlJPUiA9ICdQQVlNRU5UX01FVEhPRF9NSVNTSU5HX0VSUk9SJyxcbiAgUkVGVU5EX1BBWU1FTlRfSURfTUlTU0lOR19FUlJPUiA9ICdSRUZVTkRfUEFZTUVOVF9JRF9NSVNTSU5HX0VSUk9SJyxcbiAgTUFOVUFMX1BBWU1FTlRfU1RBVEVfRVJST1IgPSAnTUFOVUFMX1BBWU1FTlRfU1RBVEVfRVJST1InLFxuICBQUk9EVUNUX09QVElPTl9JTl9VU0VfRVJST1IgPSAnUFJPRFVDVF9PUFRJT05fSU5fVVNFX0VSUk9SJyxcbiAgTUlTU0lOR19DT05ESVRJT05TX0VSUk9SID0gJ01JU1NJTkdfQ09ORElUSU9OU19FUlJPUicsXG4gIE5BVElWRV9BVVRIX1NUUkFURUdZX0VSUk9SID0gJ05BVElWRV9BVVRIX1NUUkFURUdZX0VSUk9SJyxcbiAgSU5WQUxJRF9DUkVERU5USUFMU19FUlJPUiA9ICdJTlZBTElEX0NSRURFTlRJQUxTX0VSUk9SJyxcbiAgT1JERVJfU1RBVEVfVFJBTlNJVElPTl9FUlJPUiA9ICdPUkRFUl9TVEFURV9UUkFOU0lUSU9OX0VSUk9SJyxcbiAgRU1BSUxfQUREUkVTU19DT05GTElDVF9FUlJPUiA9ICdFTUFJTF9BRERSRVNTX0NPTkZMSUNUX0VSUk9SJyxcbiAgT1JERVJfTElNSVRfRVJST1IgPSAnT1JERVJfTElNSVRfRVJST1InLFxuICBORUdBVElWRV9RVUFOVElUWV9FUlJPUiA9ICdORUdBVElWRV9RVUFOVElUWV9FUlJPUicsXG4gIElOU1VGRklDSUVOVF9TVE9DS19FUlJPUiA9ICdJTlNVRkZJQ0lFTlRfU1RPQ0tfRVJST1InLFxuICBDT1VQT05fQ09ERV9JTlZBTElEX0VSUk9SID0gJ0NPVVBPTl9DT0RFX0lOVkFMSURfRVJST1InLFxuICBDT1VQT05fQ09ERV9FWFBJUkVEX0VSUk9SID0gJ0NPVVBPTl9DT0RFX0VYUElSRURfRVJST1InLFxuICBDT1VQT05fQ09ERV9MSU1JVF9FUlJPUiA9ICdDT1VQT05fQ09ERV9MSU1JVF9FUlJPUidcbn1cblxuZXhwb3J0IHR5cGUgRXJyb3JSZXN1bHQgPSB7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIEZhY2V0ID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdGYWNldCc7XG4gIGlzUHJpdmF0ZTogU2NhbGFyc1snQm9vbGVhbiddO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8RmFjZXRUcmFuc2xhdGlvbj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBGYWNldEZpbHRlclBhcmFtZXRlciA9IHtcbiAgaXNQcml2YXRlPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZhY2V0TGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnRmFjZXRMaXN0JztcbiAgaXRlbXM6IEFycmF5PEZhY2V0PjtcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XG59O1xuXG5leHBvcnQgdHlwZSBGYWNldExpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8RmFjZXRTb3J0UGFyYW1ldGVyPjtcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xuICBmaWx0ZXI/OiBNYXliZTxGYWNldEZpbHRlclBhcmFtZXRlcj47XG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XG59O1xuXG5leHBvcnQgdHlwZSBGYWNldFNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFjZXRUcmFuc2xhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdGYWNldFRyYW5zbGF0aW9uJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBGYWNldFRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZSA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnRmFjZXRWYWx1ZSc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIGZhY2V0OiBGYWNldDtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0cmFuc2xhdGlvbnM6IEFycmF5PEZhY2V0VmFsdWVUcmFuc2xhdGlvbj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG4vKipcbiAqIFVzZWQgdG8gY29uc3RydWN0IGJvb2xlYW4gZXhwcmVzc2lvbnMgZm9yIGZpbHRlcmluZyBzZWFyY2ggcmVzdWx0c1xuICogYnkgRmFjZXRWYWx1ZSBJRC4gRXhhbXBsZXM6XG4gKlxuICogKiBJRD0xIE9SIElEPTI6IGB7IGZhY2V0VmFsdWVGaWx0ZXJzOiBbeyBvcjogWzEsMl0gfV0gfWBcbiAqICogSUQ9MSBBTkQgSUQ9MjogYHsgZmFjZXRWYWx1ZUZpbHRlcnM6IFt7IGFuZDogMSB9LCB7IGFuZDogMiB9XSB9YFxuICogKiBJRD0xIEFORCAoSUQ9MiBPUiBJRD0zKTogYHsgZmFjZXRWYWx1ZUZpbHRlcnM6IFt7IGFuZDogMSB9LCB7IG9yOiBbMiwzXSB9XSB9YFxuICovXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlRmlsdGVySW5wdXQgPSB7XG4gIGFuZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBvcj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+Pjtcbn07XG5cbi8qKlxuICogV2hpY2ggRmFjZXRWYWx1ZXMgYXJlIHByZXNlbnQgaW4gdGhlIHByb2R1Y3RzIHJldHVybmVkXG4gKiBieSB0aGUgc2VhcmNoLCBhbmQgaW4gd2hhdCBxdWFudGl0eS5cbiAqL1xuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZVJlc3VsdCA9IHtcbiAgX190eXBlbmFtZT86ICdGYWNldFZhbHVlUmVzdWx0JztcbiAgZmFjZXRWYWx1ZTogRmFjZXRWYWx1ZTtcbiAgY291bnQ6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZVRyYW5zbGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWVUcmFuc2xhdGlvbic7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZVRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgRmxvYXRDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xuICBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbWluPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIG1heD86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBzdGVwPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIHVpPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZ1bGZpbGxPcmRlcklucHV0ID0ge1xuICBsaW5lczogQXJyYXk8T3JkZXJMaW5lSW5wdXQ+O1xuICBoYW5kbGVyOiBDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dDtcbn07XG5cbmV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50ID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCc7XG4gIG5leHRTdGF0ZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBvcmRlckl0ZW1zOiBBcnJheTxPcmRlckl0ZW0+O1xuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG1ldGhvZDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRyYWNraW5nQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbi8qKiBSZXR1cm5lZCB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGluIHRyYW5zaXRpb25pbmcgdGhlIEZ1bGZpbGxtZW50IHN0YXRlICovXG5leHBvcnQgdHlwZSBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHJhbnNpdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZnJvbVN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG9TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgZW51bSBHbG9iYWxGbGFnIHtcbiAgVFJVRSA9ICdUUlVFJyxcbiAgRkFMU0UgPSAnRkFMU0UnLFxuICBJTkhFUklUID0gJ0lOSEVSSVQnXG59XG5cbmV4cG9ydCB0eXBlIEdsb2JhbFNldHRpbmdzID0ge1xuICBfX3R5cGVuYW1lPzogJ0dsb2JhbFNldHRpbmdzJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBhdmFpbGFibGVMYW5ndWFnZXM6IEFycmF5PExhbmd1YWdlQ29kZT47XG4gIHRyYWNrSW52ZW50b3J5OiBTY2FsYXJzWydCb29sZWFuJ107XG4gIG91dE9mU3RvY2tUaHJlc2hvbGQ6IFNjYWxhcnNbJ0ludCddO1xuICBzZXJ2ZXJDb25maWc6IFNlcnZlckNvbmZpZztcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeSA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnSGlzdG9yeUVudHJ5JztcbiAgaXNQdWJsaWM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgYWRtaW5pc3RyYXRvcj86IE1heWJlPEFkbWluaXN0cmF0b3I+O1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHR5cGU6IEhpc3RvcnlFbnRyeVR5cGU7XG4gIGRhdGE6IFNjYWxhcnNbJ0pTT04nXTtcbn07XG5cbmV4cG9ydCB0eXBlIEhpc3RvcnlFbnRyeUZpbHRlclBhcmFtZXRlciA9IHtcbiAgaXNQdWJsaWM/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdHlwZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG59O1xuXG5leHBvcnQgdHlwZSBIaXN0b3J5RW50cnlMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcbiAgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnlMaXN0JztcbiAgaXRlbXM6IEFycmF5PEhpc3RvcnlFbnRyeT47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5TGlzdE9wdGlvbnMgPSB7XG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXG4gIHNvcnQ/OiBNYXliZTxIaXN0b3J5RW50cnlTb3J0UGFyYW1ldGVyPjtcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xuICBmaWx0ZXI/OiBNYXliZTxIaXN0b3J5RW50cnlGaWx0ZXJQYXJhbWV0ZXI+O1xuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xufTtcblxuZXhwb3J0IHR5cGUgSGlzdG9yeUVudHJ5U29ydFBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuZXhwb3J0IGVudW0gSGlzdG9yeUVudHJ5VHlwZSB7XG4gIENVU1RPTUVSX1JFR0lTVEVSRUQgPSAnQ1VTVE9NRVJfUkVHSVNURVJFRCcsXG4gIENVU1RPTUVSX1ZFUklGSUVEID0gJ0NVU1RPTUVSX1ZFUklGSUVEJyxcbiAgQ1VTVE9NRVJfREVUQUlMX1VQREFURUQgPSAnQ1VTVE9NRVJfREVUQUlMX1VQREFURUQnLFxuICBDVVNUT01FUl9BRERFRF9UT19HUk9VUCA9ICdDVVNUT01FUl9BRERFRF9UT19HUk9VUCcsXG4gIENVU1RPTUVSX1JFTU9WRURfRlJPTV9HUk9VUCA9ICdDVVNUT01FUl9SRU1PVkVEX0ZST01fR1JPVVAnLFxuICBDVVNUT01FUl9BRERSRVNTX0NSRUFURUQgPSAnQ1VTVE9NRVJfQUREUkVTU19DUkVBVEVEJyxcbiAgQ1VTVE9NRVJfQUREUkVTU19VUERBVEVEID0gJ0NVU1RPTUVSX0FERFJFU1NfVVBEQVRFRCcsXG4gIENVU1RPTUVSX0FERFJFU1NfREVMRVRFRCA9ICdDVVNUT01FUl9BRERSRVNTX0RFTEVURUQnLFxuICBDVVNUT01FUl9QQVNTV09SRF9VUERBVEVEID0gJ0NVU1RPTUVSX1BBU1NXT1JEX1VQREFURUQnLFxuICBDVVNUT01FUl9QQVNTV09SRF9SRVNFVF9SRVFVRVNURUQgPSAnQ1VTVE9NRVJfUEFTU1dPUkRfUkVTRVRfUkVRVUVTVEVEJyxcbiAgQ1VTVE9NRVJfUEFTU1dPUkRfUkVTRVRfVkVSSUZJRUQgPSAnQ1VTVE9NRVJfUEFTU1dPUkRfUkVTRVRfVkVSSUZJRUQnLFxuICBDVVNUT01FUl9FTUFJTF9VUERBVEVfUkVRVUVTVEVEID0gJ0NVU1RPTUVSX0VNQUlMX1VQREFURV9SRVFVRVNURUQnLFxuICBDVVNUT01FUl9FTUFJTF9VUERBVEVfVkVSSUZJRUQgPSAnQ1VTVE9NRVJfRU1BSUxfVVBEQVRFX1ZFUklGSUVEJyxcbiAgQ1VTVE9NRVJfTk9URSA9ICdDVVNUT01FUl9OT1RFJyxcbiAgT1JERVJfU1RBVEVfVFJBTlNJVElPTiA9ICdPUkRFUl9TVEFURV9UUkFOU0lUSU9OJyxcbiAgT1JERVJfUEFZTUVOVF9UUkFOU0lUSU9OID0gJ09SREVSX1BBWU1FTlRfVFJBTlNJVElPTicsXG4gIE9SREVSX0ZVTEZJTExNRU5UID0gJ09SREVSX0ZVTEZJTExNRU5UJyxcbiAgT1JERVJfQ0FOQ0VMTEFUSU9OID0gJ09SREVSX0NBTkNFTExBVElPTicsXG4gIE9SREVSX1JFRlVORF9UUkFOU0lUSU9OID0gJ09SREVSX1JFRlVORF9UUkFOU0lUSU9OJyxcbiAgT1JERVJfRlVMRklMTE1FTlRfVFJBTlNJVElPTiA9ICdPUkRFUl9GVUxGSUxMTUVOVF9UUkFOU0lUSU9OJyxcbiAgT1JERVJfTk9URSA9ICdPUkRFUl9OT1RFJyxcbiAgT1JERVJfQ09VUE9OX0FQUExJRUQgPSAnT1JERVJfQ09VUE9OX0FQUExJRUQnLFxuICBPUkRFUl9DT1VQT05fUkVNT1ZFRCA9ICdPUkRFUl9DT1VQT05fUkVNT1ZFRCcsXG4gIE9SREVSX01PRElGSUVEID0gJ09SREVSX01PRElGSUVEJ1xufVxuXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBsaXN0IG9mIElEIGZpZWxkcyAqL1xuZXhwb3J0IHR5cGUgSWRMaXN0T3BlcmF0b3JzID0ge1xuICBpbkxpc3Q6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYW4gSUQgZmllbGQgKi9cbmV4cG9ydCB0eXBlIElkT3BlcmF0b3JzID0ge1xuICBlcT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90RXE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGluPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgbm90SW4/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuZXhwb3J0IHR5cGUgSW1wb3J0SW5mbyA9IHtcbiAgX190eXBlbmFtZT86ICdJbXBvcnRJbmZvJztcbiAgZXJyb3JzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgcHJvY2Vzc2VkOiBTY2FsYXJzWydJbnQnXTtcbiAgaW1wb3J0ZWQ6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyB0byBhZGQgbW9yZSBpdGVtcyB0byB0aGUgT3JkZXIgdGhhbiBhcmUgYXZhaWxhYmxlICovXG5leHBvcnQgdHlwZSBJbnN1ZmZpY2llbnRTdG9ja0Vycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcXVhbnRpdHlBdmFpbGFibGU6IFNjYWxhcnNbJ0ludCddO1xuICBvcmRlcjogT3JkZXI7XG59O1xuXG4vKipcbiAqIFJldHVybmVkIGlmIGF0dGVtcHRpbmcgdG8gY3JlYXRlIGEgRnVsZmlsbG1lbnQgd2hlbiB0aGVyZSBpcyBpbnN1ZmZpY2llbnRcbiAqIHN0b2NrT25IYW5kIG9mIGEgUHJvZHVjdFZhcmlhbnQgdG8gc2F0aXNmeSB0aGUgcmVxdWVzdGVkIHF1YW50aXR5LlxuICovXG5leHBvcnQgdHlwZSBJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcHJvZHVjdFZhcmlhbnRJZDogU2NhbGFyc1snSUQnXTtcbiAgcHJvZHVjdFZhcmlhbnROYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc3RvY2tPbkhhbmQ6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgSW50Q3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcbiAgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZyc7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbnVsbGFibGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBtaW4/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIG1heD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgc3RlcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuLyoqIFJldHVybmVkIGlmIHRoZSB1c2VyIGF1dGhlbnRpY2F0aW9uIGNyZWRlbnRpYWxzIGFyZSBub3QgdmFsaWQgKi9cbmV4cG9ydCB0eXBlIEludmFsaWRDcmVkZW50aWFsc0Vycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnSW52YWxpZENyZWRlbnRpYWxzRXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGF1dGhlbnRpY2F0aW9uRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuLyoqIFJldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgRnVsZmlsbG1lbnRIYW5kbGVyIGNvZGUgaXMgbm90IHZhbGlkICovXG5leHBvcnQgdHlwZSBJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdJbnZhbGlkRnVsZmlsbG1lbnRIYW5kbGVyRXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG4vKiogUmV0dXJuZWQgaWYgdGhlIHNwZWNpZmllZCBpdGVtcyBhcmUgYWxyZWFkeSBwYXJ0IG9mIGEgRnVsZmlsbG1lbnQgKi9cbmV4cG9ydCB0eXBlIEl0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIEpvYiA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnSm9iJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgc3RhcnRlZEF0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIHNldHRsZWRBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBxdWV1ZU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdGF0ZTogSm9iU3RhdGU7XG4gIHByb2dyZXNzOiBTY2FsYXJzWydGbG9hdCddO1xuICBkYXRhPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbiAgcmVzdWx0PzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbiAgZXJyb3I/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBpc1NldHRsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgZHVyYXRpb246IFNjYWxhcnNbJ0ludCddO1xuICByZXRyaWVzOiBTY2FsYXJzWydJbnQnXTtcbiAgYXR0ZW1wdHM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgSm9iQnVmZmVyU2l6ZSA9IHtcbiAgX190eXBlbmFtZT86ICdKb2JCdWZmZXJTaXplJztcbiAgYnVmZmVySWQ6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzaXplOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIEpvYkZpbHRlclBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICBzdGFydGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgc2V0dGxlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIHF1ZXVlTmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHN0YXRlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgcHJvZ3Jlc3M/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xuICBpc1NldHRsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcbiAgZHVyYXRpb24/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xuICByZXRyaWVzPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgYXR0ZW1wdHM/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgSm9iTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnSm9iTGlzdCc7XG4gIGl0ZW1zOiBBcnJheTxKb2I+O1xuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIEpvYkxpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8Sm9iU29ydFBhcmFtZXRlcj47XG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cbiAgZmlsdGVyPzogTWF5YmU8Sm9iRmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIEpvYlF1ZXVlID0ge1xuICBfX3R5cGVuYW1lPzogJ0pvYlF1ZXVlJztcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHJ1bm5pbmc6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn07XG5cbmV4cG9ydCB0eXBlIEpvYlNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgc3RhcnRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgc2V0dGxlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgcXVldWVOYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgcHJvZ3Jlc3M/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBkdXJhdGlvbj86IE1heWJlPFNvcnRPcmRlcj47XG4gIHJldHJpZXM/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBhdHRlbXB0cz86IE1heWJlPFNvcnRPcmRlcj47XG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIHN0YXRlIG9mIGEgSm9iIGluIHRoZSBKb2JRdWV1ZVxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tbW9uXG4gKi9cbmV4cG9ydCBlbnVtIEpvYlN0YXRlIHtcbiAgUEVORElORyA9ICdQRU5ESU5HJyxcbiAgUlVOTklORyA9ICdSVU5OSU5HJyxcbiAgQ09NUExFVEVEID0gJ0NPTVBMRVRFRCcsXG4gIFJFVFJZSU5HID0gJ1JFVFJZSU5HJyxcbiAgRkFJTEVEID0gJ0ZBSUxFRCcsXG4gIENBTkNFTExFRCA9ICdDQU5DRUxMRUQnXG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBMYW5ndWFnZXMgaW4gdGhlIGZvcm0gb2YgYSBJU08gNjM5LTEgbGFuZ3VhZ2UgY29kZSB3aXRoIG9wdGlvbmFsXG4gKiByZWdpb24gb3Igc2NyaXB0IG1vZGlmaWVyIChlLmcuIGRlX0FUKS4gVGhlIHNlbGVjdGlvbiBhdmFpbGFibGUgaXMgYmFzZWRcbiAqIG9uIHRoZSBbVW5pY29kZSBDTERSIHN1bW1hcnkgbGlzdF0oaHR0cHM6Ly91bmljb2RlLW9yZy5naXRodWIuaW8vY2xkci1zdGFnaW5nL2NoYXJ0cy8zNy9zdW1tYXJ5L3Jvb3QuaHRtbClcbiAqIGFuZCBpbmNsdWRlcyB0aGUgbWFqb3Igc3Bva2VuIGxhbmd1YWdlcyBvZiB0aGUgd29ybGQgYW5kIGFueSB3aWRlbHktdXNlZCB2YXJpYW50cy5cbiAqXG4gKiBAZG9jc0NhdGVnb3J5IGNvbW1vblxuICovXG5leHBvcnQgZW51bSBMYW5ndWFnZUNvZGUge1xuICAvKiogQWZyaWthYW5zICovXG4gIGFmID0gJ2FmJyxcbiAgLyoqIEFrYW4gKi9cbiAgYWsgPSAnYWsnLFxuICAvKiogQW1oYXJpYyAqL1xuICBhbSA9ICdhbScsXG4gIC8qKiBBcmFiaWMgKi9cbiAgYXIgPSAnYXInLFxuICAvKiogQXNzYW1lc2UgKi9cbiAgYXMgPSAnYXMnLFxuICAvKiogQXplcmJhaWphbmkgKi9cbiAgYXogPSAnYXonLFxuICAvKiogQmVsYXJ1c2lhbiAqL1xuICBiZSA9ICdiZScsXG4gIC8qKiBCdWxnYXJpYW4gKi9cbiAgYmcgPSAnYmcnLFxuICAvKiogQmFtYmFyYSAqL1xuICBibSA9ICdibScsXG4gIC8qKiBCYW5nbGEgKi9cbiAgYm4gPSAnYm4nLFxuICAvKiogVGliZXRhbiAqL1xuICBibyA9ICdibycsXG4gIC8qKiBCcmV0b24gKi9cbiAgYnIgPSAnYnInLFxuICAvKiogQm9zbmlhbiAqL1xuICBicyA9ICdicycsXG4gIC8qKiBDYXRhbGFuICovXG4gIGNhID0gJ2NhJyxcbiAgLyoqIENoZWNoZW4gKi9cbiAgY2UgPSAnY2UnLFxuICAvKiogQ29yc2ljYW4gKi9cbiAgY28gPSAnY28nLFxuICAvKiogQ3plY2ggKi9cbiAgY3MgPSAnY3MnLFxuICAvKiogQ2h1cmNoIFNsYXZpYyAqL1xuICBjdSA9ICdjdScsXG4gIC8qKiBXZWxzaCAqL1xuICBjeSA9ICdjeScsXG4gIC8qKiBEYW5pc2ggKi9cbiAgZGEgPSAnZGEnLFxuICAvKiogR2VybWFuICovXG4gIGRlID0gJ2RlJyxcbiAgLyoqIEF1c3RyaWFuIEdlcm1hbiAqL1xuICBkZV9BVCA9ICdkZV9BVCcsXG4gIC8qKiBTd2lzcyBIaWdoIEdlcm1hbiAqL1xuICBkZV9DSCA9ICdkZV9DSCcsXG4gIC8qKiBEem9uZ2toYSAqL1xuICBkeiA9ICdkeicsXG4gIC8qKiBFd2UgKi9cbiAgZWUgPSAnZWUnLFxuICAvKiogR3JlZWsgKi9cbiAgZWwgPSAnZWwnLFxuICAvKiogRW5nbGlzaCAqL1xuICBlbiA9ICdlbicsXG4gIC8qKiBBdXN0cmFsaWFuIEVuZ2xpc2ggKi9cbiAgZW5fQVUgPSAnZW5fQVUnLFxuICAvKiogQ2FuYWRpYW4gRW5nbGlzaCAqL1xuICBlbl9DQSA9ICdlbl9DQScsXG4gIC8qKiBCcml0aXNoIEVuZ2xpc2ggKi9cbiAgZW5fR0IgPSAnZW5fR0InLFxuICAvKiogQW1lcmljYW4gRW5nbGlzaCAqL1xuICBlbl9VUyA9ICdlbl9VUycsXG4gIC8qKiBFc3BlcmFudG8gKi9cbiAgZW8gPSAnZW8nLFxuICAvKiogU3BhbmlzaCAqL1xuICBlcyA9ICdlcycsXG4gIC8qKiBFdXJvcGVhbiBTcGFuaXNoICovXG4gIGVzX0VTID0gJ2VzX0VTJyxcbiAgLyoqIE1leGljYW4gU3BhbmlzaCAqL1xuICBlc19NWCA9ICdlc19NWCcsXG4gIC8qKiBFc3RvbmlhbiAqL1xuICBldCA9ICdldCcsXG4gIC8qKiBCYXNxdWUgKi9cbiAgZXUgPSAnZXUnLFxuICAvKiogUGVyc2lhbiAqL1xuICBmYSA9ICdmYScsXG4gIC8qKiBEYXJpICovXG4gIGZhX0FGID0gJ2ZhX0FGJyxcbiAgLyoqIEZ1bGFoICovXG4gIGZmID0gJ2ZmJyxcbiAgLyoqIEZpbm5pc2ggKi9cbiAgZmkgPSAnZmknLFxuICAvKiogRmFyb2VzZSAqL1xuICBmbyA9ICdmbycsXG4gIC8qKiBGcmVuY2ggKi9cbiAgZnIgPSAnZnInLFxuICAvKiogQ2FuYWRpYW4gRnJlbmNoICovXG4gIGZyX0NBID0gJ2ZyX0NBJyxcbiAgLyoqIFN3aXNzIEZyZW5jaCAqL1xuICBmcl9DSCA9ICdmcl9DSCcsXG4gIC8qKiBXZXN0ZXJuIEZyaXNpYW4gKi9cbiAgZnkgPSAnZnknLFxuICAvKiogSXJpc2ggKi9cbiAgZ2EgPSAnZ2EnLFxuICAvKiogU2NvdHRpc2ggR2FlbGljICovXG4gIGdkID0gJ2dkJyxcbiAgLyoqIEdhbGljaWFuICovXG4gIGdsID0gJ2dsJyxcbiAgLyoqIEd1amFyYXRpICovXG4gIGd1ID0gJ2d1JyxcbiAgLyoqIE1hbnggKi9cbiAgZ3YgPSAnZ3YnLFxuICAvKiogSGF1c2EgKi9cbiAgaGEgPSAnaGEnLFxuICAvKiogSGVicmV3ICovXG4gIGhlID0gJ2hlJyxcbiAgLyoqIEhpbmRpICovXG4gIGhpID0gJ2hpJyxcbiAgLyoqIENyb2F0aWFuICovXG4gIGhyID0gJ2hyJyxcbiAgLyoqIEhhaXRpYW4gQ3Jlb2xlICovXG4gIGh0ID0gJ2h0JyxcbiAgLyoqIEh1bmdhcmlhbiAqL1xuICBodSA9ICdodScsXG4gIC8qKiBBcm1lbmlhbiAqL1xuICBoeSA9ICdoeScsXG4gIC8qKiBJbnRlcmxpbmd1YSAqL1xuICBpYSA9ICdpYScsXG4gIC8qKiBJbmRvbmVzaWFuICovXG4gIGlkID0gJ2lkJyxcbiAgLyoqIElnYm8gKi9cbiAgaWcgPSAnaWcnLFxuICAvKiogU2ljaHVhbiBZaSAqL1xuICBpaSA9ICdpaScsXG4gIC8qKiBJY2VsYW5kaWMgKi9cbiAgaXMgPSAnaXMnLFxuICAvKiogSXRhbGlhbiAqL1xuICBpdCA9ICdpdCcsXG4gIC8qKiBKYXBhbmVzZSAqL1xuICBqYSA9ICdqYScsXG4gIC8qKiBKYXZhbmVzZSAqL1xuICBqdiA9ICdqdicsXG4gIC8qKiBHZW9yZ2lhbiAqL1xuICBrYSA9ICdrYScsXG4gIC8qKiBLaWt1eXUgKi9cbiAga2kgPSAna2knLFxuICAvKiogS2F6YWtoICovXG4gIGtrID0gJ2trJyxcbiAgLyoqIEthbGFhbGxpc3V0ICovXG4gIGtsID0gJ2tsJyxcbiAgLyoqIEtobWVyICovXG4gIGttID0gJ2ttJyxcbiAgLyoqIEthbm5hZGEgKi9cbiAga24gPSAna24nLFxuICAvKiogS29yZWFuICovXG4gIGtvID0gJ2tvJyxcbiAgLyoqIEthc2htaXJpICovXG4gIGtzID0gJ2tzJyxcbiAgLyoqIEt1cmRpc2ggKi9cbiAga3UgPSAna3UnLFxuICAvKiogQ29ybmlzaCAqL1xuICBrdyA9ICdrdycsXG4gIC8qKiBLeXJneXogKi9cbiAga3kgPSAna3knLFxuICAvKiogTGF0aW4gKi9cbiAgbGEgPSAnbGEnLFxuICAvKiogTHV4ZW1ib3VyZ2lzaCAqL1xuICBsYiA9ICdsYicsXG4gIC8qKiBHYW5kYSAqL1xuICBsZyA9ICdsZycsXG4gIC8qKiBMaW5nYWxhICovXG4gIGxuID0gJ2xuJyxcbiAgLyoqIExhbyAqL1xuICBsbyA9ICdsbycsXG4gIC8qKiBMaXRodWFuaWFuICovXG4gIGx0ID0gJ2x0JyxcbiAgLyoqIEx1YmEtS2F0YW5nYSAqL1xuICBsdSA9ICdsdScsXG4gIC8qKiBMYXR2aWFuICovXG4gIGx2ID0gJ2x2JyxcbiAgLyoqIE1hbGFnYXN5ICovXG4gIG1nID0gJ21nJyxcbiAgLyoqIE1hb3JpICovXG4gIG1pID0gJ21pJyxcbiAgLyoqIE1hY2Vkb25pYW4gKi9cbiAgbWsgPSAnbWsnLFxuICAvKiogTWFsYXlhbGFtICovXG4gIG1sID0gJ21sJyxcbiAgLyoqIE1vbmdvbGlhbiAqL1xuICBtbiA9ICdtbicsXG4gIC8qKiBNYXJhdGhpICovXG4gIG1yID0gJ21yJyxcbiAgLyoqIE1hbGF5ICovXG4gIG1zID0gJ21zJyxcbiAgLyoqIE1hbHRlc2UgKi9cbiAgbXQgPSAnbXQnLFxuICAvKiogQnVybWVzZSAqL1xuICBteSA9ICdteScsXG4gIC8qKiBOb3J3ZWdpYW4gQm9rbcOlbCAqL1xuICBuYiA9ICduYicsXG4gIC8qKiBOb3J0aCBOZGViZWxlICovXG4gIG5kID0gJ25kJyxcbiAgLyoqIE5lcGFsaSAqL1xuICBuZSA9ICduZScsXG4gIC8qKiBEdXRjaCAqL1xuICBubCA9ICdubCcsXG4gIC8qKiBGbGVtaXNoICovXG4gIG5sX0JFID0gJ25sX0JFJyxcbiAgLyoqIE5vcndlZ2lhbiBOeW5vcnNrICovXG4gIG5uID0gJ25uJyxcbiAgLyoqIE55YW5qYSAqL1xuICBueSA9ICdueScsXG4gIC8qKiBPcm9tbyAqL1xuICBvbSA9ICdvbScsXG4gIC8qKiBPZGlhICovXG4gIG9yID0gJ29yJyxcbiAgLyoqIE9zc2V0aWMgKi9cbiAgb3MgPSAnb3MnLFxuICAvKiogUHVuamFiaSAqL1xuICBwYSA9ICdwYScsXG4gIC8qKiBQb2xpc2ggKi9cbiAgcGwgPSAncGwnLFxuICAvKiogUGFzaHRvICovXG4gIHBzID0gJ3BzJyxcbiAgLyoqIFBvcnR1Z3Vlc2UgKi9cbiAgcHQgPSAncHQnLFxuICAvKiogQnJhemlsaWFuIFBvcnR1Z3Vlc2UgKi9cbiAgcHRfQlIgPSAncHRfQlInLFxuICAvKiogRXVyb3BlYW4gUG9ydHVndWVzZSAqL1xuICBwdF9QVCA9ICdwdF9QVCcsXG4gIC8qKiBRdWVjaHVhICovXG4gIHF1ID0gJ3F1JyxcbiAgLyoqIFJvbWFuc2ggKi9cbiAgcm0gPSAncm0nLFxuICAvKiogUnVuZGkgKi9cbiAgcm4gPSAncm4nLFxuICAvKiogUm9tYW5pYW4gKi9cbiAgcm8gPSAncm8nLFxuICAvKiogTW9sZGF2aWFuICovXG4gIHJvX01EID0gJ3JvX01EJyxcbiAgLyoqIFJ1c3NpYW4gKi9cbiAgcnUgPSAncnUnLFxuICAvKiogS2lueWFyd2FuZGEgKi9cbiAgcncgPSAncncnLFxuICAvKiogU2Fuc2tyaXQgKi9cbiAgc2EgPSAnc2EnLFxuICAvKiogU2luZGhpICovXG4gIHNkID0gJ3NkJyxcbiAgLyoqIE5vcnRoZXJuIFNhbWkgKi9cbiAgc2UgPSAnc2UnLFxuICAvKiogU2FuZ28gKi9cbiAgc2cgPSAnc2cnLFxuICAvKiogU2luaGFsYSAqL1xuICBzaSA9ICdzaScsXG4gIC8qKiBTbG92YWsgKi9cbiAgc2sgPSAnc2snLFxuICAvKiogU2xvdmVuaWFuICovXG4gIHNsID0gJ3NsJyxcbiAgLyoqIFNhbW9hbiAqL1xuICBzbSA9ICdzbScsXG4gIC8qKiBTaG9uYSAqL1xuICBzbiA9ICdzbicsXG4gIC8qKiBTb21hbGkgKi9cbiAgc28gPSAnc28nLFxuICAvKiogQWxiYW5pYW4gKi9cbiAgc3EgPSAnc3EnLFxuICAvKiogU2VyYmlhbiAqL1xuICBzciA9ICdzcicsXG4gIC8qKiBTb3V0aGVybiBTb3RobyAqL1xuICBzdCA9ICdzdCcsXG4gIC8qKiBTdW5kYW5lc2UgKi9cbiAgc3UgPSAnc3UnLFxuICAvKiogU3dlZGlzaCAqL1xuICBzdiA9ICdzdicsXG4gIC8qKiBTd2FoaWxpICovXG4gIHN3ID0gJ3N3JyxcbiAgLyoqIENvbmdvIFN3YWhpbGkgKi9cbiAgc3dfQ0QgPSAnc3dfQ0QnLFxuICAvKiogVGFtaWwgKi9cbiAgdGEgPSAndGEnLFxuICAvKiogVGVsdWd1ICovXG4gIHRlID0gJ3RlJyxcbiAgLyoqIFRhamlrICovXG4gIHRnID0gJ3RnJyxcbiAgLyoqIFRoYWkgKi9cbiAgdGggPSAndGgnLFxuICAvKiogVGlncmlueWEgKi9cbiAgdGkgPSAndGknLFxuICAvKiogVHVya21lbiAqL1xuICB0ayA9ICd0aycsXG4gIC8qKiBUb25nYW4gKi9cbiAgdG8gPSAndG8nLFxuICAvKiogVHVya2lzaCAqL1xuICB0ciA9ICd0cicsXG4gIC8qKiBUYXRhciAqL1xuICB0dCA9ICd0dCcsXG4gIC8qKiBVeWdodXIgKi9cbiAgdWcgPSAndWcnLFxuICAvKiogVWtyYWluaWFuICovXG4gIHVrID0gJ3VrJyxcbiAgLyoqIFVyZHUgKi9cbiAgdXIgPSAndXInLFxuICAvKiogVXpiZWsgKi9cbiAgdXogPSAndXonLFxuICAvKiogVmlldG5hbWVzZSAqL1xuICB2aSA9ICd2aScsXG4gIC8qKiBWb2xhcMO8ayAqL1xuICB2byA9ICd2bycsXG4gIC8qKiBXb2xvZiAqL1xuICB3byA9ICd3bycsXG4gIC8qKiBYaG9zYSAqL1xuICB4aCA9ICd4aCcsXG4gIC8qKiBZaWRkaXNoICovXG4gIHlpID0gJ3lpJyxcbiAgLyoqIFlvcnViYSAqL1xuICB5byA9ICd5bycsXG4gIC8qKiBDaGluZXNlICovXG4gIHpoID0gJ3poJyxcbiAgLyoqIFNpbXBsaWZpZWQgQ2hpbmVzZSAqL1xuICB6aF9IYW5zID0gJ3poX0hhbnMnLFxuICAvKiogVHJhZGl0aW9uYWwgQ2hpbmVzZSAqL1xuICB6aF9IYW50ID0gJ3poX0hhbnQnLFxuICAvKiogWnVsdSAqL1xuICB6dSA9ICd6dSdcbn1cblxuLyoqIFJldHVybmVkIGlmIGF0dGVtcHRpbmcgdG8gc2V0IGEgQ2hhbm5lbCdzIGRlZmF1bHRMYW5ndWFnZUNvZGUgdG8gYSBsYW5ndWFnZSB3aGljaCBpcyBub3QgZW5hYmxlZCBpbiBHbG9iYWxTZXR0aW5ncyAqL1xuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvciA9IEVycm9yUmVzdWx0ICYge1xuICBfX3R5cGVuYW1lPzogJ0xhbmd1YWdlTm90QXZhaWxhYmxlRXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGxhbmd1YWdlQ29kZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZyA9IEN1c3RvbUZpZWxkICYge1xuICBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJztcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHR5cGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBsaXN0OiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGxlbmd0aD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgcGF0dGVybj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTG9jYWxpemVkU3RyaW5nID0ge1xuICBfX3R5cGVuYW1lPzogJ0xvY2FsaXplZFN0cmluZyc7XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICB2YWx1ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgZW51bSBMb2dpY2FsT3BlcmF0b3Ige1xuICBBTkQgPSAnQU5EJyxcbiAgT1IgPSAnT1InXG59XG5cbmV4cG9ydCB0eXBlIE1hbnVhbFBheW1lbnRJbnB1dCA9IHtcbiAgb3JkZXJJZDogU2NhbGFyc1snSUQnXTtcbiAgbWV0aG9kOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHJhbnNhY3Rpb25JZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbWV0YWRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuLyoqXG4gKiBSZXR1cm5lZCB3aGVuIGEgY2FsbCB0byBhZGRNYW51YWxQYXltZW50VG9PcmRlciBpcyBtYWRlIGJ1dCB0aGUgT3JkZXJcbiAqIGlzIG5vdCBpbiB0aGUgcmVxdWlyZWQgc3RhdGUuXG4gKi9cbmV4cG9ydCB0eXBlIE1hbnVhbFBheW1lbnRTdGF0ZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnTWFudWFsUGF5bWVudFN0YXRlRXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBNaW1lVHlwZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnTWltZVR5cGVFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZmlsZU5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBtaW1lVHlwZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG4vKiogUmV0dXJuZWQgaWYgYSBQcm9tb3Rpb25Db25kaXRpb24gaGFzIG5laXRoZXIgYSBjb3Vwb25Db2RlIG5vciBhbnkgY29uZGl0aW9ucyBzZXQgKi9cbmV4cG9ydCB0eXBlIE1pc3NpbmdDb25kaXRpb25zRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdNaXNzaW5nQ29uZGl0aW9uc0Vycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5T3JkZXJJbnB1dCA9IHtcbiAgZHJ5UnVuOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIG9yZGVySWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGFkZEl0ZW1zPzogTWF5YmU8QXJyYXk8QWRkSXRlbUlucHV0Pj47XG4gIGFkanVzdE9yZGVyTGluZXM/OiBNYXliZTxBcnJheTxBZGp1c3RPcmRlckxpbmVJbnB1dD4+O1xuICBzdXJjaGFyZ2VzPzogTWF5YmU8QXJyYXk8U3VyY2hhcmdlSW5wdXQ+PjtcbiAgdXBkYXRlU2hpcHBpbmdBZGRyZXNzPzogTWF5YmU8VXBkYXRlT3JkZXJBZGRyZXNzSW5wdXQ+O1xuICB1cGRhdGVCaWxsaW5nQWRkcmVzcz86IE1heWJlPFVwZGF0ZU9yZGVyQWRkcmVzc0lucHV0PjtcbiAgbm90ZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVmdW5kPzogTWF5YmU8QWRtaW5pc3RyYXRvclJlZnVuZElucHV0PjtcbiAgb3B0aW9ucz86IE1heWJlPE1vZGlmeU9yZGVyT3B0aW9ucz47XG4gIGNvdXBvbkNvZGVzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIE1vZGlmeU9yZGVyT3B0aW9ucyA9IHtcbiAgZnJlZXplUHJvbW90aW9ucz86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHJlY2FsY3VsYXRlU2hpcHBpbmc/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5T3JkZXJSZXN1bHQgPSBPcmRlciB8IE5vQ2hhbmdlc1NwZWNpZmllZEVycm9yIHwgT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yIHwgUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvciB8IFJlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvciB8IE9yZGVyTGltaXRFcnJvciB8IE5lZ2F0aXZlUXVhbnRpdHlFcnJvciB8IEluc3VmZmljaWVudFN0b2NrRXJyb3IgfCBDb3Vwb25Db2RlRXhwaXJlZEVycm9yIHwgQ291cG9uQ29kZUludmFsaWRFcnJvciB8IENvdXBvbkNvZGVMaW1pdEVycm9yO1xuXG5leHBvcnQgdHlwZSBNb3ZlQ29sbGVjdGlvbklucHV0ID0ge1xuICBjb2xsZWN0aW9uSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHBhcmVudElkOiBTY2FsYXJzWydJRCddO1xuICBpbmRleDogU2NhbGFyc1snSW50J107XG59O1xuXG4vKiogUmV0dXJuZWQgaWYgYW4gb3BlcmF0aW9uIGhhcyBzcGVjaWZpZWQgT3JkZXJMaW5lcyBmcm9tIG11bHRpcGxlIE9yZGVycyAqL1xuZXhwb3J0IHR5cGUgTXVsdGlwbGVPcmRlckVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnTXVsdGlwbGVPcmRlckVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgTXV0YXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnTXV0YXRpb24nO1xuICAvKiogQWRkIEN1c3RvbWVycyB0byBhIEN1c3RvbWVyR3JvdXAgKi9cbiAgYWRkQ3VzdG9tZXJzVG9Hcm91cDogQ3VzdG9tZXJHcm91cDtcbiAgYWRkRnVsZmlsbG1lbnRUb09yZGVyOiBBZGRGdWxmaWxsbWVudFRvT3JkZXJSZXN1bHQ7XG4gIC8qKlxuICAgKiBVc2VkIHRvIG1hbnVhbGx5IGNyZWF0ZSBhIG5ldyBQYXltZW50IGFnYWluc3QgYW4gT3JkZXIuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgYnkgYW4gQWRtaW5pc3RyYXRvciB3aGVuIGFuIE9yZGVyIGlzIGluIHRoZSBBcnJhbmdpbmdQYXltZW50IHN0YXRlLlxuICAgKlxuICAgKiBJdCBpcyBhbHNvIHVzZWQgd2hlbiBhIGNvbXBsZXRlZCBPcmRlclxuICAgKiBoYXMgYmVlbiBtb2RpZmllZCAodXNpbmcgYG1vZGlmeU9yZGVyYCkgYW5kIHRoZSBwcmljZSBoYXMgaW5jcmVhc2VkLiBUaGUgZXh0cmEgcGF5bWVudFxuICAgKiBjYW4gdGhlbiBiZSBtYW51YWxseSBhcnJhbmdlZCBieSB0aGUgYWRtaW5pc3RyYXRvciwgYW5kIHRoZSBkZXRhaWxzIHVzZWQgdG8gY3JlYXRlIGEgbmV3XG4gICAqIFBheW1lbnQuXG4gICAqL1xuICBhZGRNYW51YWxQYXltZW50VG9PcmRlcjogQWRkTWFudWFsUGF5bWVudFRvT3JkZXJSZXN1bHQ7XG4gIC8qKiBBZGQgbWVtYmVycyB0byBhIFpvbmUgKi9cbiAgYWRkTWVtYmVyc1RvWm9uZTogWm9uZTtcbiAgYWRkTm90ZVRvQ3VzdG9tZXI6IEN1c3RvbWVyO1xuICBhZGROb3RlVG9PcmRlcjogT3JkZXI7XG4gIC8qKiBBZGQgYW4gT3B0aW9uR3JvdXAgdG8gYSBQcm9kdWN0ICovXG4gIGFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0OiBQcm9kdWN0O1xuICAvKiogQXNzaWduIGFzc2V0cyB0byBjaGFubmVsICovXG4gIGFzc2lnbkFzc2V0c1RvQ2hhbm5lbDogQXJyYXk8QXNzZXQ+O1xuICAvKiogQXNzaWducyBQcm9kdWN0VmFyaWFudHMgdG8gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXG4gIGFzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbDogQXJyYXk8UHJvZHVjdFZhcmlhbnQ+O1xuICAvKiogQXNzaWducyBhbGwgUHJvZHVjdFZhcmlhbnRzIG9mIFByb2R1Y3QgdG8gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXG4gIGFzc2lnblByb2R1Y3RzVG9DaGFubmVsOiBBcnJheTxQcm9kdWN0PjtcbiAgLyoqIEFzc2lnbnMgUHJvbW90aW9ucyB0byB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cbiAgYXNzaWduUHJvbW90aW9uc1RvQ2hhbm5lbDogQXJyYXk8UHJvbW90aW9uPjtcbiAgLyoqIEFzc2lnbiBhIFJvbGUgdG8gYW4gQWRtaW5pc3RyYXRvciAqL1xuICBhc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yOiBBZG1pbmlzdHJhdG9yO1xuICAvKiogQXV0aGVudGljYXRlcyB0aGUgdXNlciB1c2luZyBhIG5hbWVkIGF1dGhlbnRpY2F0aW9uIHN0cmF0ZWd5ICovXG4gIGF1dGhlbnRpY2F0ZTogQXV0aGVudGljYXRpb25SZXN1bHQ7XG4gIGNhbmNlbEpvYjogSm9iO1xuICBjYW5jZWxPcmRlcjogQ2FuY2VsT3JkZXJSZXN1bHQ7XG4gIC8qKiBDcmVhdGUgYSBuZXcgQWRtaW5pc3RyYXRvciAqL1xuICBjcmVhdGVBZG1pbmlzdHJhdG9yOiBBZG1pbmlzdHJhdG9yO1xuICAvKiogQ3JlYXRlIGEgbmV3IEFzc2V0ICovXG4gIGNyZWF0ZUFzc2V0czogQXJyYXk8Q3JlYXRlQXNzZXRSZXN1bHQ+O1xuICAvKiogQ3JlYXRlIGEgbmV3IENoYW5uZWwgKi9cbiAgY3JlYXRlQ2hhbm5lbDogQ3JlYXRlQ2hhbm5lbFJlc3VsdDtcbiAgLyoqIENyZWF0ZSBhIG5ldyBDb2xsZWN0aW9uICovXG4gIGNyZWF0ZUNvbGxlY3Rpb246IENvbGxlY3Rpb247XG4gIC8qKiBDcmVhdGUgYSBuZXcgQ291bnRyeSAqL1xuICBjcmVhdGVDb3VudHJ5OiBDb3VudHJ5O1xuICAvKiogQ3JlYXRlIGEgbmV3IEN1c3RvbWVyLiBJZiBhIHBhc3N3b3JkIGlzIHByb3ZpZGVkLCBhIG5ldyBVc2VyIHdpbGwgYWxzbyBiZSBjcmVhdGVkIGFuIGxpbmtlZCB0byB0aGUgQ3VzdG9tZXIuICovXG4gIGNyZWF0ZUN1c3RvbWVyOiBDcmVhdGVDdXN0b21lclJlc3VsdDtcbiAgLyoqIENyZWF0ZSBhIG5ldyBBZGRyZXNzIGFuZCBhc3NvY2lhdGUgaXQgd2l0aCB0aGUgQ3VzdG9tZXIgc3BlY2lmaWVkIGJ5IGN1c3RvbWVySWQgKi9cbiAgY3JlYXRlQ3VzdG9tZXJBZGRyZXNzOiBBZGRyZXNzO1xuICAvKiogQ3JlYXRlIGEgbmV3IEN1c3RvbWVyR3JvdXAgKi9cbiAgY3JlYXRlQ3VzdG9tZXJHcm91cDogQ3VzdG9tZXJHcm91cDtcbiAgLyoqIENyZWF0ZSBhIG5ldyBGYWNldCAqL1xuICBjcmVhdGVGYWNldDogRmFjZXQ7XG4gIC8qKiBDcmVhdGUgb25lIG9yIG1vcmUgRmFjZXRWYWx1ZXMgKi9cbiAgY3JlYXRlRmFjZXRWYWx1ZXM6IEFycmF5PEZhY2V0VmFsdWU+O1xuICAvKiogQ3JlYXRlIGV4aXN0aW5nIFBheW1lbnRNZXRob2QgKi9cbiAgY3JlYXRlUGF5bWVudE1ldGhvZDogUGF5bWVudE1ldGhvZDtcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0ICovXG4gIGNyZWF0ZVByb2R1Y3Q6IFByb2R1Y3Q7XG4gIC8qKiBDcmVhdGUgYSBuZXcgUHJvZHVjdE9wdGlvbiB3aXRoaW4gYSBQcm9kdWN0T3B0aW9uR3JvdXAgKi9cbiAgY3JlYXRlUHJvZHVjdE9wdGlvbjogUHJvZHVjdE9wdGlvbjtcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0T3B0aW9uR3JvdXAgKi9cbiAgY3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwOiBQcm9kdWN0T3B0aW9uR3JvdXA7XG4gIC8qKiBDcmVhdGUgYSBzZXQgb2YgUHJvZHVjdFZhcmlhbnRzIGJhc2VkIG9uIHRoZSBPcHRpb25Hcm91cHMgYXNzaWduZWQgdG8gdGhlIGdpdmVuIFByb2R1Y3QgKi9cbiAgY3JlYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTxQcm9kdWN0VmFyaWFudD4+O1xuICBjcmVhdGVQcm9tb3Rpb246IENyZWF0ZVByb21vdGlvblJlc3VsdDtcbiAgLyoqIENyZWF0ZSBhIG5ldyBSb2xlICovXG4gIGNyZWF0ZVJvbGU6IFJvbGU7XG4gIC8qKiBDcmVhdGUgYSBuZXcgU2hpcHBpbmdNZXRob2QgKi9cbiAgY3JlYXRlU2hpcHBpbmdNZXRob2Q6IFNoaXBwaW5nTWV0aG9kO1xuICAvKiogQ3JlYXRlIGEgbmV3IFRhZyAqL1xuICBjcmVhdGVUYWc6IFRhZztcbiAgLyoqIENyZWF0ZSBhIG5ldyBUYXhDYXRlZ29yeSAqL1xuICBjcmVhdGVUYXhDYXRlZ29yeTogVGF4Q2F0ZWdvcnk7XG4gIC8qKiBDcmVhdGUgYSBuZXcgVGF4UmF0ZSAqL1xuICBjcmVhdGVUYXhSYXRlOiBUYXhSYXRlO1xuICAvKiogQ3JlYXRlIGEgbmV3IFpvbmUgKi9cbiAgY3JlYXRlWm9uZTogWm9uZTtcbiAgLyoqIERlbGV0ZSBhbiBBZG1pbmlzdHJhdG9yICovXG4gIGRlbGV0ZUFkbWluaXN0cmF0b3I6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgYW4gQXNzZXQgKi9cbiAgZGVsZXRlQXNzZXQ6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgbXVsdGlwbGUgQXNzZXRzICovXG4gIGRlbGV0ZUFzc2V0czogRGVsZXRpb25SZXNwb25zZTtcbiAgLyoqIERlbGV0ZSBhIENoYW5uZWwgKi9cbiAgZGVsZXRlQ2hhbm5lbDogRGVsZXRpb25SZXNwb25zZTtcbiAgLyoqIERlbGV0ZSBhIENvbGxlY3Rpb24gYW5kIGFsbCBvZiBpdHMgZGVzY2VuZGFudHMgKi9cbiAgZGVsZXRlQ29sbGVjdGlvbjogRGVsZXRpb25SZXNwb25zZTtcbiAgLyoqIERlbGV0ZSBhIENvdW50cnkgKi9cbiAgZGVsZXRlQ291bnRyeTogRGVsZXRpb25SZXNwb25zZTtcbiAgLyoqIERlbGV0ZSBhIEN1c3RvbWVyICovXG4gIGRlbGV0ZUN1c3RvbWVyOiBEZWxldGlvblJlc3BvbnNlO1xuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEFkZHJlc3MgKi9cbiAgZGVsZXRlQ3VzdG9tZXJBZGRyZXNzOiBTdWNjZXNzO1xuICAvKiogRGVsZXRlIGEgQ3VzdG9tZXJHcm91cCAqL1xuICBkZWxldGVDdXN0b21lckdyb3VwOiBEZWxldGlvblJlc3BvbnNlO1xuICBkZWxldGVDdXN0b21lck5vdGU6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgYW4gZXhpc3RpbmcgRmFjZXQgKi9cbiAgZGVsZXRlRmFjZXQ6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgb25lIG9yIG1vcmUgRmFjZXRWYWx1ZXMgKi9cbiAgZGVsZXRlRmFjZXRWYWx1ZXM6IEFycmF5PERlbGV0aW9uUmVzcG9uc2U+O1xuICBkZWxldGVPcmRlck5vdGU6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgYSBQYXltZW50TWV0aG9kICovXG4gIGRlbGV0ZVBheW1lbnRNZXRob2Q6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgYSBQcm9kdWN0ICovXG4gIGRlbGV0ZVByb2R1Y3Q6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgYSBQcm9kdWN0VmFyaWFudCAqL1xuICBkZWxldGVQcm9kdWN0VmFyaWFudDogRGVsZXRpb25SZXNwb25zZTtcbiAgZGVsZXRlUHJvbW90aW9uOiBEZWxldGlvblJlc3BvbnNlO1xuICAvKiogRGVsZXRlIGFuIGV4aXN0aW5nIFJvbGUgKi9cbiAgZGVsZXRlUm9sZTogRGVsZXRpb25SZXNwb25zZTtcbiAgLyoqIERlbGV0ZSBhIFNoaXBwaW5nTWV0aG9kICovXG4gIGRlbGV0ZVNoaXBwaW5nTWV0aG9kOiBEZWxldGlvblJlc3BvbnNlO1xuICAvKiogRGVsZXRlIGFuIGV4aXN0aW5nIFRhZyAqL1xuICBkZWxldGVUYWc6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGVzIGEgVGF4Q2F0ZWdvcnkgKi9cbiAgZGVsZXRlVGF4Q2F0ZWdvcnk6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgYSBUYXhSYXRlICovXG4gIGRlbGV0ZVRheFJhdGU6IERlbGV0aW9uUmVzcG9uc2U7XG4gIC8qKiBEZWxldGUgYSBab25lICovXG4gIGRlbGV0ZVpvbmU6IERlbGV0aW9uUmVzcG9uc2U7XG4gIGZsdXNoQnVmZmVyZWRKb2JzOiBTdWNjZXNzO1xuICBpbXBvcnRQcm9kdWN0cz86IE1heWJlPEltcG9ydEluZm8+O1xuICAvKiogQXV0aGVudGljYXRlcyB0aGUgdXNlciB1c2luZyB0aGUgbmF0aXZlIGF1dGhlbnRpY2F0aW9uIHN0cmF0ZWd5LiBUaGlzIG11dGF0aW9uIGlzIGFuIGFsaWFzIGZvciBgYXV0aGVudGljYXRlKHsgbmF0aXZlOiB7IC4uLiB9fSlgICovXG4gIGxvZ2luOiBOYXRpdmVBdXRoZW50aWNhdGlvblJlc3VsdDtcbiAgbG9nb3V0OiBTdWNjZXNzO1xuICAvKipcbiAgICogQWxsb3dzIGFuIE9yZGVyIHRvIGJlIG1vZGlmaWVkIGFmdGVyIGl0IGhhcyBiZWVuIGNvbXBsZXRlZCBieSB0aGUgQ3VzdG9tZXIuIFRoZSBPcmRlciBtdXN0IGZpcnN0XG4gICAqIGJlIGluIHRoZSBgTW9kaWZ5aW5nYCBzdGF0ZS5cbiAgICovXG4gIG1vZGlmeU9yZGVyOiBNb2RpZnlPcmRlclJlc3VsdDtcbiAgLyoqIE1vdmUgYSBDb2xsZWN0aW9uIHRvIGEgZGlmZmVyZW50IHBhcmVudCBvciBpbmRleCAqL1xuICBtb3ZlQ29sbGVjdGlvbjogQ29sbGVjdGlvbjtcbiAgcmVmdW5kT3JkZXI6IFJlZnVuZE9yZGVyUmVzdWx0O1xuICByZWluZGV4OiBKb2I7XG4gIC8qKiBSZW1vdmUgQ3VzdG9tZXJzIGZyb20gYSBDdXN0b21lckdyb3VwICovXG4gIHJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cDogQ3VzdG9tZXJHcm91cDtcbiAgLyoqIFJlbW92ZSBtZW1iZXJzIGZyb20gYSBab25lICovXG4gIHJlbW92ZU1lbWJlcnNGcm9tWm9uZTogWm9uZTtcbiAgLyoqIFJlbW92ZSBhbiBPcHRpb25Hcm91cCBmcm9tIGEgUHJvZHVjdCAqL1xuICByZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0OiBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0UmVzdWx0O1xuICAvKiogUmVtb3ZlcyBQcm9kdWN0VmFyaWFudHMgZnJvbSB0aGUgc3BlY2lmaWVkIENoYW5uZWwgKi9cbiAgcmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWw6IEFycmF5PFByb2R1Y3RWYXJpYW50PjtcbiAgLyoqIFJlbW92ZXMgYWxsIFByb2R1Y3RWYXJpYW50cyBvZiBQcm9kdWN0IGZyb20gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXG4gIHJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWw6IEFycmF5PFByb2R1Y3Q+O1xuICAvKiogUmVtb3ZlcyBQcm9tb3Rpb25zIGZyb20gdGhlIHNwZWNpZmllZCBDaGFubmVsICovXG4gIHJlbW92ZVByb21vdGlvbnNGcm9tQ2hhbm5lbDogQXJyYXk8UHJvbW90aW9uPjtcbiAgLyoqIFJlbW92ZSBhbGwgc2V0dGxlZCBqb2JzIGluIHRoZSBnaXZlbiBxdWV1ZXMgb2xkZXIgdGhhbiB0aGUgZ2l2ZW4gZGF0ZS4gUmV0dXJucyB0aGUgbnVtYmVyIG9mIGpvYnMgZGVsZXRlZC4gKi9cbiAgcmVtb3ZlU2V0dGxlZEpvYnM6IFNjYWxhcnNbJ0ludCddO1xuICByZXF1ZXN0Q29tcGxldGVkOiBTY2FsYXJzWydJbnQnXTtcbiAgcmVxdWVzdFN0YXJ0ZWQ6IFNjYWxhcnNbJ0ludCddO1xuICBydW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzOiBTdWNjZXNzO1xuICBzZXRBY3RpdmVDaGFubmVsOiBVc2VyU3RhdHVzO1xuICBzZXRBc0xvZ2dlZEluOiBVc2VyU3RhdHVzO1xuICBzZXRBc0xvZ2dlZE91dDogVXNlclN0YXR1cztcbiAgc2V0Q29udGVudExhbmd1YWdlOiBMYW5ndWFnZUNvZGU7XG4gIHNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50czogU2NhbGFyc1snQm9vbGVhbiddO1xuICBzZXRPcmRlckN1c3RvbUZpZWxkcz86IE1heWJlPE9yZGVyPjtcbiAgc2V0VWlMYW5ndWFnZTogTGFuZ3VhZ2VDb2RlO1xuICBzZXRVaUxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc2V0VWlUaGVtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNldHRsZVBheW1lbnQ6IFNldHRsZVBheW1lbnRSZXN1bHQ7XG4gIHNldHRsZVJlZnVuZDogU2V0dGxlUmVmdW5kUmVzdWx0O1xuICB0cmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlOiBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlUmVzdWx0O1xuICB0cmFuc2l0aW9uT3JkZXJUb1N0YXRlPzogTWF5YmU8VHJhbnNpdGlvbk9yZGVyVG9TdGF0ZVJlc3VsdD47XG4gIHRyYW5zaXRpb25QYXltZW50VG9TdGF0ZTogVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlUmVzdWx0O1xuICAvKiogVXBkYXRlIHRoZSBhY3RpdmUgKGN1cnJlbnRseSBsb2dnZWQtaW4pIEFkbWluaXN0cmF0b3IgKi9cbiAgdXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvcjogQWRtaW5pc3RyYXRvcjtcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZG1pbmlzdHJhdG9yICovXG4gIHVwZGF0ZUFkbWluaXN0cmF0b3I6IEFkbWluaXN0cmF0b3I7XG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQXNzZXQgKi9cbiAgdXBkYXRlQXNzZXQ6IEFzc2V0O1xuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIENoYW5uZWwgKi9cbiAgdXBkYXRlQ2hhbm5lbDogVXBkYXRlQ2hhbm5lbFJlc3VsdDtcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBDb2xsZWN0aW9uICovXG4gIHVwZGF0ZUNvbGxlY3Rpb246IENvbGxlY3Rpb247XG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgQ291bnRyeSAqL1xuICB1cGRhdGVDb3VudHJ5OiBDb3VudHJ5O1xuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEN1c3RvbWVyICovXG4gIHVwZGF0ZUN1c3RvbWVyOiBVcGRhdGVDdXN0b21lclJlc3VsdDtcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBBZGRyZXNzICovXG4gIHVwZGF0ZUN1c3RvbWVyQWRkcmVzczogQWRkcmVzcztcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBDdXN0b21lckdyb3VwICovXG4gIHVwZGF0ZUN1c3RvbWVyR3JvdXA6IEN1c3RvbWVyR3JvdXA7XG4gIHVwZGF0ZUN1c3RvbWVyTm90ZTogSGlzdG9yeUVudHJ5O1xuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIEZhY2V0ICovXG4gIHVwZGF0ZUZhY2V0OiBGYWNldDtcbiAgLyoqIFVwZGF0ZSBvbmUgb3IgbW9yZSBGYWNldFZhbHVlcyAqL1xuICB1cGRhdGVGYWNldFZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XG4gIHVwZGF0ZUdsb2JhbFNldHRpbmdzOiBVcGRhdGVHbG9iYWxTZXR0aW5nc1Jlc3VsdDtcbiAgdXBkYXRlT3JkZXJOb3RlOiBIaXN0b3J5RW50cnk7XG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgUGF5bWVudE1ldGhvZCAqL1xuICB1cGRhdGVQYXltZW50TWV0aG9kOiBQYXltZW50TWV0aG9kO1xuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFByb2R1Y3QgKi9cbiAgdXBkYXRlUHJvZHVjdDogUHJvZHVjdDtcbiAgLyoqIENyZWF0ZSBhIG5ldyBQcm9kdWN0T3B0aW9uIHdpdGhpbiBhIFByb2R1Y3RPcHRpb25Hcm91cCAqL1xuICB1cGRhdGVQcm9kdWN0T3B0aW9uOiBQcm9kdWN0T3B0aW9uO1xuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFByb2R1Y3RPcHRpb25Hcm91cCAqL1xuICB1cGRhdGVQcm9kdWN0T3B0aW9uR3JvdXA6IFByb2R1Y3RPcHRpb25Hcm91cDtcbiAgLyoqIFVwZGF0ZSBleGlzdGluZyBQcm9kdWN0VmFyaWFudHMgKi9cbiAgdXBkYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTxQcm9kdWN0VmFyaWFudD4+O1xuICB1cGRhdGVQcm9tb3Rpb246IFVwZGF0ZVByb21vdGlvblJlc3VsdDtcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBSb2xlICovXG4gIHVwZGF0ZVJvbGU6IFJvbGU7XG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgU2hpcHBpbmdNZXRob2QgKi9cbiAgdXBkYXRlU2hpcHBpbmdNZXRob2Q6IFNoaXBwaW5nTWV0aG9kO1xuICAvKiogVXBkYXRlIGFuIGV4aXN0aW5nIFRhZyAqL1xuICB1cGRhdGVUYWc6IFRhZztcbiAgLyoqIFVwZGF0ZSBhbiBleGlzdGluZyBUYXhDYXRlZ29yeSAqL1xuICB1cGRhdGVUYXhDYXRlZ29yeTogVGF4Q2F0ZWdvcnk7XG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgVGF4UmF0ZSAqL1xuICB1cGRhdGVUYXhSYXRlOiBUYXhSYXRlO1xuICB1cGRhdGVVc2VyQ2hhbm5lbHM6IFVzZXJTdGF0dXM7XG4gIC8qKiBVcGRhdGUgYW4gZXhpc3RpbmcgWm9uZSAqL1xuICB1cGRhdGVab25lOiBab25lO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZEN1c3RvbWVyc1RvR3JvdXBBcmdzID0ge1xuICBjdXN0b21lckdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGN1c3RvbWVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGRGdWxmaWxsbWVudFRvT3JkZXJBcmdzID0ge1xuICBpbnB1dDogRnVsZmlsbE9yZGVySW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTWFudWFsUGF5bWVudFRvT3JkZXJBcmdzID0ge1xuICBpbnB1dDogTWFudWFsUGF5bWVudElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZE1lbWJlcnNUb1pvbmVBcmdzID0ge1xuICB6b25lSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG1lbWJlcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQWRkTm90ZVRvQ3VzdG9tZXJBcmdzID0ge1xuICBpbnB1dDogQWRkTm90ZVRvQ3VzdG9tZXJJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25BZGROb3RlVG9PcmRlckFyZ3MgPSB7XG4gIGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0QXJncyA9IHtcbiAgcHJvZHVjdElkOiBTY2FsYXJzWydJRCddO1xuICBvcHRpb25Hcm91cElkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkFzc2lnbkFzc2V0c1RvQ2hhbm5lbEFyZ3MgPSB7XG4gIGlucHV0OiBBc3NpZ25Bc3NldHNUb0NoYW5uZWxJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWxBcmdzID0ge1xuICBpbnB1dDogQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxBcmdzID0ge1xuICBpbnB1dDogQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Qcm9tb3Rpb25zVG9DaGFubmVsQXJncyA9IHtcbiAgaW5wdXQ6IEFzc2lnblByb21vdGlvbnNUb0NoYW5uZWxJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Bc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yQXJncyA9IHtcbiAgYWRtaW5pc3RyYXRvcklkOiBTY2FsYXJzWydJRCddO1xuICByb2xlSWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQXV0aGVudGljYXRlQXJncyA9IHtcbiAgaW5wdXQ6IEF1dGhlbnRpY2F0aW9uSW5wdXQ7XG4gIHJlbWVtYmVyTWU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNhbmNlbEpvYkFyZ3MgPSB7XG4gIGpvYklkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNhbmNlbE9yZGVyQXJncyA9IHtcbiAgaW5wdXQ6IENhbmNlbE9yZGVySW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XG4gIGlucHV0OiBDcmVhdGVBZG1pbmlzdHJhdG9ySW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQXNzZXRzQXJncyA9IHtcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZUFzc2V0SW5wdXQ+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUNoYW5uZWxBcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlQ2hhbm5lbElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUNvbGxlY3Rpb25BcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlQ29sbGVjdGlvbklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUNvdW50cnlBcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlQ291bnRyeUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUN1c3RvbWVyQXJncyA9IHtcbiAgaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQ7XG4gIHBhc3N3b3JkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZUN1c3RvbWVyQWRkcmVzc0FyZ3MgPSB7XG4gIGN1c3RvbWVySWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlQ3VzdG9tZXJHcm91cEFyZ3MgPSB7XG4gIGlucHV0OiBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlRmFjZXRBcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlRmFjZXRJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVGYWNldFZhbHVlc0FyZ3MgPSB7XG4gIGlucHV0OiBBcnJheTxDcmVhdGVGYWNldFZhbHVlSW5wdXQ+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVBheW1lbnRNZXRob2RBcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlUGF5bWVudE1ldGhvZElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RBcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlUHJvZHVjdElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RPcHRpb25BcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlUHJvZHVjdE9wdGlvbklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cEFyZ3MgPSB7XG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25DcmVhdGVQcm9kdWN0VmFyaWFudHNBcmdzID0ge1xuICBpbnB1dDogQXJyYXk8Q3JlYXRlUHJvZHVjdFZhcmlhbnRJbnB1dD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlUHJvbW90aW9uQXJncyA9IHtcbiAgaW5wdXQ6IENyZWF0ZVByb21vdGlvbklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVJvbGVBcmdzID0ge1xuICBpbnB1dDogQ3JlYXRlUm9sZUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVNoaXBwaW5nTWV0aG9kQXJncyA9IHtcbiAgaW5wdXQ6IENyZWF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlVGFnQXJncyA9IHtcbiAgaW5wdXQ6IENyZWF0ZVRhZ0lucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkNyZWF0ZVRheENhdGVnb3J5QXJncyA9IHtcbiAgaW5wdXQ6IENyZWF0ZVRheENhdGVnb3J5SW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlVGF4UmF0ZUFyZ3MgPSB7XG4gIGlucHV0OiBDcmVhdGVUYXhSYXRlSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uQ3JlYXRlWm9uZUFyZ3MgPSB7XG4gIGlucHV0OiBDcmVhdGVab25lSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUFzc2V0QXJncyA9IHtcbiAgaW5wdXQ6IERlbGV0ZUFzc2V0SW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQXNzZXRzQXJncyA9IHtcbiAgaW5wdXQ6IERlbGV0ZUFzc2V0c0lucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUNoYW5uZWxBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVDb2xsZWN0aW9uQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ291bnRyeUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUN1c3RvbWVyQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ3VzdG9tZXJBZGRyZXNzQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlQ3VzdG9tZXJHcm91cEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUN1c3RvbWVyTm90ZUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZUZhY2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVGYWNldFZhbHVlc0FyZ3MgPSB7XG4gIGlkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVPcmRlck5vdGVBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQYXltZW50TWV0aG9kQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQcm9kdWN0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlUHJvZHVjdFZhcmlhbnRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVQcm9tb3Rpb25BcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVSb2xlQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRGVsZXRlU2hpcHBpbmdNZXRob2RBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVUYWdBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVUYXhDYXRlZ29yeUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkRlbGV0ZVRheFJhdGVBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25EZWxldGVab25lQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uRmx1c2hCdWZmZXJlZEpvYnNBcmdzID0ge1xuICBidWZmZXJJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvbkltcG9ydFByb2R1Y3RzQXJncyA9IHtcbiAgY3N2RmlsZTogU2NhbGFyc1snVXBsb2FkJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTG9naW5BcmdzID0ge1xuICB1c2VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHBhc3N3b3JkOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcmVtZW1iZXJNZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uTW9kaWZ5T3JkZXJBcmdzID0ge1xuICBpbnB1dDogTW9kaWZ5T3JkZXJJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25Nb3ZlQ29sbGVjdGlvbkFyZ3MgPSB7XG4gIGlucHV0OiBNb3ZlQ29sbGVjdGlvbklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlZnVuZE9yZGVyQXJncyA9IHtcbiAgaW5wdXQ6IFJlZnVuZE9yZGVySW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwQXJncyA9IHtcbiAgY3VzdG9tZXJHcm91cElkOiBTY2FsYXJzWydJRCddO1xuICBjdXN0b21lcklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlTWVtYmVyc0Zyb21ab25lQXJncyA9IHtcbiAgem9uZUlkOiBTY2FsYXJzWydJRCddO1xuICBtZW1iZXJJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RBcmdzID0ge1xuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG9wdGlvbkdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxBcmdzID0ge1xuICBpbnB1dDogUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsQXJncyA9IHtcbiAgaW5wdXQ6IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25SZW1vdmVQcm9tb3Rpb25zRnJvbUNoYW5uZWxBcmdzID0ge1xuICBpbnB1dDogUmVtb3ZlUHJvbW90aW9uc0Zyb21DaGFubmVsSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uUmVtb3ZlU2V0dGxlZEpvYnNBcmdzID0ge1xuICBxdWV1ZU5hbWVzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+PjtcbiAgb2xkZXJUaGFuPzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0QWN0aXZlQ2hhbm5lbEFyZ3MgPSB7XG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRBc0xvZ2dlZEluQXJncyA9IHtcbiAgaW5wdXQ6IFVzZXJTdGF0dXNJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRDb250ZW50TGFuZ3VhZ2VBcmdzID0ge1xuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHNBcmdzID0ge1xuICBkaXNwbGF5OiBTY2FsYXJzWydCb29sZWFuJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0T3JkZXJDdXN0b21GaWVsZHNBcmdzID0ge1xuICBpbnB1dDogVXBkYXRlT3JkZXJJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXRVaUxhbmd1YWdlQXJncyA9IHtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VWlMb2NhbGVBcmdzID0ge1xuICBsb2NhbGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0VWlUaGVtZUFyZ3MgPSB7XG4gIHRoZW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25TZXR0bGVQYXltZW50QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uU2V0dGxlUmVmdW5kQXJncyA9IHtcbiAgaW5wdXQ6IFNldHRsZVJlZnVuZElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblRyYW5zaXRpb25PcmRlclRvU3RhdGVBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblRyYW5zaXRpb25QYXltZW50VG9TdGF0ZUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9ySW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQWRtaW5pc3RyYXRvckFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVBZG1pbmlzdHJhdG9ySW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQXNzZXRBcmdzID0ge1xuICBpbnB1dDogVXBkYXRlQXNzZXRJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDaGFubmVsQXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZUNoYW5uZWxJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDb2xsZWN0aW9uQXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZUNvbGxlY3Rpb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDb3VudHJ5QXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZUNvdW50cnlJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVDdXN0b21lckFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVDdXN0b21lcklucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUN1c3RvbWVyQWRkcmVzc0FyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVBZGRyZXNzSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQ3VzdG9tZXJHcm91cEFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVDdXN0b21lckdyb3VwSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlQ3VzdG9tZXJOb3RlQXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZUN1c3RvbWVyTm90ZUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZUZhY2V0QXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZUZhY2V0SW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlRmFjZXRWYWx1ZXNBcmdzID0ge1xuICBpbnB1dDogQXJyYXk8VXBkYXRlRmFjZXRWYWx1ZUlucHV0Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVHbG9iYWxTZXR0aW5nc0FyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVHbG9iYWxTZXR0aW5nc0lucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZU9yZGVyTm90ZUFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVPcmRlck5vdGVJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQYXltZW50TWV0aG9kQXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZVBheW1lbnRNZXRob2RJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0QXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0T3B0aW9uQXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZVByb2R1Y3RPcHRpb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBBcmdzID0ge1xuICBpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQ7XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlUHJvZHVjdFZhcmlhbnRzQXJncyA9IHtcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQ+O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVByb21vdGlvbkFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVQcm9tb3Rpb25JbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVSb2xlQXJncyA9IHtcbiAgaW5wdXQ6IFVwZGF0ZVJvbGVJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVTaGlwcGluZ01ldGhvZElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVRhZ0FyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVUYWdJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgTXV0YXRpb25VcGRhdGVUYXhDYXRlZ29yeUFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVUYXhDYXRlZ29yeUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVRheFJhdGVBcmdzID0ge1xuICBpbnB1dDogVXBkYXRlVGF4UmF0ZUlucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBNdXRhdGlvblVwZGF0ZVVzZXJDaGFubmVsc0FyZ3MgPSB7XG4gIGNoYW5uZWxzOiBBcnJheTxDdXJyZW50VXNlckNoYW5uZWxJbnB1dD47XG59O1xuXG5cbmV4cG9ydCB0eXBlIE11dGF0aW9uVXBkYXRlWm9uZUFyZ3MgPSB7XG4gIGlucHV0OiBVcGRhdGVab25lSW5wdXQ7XG59O1xuXG5leHBvcnQgdHlwZSBOYXRpdmVBdXRoSW5wdXQgPSB7XG4gIHVzZXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGFzc3dvcmQ6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyBhbiBvcGVyYXRpb24gdGhhdCByZWxpZXMgb24gdGhlIE5hdGl2ZUF1dGhTdHJhdGVneSwgaWYgdGhhdCBzdHJhdGVneSBpcyBub3QgY29uZmlndXJlZC4gKi9cbmV4cG9ydCB0eXBlIE5hdGl2ZUF1dGhTdHJhdGVneUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBOYXRpdmVBdXRoZW50aWNhdGlvblJlc3VsdCA9IEN1cnJlbnRVc2VyIHwgSW52YWxpZENyZWRlbnRpYWxzRXJyb3IgfCBOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcjtcblxuLyoqIFJldHVybmVkIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgYSBuZWdhdGl2ZSBPcmRlckxpbmUgcXVhbnRpdHkuICovXG5leHBvcnQgdHlwZSBOZWdhdGl2ZVF1YW50aXR5RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBOZXR3b3JrU3RhdHVzID0ge1xuICBfX3R5cGVuYW1lPzogJ05ldHdvcmtTdGF0dXMnO1xuICBpbkZsaWdodFJlcXVlc3RzOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbi8qKiBSZXR1cm5lZCB3aGVuIGEgY2FsbCB0byBtb2RpZnlPcmRlciBmYWlscyB0byBzcGVjaWZ5IGFueSBjaGFuZ2VzICovXG5leHBvcnQgdHlwZSBOb0NoYW5nZXNTcGVjaWZpZWRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xuICBfX3R5cGVuYW1lPzogJ05vQ2hhbmdlc1NwZWNpZmllZEVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG4vKiogUmV0dXJuZWQgaWYgYW4gYXR0ZW1wdGluZyB0byByZWZ1bmQgYW4gT3JkZXIgYnV0IG5laXRoZXIgaXRlbXMgbm9yIHNoaXBwaW5nIHJlZnVuZCB3YXMgc3BlY2lmaWVkICovXG5leHBvcnQgdHlwZSBOb3RoaW5nVG9SZWZ1bmRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xuICBfX3R5cGVuYW1lPzogJ05vdGhpbmdUb1JlZnVuZEVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuLyoqIE9wZXJhdG9ycyBmb3IgZmlsdGVyaW5nIG9uIGEgbGlzdCBvZiBOdW1iZXIgZmllbGRzICovXG5leHBvcnQgdHlwZSBOdW1iZXJMaXN0T3BlcmF0b3JzID0ge1xuICBpbkxpc3Q6IFNjYWxhcnNbJ0Zsb2F0J107XG59O1xuXG4vKiogT3BlcmF0b3JzIGZvciBmaWx0ZXJpbmcgb24gYSBJbnQgb3IgRmxvYXQgZmllbGQgKi9cbmV4cG9ydCB0eXBlIE51bWJlck9wZXJhdG9ycyA9IHtcbiAgZXE/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgbHQ/OiBNYXliZTxTY2FsYXJzWydGbG9hdCddPjtcbiAgbHRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGd0PzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIGd0ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBiZXR3ZWVuPzogTWF5YmU8TnVtYmVyUmFuZ2U+O1xufTtcblxuZXhwb3J0IHR5cGUgTnVtYmVyUmFuZ2UgPSB7XG4gIHN0YXJ0OiBTY2FsYXJzWydGbG9hdCddO1xuICBlbmQ6IFNjYWxhcnNbJ0Zsb2F0J107XG59O1xuXG5leHBvcnQgdHlwZSBPcmRlciA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnT3JkZXInO1xuICBuZXh0U3RhdGVzOiBBcnJheTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG1vZGlmaWNhdGlvbnM6IEFycmF5PE9yZGVyTW9kaWZpY2F0aW9uPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICAvKipcbiAgICogVGhlIGRhdGUgJiB0aW1lIHRoYXQgdGhlIE9yZGVyIHdhcyBwbGFjZWQsIGkuZS4gdGhlIEN1c3RvbWVyXG4gICAqIGNvbXBsZXRlZCB0aGUgY2hlY2tvdXQgYW5kIHRoZSBPcmRlciBpcyBubyBsb25nZXIgXCJhY3RpdmVcIlxuICAgKi9cbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICAvKiogQSB1bmlxdWUgY29kZSBmb3IgdGhlIE9yZGVyICovXG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIC8qKiBBbiBvcmRlciBpcyBhY3RpdmUgYXMgbG9uZyBhcyB0aGUgcGF5bWVudCBwcm9jZXNzIGhhcyBub3QgYmVlbiBjb21wbGV0ZWQgKi9cbiAgYWN0aXZlOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGN1c3RvbWVyPzogTWF5YmU8Q3VzdG9tZXI+O1xuICBzaGlwcGluZ0FkZHJlc3M/OiBNYXliZTxPcmRlckFkZHJlc3M+O1xuICBiaWxsaW5nQWRkcmVzcz86IE1heWJlPE9yZGVyQWRkcmVzcz47XG4gIGxpbmVzOiBBcnJheTxPcmRlckxpbmU+O1xuICAvKipcbiAgICogU3VyY2hhcmdlcyBhcmUgYXJiaXRyYXJ5IG1vZGlmaWNhdGlvbnMgdG8gdGhlIE9yZGVyIHRvdGFsIHdoaWNoIGFyZSBuZWl0aGVyXG4gICAqIFByb2R1Y3RWYXJpYW50cyBub3IgZGlzY291bnRzIHJlc3VsdGluZyBmcm9tIGFwcGxpZWQgUHJvbW90aW9ucy4gRm9yIGV4YW1wbGUsXG4gICAqIG9uZS1vZmYgZGlzY291bnRzIGJhc2VkIG9uIGN1c3RvbWVyIGludGVyYWN0aW9uLCBvciBzdXJjaGFyZ2VzIGJhc2VkIG9uIHBheW1lbnRcbiAgICogbWV0aG9kcy5cbiAgICovXG4gIHN1cmNoYXJnZXM6IEFycmF5PFN1cmNoYXJnZT47XG4gIGRpc2NvdW50czogQXJyYXk8RGlzY291bnQ+O1xuICAvKiogQW4gYXJyYXkgb2YgYWxsIGNvdXBvbiBjb2RlcyBhcHBsaWVkIHRvIHRoZSBPcmRlciAqL1xuICBjb3Vwb25Db2RlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICAvKiogUHJvbW90aW9ucyBhcHBsaWVkIHRvIHRoZSBvcmRlci4gT25seSBnZXRzIHBvcHVsYXRlZCBhZnRlciB0aGUgcGF5bWVudCBwcm9jZXNzIGhhcyBjb21wbGV0ZWQuICovXG4gIHByb21vdGlvbnM6IEFycmF5PFByb21vdGlvbj47XG4gIHBheW1lbnRzPzogTWF5YmU8QXJyYXk8UGF5bWVudD4+O1xuICBmdWxmaWxsbWVudHM/OiBNYXliZTxBcnJheTxGdWxmaWxsbWVudD4+O1xuICB0b3RhbFF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqXG4gICAqIFRoZSBzdWJUb3RhbCBpcyB0aGUgdG90YWwgb2YgYWxsIE9yZGVyTGluZXMgaW4gdGhlIE9yZGVyLiBUaGlzIGZpZ3VyZSBhbHNvIGluY2x1ZGVzIGFueSBPcmRlci1sZXZlbFxuICAgKiBkaXNjb3VudHMgd2hpY2ggaGF2ZSBiZWVuIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseSBkaXN0cmlidXRlZCkgYW1vbmdzdCB0aGUgT3JkZXJJdGVtcy5cbiAgICogVG8gZ2V0IGEgdG90YWwgb2YgYWxsIE9yZGVyTGluZXMgd2hpY2ggZG9lcyBub3QgYWNjb3VudCBmb3IgcHJvcmF0ZWQgZGlzY291bnRzLCB1c2UgdGhlXG4gICAqIHN1bSBvZiBgT3JkZXJMaW5lLmRpc2NvdW50ZWRMaW5lUHJpY2VgIHZhbHVlcy5cbiAgICovXG4gIHN1YlRvdGFsOiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIFNhbWUgYXMgc3ViVG90YWwsIGJ1dCBpbmNsdXNpdmUgb2YgdGF4ICovXG4gIHN1YlRvdGFsV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIGN1cnJlbmN5Q29kZTogQ3VycmVuY3lDb2RlO1xuICBzaGlwcGluZ0xpbmVzOiBBcnJheTxTaGlwcGluZ0xpbmU+O1xuICBzaGlwcGluZzogU2NhbGFyc1snSW50J107XG4gIHNoaXBwaW5nV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIC8qKiBFcXVhbCB0byBzdWJUb3RhbCBwbHVzIHNoaXBwaW5nICovXG4gIHRvdGFsOiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIFRoZSBmaW5hbCBwYXlhYmxlIGFtb3VudC4gRXF1YWwgdG8gc3ViVG90YWxXaXRoVGF4IHBsdXMgc2hpcHBpbmdXaXRoVGF4ICovXG4gIHRvdGFsV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIC8qKiBBIHN1bW1hcnkgb2YgdGhlIHRheGVzIGJlaW5nIGFwcGxpZWQgdG8gdGhpcyBPcmRlciAqL1xuICB0YXhTdW1tYXJ5OiBBcnJheTxPcmRlclRheFN1bW1hcnk+O1xuICBoaXN0b3J5OiBIaXN0b3J5RW50cnlMaXN0O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBPcmRlckhpc3RvcnlBcmdzID0ge1xuICBvcHRpb25zPzogTWF5YmU8SGlzdG9yeUVudHJ5TGlzdE9wdGlvbnM+O1xufTtcblxuZXhwb3J0IHR5cGUgT3JkZXJBZGRyZXNzID0ge1xuICBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcyc7XG4gIGZ1bGxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXRMaW5lMT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBPcmRlckZpbHRlclBhcmFtZXRlciA9IHtcbiAgY3VzdG9tZXJMYXN0TmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIG9yZGVyUGxhY2VkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHN0YXRlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgYWN0aXZlPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XG4gIHRvdGFsUXVhbnRpdHk/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xuICBzdWJUb3RhbD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XG4gIHN1YlRvdGFsV2l0aFRheD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHNoaXBwaW5nPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgc2hpcHBpbmdXaXRoVGF4PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgdG90YWw/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xuICB0b3RhbFdpdGhUYXg/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgT3JkZXJJdGVtID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdPcmRlckl0ZW0nO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGNhbmNlbGxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQsIGV4Y2x1ZGluZyB0YXggYW5kIGRpc2NvdW50cyAqL1xuICB1bml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQsIGluY2x1ZGluZyB0YXggYnV0IGV4Y2x1ZGluZyBkaXNjb3VudHMgKi9cbiAgdW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIC8qKlxuICAgKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCBpbmNsdWRpbmcgZGlzY291bnRzLCBleGNsdWRpbmcgdGF4LlxuICAgKlxuICAgKiBJZiBPcmRlci1sZXZlbCBkaXNjb3VudHMgaGF2ZSBiZWVuIGFwcGxpZWQsIHRoaXMgd2lsbCBub3QgYmUgdGhlXG4gICAqIGFjdHVhbCB0YXhhYmxlIHVuaXQgcHJpY2UgKHNlZSBgcHJvcmF0ZWRVbml0UHJpY2VgKSwgYnV0IGlzIGdlbmVyYWxseSB0aGVcbiAgICogY29ycmVjdCBwcmljZSB0byBkaXNwbGF5IHRvIGN1c3RvbWVycyB0byBhdm9pZCBjb25mdXNpb25cbiAgICogYWJvdXQgdGhlIGludGVybmFsIGhhbmRsaW5nIG9mIGRpc3RyaWJ1dGVkIE9yZGVyLWxldmVsIGRpc2NvdW50cy5cbiAgICovXG4gIGRpc2NvdW50ZWRVbml0UHJpY2U6IFNjYWxhcnNbJ0ludCddO1xuICAvKiogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQgaW5jbHVkaW5nIGRpc2NvdW50cyBhbmQgdGF4ICovXG4gIGRpc2NvdW50ZWRVbml0UHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqXG4gICAqIFRoZSBhY3R1YWwgdW5pdCBwcmljZSwgdGFraW5nIGludG8gYWNjb3VudCBib3RoIGl0ZW0gZGlzY291bnRzIF9hbmRfIHByb3JhdGVkIChwcm9wb3J0aW9uYWxseS1kaXN0cmlidXRlZClcbiAgICogT3JkZXItbGV2ZWwgZGlzY291bnRzLiBUaGlzIHZhbHVlIGlzIHRoZSB0cnVlIGVjb25vbWljIHZhbHVlIG9mIHRoZSBPcmRlckl0ZW0sIGFuZCBpcyB1c2VkIGluIHRheFxuICAgKiBhbmQgcmVmdW5kIGNhbGN1bGF0aW9ucy5cbiAgICovXG4gIHByb3JhdGVkVW5pdFByaWNlOiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIFRoZSBwcm9yYXRlZFVuaXRQcmljZSBpbmNsdWRpbmcgdGF4ICovXG4gIHByb3JhdGVkVW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIHVuaXRUYXg6IFNjYWxhcnNbJ0ludCddO1xuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xuICBhZGp1c3RtZW50czogQXJyYXk8QWRqdXN0bWVudD47XG4gIHRheExpbmVzOiBBcnJheTxUYXhMaW5lPjtcbiAgZnVsZmlsbG1lbnQ/OiBNYXliZTxGdWxmaWxsbWVudD47XG4gIHJlZnVuZElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59O1xuXG4vKiogUmV0dXJuZWQgd2hlbiB0aGUgbWF4aW11bSBvcmRlciBzaXplIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuICovXG5leHBvcnQgdHlwZSBPcmRlckxpbWl0RXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InO1xuICBlcnJvckNvZGU6IEVycm9yQ29kZTtcbiAgbWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG1heEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIE9yZGVyTGluZSA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJMaW5lJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XG4gIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTxBc3NldD47XG4gIC8qKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCwgZXhjbHVkaW5nIHRheCBhbmQgZGlzY291bnRzICovXG4gIHVuaXRQcmljZTogU2NhbGFyc1snSW50J107XG4gIC8qKiBUaGUgcHJpY2Ugb2YgYSBzaW5nbGUgdW5pdCwgaW5jbHVkaW5nIHRheCBidXQgZXhjbHVkaW5nIGRpc2NvdW50cyAqL1xuICB1bml0UHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIE5vbi16ZXJvIGlmIHRoZSB1bml0UHJpY2UgaGFzIGNoYW5nZWQgc2luY2UgaXQgd2FzIGluaXRpYWxseSBhZGRlZCB0byBPcmRlciAqL1xuICB1bml0UHJpY2VDaGFuZ2VTaW5jZUFkZGVkOiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIE5vbi16ZXJvIGlmIHRoZSB1bml0UHJpY2VXaXRoVGF4IGhhcyBjaGFuZ2VkIHNpbmNlIGl0IHdhcyBpbml0aWFsbHkgYWRkZWQgdG8gT3JkZXIgKi9cbiAgdW5pdFByaWNlV2l0aFRheENoYW5nZVNpbmNlQWRkZWQ6IFNjYWxhcnNbJ0ludCddO1xuICAvKipcbiAgICogVGhlIHByaWNlIG9mIGEgc2luZ2xlIHVuaXQgaW5jbHVkaW5nIGRpc2NvdW50cywgZXhjbHVkaW5nIHRheC5cbiAgICpcbiAgICogSWYgT3JkZXItbGV2ZWwgZGlzY291bnRzIGhhdmUgYmVlbiBhcHBsaWVkLCB0aGlzIHdpbGwgbm90IGJlIHRoZVxuICAgKiBhY3R1YWwgdGF4YWJsZSB1bml0IHByaWNlIChzZWUgYHByb3JhdGVkVW5pdFByaWNlYCksIGJ1dCBpcyBnZW5lcmFsbHkgdGhlXG4gICAqIGNvcnJlY3QgcHJpY2UgdG8gZGlzcGxheSB0byBjdXN0b21lcnMgdG8gYXZvaWQgY29uZnVzaW9uXG4gICAqIGFib3V0IHRoZSBpbnRlcm5hbCBoYW5kbGluZyBvZiBkaXN0cmlidXRlZCBPcmRlci1sZXZlbCBkaXNjb3VudHMuXG4gICAqL1xuICBkaXNjb3VudGVkVW5pdFByaWNlOiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIFRoZSBwcmljZSBvZiBhIHNpbmdsZSB1bml0IGluY2x1ZGluZyBkaXNjb3VudHMgYW5kIHRheCAqL1xuICBkaXNjb3VudGVkVW5pdFByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIC8qKlxuICAgKiBUaGUgYWN0dWFsIHVuaXQgcHJpY2UsIHRha2luZyBpbnRvIGFjY291bnQgYm90aCBpdGVtIGRpc2NvdW50cyBfYW5kXyBwcm9yYXRlZCAocHJvcG9ydGlvbmFsbHktZGlzdHJpYnV0ZWQpXG4gICAqIE9yZGVyLWxldmVsIGRpc2NvdW50cy4gVGhpcyB2YWx1ZSBpcyB0aGUgdHJ1ZSBlY29ub21pYyB2YWx1ZSBvZiB0aGUgT3JkZXJJdGVtLCBhbmQgaXMgdXNlZCBpbiB0YXhcbiAgICogYW5kIHJlZnVuZCBjYWxjdWxhdGlvbnMuXG4gICAqL1xuICBwcm9yYXRlZFVuaXRQcmljZTogU2NhbGFyc1snSW50J107XG4gIC8qKiBUaGUgcHJvcmF0ZWRVbml0UHJpY2UgaW5jbHVkaW5nIHRheCAqL1xuICBwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XG4gIGl0ZW1zOiBBcnJheTxPcmRlckl0ZW0+O1xuICB0YXhSYXRlOiBTY2FsYXJzWydGbG9hdCddO1xuICAvKiogVGhlIHRvdGFsIHByaWNlIG9mIHRoZSBsaW5lIGV4Y2x1ZGluZyB0YXggYW5kIGRpc2NvdW50cy4gKi9cbiAgbGluZVByaWNlOiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIFRoZSB0b3RhbCBwcmljZSBvZiB0aGUgbGluZSBpbmNsdWRpbmcgdGF4IGJ1dCBleGNsdWRpbmcgZGlzY291bnRzLiAqL1xuICBsaW5lUHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcbiAgLyoqIFRoZSBwcmljZSBvZiB0aGUgbGluZSBpbmNsdWRpbmcgZGlzY291bnRzLCBleGNsdWRpbmcgdGF4ICovXG4gIGRpc2NvdW50ZWRMaW5lUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xuICAvKiogVGhlIHByaWNlIG9mIHRoZSBsaW5lIGluY2x1ZGluZyBkaXNjb3VudHMgYW5kIHRheCAqL1xuICBkaXNjb3VudGVkTGluZVByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIC8qKlxuICAgKiBUaGUgYWN0dWFsIGxpbmUgcHJpY2UsIHRha2luZyBpbnRvIGFjY291bnQgYm90aCBpdGVtIGRpc2NvdW50cyBfYW5kXyBwcm9yYXRlZCAocHJvcG9ydGlvbmFsbHktZGlzdHJpYnV0ZWQpXG4gICAqIE9yZGVyLWxldmVsIGRpc2NvdW50cy4gVGhpcyB2YWx1ZSBpcyB0aGUgdHJ1ZSBlY29ub21pYyB2YWx1ZSBvZiB0aGUgT3JkZXJMaW5lLCBhbmQgaXMgdXNlZCBpbiB0YXhcbiAgICogYW5kIHJlZnVuZCBjYWxjdWxhdGlvbnMuXG4gICAqL1xuICBwcm9yYXRlZExpbmVQcmljZTogU2NhbGFyc1snSW50J107XG4gIC8qKiBUaGUgcHJvcmF0ZWRMaW5lUHJpY2UgaW5jbHVkaW5nIHRheCAqL1xuICBwcm9yYXRlZExpbmVQcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xuICAvKiogVGhlIHRvdGFsIHRheCBvbiB0aGlzIGxpbmUgKi9cbiAgbGluZVRheDogU2NhbGFyc1snSW50J107XG4gIGRpc2NvdW50czogQXJyYXk8RGlzY291bnQ+O1xuICB0YXhMaW5lczogQXJyYXk8VGF4TGluZT47XG4gIG9yZGVyOiBPcmRlcjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9yZGVyTGluZUlucHV0ID0ge1xuICBvcmRlckxpbmVJZDogU2NhbGFyc1snSUQnXTtcbiAgcXVhbnRpdHk6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgT3JkZXJMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcbiAgX190eXBlbmFtZT86ICdPcmRlckxpc3QnO1xuICBpdGVtczogQXJyYXk8T3JkZXI+O1xuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIE9yZGVyTGlzdE9wdGlvbnMgPSB7XG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXG4gIHNvcnQ/OiBNYXliZTxPcmRlclNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPE9yZGVyRmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9yZGVyTW9kaWZpY2F0aW9uID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdPcmRlck1vZGlmaWNhdGlvbic7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgcHJpY2VDaGFuZ2U6IFNjYWxhcnNbJ0ludCddO1xuICBub3RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgb3JkZXJJdGVtcz86IE1heWJlPEFycmF5PE9yZGVySXRlbT4+O1xuICBzdXJjaGFyZ2VzPzogTWF5YmU8QXJyYXk8U3VyY2hhcmdlPj47XG4gIHBheW1lbnQ/OiBNYXliZTxQYXltZW50PjtcbiAgcmVmdW5kPzogTWF5YmU8UmVmdW5kPjtcbiAgaXNTZXR0bGVkOiBTY2FsYXJzWydCb29sZWFuJ107XG59O1xuXG4vKiogUmV0dXJuZWQgd2hlbiBhdHRlbXB0aW5nIHRvIG1vZGlmeSB0aGUgY29udGVudHMgb2YgYW4gT3JkZXIgdGhhdCBpcyBub3QgaW4gdGhlIGBNb2RpZnlpbmdgIHN0YXRlLiAqL1xuZXhwb3J0IHR5cGUgT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgT3JkZXJQcm9jZXNzU3RhdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJQcm9jZXNzU3RhdGUnO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG86IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9yZGVyU29ydFBhcmFtZXRlciA9IHtcbiAgY3VzdG9tZXJMYXN0TmFtZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgb3JkZXJQbGFjZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBzdGF0ZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIHRvdGFsUXVhbnRpdHk/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBzdWJUb3RhbD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHN1YlRvdGFsV2l0aFRheD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHNoaXBwaW5nPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgc2hpcHBpbmdXaXRoVGF4PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdG90YWw/OiBNYXliZTxTb3J0T3JkZXI+O1xuICB0b3RhbFdpdGhUYXg/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuLyoqIFJldHVybmVkIGlmIHRoZXJlIGlzIGFuIGVycm9yIGluIHRyYW5zaXRpb25pbmcgdGhlIE9yZGVyIHN0YXRlICovXG5leHBvcnQgdHlwZSBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHJhbnNpdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZnJvbVN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG9TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG4vKipcbiAqIEEgc3VtbWFyeSBvZiB0aGUgdGF4ZXMgYmVpbmcgYXBwbGllZCB0byB0aGlzIG9yZGVyLCBncm91cGVkXG4gKiBieSB0YXhSYXRlLlxuICovXG5leHBvcnQgdHlwZSBPcmRlclRheFN1bW1hcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnT3JkZXJUYXhTdW1tYXJ5JztcbiAgLyoqIEEgZGVzY3JpcHRpb24gb2YgdGhpcyB0YXggKi9cbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICAvKiogVGhlIHRheFJhdGUgYXMgYSBwZXJjZW50YWdlICovXG4gIHRheFJhdGU6IFNjYWxhcnNbJ0Zsb2F0J107XG4gIC8qKiBUaGUgdG90YWwgbmV0IHByaWNlIG9yIE9yZGVySXRlbXMgdG8gd2hpY2ggdGhpcyB0YXhSYXRlIGFwcGxpZXMgKi9cbiAgdGF4QmFzZTogU2NhbGFyc1snSW50J107XG4gIC8qKiBUaGUgdG90YWwgdGF4IGJlaW5nIGFwcGxpZWQgdG8gdGhlIE9yZGVyIGF0IHRoaXMgdGF4UmF0ZSAqL1xuICB0YXhUb3RhbDogU2NhbGFyc1snSW50J107XG59O1xuXG5leHBvcnQgdHlwZSBQYWdpbmF0ZWRMaXN0ID0ge1xuICBpdGVtczogQXJyYXk8Tm9kZT47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudCA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudCc7XG4gIG5leHRTdGF0ZXM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBtZXRob2Q6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhbW91bnQ6IFNjYWxhcnNbJ0ludCddO1xuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRyYW5zYWN0aW9uSWQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVycm9yTWVzc2FnZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcmVmdW5kczogQXJyYXk8UmVmdW5kPjtcbiAgbWV0YWRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZCA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgY2hlY2tlcj86IE1heWJlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbj47XG4gIGhhbmRsZXI6IENvbmZpZ3VyYWJsZU9wZXJhdGlvbjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RGaWx0ZXJQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBjb2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZExpc3QnO1xuICBpdGVtczogQXJyYXk8UGF5bWVudE1ldGhvZD47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZExpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8UGF5bWVudE1ldGhvZFNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPFBheW1lbnRNZXRob2RGaWx0ZXJQYXJhbWV0ZXI+O1xuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xufTtcblxuLyoqXG4gKiBSZXR1cm5lZCB3aGVuIGEgY2FsbCB0byBtb2RpZnlPcmRlciBmYWlscyB0byBpbmNsdWRlIGEgcGF5bWVudE1ldGhvZCBldmVuXG4gKiB0aG91Z2ggdGhlIHByaWNlIGhhcyBpbmNyZWFzZWQgYXMgYSByZXN1bHQgb2YgdGhlIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RNaXNzaW5nRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgUGF5bWVudE1ldGhvZFF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RRdW90ZSc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgaXNFbGlnaWJsZTogU2NhbGFyc1snQm9vbGVhbiddO1xuICBlbGlnaWJpbGl0eU1lc3NhZ2U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXltZW50TWV0aG9kU29ydFBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U29ydE9yZGVyPjtcbn07XG5cbi8qKiBSZXR1cm5lZCBpZiBhbiBhdHRlbXB0aW5nIHRvIHJlZnVuZCBhIFBheW1lbnQgYWdhaW5zdCBPcmRlckxpbmVzIGZyb20gYSBkaWZmZXJlbnQgT3JkZXIgKi9cbmV4cG9ydCB0eXBlIFBheW1lbnRPcmRlck1pc21hdGNoRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuLyoqIFJldHVybmVkIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3IgaW4gdHJhbnNpdGlvbmluZyB0aGUgUGF5bWVudCBzdGF0ZSAqL1xuZXhwb3J0IHR5cGUgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0cmFuc2l0aW9uRXJyb3I6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmcm9tU3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0b1N0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKiBQZXJtaXNzaW9ucyBmb3IgYWRtaW5pc3RyYXRvcnMgYW5kIGN1c3RvbWVycy4gVXNlZCB0byBjb250cm9sIGFjY2VzcyB0b1xuICogR3JhcGhRTCByZXNvbHZlcnMgdmlhIHRoZSB7QGxpbmsgQWxsb3d9IGRlY29yYXRvci5cbiAqXG4gKiAjIyBVbmRlcnN0YW5kaW5nIFBlcm1pc3Npb24uT3duZXJcbiAqXG4gKiBgUGVybWlzc2lvbi5Pd25lcmAgaXMgYSBzcGVjaWFsIHBlcm1pc3Npb24gd2hpY2ggaXMgdXNlZCBpbiBzb21lIG9mIHRoZSBWZW5kdXJlIHJlc29sdmVycyB0byBpbmRpY2F0ZSB0aGF0IHRoYXQgcmVzb2x2ZXIgc2hvdWxkIG9ubHlcbiAqIGJlIGFjY2Vzc2libGUgdG8gdGhlIFwib3duZXJcIiBvZiB0aGF0IHJlc291cmNlLlxuICpcbiAqIEZvciBleGFtcGxlLCB0aGUgU2hvcCBBUEkgYGFjdGl2ZUN1c3RvbWVyYCBxdWVyeSByZXNvbHZlciBzaG91bGQgb25seSByZXR1cm4gdGhlIEN1c3RvbWVyIG9iamVjdCBmb3IgdGhlIFwib3duZXJcIiBvZiB0aGF0IEN1c3RvbWVyLCBpLmUuXG4gKiBiYXNlZCBvbiB0aGUgYWN0aXZlVXNlcklkIG9mIHRoZSBjdXJyZW50IHNlc3Npb24uIEFzIGEgcmVzdWx0LCB0aGUgcmVzb2x2ZXIgY29kZSBsb29rcyBsaWtlIHRoaXM6XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFR5cGVTY3JpcHRcbiAqIFxcQFF1ZXJ5KClcbiAqIFxcQEFsbG93KFBlcm1pc3Npb24uT3duZXIpXG4gKiBhc3luYyBhY3RpdmVDdXN0b21lcihcXEBDdHgoKSBjdHg6IFJlcXVlc3RDb250ZXh0KTogUHJvbWlzZTxDdXN0b21lciB8IHVuZGVmaW5lZD4ge1xuICogICBjb25zdCB1c2VySWQgPSBjdHguYWN0aXZlVXNlcklkO1xuICogICBpZiAodXNlcklkKSB7XG4gKiAgICAgcmV0dXJuIHRoaXMuY3VzdG9tZXJTZXJ2aWNlLmZpbmRPbmVCeVVzZXJJZChjdHgsIHVzZXJJZCk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICpcbiAqIEhlcmUgd2UgY2FuIHNlZSB0aGF0IHRoZSBcIm93bmVyc2hpcFwiIG11c3QgYmUgZW5mb3JjZWQgYnkgY3VzdG9tIGxvZ2ljIGluc2lkZSB0aGUgcmVzb2x2ZXIuIFNpbmNlIFwib3duZXJzaGlwXCIgY2Fubm90IGJlIGRlZmluZWQgZ2VuZXJhbGx5XG4gKiBub3Igc3RhdGljYWxseSBlbmNvZGVkIGF0IGJ1aWxkLXRpbWUsIGFueSByZXNvbHZlcnMgdXNpbmcgYFBlcm1pc3Npb24uT3duZXJgICoqbXVzdCoqIGluY2x1ZGUgbG9naWMgdG8gZW5mb3JjZSB0aGF0IG9ubHkgdGhlIG93bmVyXG4gKiBvZiB0aGUgcmVzb3VyY2UgaGFzIGFjY2Vzcy4gSWYgbm90LCB0aGVuIGl0IGlzIHRoZSBlcXVpdmFsZW50IG9mIHVzaW5nIGBQZXJtaXNzaW9uLlB1YmxpY2AuXG4gKlxuICpcbiAqIEBkb2NzQ2F0ZWdvcnkgY29tbW9uXG4gKi9cbmV4cG9ydCBlbnVtIFBlcm1pc3Npb24ge1xuICAvKiogQXV0aGVudGljYXRlZCBtZWFucyBzaW1wbHkgdGhhdCB0aGUgdXNlciBpcyBsb2dnZWQgaW4gKi9cbiAgQXV0aGVudGljYXRlZCA9ICdBdXRoZW50aWNhdGVkJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBBZG1pbmlzdHJhdG9yICovXG4gIENyZWF0ZUFkbWluaXN0cmF0b3IgPSAnQ3JlYXRlQWRtaW5pc3RyYXRvcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQXNzZXQgKi9cbiAgQ3JlYXRlQXNzZXQgPSAnQ3JlYXRlQXNzZXQnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cbiAgQ3JlYXRlQ2F0YWxvZyA9ICdDcmVhdGVDYXRhbG9nJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBDaGFubmVsICovXG4gIENyZWF0ZUNoYW5uZWwgPSAnQ3JlYXRlQ2hhbm5lbCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ29sbGVjdGlvbiAqL1xuICBDcmVhdGVDb2xsZWN0aW9uID0gJ0NyZWF0ZUNvbGxlY3Rpb24nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIENvdW50cnkgKi9cbiAgQ3JlYXRlQ291bnRyeSA9ICdDcmVhdGVDb3VudHJ5JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBDdXN0b21lciAqL1xuICBDcmVhdGVDdXN0b21lciA9ICdDcmVhdGVDdXN0b21lcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgQ3VzdG9tZXJHcm91cCAqL1xuICBDcmVhdGVDdXN0b21lckdyb3VwID0gJ0NyZWF0ZUN1c3RvbWVyR3JvdXAnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIEZhY2V0ICovXG4gIENyZWF0ZUZhY2V0ID0gJ0NyZWF0ZUZhY2V0JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBPcmRlciAqL1xuICBDcmVhdGVPcmRlciA9ICdDcmVhdGVPcmRlcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgUGF5bWVudE1ldGhvZCAqL1xuICBDcmVhdGVQYXltZW50TWV0aG9kID0gJ0NyZWF0ZVBheW1lbnRNZXRob2QnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFByb2R1Y3QgKi9cbiAgQ3JlYXRlUHJvZHVjdCA9ICdDcmVhdGVQcm9kdWN0JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBQcm9tb3Rpb24gKi9cbiAgQ3JlYXRlUHJvbW90aW9uID0gJ0NyZWF0ZVByb21vdGlvbicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgUGF5bWVudE1ldGhvZHMsIFNoaXBwaW5nTWV0aG9kcywgVGF4Q2F0ZWdvcmllcywgVGF4UmF0ZXMsIFpvbmVzLCBDb3VudHJpZXMsIFN5c3RlbSAmIEdsb2JhbFNldHRpbmdzICovXG4gIENyZWF0ZVNldHRpbmdzID0gJ0NyZWF0ZVNldHRpbmdzJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBTaGlwcGluZ01ldGhvZCAqL1xuICBDcmVhdGVTaGlwcGluZ01ldGhvZCA9ICdDcmVhdGVTaGlwcGluZ01ldGhvZCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgU3lzdGVtICovXG4gIENyZWF0ZVN5c3RlbSA9ICdDcmVhdGVTeXN0ZW0nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFRhZyAqL1xuICBDcmVhdGVUYWcgPSAnQ3JlYXRlVGFnJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBUYXhDYXRlZ29yeSAqL1xuICBDcmVhdGVUYXhDYXRlZ29yeSA9ICdDcmVhdGVUYXhDYXRlZ29yeScsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgVGF4UmF0ZSAqL1xuICBDcmVhdGVUYXhSYXRlID0gJ0NyZWF0ZVRheFJhdGUnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIFpvbmUgKi9cbiAgQ3JlYXRlWm9uZSA9ICdDcmVhdGVab25lJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBBZG1pbmlzdHJhdG9yICovXG4gIERlbGV0ZUFkbWluaXN0cmF0b3IgPSAnRGVsZXRlQWRtaW5pc3RyYXRvcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQXNzZXQgKi9cbiAgRGVsZXRlQXNzZXQgPSAnRGVsZXRlQXNzZXQnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cbiAgRGVsZXRlQ2F0YWxvZyA9ICdEZWxldGVDYXRhbG9nJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDaGFubmVsICovXG4gIERlbGV0ZUNoYW5uZWwgPSAnRGVsZXRlQ2hhbm5lbCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQ29sbGVjdGlvbiAqL1xuICBEZWxldGVDb2xsZWN0aW9uID0gJ0RlbGV0ZUNvbGxlY3Rpb24nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIENvdW50cnkgKi9cbiAgRGVsZXRlQ291bnRyeSA9ICdEZWxldGVDb3VudHJ5JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBDdXN0b21lciAqL1xuICBEZWxldGVDdXN0b21lciA9ICdEZWxldGVDdXN0b21lcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgQ3VzdG9tZXJHcm91cCAqL1xuICBEZWxldGVDdXN0b21lckdyb3VwID0gJ0RlbGV0ZUN1c3RvbWVyR3JvdXAnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIEZhY2V0ICovXG4gIERlbGV0ZUZhY2V0ID0gJ0RlbGV0ZUZhY2V0JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBPcmRlciAqL1xuICBEZWxldGVPcmRlciA9ICdEZWxldGVPcmRlcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgUGF5bWVudE1ldGhvZCAqL1xuICBEZWxldGVQYXltZW50TWV0aG9kID0gJ0RlbGV0ZVBheW1lbnRNZXRob2QnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFByb2R1Y3QgKi9cbiAgRGVsZXRlUHJvZHVjdCA9ICdEZWxldGVQcm9kdWN0JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBQcm9tb3Rpb24gKi9cbiAgRGVsZXRlUHJvbW90aW9uID0gJ0RlbGV0ZVByb21vdGlvbicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgUGF5bWVudE1ldGhvZHMsIFNoaXBwaW5nTWV0aG9kcywgVGF4Q2F0ZWdvcmllcywgVGF4UmF0ZXMsIFpvbmVzLCBDb3VudHJpZXMsIFN5c3RlbSAmIEdsb2JhbFNldHRpbmdzICovXG4gIERlbGV0ZVNldHRpbmdzID0gJ0RlbGV0ZVNldHRpbmdzJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBTaGlwcGluZ01ldGhvZCAqL1xuICBEZWxldGVTaGlwcGluZ01ldGhvZCA9ICdEZWxldGVTaGlwcGluZ01ldGhvZCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgU3lzdGVtICovXG4gIERlbGV0ZVN5c3RlbSA9ICdEZWxldGVTeXN0ZW0nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFRhZyAqL1xuICBEZWxldGVUYWcgPSAnRGVsZXRlVGFnJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBUYXhDYXRlZ29yeSAqL1xuICBEZWxldGVUYXhDYXRlZ29yeSA9ICdEZWxldGVUYXhDYXRlZ29yeScsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byBkZWxldGUgVGF4UmF0ZSAqL1xuICBEZWxldGVUYXhSYXRlID0gJ0RlbGV0ZVRheFJhdGUnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIFpvbmUgKi9cbiAgRGVsZXRlWm9uZSA9ICdEZWxldGVab25lJyxcbiAgLyoqIE93bmVyIG1lYW5zIHRoZSB1c2VyIG93bnMgdGhpcyBlbnRpdHksIGUuZy4gYSBDdXN0b21lcidzIG93biBPcmRlciAqL1xuICBPd25lciA9ICdPd25lcicsXG4gIFBsYWNlaG9sZGVyID0gJ1BsYWNlaG9sZGVyJyxcbiAgLyoqIFB1YmxpYyBtZWFucyBhbnkgdW5hdXRoZW50aWNhdGVkIHVzZXIgbWF5IHBlcmZvcm0gdGhlIG9wZXJhdGlvbiAqL1xuICBQdWJsaWMgPSAnUHVibGljJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQWRtaW5pc3RyYXRvciAqL1xuICBSZWFkQWRtaW5pc3RyYXRvciA9ICdSZWFkQWRtaW5pc3RyYXRvcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIEFzc2V0ICovXG4gIFJlYWRBc3NldCA9ICdSZWFkQXNzZXQnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQcm9kdWN0cywgRmFjZXRzLCBBc3NldHMsIENvbGxlY3Rpb25zICovXG4gIFJlYWRDYXRhbG9nID0gJ1JlYWRDYXRhbG9nJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ2hhbm5lbCAqL1xuICBSZWFkQ2hhbm5lbCA9ICdSZWFkQ2hhbm5lbCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIENvbGxlY3Rpb24gKi9cbiAgUmVhZENvbGxlY3Rpb24gPSAnUmVhZENvbGxlY3Rpb24nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBDb3VudHJ5ICovXG4gIFJlYWRDb3VudHJ5ID0gJ1JlYWRDb3VudHJ5JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgQ3VzdG9tZXIgKi9cbiAgUmVhZEN1c3RvbWVyID0gJ1JlYWRDdXN0b21lcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIEN1c3RvbWVyR3JvdXAgKi9cbiAgUmVhZEN1c3RvbWVyR3JvdXAgPSAnUmVhZEN1c3RvbWVyR3JvdXAnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBGYWNldCAqL1xuICBSZWFkRmFjZXQgPSAnUmVhZEZhY2V0JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgT3JkZXIgKi9cbiAgUmVhZE9yZGVyID0gJ1JlYWRPcmRlcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFBheW1lbnRNZXRob2QgKi9cbiAgUmVhZFBheW1lbnRNZXRob2QgPSAnUmVhZFBheW1lbnRNZXRob2QnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBQcm9kdWN0ICovXG4gIFJlYWRQcm9kdWN0ID0gJ1JlYWRQcm9kdWN0JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgUHJvbW90aW9uICovXG4gIFJlYWRQcm9tb3Rpb24gPSAnUmVhZFByb21vdGlvbicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFBheW1lbnRNZXRob2RzLCBTaGlwcGluZ01ldGhvZHMsIFRheENhdGVnb3JpZXMsIFRheFJhdGVzLCBab25lcywgQ291bnRyaWVzLCBTeXN0ZW0gJiBHbG9iYWxTZXR0aW5ncyAqL1xuICBSZWFkU2V0dGluZ3MgPSAnUmVhZFNldHRpbmdzJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgU2hpcHBpbmdNZXRob2QgKi9cbiAgUmVhZFNoaXBwaW5nTWV0aG9kID0gJ1JlYWRTaGlwcGluZ01ldGhvZCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFN5c3RlbSAqL1xuICBSZWFkU3lzdGVtID0gJ1JlYWRTeXN0ZW0nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBUYWcgKi9cbiAgUmVhZFRhZyA9ICdSZWFkVGFnJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHJlYWQgVGF4Q2F0ZWdvcnkgKi9cbiAgUmVhZFRheENhdGVnb3J5ID0gJ1JlYWRUYXhDYXRlZ29yeScsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byByZWFkIFRheFJhdGUgKi9cbiAgUmVhZFRheFJhdGUgPSAnUmVhZFRheFJhdGUnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gcmVhZCBab25lICovXG4gIFJlYWRab25lID0gJ1JlYWRab25lJyxcbiAgLyoqIFN1cGVyQWRtaW4gaGFzIHVucmVzdHJpY3RlZCBhY2Nlc3MgdG8gYWxsIG9wZXJhdGlvbnMgKi9cbiAgU3VwZXJBZG1pbiA9ICdTdXBlckFkbWluJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBBZG1pbmlzdHJhdG9yICovXG4gIFVwZGF0ZUFkbWluaXN0cmF0b3IgPSAnVXBkYXRlQWRtaW5pc3RyYXRvcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQXNzZXQgKi9cbiAgVXBkYXRlQXNzZXQgPSAnVXBkYXRlQXNzZXQnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFByb2R1Y3RzLCBGYWNldHMsIEFzc2V0cywgQ29sbGVjdGlvbnMgKi9cbiAgVXBkYXRlQ2F0YWxvZyA9ICdVcGRhdGVDYXRhbG9nJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDaGFubmVsICovXG4gIFVwZGF0ZUNoYW5uZWwgPSAnVXBkYXRlQ2hhbm5lbCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQ29sbGVjdGlvbiAqL1xuICBVcGRhdGVDb2xsZWN0aW9uID0gJ1VwZGF0ZUNvbGxlY3Rpb24nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIENvdW50cnkgKi9cbiAgVXBkYXRlQ291bnRyeSA9ICdVcGRhdGVDb3VudHJ5JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBDdXN0b21lciAqL1xuICBVcGRhdGVDdXN0b21lciA9ICdVcGRhdGVDdXN0b21lcicsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgQ3VzdG9tZXJHcm91cCAqL1xuICBVcGRhdGVDdXN0b21lckdyb3VwID0gJ1VwZGF0ZUN1c3RvbWVyR3JvdXAnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIEZhY2V0ICovXG4gIFVwZGF0ZUZhY2V0ID0gJ1VwZGF0ZUZhY2V0JyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBHbG9iYWxTZXR0aW5ncyAqL1xuICBVcGRhdGVHbG9iYWxTZXR0aW5ncyA9ICdVcGRhdGVHbG9iYWxTZXR0aW5ncycsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgT3JkZXIgKi9cbiAgVXBkYXRlT3JkZXIgPSAnVXBkYXRlT3JkZXInLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFBheW1lbnRNZXRob2QgKi9cbiAgVXBkYXRlUGF5bWVudE1ldGhvZCA9ICdVcGRhdGVQYXltZW50TWV0aG9kJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBQcm9kdWN0ICovXG4gIFVwZGF0ZVByb2R1Y3QgPSAnVXBkYXRlUHJvZHVjdCcsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgUHJvbW90aW9uICovXG4gIFVwZGF0ZVByb21vdGlvbiA9ICdVcGRhdGVQcm9tb3Rpb24nLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFBheW1lbnRNZXRob2RzLCBTaGlwcGluZ01ldGhvZHMsIFRheENhdGVnb3JpZXMsIFRheFJhdGVzLCBab25lcywgQ291bnRyaWVzLCBTeXN0ZW0gJiBHbG9iYWxTZXR0aW5ncyAqL1xuICBVcGRhdGVTZXR0aW5ncyA9ICdVcGRhdGVTZXR0aW5ncycsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgU2hpcHBpbmdNZXRob2QgKi9cbiAgVXBkYXRlU2hpcHBpbmdNZXRob2QgPSAnVXBkYXRlU2hpcHBpbmdNZXRob2QnLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFN5c3RlbSAqL1xuICBVcGRhdGVTeXN0ZW0gPSAnVXBkYXRlU3lzdGVtJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBUYWcgKi9cbiAgVXBkYXRlVGFnID0gJ1VwZGF0ZVRhZycsXG4gIC8qKiBHcmFudHMgcGVybWlzc2lvbiB0byB1cGRhdGUgVGF4Q2F0ZWdvcnkgKi9cbiAgVXBkYXRlVGF4Q2F0ZWdvcnkgPSAnVXBkYXRlVGF4Q2F0ZWdvcnknLFxuICAvKiogR3JhbnRzIHBlcm1pc3Npb24gdG8gdXBkYXRlIFRheFJhdGUgKi9cbiAgVXBkYXRlVGF4UmF0ZSA9ICdVcGRhdGVUYXhSYXRlJyxcbiAgLyoqIEdyYW50cyBwZXJtaXNzaW9uIHRvIHVwZGF0ZSBab25lICovXG4gIFVwZGF0ZVpvbmUgPSAnVXBkYXRlWm9uZSdcbn1cblxuZXhwb3J0IHR5cGUgUGVybWlzc2lvbkRlZmluaXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnUGVybWlzc2lvbkRlZmluaXRpb24nO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBhc3NpZ25hYmxlOiBTY2FsYXJzWydCb29sZWFuJ107XG59O1xuXG4vKiogVGhlIHByaWNlIHJhbmdlIHdoZXJlIHRoZSByZXN1bHQgaGFzIG1vcmUgdGhhbiBvbmUgcHJpY2UgKi9cbmV4cG9ydCB0eXBlIFByaWNlUmFuZ2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUHJpY2VSYW5nZSc7XG4gIG1pbjogU2NhbGFyc1snSW50J107XG4gIG1heDogU2NhbGFyc1snSW50J107XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0ID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0JztcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBjaGFubmVsczogQXJyYXk8Q2hhbm5lbD47XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmZWF0dXJlZEFzc2V0PzogTWF5YmU8QXNzZXQ+O1xuICBhc3NldHM6IEFycmF5PEFzc2V0PjtcbiAgLyoqIFJldHVybnMgYWxsIFByb2R1Y3RWYXJpYW50cyAqL1xuICB2YXJpYW50czogQXJyYXk8UHJvZHVjdFZhcmlhbnQ+O1xuICAvKiogUmV0dXJucyBhIHBhZ2luYXRlZCwgc29ydGFibGUsIGZpbHRlcmFibGUgbGlzdCBvZiBQcm9kdWN0VmFyaWFudHMgKi9cbiAgdmFyaWFudExpc3Q6IFByb2R1Y3RWYXJpYW50TGlzdDtcbiAgb3B0aW9uR3JvdXBzOiBBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXA+O1xuICBmYWNldFZhbHVlczogQXJyYXk8RmFjZXRWYWx1ZT47XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdFRyYW5zbGF0aW9uPjtcbiAgY29sbGVjdGlvbnM6IEFycmF5PENvbGxlY3Rpb24+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudExpc3RBcmdzID0ge1xuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0RmlsdGVyUGFyYW1ldGVyID0ge1xuICBlbmFibGVkPzogTWF5YmU8Qm9vbGVhbk9wZXJhdG9ycz47XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBzbHVnPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdExpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RMaXN0JztcbiAgaXRlbXM6IEFycmF5PFByb2R1Y3Q+O1xuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RMaXN0T3B0aW9ucyA9IHtcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cbiAgc29ydD86IE1heWJlPFByb2R1Y3RTb3J0UGFyYW1ldGVyPjtcbiAgLyoqIEFsbG93cyB0aGUgcmVzdWx0cyB0byBiZSBmaWx0ZXJlZCAqL1xuICBmaWx0ZXI/OiBNYXliZTxQcm9kdWN0RmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb24gPSBOb2RlICYge1xuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGdyb3VwOiBQcm9kdWN0T3B0aW9uR3JvdXA7XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cCA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcbiAgY29kZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcHRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uPjtcbiAgdHJhbnNsYXRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXBUcmFuc2xhdGlvbic7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb25JbnB1dCA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvciA9IEVycm9yUmVzdWx0ICYge1xuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25JblVzZUVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcHRpb25Hcm91cENvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwcm9kdWN0VmFyaWFudENvdW50OiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25UcmFuc2xhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24nO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25UcmFuc2xhdGlvbklucHV0ID0ge1xuICBpZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RTb3J0UGFyYW1ldGVyID0ge1xuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBzbHVnPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdFRyYW5zbGF0aW9uID0ge1xuICBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RUcmFuc2xhdGlvbic7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzbHVnOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdFRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzbHVnPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50ID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCc7XG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgdHJhY2tJbnZlbnRvcnk6IEdsb2JhbEZsYWc7XG4gIHN0b2NrT25IYW5kOiBTY2FsYXJzWydJbnQnXTtcbiAgc3RvY2tBbGxvY2F0ZWQ6IFNjYWxhcnNbJ0ludCddO1xuICBvdXRPZlN0b2NrVGhyZXNob2xkOiBTY2FsYXJzWydJbnQnXTtcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBzdG9ja01vdmVtZW50czogU3RvY2tNb3ZlbWVudExpc3Q7XG4gIGNoYW5uZWxzOiBBcnJheTxDaGFubmVsPjtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHByb2R1Y3Q6IFByb2R1Y3Q7XG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBza3U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZmVhdHVyZWRBc3NldD86IE1heWJlPEFzc2V0PjtcbiAgYXNzZXRzOiBBcnJheTxBc3NldD47XG4gIHByaWNlOiBTY2FsYXJzWydJbnQnXTtcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGU7XG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIHN0b2NrTGV2ZWw6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0YXhSYXRlQXBwbGllZDogVGF4UmF0ZTtcbiAgdGF4Q2F0ZWdvcnk6IFRheENhdGVnb3J5O1xuICBvcHRpb25zOiBBcnJheTxQcm9kdWN0T3B0aW9uPjtcbiAgZmFjZXRWYWx1ZXM6IEFycmF5PEZhY2V0VmFsdWU+O1xuICB0cmFuc2xhdGlvbnM6IEFycmF5PFByb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudFN0b2NrTW92ZW1lbnRzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPFN0b2NrTW92ZW1lbnRMaXN0T3B0aW9ucz47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudEZpbHRlclBhcmFtZXRlciA9IHtcbiAgZW5hYmxlZD86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xuICB0cmFja0ludmVudG9yeT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHN0b2NrT25IYW5kPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgc3RvY2tBbGxvY2F0ZWQ/OiBNYXliZTxOdW1iZXJPcGVyYXRvcnM+O1xuICBvdXRPZlN0b2NrVGhyZXNob2xkPzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcbiAgcHJvZHVjdElkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIGxhbmd1YWdlQ29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHNrdT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBwcmljZT86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XG4gIGN1cnJlbmN5Q29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIHByaWNlV2l0aFRheD86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XG4gIHN0b2NrTGV2ZWw/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnO1xuICBpdGVtczogQXJyYXk8UHJvZHVjdFZhcmlhbnQ+O1xuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnMgPSB7XG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXG4gIHNvcnQ/OiBNYXliZTxQcm9kdWN0VmFyaWFudFNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPFByb2R1Y3RWYXJpYW50RmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50U29ydFBhcmFtZXRlciA9IHtcbiAgc3RvY2tPbkhhbmQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBzdG9ja0FsbG9jYXRlZD86IE1heWJlPFNvcnRPcmRlcj47XG4gIG91dE9mU3RvY2tUaHJlc2hvbGQ/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHByb2R1Y3RJZD86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHNrdT86IE1heWJlPFNvcnRPcmRlcj47XG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBwcmljZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIHByaWNlV2l0aFRheD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHN0b2NrTGV2ZWw/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBsYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUHJvbW90aW9uID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHN0YXJ0c0F0PzogTWF5YmU8U2NhbGFyc1snRGF0ZVRpbWUnXT47XG4gIGVuZHNBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBjb3Vwb25Db2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwZXJDdXN0b21lclVzYWdlTGltaXQ/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBlbmFibGVkOiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGNvbmRpdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbj47XG4gIGFjdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25GaWx0ZXJQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIHN0YXJ0c0F0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIGVuZHNBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICBjb3Vwb25Db2RlPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8TnVtYmVyT3BlcmF0b3JzPjtcbiAgbmFtZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIGVuYWJsZWQ/OiBNYXliZTxCb29sZWFuT3BlcmF0b3JzPjtcbn07XG5cbmV4cG9ydCB0eXBlIFByb21vdGlvbkxpc3QgPSBQYWdpbmF0ZWRMaXN0ICYge1xuICBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbkxpc3QnO1xuICBpdGVtczogQXJyYXk8UHJvbW90aW9uPjtcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XG59O1xuXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25MaXN0T3B0aW9ucyA9IHtcbiAgLyoqIFNraXBzIHRoZSBmaXJzdCBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogVGFrZXMgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgdGFrZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFNwZWNpZmllcyB3aGljaCBwcm9wZXJ0aWVzIHRvIHNvcnQgdGhlIHJlc3VsdHMgYnkgKi9cbiAgc29ydD86IE1heWJlPFByb21vdGlvblNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPFByb21vdGlvbkZpbHRlclBhcmFtZXRlcj47XG4gIC8qKiBTcGVjaWZpZXMgd2hldGhlciBtdWx0aXBsZSBcImZpbHRlclwiIGFyZ3VtZW50cyBzaG91bGQgYmUgY29tYmluZXMgd2l0aCBhIGxvZ2ljYWwgQU5EIG9yIE9SIG9wZXJhdGlvbi4gRGVmYXVsdHMgdG8gQU5ELiAqL1xuICBmaWx0ZXJPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XG59O1xuXG5leHBvcnQgdHlwZSBQcm9tb3Rpb25Tb3J0UGFyYW1ldGVyID0ge1xuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHN0YXJ0c0F0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgZW5kc0F0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY291cG9uQ29kZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIHBlckN1c3RvbWVyVXNhZ2VMaW1pdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIG5hbWU/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuLyoqIFJldHVybmVkIGlmIHRoZSBzcGVjaWZpZWQgcXVhbnRpdHkgb2YgYW4gT3JkZXJMaW5lIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIHRoYXQgbGluZSAqL1xuZXhwb3J0IHR5cGUgUXVhbnRpdHlUb29HcmVhdEVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUXVhbnRpdHlUb29HcmVhdEVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnkgPSB7XG4gIF9fdHlwZW5hbWU/OiAnUXVlcnknO1xuICBhY3RpdmVBZG1pbmlzdHJhdG9yPzogTWF5YmU8QWRtaW5pc3RyYXRvcj47XG4gIGFjdGl2ZUNoYW5uZWw6IENoYW5uZWw7XG4gIGFkbWluaXN0cmF0b3I/OiBNYXliZTxBZG1pbmlzdHJhdG9yPjtcbiAgYWRtaW5pc3RyYXRvcnM6IEFkbWluaXN0cmF0b3JMaXN0O1xuICAvKiogR2V0IGEgc2luZ2xlIEFzc2V0IGJ5IGlkICovXG4gIGFzc2V0PzogTWF5YmU8QXNzZXQ+O1xuICAvKiogR2V0IGEgbGlzdCBvZiBBc3NldHMgKi9cbiAgYXNzZXRzOiBBc3NldExpc3Q7XG4gIGNoYW5uZWw/OiBNYXliZTxDaGFubmVsPjtcbiAgY2hhbm5lbHM6IEFycmF5PENoYW5uZWw+O1xuICAvKiogR2V0IGEgQ29sbGVjdGlvbiBlaXRoZXIgYnkgaWQgb3Igc2x1Zy4gSWYgbmVpdGhlciBpZCBub3Igc2x1ZyBpcyBzcGVjaWZpZWQsIGFuIGVycm9yIHdpbGwgcmVzdWx0LiAqL1xuICBjb2xsZWN0aW9uPzogTWF5YmU8Q29sbGVjdGlvbj47XG4gIGNvbGxlY3Rpb25GaWx0ZXJzOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcbiAgY29sbGVjdGlvbnM6IENvbGxlY3Rpb25MaXN0O1xuICBjb3VudHJpZXM6IENvdW50cnlMaXN0O1xuICBjb3VudHJ5PzogTWF5YmU8Q291bnRyeT47XG4gIGN1c3RvbWVyPzogTWF5YmU8Q3VzdG9tZXI+O1xuICBjdXN0b21lckdyb3VwPzogTWF5YmU8Q3VzdG9tZXJHcm91cD47XG4gIGN1c3RvbWVyR3JvdXBzOiBDdXN0b21lckdyb3VwTGlzdDtcbiAgY3VzdG9tZXJzOiBDdXN0b21lckxpc3Q7XG4gIGZhY2V0PzogTWF5YmU8RmFjZXQ+O1xuICBmYWNldHM6IEZhY2V0TGlzdDtcbiAgZnVsZmlsbG1lbnRIYW5kbGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XG4gIGdsb2JhbFNldHRpbmdzOiBHbG9iYWxTZXR0aW5ncztcbiAgam9iPzogTWF5YmU8Sm9iPjtcbiAgam9iQnVmZmVyU2l6ZTogQXJyYXk8Sm9iQnVmZmVyU2l6ZT47XG4gIGpvYlF1ZXVlczogQXJyYXk8Sm9iUXVldWU+O1xuICBqb2JzOiBKb2JMaXN0O1xuICBqb2JzQnlJZDogQXJyYXk8Sm9iPjtcbiAgbWU/OiBNYXliZTxDdXJyZW50VXNlcj47XG4gIG5ldHdvcmtTdGF0dXM6IE5ldHdvcmtTdGF0dXM7XG4gIG9yZGVyPzogTWF5YmU8T3JkZXI+O1xuICBvcmRlcnM6IE9yZGVyTGlzdDtcbiAgcGF5bWVudE1ldGhvZD86IE1heWJlPFBheW1lbnRNZXRob2Q+O1xuICBwYXltZW50TWV0aG9kRWxpZ2liaWxpdHlDaGVja2VyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XG4gIHBheW1lbnRNZXRob2RIYW5kbGVyczogQXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbj47XG4gIHBheW1lbnRNZXRob2RzOiBQYXltZW50TWV0aG9kTGlzdDtcbiAgcGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlczogU2NhbGFyc1snSW50J107XG4gIC8qKiBHZXQgYSBQcm9kdWN0IGVpdGhlciBieSBpZCBvciBzbHVnLiBJZiBuZWl0aGVyIGlkIG5vciBzbHVnIGlzIHNwZWNpZmllZCwgYW4gZXJyb3Igd2lsbCByZXN1bHQuICovXG4gIHByb2R1Y3Q/OiBNYXliZTxQcm9kdWN0PjtcbiAgcHJvZHVjdE9wdGlvbkdyb3VwPzogTWF5YmU8UHJvZHVjdE9wdGlvbkdyb3VwPjtcbiAgcHJvZHVjdE9wdGlvbkdyb3VwczogQXJyYXk8UHJvZHVjdE9wdGlvbkdyb3VwPjtcbiAgLyoqIEdldCBhIFByb2R1Y3RWYXJpYW50IGJ5IGlkICovXG4gIHByb2R1Y3RWYXJpYW50PzogTWF5YmU8UHJvZHVjdFZhcmlhbnQ+O1xuICAvKiogTGlzdCBQcm9kdWN0VmFyaWFudHMgZWl0aGVyIGFsbCBvciBmb3IgdGhlIHNwZWNpZmljIHByb2R1Y3QuICovXG4gIHByb2R1Y3RWYXJpYW50czogUHJvZHVjdFZhcmlhbnRMaXN0O1xuICAvKiogTGlzdCBQcm9kdWN0cyAqL1xuICBwcm9kdWN0czogUHJvZHVjdExpc3Q7XG4gIHByb21vdGlvbj86IE1heWJlPFByb21vdGlvbj47XG4gIHByb21vdGlvbkFjdGlvbnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xuICBwcm9tb3Rpb25Db25kaXRpb25zOiBBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uPjtcbiAgcHJvbW90aW9uczogUHJvbW90aW9uTGlzdDtcbiAgcm9sZT86IE1heWJlPFJvbGU+O1xuICByb2xlczogUm9sZUxpc3Q7XG4gIHNlYXJjaDogU2VhcmNoUmVzcG9uc2U7XG4gIHNoaXBwaW5nQ2FsY3VsYXRvcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xuICBzaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnM6IEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24+O1xuICBzaGlwcGluZ01ldGhvZD86IE1heWJlPFNoaXBwaW5nTWV0aG9kPjtcbiAgc2hpcHBpbmdNZXRob2RzOiBTaGlwcGluZ01ldGhvZExpc3Q7XG4gIHRhZzogVGFnO1xuICB0YWdzOiBUYWdMaXN0O1xuICB0YXhDYXRlZ29yaWVzOiBBcnJheTxUYXhDYXRlZ29yeT47XG4gIHRheENhdGVnb3J5PzogTWF5YmU8VGF4Q2F0ZWdvcnk+O1xuICB0YXhSYXRlPzogTWF5YmU8VGF4UmF0ZT47XG4gIHRheFJhdGVzOiBUYXhSYXRlTGlzdDtcbiAgdGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzOiBBcnJheTxTaGlwcGluZ01ldGhvZFF1b3RlPjtcbiAgdGVzdFNoaXBwaW5nTWV0aG9kOiBUZXN0U2hpcHBpbmdNZXRob2RSZXN1bHQ7XG4gIHVpU3RhdGU6IFVpU3RhdGU7XG4gIHVzZXJTdGF0dXM6IFVzZXJTdGF0dXM7XG4gIHpvbmU/OiBNYXliZTxab25lPjtcbiAgem9uZXM6IEFycmF5PFpvbmU+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUFkbWluaXN0cmF0b3JBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlBZG1pbmlzdHJhdG9yc0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxBZG1pbmlzdHJhdG9yTGlzdE9wdGlvbnM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUFzc2V0QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5QXNzZXRzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPEFzc2V0TGlzdE9wdGlvbnM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNoYW5uZWxBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb2xsZWN0aW9uQXJncyA9IHtcbiAgaWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgc2x1Zz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDb2xsZWN0aW9uc0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxDb2xsZWN0aW9uTGlzdE9wdGlvbnM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvdW50cmllc0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxDb3VudHJ5TGlzdE9wdGlvbnM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUNvdW50cnlBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDdXN0b21lckFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUN1c3RvbWVyR3JvdXBBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlDdXN0b21lckdyb3Vwc0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckdyb3VwTGlzdE9wdGlvbnM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUN1c3RvbWVyc0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckxpc3RPcHRpb25zPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlGYWNldEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeUZhY2V0c0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxGYWNldExpc3RPcHRpb25zPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlKb2JBcmdzID0ge1xuICBqb2JJZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlKb2JCdWZmZXJTaXplQXJncyA9IHtcbiAgYnVmZmVySWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+Pjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlKb2JzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPEpvYkxpc3RPcHRpb25zPjtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlKb2JzQnlJZEFyZ3MgPSB7XG4gIGpvYklkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5T3JkZXJBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlPcmRlcnNBcmdzID0ge1xuICBvcHRpb25zPzogTWF5YmU8T3JkZXJMaXN0T3B0aW9ucz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UGF5bWVudE1ldGhvZEFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVBheW1lbnRNZXRob2RzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPFBheW1lbnRNZXRob2RMaXN0T3B0aW9ucz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdEFyZ3MgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIHNsdWc/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdE9wdGlvbkdyb3VwQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdE9wdGlvbkdyb3Vwc0FyZ3MgPSB7XG4gIGZpbHRlclRlcm0/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvZHVjdFZhcmlhbnRBcmdzID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlQcm9kdWN0VmFyaWFudHNBcmdzID0ge1xuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XG4gIHByb2R1Y3RJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVByb2R1Y3RzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPFByb2R1Y3RMaXN0T3B0aW9ucz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvbW90aW9uQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UHJvbW90aW9uc0FyZ3MgPSB7XG4gIG9wdGlvbnM/OiBNYXliZTxQcm9tb3Rpb25MaXN0T3B0aW9ucz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5Um9sZUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVJvbGVzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPFJvbGVMaXN0T3B0aW9ucz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2VhcmNoQXJncyA9IHtcbiAgaW5wdXQ6IFNlYXJjaElucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVNoaXBwaW5nTWV0aG9kQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5U2hpcHBpbmdNZXRob2RzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPFNoaXBwaW5nTWV0aG9kTGlzdE9wdGlvbnM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVRhZ0FyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVRhZ3NBcmdzID0ge1xuICBvcHRpb25zPzogTWF5YmU8VGFnTGlzdE9wdGlvbnM+O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVRheENhdGVnb3J5QXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VGF4UmF0ZUFyZ3MgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVRheFJhdGVzQXJncyA9IHtcbiAgb3B0aW9ucz86IE1heWJlPFRheFJhdGVMaXN0T3B0aW9ucz47XG59O1xuXG5cbmV4cG9ydCB0eXBlIFF1ZXJ5VGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzQXJncyA9IHtcbiAgaW5wdXQ6IFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0lucHV0O1xufTtcblxuXG5leHBvcnQgdHlwZSBRdWVyeVRlc3RTaGlwcGluZ01ldGhvZEFyZ3MgPSB7XG4gIGlucHV0OiBUZXN0U2hpcHBpbmdNZXRob2RJbnB1dDtcbn07XG5cblxuZXhwb3J0IHR5cGUgUXVlcnlab25lQXJncyA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5leHBvcnQgdHlwZSBSZWZ1bmQgPSBOb2RlICYge1xuICBfX3R5cGVuYW1lPzogJ1JlZnVuZCc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgaXRlbXM6IFNjYWxhcnNbJ0ludCddO1xuICBzaGlwcGluZzogU2NhbGFyc1snSW50J107XG4gIGFkanVzdG1lbnQ6IFNjYWxhcnNbJ0ludCddO1xuICB0b3RhbDogU2NhbGFyc1snSW50J107XG4gIG1ldGhvZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RhdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0cmFuc2FjdGlvbklkPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICByZWFzb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9yZGVySXRlbXM6IEFycmF5PE9yZGVySXRlbT47XG4gIHBheW1lbnRJZDogU2NhbGFyc1snSUQnXTtcbiAgbWV0YWRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJJbnB1dCA9IHtcbiAgbGluZXM6IEFycmF5PE9yZGVyTGluZUlucHV0PjtcbiAgc2hpcHBpbmc6IFNjYWxhcnNbJ0ludCddO1xuICBhZGp1c3RtZW50OiBTY2FsYXJzWydJbnQnXTtcbiAgcGF5bWVudElkOiBTY2FsYXJzWydJRCddO1xuICByZWFzb24/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBSZWZ1bmRPcmRlclJlc3VsdCA9IFJlZnVuZCB8IFF1YW50aXR5VG9vR3JlYXRFcnJvciB8IE5vdGhpbmdUb1JlZnVuZEVycm9yIHwgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciB8IE11bHRpcGxlT3JkZXJFcnJvciB8IFBheW1lbnRPcmRlck1pc21hdGNoRXJyb3IgfCBSZWZ1bmRPcmRlclN0YXRlRXJyb3IgfCBBbHJlYWR5UmVmdW5kZWRFcnJvciB8IFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yO1xuXG4vKiogUmV0dXJuZWQgaWYgYW4gYXR0ZW1wdGluZyB0byByZWZ1bmQgYW4gT3JkZXIgd2hpY2ggaXMgbm90IGluIHRoZSBleHBlY3RlZCBzdGF0ZSAqL1xuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJTdGF0ZUVycm9yID0gRXJyb3JSZXN1bHQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUmVmdW5kT3JkZXJTdGF0ZUVycm9yJztcbiAgZXJyb3JDb2RlOiBFcnJvckNvZGU7XG4gIG1lc3NhZ2U6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBvcmRlclN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbi8qKlxuICogUmV0dXJuZWQgd2hlbiBhIGNhbGwgdG8gbW9kaWZ5T3JkZXIgZmFpbHMgdG8gaW5jbHVkZSBhIHJlZnVuZFBheW1lbnRJZCBldmVuXG4gKiB0aG91Z2ggdGhlIHByaWNlIGhhcyBkZWNyZWFzZWQgYXMgYSByZXN1bHQgb2YgdGhlIGNoYW5nZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFJlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvciA9IEVycm9yUmVzdWx0ICYge1xuICBfX3R5cGVuYW1lPzogJ1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbi8qKiBSZXR1cm5lZCB3aGVuIHRoZXJlIGlzIGFuIGVycm9yIGluIHRyYW5zaXRpb25pbmcgdGhlIFJlZnVuZCBzdGF0ZSAqL1xuZXhwb3J0IHR5cGUgUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3IgPSBFcnJvclJlc3VsdCAmIHtcbiAgX190eXBlbmFtZT86ICdSZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHJhbnNpdGlvbkVycm9yOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZnJvbVN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdG9TdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnID0gQ3VzdG9tRmllbGQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyc7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBsYWJlbD86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PExvY2FsaXplZFN0cmluZz4+O1xuICByZWFkb25seT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGludGVybmFsPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgbnVsbGFibGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBlbnRpdHk6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBzY2FsYXJGaWVsZHM6IEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUmVsZWFzZSA9IE5vZGUgJiBTdG9ja01vdmVtZW50ICYge1xuICBfX3R5cGVuYW1lPzogJ1JlbGVhc2UnO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHByb2R1Y3RWYXJpYW50OiBQcm9kdWN0VmFyaWFudDtcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcbiAgb3JkZXJJdGVtOiBPcmRlckl0ZW07XG59O1xuXG5leHBvcnQgdHlwZSBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0UmVzdWx0ID0gUHJvZHVjdCB8IFByb2R1Y3RPcHRpb25JblVzZUVycm9yO1xuXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbElucHV0ID0ge1xuICBwcm9kdWN0VmFyaWFudElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxJbnB1dCA9IHtcbiAgcHJvZHVjdElkczogQXJyYXk8U2NhbGFyc1snSUQnXT47XG4gIGNoYW5uZWxJZDogU2NhbGFyc1snSUQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFJlbW92ZVByb21vdGlvbnNGcm9tQ2hhbm5lbElucHV0ID0ge1xuICBwcm9tb3Rpb25JZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xuICBjaGFubmVsSWQ6IFNjYWxhcnNbJ0lEJ107XG59O1xuXG5leHBvcnQgdHlwZSBSZXR1cm4gPSBOb2RlICYgU3RvY2tNb3ZlbWVudCAmIHtcbiAgX190eXBlbmFtZT86ICdSZXR1cm4nO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHByb2R1Y3RWYXJpYW50OiBQcm9kdWN0VmFyaWFudDtcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcbiAgb3JkZXJJdGVtOiBPcmRlckl0ZW07XG59O1xuXG5leHBvcnQgdHlwZSBSb2xlID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdSb2xlJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBjb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwZXJtaXNzaW9uczogQXJyYXk8UGVybWlzc2lvbj47XG4gIGNoYW5uZWxzOiBBcnJheTxDaGFubmVsPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJvbGVGaWx0ZXJQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8SWRPcGVyYXRvcnM+O1xuICBjcmVhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIGNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG59O1xuXG5leHBvcnQgdHlwZSBSb2xlTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnUm9sZUxpc3QnO1xuICBpdGVtczogQXJyYXk8Um9sZT47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgUm9sZUxpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8Um9sZVNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPFJvbGVGaWx0ZXJQYXJhbWV0ZXI+O1xuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xufTtcblxuZXhwb3J0IHR5cGUgUm9sZVNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY29kZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U29ydE9yZGVyPjtcbn07XG5cbmV4cG9ydCB0eXBlIFNhbGUgPSBOb2RlICYgU3RvY2tNb3ZlbWVudCAmIHtcbiAgX190eXBlbmFtZT86ICdTYWxlJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XG4gIG9yZGVySXRlbTogT3JkZXJJdGVtO1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoSW5wdXQgPSB7XG4gIHRlcm0/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIGZhY2V0VmFsdWVPcGVyYXRvcj86IE1heWJlPExvZ2ljYWxPcGVyYXRvcj47XG4gIGZhY2V0VmFsdWVGaWx0ZXJzPzogTWF5YmU8QXJyYXk8RmFjZXRWYWx1ZUZpbHRlcklucHV0Pj47XG4gIGNvbGxlY3Rpb25JZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjb2xsZWN0aW9uU2x1Zz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZ3JvdXBCeVByb2R1Y3Q/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBzb3J0PzogTWF5YmU8U2VhcmNoUmVzdWx0U29ydFBhcmFtZXRlcj47XG59O1xuXG5leHBvcnQgdHlwZSBTZWFyY2hSZWluZGV4UmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVpbmRleFJlc3BvbnNlJztcbiAgc3VjY2VzczogU2NhbGFyc1snQm9vbGVhbiddO1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzcG9uc2UgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzcG9uc2UnO1xuICBpdGVtczogQXJyYXk8U2VhcmNoUmVzdWx0PjtcbiAgdG90YWxJdGVtczogU2NhbGFyc1snSW50J107XG4gIGZhY2V0VmFsdWVzOiBBcnJheTxGYWNldFZhbHVlUmVzdWx0PjtcbiAgY29sbGVjdGlvbnM6IEFycmF5PENvbGxlY3Rpb25SZXN1bHQ+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0ID0ge1xuICBfX3R5cGVuYW1lPzogJ1NlYXJjaFJlc3VsdCc7XG4gIGVuYWJsZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgLyoqIEFuIGFycmF5IG9mIGlkcyBvZiB0aGUgQ2hhbm5lbHMgaW4gd2hpY2ggdGhpcyByZXN1bHQgYXBwZWFycyAqL1xuICBjaGFubmVsSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbiAgc2t1OiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgc2x1ZzogU2NhbGFyc1snU3RyaW5nJ107XG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcbiAgcHJvZHVjdE5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwcm9kdWN0QXNzZXQ/OiBNYXliZTxTZWFyY2hSZXN1bHRBc3NldD47XG4gIHByb2R1Y3RWYXJpYW50SWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHByb2R1Y3RWYXJpYW50TmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIHByb2R1Y3RWYXJpYW50QXNzZXQ/OiBNYXliZTxTZWFyY2hSZXN1bHRBc3NldD47XG4gIHByaWNlOiBTZWFyY2hSZXN1bHRQcmljZTtcbiAgcHJpY2VXaXRoVGF4OiBTZWFyY2hSZXN1bHRQcmljZTtcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGU7XG4gIGRlc2NyaXB0aW9uOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZmFjZXRJZHM6IEFycmF5PFNjYWxhcnNbJ0lEJ10+O1xuICBmYWNldFZhbHVlSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbiAgLyoqIEFuIGFycmF5IG9mIGlkcyBvZiB0aGUgQ29sbGVjdGlvbnMgaW4gd2hpY2ggdGhpcyByZXN1bHQgYXBwZWFycyAqL1xuICBjb2xsZWN0aW9uSWRzOiBBcnJheTxTY2FsYXJzWydJRCddPjtcbiAgLyoqIEEgcmVsZXZhbmNlIHNjb3JlIGZvciB0aGUgcmVzdWx0LiBEaWZmZXJzIGJldHdlZW4gZGF0YWJhc2UgaW1wbGVtZW50YXRpb25zICovXG4gIHNjb3JlOiBTY2FsYXJzWydGbG9hdCddO1xufTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0QXNzZXQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgcHJldmlldzogU2NhbGFyc1snU3RyaW5nJ107XG4gIGZvY2FsUG9pbnQ/OiBNYXliZTxDb29yZGluYXRlPjtcbn07XG5cbi8qKiBUaGUgcHJpY2Ugb2YgYSBzZWFyY2ggcmVzdWx0IHByb2R1Y3QsIGVpdGhlciBhcyBhIHJhbmdlIG9yIGFzIGEgc2luZ2xlIHByaWNlICovXG5leHBvcnQgdHlwZSBTZWFyY2hSZXN1bHRQcmljZSA9IFByaWNlUmFuZ2UgfCBTaW5nbGVQcmljZTtcblxuZXhwb3J0IHR5cGUgU2VhcmNoUmVzdWx0U29ydFBhcmFtZXRlciA9IHtcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIHByaWNlPzogTWF5YmU8U29ydE9yZGVyPjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlcnZlckNvbmZpZyA9IHtcbiAgX190eXBlbmFtZT86ICdTZXJ2ZXJDb25maWcnO1xuICBvcmRlclByb2Nlc3M6IEFycmF5PE9yZGVyUHJvY2Vzc1N0YXRlPjtcbiAgcGVybWl0dGVkQXNzZXRUeXBlczogQXJyYXk8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwZXJtaXNzaW9uczogQXJyYXk8UGVybWlzc2lvbkRlZmluaXRpb24+O1xuICBjdXN0b21GaWVsZENvbmZpZzogQ3VzdG9tRmllbGRzO1xufTtcblxuLyoqIFJldHVybmVkIGlmIHRoZSBQYXltZW50IHNldHRsZW1lbnQgZmFpbHMgKi9cbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRFcnJvciA9IEVycm9yUmVzdWx0ICYge1xuICBfX3R5cGVuYW1lPzogJ1NldHRsZVBheW1lbnRFcnJvcic7XG4gIGVycm9yQ29kZTogRXJyb3JDb2RlO1xuICBtZXNzYWdlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGF5bWVudEVycm9yTWVzc2FnZTogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBTZXR0bGVQYXltZW50UmVzdWx0ID0gUGF5bWVudCB8IFNldHRsZVBheW1lbnRFcnJvciB8IFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB8IE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3I7XG5cbmV4cG9ydCB0eXBlIFNldHRsZVJlZnVuZElucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdHJhbnNhY3Rpb25JZDogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBTZXR0bGVSZWZ1bmRSZXN1bHQgPSBSZWZ1bmQgfCBSZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcjtcblxuZXhwb3J0IHR5cGUgU2hpcHBpbmdMaW5lID0ge1xuICBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTGluZSc7XG4gIHNoaXBwaW5nTWV0aG9kOiBTaGlwcGluZ01ldGhvZDtcbiAgcHJpY2U6IFNjYWxhcnNbJ0ludCddO1xuICBwcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xuICBkaXNjb3VudGVkUHJpY2U6IFNjYWxhcnNbJ0ludCddO1xuICBkaXNjb3VudGVkUHJpY2VXaXRoVGF4OiBTY2FsYXJzWydJbnQnXTtcbiAgZGlzY291bnRzOiBBcnJheTxEaXNjb3VudD47XG59O1xuXG5leHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZCA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBmdWxmaWxsbWVudEhhbmRsZXJDb2RlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgY2hlY2tlcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uO1xuICBjYWxjdWxhdG9yOiBDb25maWd1cmFibGVPcGVyYXRpb247XG4gIHRyYW5zbGF0aW9uczogQXJyYXk8U2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZEZpbHRlclBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgY29kZT86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIG5hbWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFN0cmluZ09wZXJhdG9ycz47XG4gIGZ1bGZpbGxtZW50SGFuZGxlckNvZGU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RMaXN0ID0gUGFnaW5hdGVkTGlzdCAmIHtcbiAgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZExpc3QnO1xuICBpdGVtczogQXJyYXk8U2hpcHBpbmdNZXRob2Q+O1xuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kTGlzdE9wdGlvbnMgPSB7XG4gIC8qKiBTa2lwcyB0aGUgZmlyc3QgbiByZXN1bHRzLCBmb3IgdXNlIGluIHBhZ2luYXRpb24gKi9cbiAgc2tpcD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgLyoqIFRha2VzIG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHRha2U/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBTcGVjaWZpZXMgd2hpY2ggcHJvcGVydGllcyB0byBzb3J0IHRoZSByZXN1bHRzIGJ5ICovXG4gIHNvcnQ/OiBNYXliZTxTaGlwcGluZ01ldGhvZFNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPFNoaXBwaW5nTWV0aG9kRmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kUXVvdGUgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RRdW90ZSc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBwcmljZTogU2NhbGFyc1snSW50J107XG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIGNvZGU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICAvKiogQW55IG9wdGlvbmFsIG1ldGFkYXRhIHJldHVybmVkIGJ5IHRoZSBTaGlwcGluZ0NhbGN1bGF0b3IgaW4gdGhlIFNoaXBwaW5nQ2FsY3VsYXRpb25SZXN1bHQgKi9cbiAgbWV0YWRhdGE/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2RTb3J0UGFyYW1ldGVyID0ge1xuICBpZD86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNyZWF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIHVwZGF0ZWRBdD86IE1heWJlPFNvcnRPcmRlcj47XG4gIGNvZGU/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBuYW1lPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxTb3J0T3JkZXI+O1xuICBmdWxmaWxsbWVudEhhbmRsZXJDb2RlPzogTWF5YmU8U29ydE9yZGVyPjtcbn07XG5cbmV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kVHJhbnNsYXRpb24gPSB7XG4gIF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2RUcmFuc2xhdGlvbic7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG59O1xuXG5leHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbi8qKiBUaGUgcHJpY2UgdmFsdWUgd2hlcmUgdGhlIHJlc3VsdCBoYXMgYSBzaW5nbGUgcHJpY2UgKi9cbmV4cG9ydCB0eXBlIFNpbmdsZVByaWNlID0ge1xuICBfX3R5cGVuYW1lPzogJ1NpbmdsZVByaWNlJztcbiAgdmFsdWU6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IGVudW0gU29ydE9yZGVyIHtcbiAgQVNDID0gJ0FTQycsXG4gIERFU0MgPSAnREVTQydcbn1cblxuZXhwb3J0IHR5cGUgU3RvY2tBZGp1c3RtZW50ID0gTm9kZSAmIFN0b2NrTW92ZW1lbnQgJiB7XG4gIF9fdHlwZW5hbWU/OiAnU3RvY2tBZGp1c3RtZW50JztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBwcm9kdWN0VmFyaWFudDogUHJvZHVjdFZhcmlhbnQ7XG4gIHR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xuICBxdWFudGl0eTogU2NhbGFyc1snSW50J107XG59O1xuXG5leHBvcnQgdHlwZSBTdG9ja01vdmVtZW50ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHByb2R1Y3RWYXJpYW50OiBQcm9kdWN0VmFyaWFudDtcbiAgdHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFN0b2NrTW92ZW1lbnRJdGVtID0gU3RvY2tBZGp1c3RtZW50IHwgQWxsb2NhdGlvbiB8IFNhbGUgfCBDYW5jZWxsYXRpb24gfCBSZXR1cm4gfCBSZWxlYXNlO1xuXG5leHBvcnQgdHlwZSBTdG9ja01vdmVtZW50TGlzdCA9IHtcbiAgX190eXBlbmFtZT86ICdTdG9ja01vdmVtZW50TGlzdCc7XG4gIGl0ZW1zOiBBcnJheTxTdG9ja01vdmVtZW50SXRlbT47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgU3RvY2tNb3ZlbWVudExpc3RPcHRpb25zID0ge1xuICB0eXBlPzogTWF5YmU8U3RvY2tNb3ZlbWVudFR5cGU+O1xuICBza2lwPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xufTtcblxuZXhwb3J0IGVudW0gU3RvY2tNb3ZlbWVudFR5cGUge1xuICBBREpVU1RNRU5UID0gJ0FESlVTVE1FTlQnLFxuICBBTExPQ0FUSU9OID0gJ0FMTE9DQVRJT04nLFxuICBSRUxFQVNFID0gJ1JFTEVBU0UnLFxuICBTQUxFID0gJ1NBTEUnLFxuICBDQU5DRUxMQVRJT04gPSAnQ0FOQ0VMTEFUSU9OJyxcbiAgUkVUVVJOID0gJ1JFVFVSTidcbn1cblxuZXhwb3J0IHR5cGUgU3RyaW5nQ3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcbiAgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZyc7XG4gIG5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0eXBlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbGlzdDogU2NhbGFyc1snQm9vbGVhbiddO1xuICBsZW5ndGg/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIGxhYmVsPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8QXJyYXk8TG9jYWxpemVkU3RyaW5nPj47XG4gIHJlYWRvbmx5PzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgaW50ZXJuYWw/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBudWxsYWJsZT86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHBhdHRlcm4/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIG9wdGlvbnM/OiBNYXliZTxBcnJheTxTdHJpbmdGaWVsZE9wdGlvbj4+O1xuICB1aT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBTdHJpbmdGaWVsZE9wdGlvbiA9IHtcbiAgX190eXBlbmFtZT86ICdTdHJpbmdGaWVsZE9wdGlvbic7XG4gIHZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+Pjtcbn07XG5cbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIGxpc3Qgb2YgU3RyaW5nIGZpZWxkcyAqL1xuZXhwb3J0IHR5cGUgU3RyaW5nTGlzdE9wZXJhdG9ycyA9IHtcbiAgaW5MaXN0OiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbi8qKiBPcGVyYXRvcnMgZm9yIGZpbHRlcmluZyBvbiBhIFN0cmluZyBmaWVsZCAqL1xuZXhwb3J0IHR5cGUgU3RyaW5nT3BlcmF0b3JzID0ge1xuICBlcT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgbm90RXE/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvbnRhaW5zPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBub3RDb250YWlucz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgaW4/OiBNYXliZTxBcnJheTxTY2FsYXJzWydTdHJpbmcnXT4+O1xuICBub3RJbj86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIHJlZ2V4PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuLyoqIEluZGljYXRlcyB0aGF0IGFuIG9wZXJhdGlvbiBzdWNjZWVkZWQsIHdoZXJlIHdlIGRvIG5vdCB3YW50IHRvIHJldHVybiBhbnkgbW9yZSBzcGVjaWZpYyBpbmZvcm1hdGlvbi4gKi9cbmV4cG9ydCB0eXBlIFN1Y2Nlc3MgPSB7XG4gIF9fdHlwZW5hbWU/OiAnU3VjY2Vzcyc7XG4gIHN1Y2Nlc3M6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn07XG5cbmV4cG9ydCB0eXBlIFN1cmNoYXJnZSA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnU3VyY2hhcmdlJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIHNrdT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGF4TGluZXM6IEFycmF5PFRheExpbmU+O1xuICBwcmljZTogU2NhbGFyc1snSW50J107XG4gIHByaWNlV2l0aFRheDogU2NhbGFyc1snSW50J107XG4gIHRheFJhdGU6IFNjYWxhcnNbJ0Zsb2F0J107XG59O1xuXG5leHBvcnQgdHlwZSBTdXJjaGFyZ2VJbnB1dCA9IHtcbiAgZGVzY3JpcHRpb246IFNjYWxhcnNbJ1N0cmluZyddO1xuICBza3U/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByaWNlOiBTY2FsYXJzWydJbnQnXTtcbiAgcHJpY2VJbmNsdWRlc1RheDogU2NhbGFyc1snQm9vbGVhbiddO1xuICB0YXhSYXRlPzogTWF5YmU8U2NhbGFyc1snRmxvYXQnXT47XG4gIHRheERlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVGFnID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdUYWcnO1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3JlYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICB1cGRhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHZhbHVlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRhZ0ZpbHRlclBhcmFtZXRlciA9IHtcbiAgaWQ/OiBNYXliZTxJZE9wZXJhdG9ycz47XG4gIGNyZWF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICB1cGRhdGVkQXQ/OiBNYXliZTxEYXRlT3BlcmF0b3JzPjtcbiAgdmFsdWU/OiBNYXliZTxTdHJpbmdPcGVyYXRvcnM+O1xufTtcblxuZXhwb3J0IHR5cGUgVGFnTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnVGFnTGlzdCc7XG4gIGl0ZW1zOiBBcnJheTxUYWc+O1xuICB0b3RhbEl0ZW1zOiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRhZ0xpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8VGFnU29ydFBhcmFtZXRlcj47XG4gIC8qKiBBbGxvd3MgdGhlIHJlc3VsdHMgdG8gYmUgZmlsdGVyZWQgKi9cbiAgZmlsdGVyPzogTWF5YmU8VGFnRmlsdGVyUGFyYW1ldGVyPjtcbiAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIG11bHRpcGxlIFwiZmlsdGVyXCIgYXJndW1lbnRzIHNob3VsZCBiZSBjb21iaW5lcyB3aXRoIGEgbG9naWNhbCBBTkQgb3IgT1Igb3BlcmF0aW9uLiBEZWZhdWx0cyB0byBBTkQuICovXG4gIGZpbHRlck9wZXJhdG9yPzogTWF5YmU8TG9naWNhbE9wZXJhdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRhZ1NvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdmFsdWU/OiBNYXliZTxTb3J0T3JkZXI+O1xufTtcblxuZXhwb3J0IHR5cGUgVGF4Q2F0ZWdvcnkgPSBOb2RlICYge1xuICBfX3R5cGVuYW1lPzogJ1RheENhdGVnb3J5JztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgaXNEZWZhdWx0OiBTY2FsYXJzWydCb29sZWFuJ107XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUYXhMaW5lID0ge1xuICBfX3R5cGVuYW1lPzogJ1RheExpbmUnO1xuICBkZXNjcmlwdGlvbjogU2NhbGFyc1snU3RyaW5nJ107XG4gIHRheFJhdGU6IFNjYWxhcnNbJ0Zsb2F0J107XG59O1xuXG5leHBvcnQgdHlwZSBUYXhSYXRlID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdUYXhSYXRlJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgZW5hYmxlZDogU2NhbGFyc1snQm9vbGVhbiddO1xuICB2YWx1ZTogU2NhbGFyc1snRmxvYXQnXTtcbiAgY2F0ZWdvcnk6IFRheENhdGVnb3J5O1xuICB6b25lOiBab25lO1xuICBjdXN0b21lckdyb3VwPzogTWF5YmU8Q3VzdG9tZXJHcm91cD47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUYXhSYXRlRmlsdGVyUGFyYW1ldGVyID0ge1xuICBpZD86IE1heWJlPElkT3BlcmF0b3JzPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8RGF0ZU9wZXJhdG9ycz47XG4gIHVwZGF0ZWRBdD86IE1heWJlPERhdGVPcGVyYXRvcnM+O1xuICBuYW1lPzogTWF5YmU8U3RyaW5nT3BlcmF0b3JzPjtcbiAgZW5hYmxlZD86IE1heWJlPEJvb2xlYW5PcGVyYXRvcnM+O1xuICB2YWx1ZT86IE1heWJlPE51bWJlck9wZXJhdG9ycz47XG59O1xuXG5leHBvcnQgdHlwZSBUYXhSYXRlTGlzdCA9IFBhZ2luYXRlZExpc3QgJiB7XG4gIF9fdHlwZW5hbWU/OiAnVGF4UmF0ZUxpc3QnO1xuICBpdGVtczogQXJyYXk8VGF4UmF0ZT47XG4gIHRvdGFsSXRlbXM6IFNjYWxhcnNbJ0ludCddO1xufTtcblxuZXhwb3J0IHR5cGUgVGF4UmF0ZUxpc3RPcHRpb25zID0ge1xuICAvKiogU2tpcHMgdGhlIGZpcnN0IG4gcmVzdWx0cywgZm9yIHVzZSBpbiBwYWdpbmF0aW9uICovXG4gIHNraXA/OiBNYXliZTxTY2FsYXJzWydJbnQnXT47XG4gIC8qKiBUYWtlcyBuIHJlc3VsdHMsIGZvciB1c2UgaW4gcGFnaW5hdGlvbiAqL1xuICB0YWtlPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICAvKiogU3BlY2lmaWVzIHdoaWNoIHByb3BlcnRpZXMgdG8gc29ydCB0aGUgcmVzdWx0cyBieSAqL1xuICBzb3J0PzogTWF5YmU8VGF4UmF0ZVNvcnRQYXJhbWV0ZXI+O1xuICAvKiogQWxsb3dzIHRoZSByZXN1bHRzIHRvIGJlIGZpbHRlcmVkICovXG4gIGZpbHRlcj86IE1heWJlPFRheFJhdGVGaWx0ZXJQYXJhbWV0ZXI+O1xuICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgbXVsdGlwbGUgXCJmaWx0ZXJcIiBhcmd1bWVudHMgc2hvdWxkIGJlIGNvbWJpbmVzIHdpdGggYSBsb2dpY2FsIEFORCBvciBPUiBvcGVyYXRpb24uIERlZmF1bHRzIHRvIEFORC4gKi9cbiAgZmlsdGVyT3BlcmF0b3I/OiBNYXliZTxMb2dpY2FsT3BlcmF0b3I+O1xufTtcblxuZXhwb3J0IHR5cGUgVGF4UmF0ZVNvcnRQYXJhbWV0ZXIgPSB7XG4gIGlkPzogTWF5YmU8U29ydE9yZGVyPjtcbiAgY3JlYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgdXBkYXRlZEF0PzogTWF5YmU8U29ydE9yZGVyPjtcbiAgbmFtZT86IE1heWJlPFNvcnRPcmRlcj47XG4gIHZhbHVlPzogTWF5YmU8U29ydE9yZGVyPjtcbn07XG5cbmV4cG9ydCB0eXBlIFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0lucHV0ID0ge1xuICBzaGlwcGluZ0FkZHJlc3M6IENyZWF0ZUFkZHJlc3NJbnB1dDtcbiAgbGluZXM6IEFycmF5PFRlc3RTaGlwcGluZ01ldGhvZE9yZGVyTGluZUlucHV0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZElucHV0ID0ge1xuICBjaGVja2VyOiBDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dDtcbiAgY2FsY3VsYXRvcjogQ29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ7XG4gIHNoaXBwaW5nQWRkcmVzczogQ3JlYXRlQWRkcmVzc0lucHV0O1xuICBsaW5lczogQXJyYXk8VGVzdFNoaXBwaW5nTWV0aG9kT3JkZXJMaW5lSW5wdXQ+O1xufTtcblxuZXhwb3J0IHR5cGUgVGVzdFNoaXBwaW5nTWV0aG9kT3JkZXJMaW5lSW5wdXQgPSB7XG4gIHByb2R1Y3RWYXJpYW50SWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHF1YW50aXR5OiBTY2FsYXJzWydJbnQnXTtcbn07XG5cbmV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZFF1b3RlID0ge1xuICBfX3R5cGVuYW1lPzogJ1Rlc3RTaGlwcGluZ01ldGhvZFF1b3RlJztcbiAgcHJpY2U6IFNjYWxhcnNbJ0ludCddO1xuICBwcmljZVdpdGhUYXg6IFNjYWxhcnNbJ0ludCddO1xuICBtZXRhZGF0YT86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBUZXN0U2hpcHBpbmdNZXRob2RSZXN1bHQgPSB7XG4gIF9fdHlwZW5hbWU/OiAnVGVzdFNoaXBwaW5nTWV0aG9kUmVzdWx0JztcbiAgZWxpZ2libGU6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcXVvdGU/OiBNYXliZTxUZXN0U2hpcHBpbmdNZXRob2RRdW90ZT47XG59O1xuXG5leHBvcnQgdHlwZSBUZXh0Q3VzdG9tRmllbGRDb25maWcgPSBDdXN0b21GaWVsZCAmIHtcbiAgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnO1xuICBuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdHlwZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGxpc3Q6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgbGFiZWw/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgZGVzY3JpcHRpb24/OiBNYXliZTxBcnJheTxMb2NhbGl6ZWRTdHJpbmc+PjtcbiAgcmVhZG9ubHk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBpbnRlcm5hbD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIG51bGxhYmxlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdWk/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZVJlc3VsdCA9IEZ1bGZpbGxtZW50IHwgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcjtcblxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZVJlc3VsdCA9IE9yZGVyIHwgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcjtcblxuZXhwb3J0IHR5cGUgVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlUmVzdWx0ID0gUGF5bWVudCB8IFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcjtcblxuZXhwb3J0IHR5cGUgVWlTdGF0ZSA9IHtcbiAgX190eXBlbmFtZT86ICdVaVN0YXRlJztcbiAgbGFuZ3VhZ2U6IExhbmd1YWdlQ29kZTtcbiAgbG9jYWxlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb250ZW50TGFuZ3VhZ2U6IExhbmd1YWdlQ29kZTtcbiAgdGhlbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBkaXNwbGF5VWlFeHRlbnNpb25Qb2ludHM6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JJbnB1dCA9IHtcbiAgZmlyc3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXN0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUFkZHJlc3NJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGZ1bGxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXRMaW5lMT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlZmF1bHRTaGlwcGluZ0FkZHJlc3M/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBkZWZhdWx0QmlsbGluZ0FkZHJlc3M/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQWRtaW5pc3RyYXRvcklucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgZmlyc3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXN0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZW1haWxBZGRyZXNzPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwYXNzd29yZD86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcm9sZUlkcz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ0lEJ10+PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUFzc2V0SW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBmb2NhbFBvaW50PzogTWF5YmU8Q29vcmRpbmF0ZUlucHV0PjtcbiAgdGFncz86IE1heWJlPEFycmF5PFNjYWxhcnNbJ1N0cmluZyddPj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVDaGFubmVsSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0b2tlbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZGVmYXVsdExhbmd1YWdlQ29kZT86IE1heWJlPExhbmd1YWdlQ29kZT47XG4gIHByaWNlc0luY2x1ZGVUYXg/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjdXJyZW5jeUNvZGU/OiBNYXliZTxDdXJyZW5jeUNvZGU+O1xuICBkZWZhdWx0VGF4Wm9uZUlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGRlZmF1bHRTaGlwcGluZ1pvbmVJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ2hhbm5lbFJlc3VsdCA9IENoYW5uZWwgfCBMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVDb2xsZWN0aW9uSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBpc1ByaXZhdGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBmZWF0dXJlZEFzc2V0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgcGFyZW50SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYXNzZXRJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIGZpbHRlcnM/OiBNYXliZTxBcnJheTxDb25maWd1cmFibGVPcGVyYXRpb25JbnB1dD4+O1xuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxVcGRhdGVDb2xsZWN0aW9uVHJhbnNsYXRpb25JbnB1dD4+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ29sbGVjdGlvblRyYW5zbGF0aW9uSW5wdXQgPSB7XG4gIGlkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzbHVnPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUNvdW50cnlJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PENvdW50cnlUcmFuc2xhdGlvbklucHV0Pj47XG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cElucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgbmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVySW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICB0aXRsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZmlyc3ROYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBsYXN0TmFtZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVtYWlsQWRkcmVzcz86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyTm90ZUlucHV0ID0ge1xuICBub3RlSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG5vdGU6IFNjYWxhcnNbJ1N0cmluZyddO1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJSZXN1bHQgPSBDdXN0b21lciB8IEVtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3I7XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0SW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBpc1ByaXZhdGU/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB0cmFuc2xhdGlvbnM/OiBNYXliZTxBcnJheTxGYWNldFRyYW5zbGF0aW9uSW5wdXQ+PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0VmFsdWVJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PEZhY2V0VmFsdWVUcmFuc2xhdGlvbklucHV0Pj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVHbG9iYWxTZXR0aW5nc0lucHV0ID0ge1xuICBhdmFpbGFibGVMYW5ndWFnZXM/OiBNYXliZTxBcnJheTxMYW5ndWFnZUNvZGU+PjtcbiAgdHJhY2tJbnZlbnRvcnk/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBvdXRPZlN0b2NrVGhyZXNob2xkPzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsU2V0dGluZ3NSZXN1bHQgPSBHbG9iYWxTZXR0aW5ncyB8IENoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcjtcblxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJBZGRyZXNzSW5wdXQgPSB7XG4gIGZ1bGxOYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb21wYW55PzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBzdHJlZXRMaW5lMT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgc3RyZWV0TGluZTI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNpdHk/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHByb3ZpbmNlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBwb3N0YWxDb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjb3VudHJ5Q29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGhvbmVOdW1iZXI/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlcklucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyTm90ZUlucHV0ID0ge1xuICBub3RlSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG5vdGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlzUHVibGljPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVBheW1lbnRNZXRob2RJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGRlc2NyaXB0aW9uPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2hlY2tlcj86IE1heWJlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcbiAgaGFuZGxlcj86IE1heWJlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBmZWF0dXJlZEFzc2V0SWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgYXNzZXRJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PFByb2R1Y3RUcmFuc2xhdGlvbklucHV0Pj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25JbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNvZGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIHRyYW5zbGF0aW9ucz86IE1heWJlPEFycmF5PFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uSW5wdXQ+PjtcbiAgY3VzdG9tRmllbGRzPzogTWF5YmU8U2NhbGFyc1snSlNPTiddPjtcbn07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgdHJhbnNsYXRpb25zPzogTWF5YmU8QXJyYXk8UHJvZHVjdFZhcmlhbnRUcmFuc2xhdGlvbklucHV0Pj47XG4gIGZhY2V0VmFsdWVJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG4gIHNrdT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgdGF4Q2F0ZWdvcnlJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICBwcmljZT86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgZmVhdHVyZWRBc3NldElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGFzc2V0SWRzPzogTWF5YmU8QXJyYXk8U2NhbGFyc1snSUQnXT4+O1xuICBzdG9ja09uSGFuZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgb3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0ludCddPjtcbiAgdXNlR2xvYmFsT3V0T2ZTdG9ja1RocmVzaG9sZD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIHRyYWNrSW52ZW50b3J5PzogTWF5YmU8R2xvYmFsRmxhZz47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb25JbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGVuYWJsZWQ/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xuICBzdGFydHNBdD86IE1heWJlPFNjYWxhcnNbJ0RhdGVUaW1lJ10+O1xuICBlbmRzQXQ/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgY291cG9uQ29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGVyQ3VzdG9tZXJVc2FnZUxpbWl0PzogTWF5YmU8U2NhbGFyc1snSW50J10+O1xuICBjb25kaXRpb25zPzogTWF5YmU8QXJyYXk8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+PjtcbiAgYWN0aW9ucz86IE1heWJlPEFycmF5PENvbmZpZ3VyYWJsZU9wZXJhdGlvbklucHV0Pj47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb25SZXN1bHQgPSBQcm9tb3Rpb24gfCBNaXNzaW5nQ29uZGl0aW9uc0Vycm9yO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVSb2xlSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjb2RlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBkZXNjcmlwdGlvbj86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgcGVybWlzc2lvbnM/OiBNYXliZTxBcnJheTxQZXJtaXNzaW9uPj47XG4gIGNoYW5uZWxJZHM/OiBNYXliZTxBcnJheTxTY2FsYXJzWydJRCddPj47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVTaGlwcGluZ01ldGhvZElucHV0ID0ge1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgY29kZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbiAgZnVsZmlsbG1lbnRIYW5kbGVyPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjaGVja2VyPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xuICBjYWxjdWxhdG9yPzogTWF5YmU8Q29uZmlndXJhYmxlT3BlcmF0aW9uSW5wdXQ+O1xuICB0cmFuc2xhdGlvbnM6IEFycmF5PFNoaXBwaW5nTWV0aG9kVHJhbnNsYXRpb25JbnB1dD47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVUYWdJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHZhbHVlPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlVGF4Q2F0ZWdvcnlJbnB1dCA9IHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG5hbWU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG4gIGlzRGVmYXVsdD86IE1heWJlPFNjYWxhcnNbJ0Jvb2xlYW4nXT47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVUYXhSYXRlSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICB2YWx1ZT86IE1heWJlPFNjYWxhcnNbJ0Zsb2F0J10+O1xuICBlbmFibGVkPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbiAgY2F0ZWdvcnlJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xuICB6b25lSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY3VzdG9tZXJHcm91cElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVab25lSW5wdXQgPSB7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBuYW1lPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuXG5leHBvcnQgdHlwZSBVc2VyID0gTm9kZSAmIHtcbiAgX190eXBlbmFtZT86ICdVc2VyJztcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGNyZWF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgdXBkYXRlZEF0OiBTY2FsYXJzWydEYXRlVGltZSddO1xuICBpZGVudGlmaWVyOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgdmVyaWZpZWQ6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgcm9sZXM6IEFycmF5PFJvbGU+O1xuICBsYXN0TG9naW4/OiBNYXliZTxTY2FsYXJzWydEYXRlVGltZSddPjtcbiAgYXV0aGVudGljYXRpb25NZXRob2RzOiBBcnJheTxBdXRoZW50aWNhdGlvbk1ldGhvZD47XG4gIGN1c3RvbUZpZWxkcz86IE1heWJlPFNjYWxhcnNbJ0pTT04nXT47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyU3RhdHVzID0ge1xuICBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnO1xuICB1c2VybmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIGlzTG9nZ2VkSW46IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbiAgbG9naW5UaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgcGVybWlzc2lvbnM6IEFycmF5PFBlcm1pc3Npb24+O1xuICBhY3RpdmVDaGFubmVsSWQ/OiBNYXliZTxTY2FsYXJzWydJRCddPjtcbiAgY2hhbm5lbHM6IEFycmF5PEN1cnJlbnRVc2VyQ2hhbm5lbD47XG59O1xuXG5leHBvcnQgdHlwZSBVc2VyU3RhdHVzSW5wdXQgPSB7XG4gIHVzZXJuYW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgbG9naW5UaW1lOiBTY2FsYXJzWydTdHJpbmcnXTtcbiAgYWN0aXZlQ2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xuICBjaGFubmVsczogQXJyYXk8Q3VycmVudFVzZXJDaGFubmVsSW5wdXQ+O1xufTtcblxuZXhwb3J0IHR5cGUgWm9uZSA9IE5vZGUgJiB7XG4gIF9fdHlwZW5hbWU/OiAnWm9uZSc7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBjcmVhdGVkQXQ6IFNjYWxhcnNbJ0RhdGVUaW1lJ107XG4gIHVwZGF0ZWRBdDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgbmFtZTogU2NhbGFyc1snU3RyaW5nJ107XG4gIG1lbWJlcnM6IEFycmF5PENvdW50cnk+O1xuICBjdXN0b21GaWVsZHM/OiBNYXliZTxTY2FsYXJzWydKU09OJ10+O1xufTtcblxuZXhwb3J0IHR5cGUgUm9sZUZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUm9sZScgfVxuICAmIFBpY2s8Um9sZSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAnZGVzY3JpcHRpb24nIHwgJ3Blcm1pc3Npb25zJz5cbiAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cbiAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJyB8ICd0b2tlbic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cbiAgJiBQaWNrPEFkbWluaXN0cmF0b3IsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2ZpcnN0TmFtZScgfCAnbGFzdE5hbWUnIHwgJ2VtYWlsQWRkcmVzcyc+XG4gICYgeyB1c2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdpZGVudGlmaWVyJyB8ICdsYXN0TG9naW4nPlxuICAgICYgeyByb2xlczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cbiAgICAgICYgUm9sZUZyYWdtZW50XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldEFkbWluaXN0cmF0b3JzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM/OiBNYXliZTxBZG1pbmlzdHJhdG9yTGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0QWRtaW5pc3RyYXRvcnNRdWVyeSA9IHsgYWRtaW5pc3RyYXRvcnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvckxpc3QnIH1cbiAgICAmIFBpY2s8QWRtaW5pc3RyYXRvckxpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XG4gICAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnkgPSB7IGFjdGl2ZUFkbWluaXN0cmF0b3I/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBHZXRBZG1pbmlzdHJhdG9yUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0QWRtaW5pc3RyYXRvclF1ZXJ5ID0geyBhZG1pbmlzdHJhdG9yPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XG4gICAgJiBBZG1pbmlzdHJhdG9yRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlQWRtaW5pc3RyYXRvcklucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uID0geyBjcmVhdGVBZG1pbmlzdHJhdG9yOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cbiAgICAmIEFkbWluaXN0cmF0b3JGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFVwZGF0ZUFkbWluaXN0cmF0b3JJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgdXBkYXRlQWRtaW5pc3RyYXRvcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XG4gICAgJiBBZG1pbmlzdHJhdG9yRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9ySW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yTXV0YXRpb24gPSB7IHVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3I6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRtaW5pc3RyYXRvcicgfVxuICAgICYgQWRtaW5pc3RyYXRvckZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgZGVsZXRlQWRtaW5pc3RyYXRvcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFJvbGVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM/OiBNYXliZTxSb2xlTGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Um9sZXNRdWVyeSA9IHsgcm9sZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUm9sZUxpc3QnIH1cbiAgICAmIFBpY2s8Um9sZUxpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSb2xlJyB9XG4gICAgICAmIFJvbGVGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRSb2xlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Um9sZVF1ZXJ5ID0geyByb2xlPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdSb2xlJyB9XG4gICAgJiBSb2xlRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUm9sZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlUm9sZUlucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlUm9sZU11dGF0aW9uID0geyBjcmVhdGVSb2xlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JvbGUnIH1cbiAgICAmIFJvbGVGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVJvbGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFVwZGF0ZVJvbGVJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVJvbGVNdXRhdGlvbiA9IHsgdXBkYXRlUm9sZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdSb2xlJyB9XG4gICAgJiBSb2xlRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBEZWxldGVSb2xlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUm9sZU11dGF0aW9uID0geyBkZWxldGVSb2xlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBhZG1pbmlzdHJhdG9ySWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHJvbGVJZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3JNdXRhdGlvbiA9IHsgYXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZG1pbmlzdHJhdG9yJyB9XG4gICAgJiBBZG1pbmlzdHJhdG9yRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBDdXJyZW50VXNlckZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInIH1cbiAgJiBQaWNrPEN1cnJlbnRVc2VyLCAnaWQnIHwgJ2lkZW50aWZpZXInPlxuICAmIHsgY2hhbm5lbHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXJDaGFubmVsJyB9XG4gICAgJiBQaWNrPEN1cnJlbnRVc2VyQ2hhbm5lbCwgJ2lkJyB8ICdjb2RlJyB8ICd0b2tlbicgfCAncGVybWlzc2lvbnMnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBBdHRlbXB0TG9naW5NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdXNlcm5hbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xuICBwYXNzd29yZDogU2NhbGFyc1snU3RyaW5nJ107XG4gIHJlbWVtYmVyTWU6IFNjYWxhcnNbJ0Jvb2xlYW4nXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEF0dGVtcHRMb2dpbk11dGF0aW9uID0geyBsb2dpbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdDdXJyZW50VXNlcicgfVxuICAgICYgQ3VycmVudFVzZXJGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfSW52YWxpZENyZWRlbnRpYWxzRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X05hdGl2ZUF1dGhTdHJhdGVneUVycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgTG9nT3V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBMb2dPdXRNdXRhdGlvbiA9IHsgbG9nb3V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1N1Y2Nlc3MnIH1cbiAgICAmIFBpY2s8U3VjY2VzcywgJ3N1Y2Nlc3MnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldEN1cnJlbnRVc2VyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDdXJyZW50VXNlclF1ZXJ5ID0geyBtZT86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXInIH1cbiAgICAmIEN1cnJlbnRVc2VyRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXJ0ZWRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIFJlcXVlc3RTdGFydGVkTXV0YXRpb24gPSBQaWNrPE11dGF0aW9uLCAncmVxdWVzdFN0YXJ0ZWQnPjtcblxuZXhwb3J0IHR5cGUgUmVxdWVzdENvbXBsZXRlZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgUmVxdWVzdENvbXBsZXRlZE11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3JlcXVlc3RDb21wbGV0ZWQnPjtcblxuZXhwb3J0IHR5cGUgVXNlclN0YXR1c0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxuICAmIFBpY2s8VXNlclN0YXR1cywgJ3VzZXJuYW1lJyB8ICdpc0xvZ2dlZEluJyB8ICdsb2dpblRpbWUnIHwgJ2FjdGl2ZUNoYW5uZWxJZCcgfCAncGVybWlzc2lvbnMnPlxuICAmIHsgY2hhbm5lbHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VycmVudFVzZXJDaGFubmVsJyB9XG4gICAgJiBQaWNrPEN1cnJlbnRVc2VyQ2hhbm5lbCwgJ2lkJyB8ICdjb2RlJyB8ICd0b2tlbicgfCAncGVybWlzc2lvbnMnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBTZXRBc0xvZ2dlZEluTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVc2VyU3RhdHVzSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRBc0xvZ2dlZEluTXV0YXRpb24gPSB7IHNldEFzTG9nZ2VkSW46IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVXNlclN0YXR1cycgfVxuICAgICYgVXNlclN0YXR1c0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgU2V0QXNMb2dnZWRPdXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldEFzTG9nZ2VkT3V0TXV0YXRpb24gPSB7IHNldEFzTG9nZ2VkT3V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cbiAgICAmIFVzZXJTdGF0dXNGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFNldFVpTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgbGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGU7XG4gIGxvY2FsZT86IE1heWJlPFNjYWxhcnNbJ1N0cmluZyddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFNldFVpTGFuZ3VhZ2VNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXRVaUxhbmd1YWdlJyB8ICdzZXRVaUxvY2FsZSc+O1xuXG5leHBvcnQgdHlwZSBTZXRVaUxvY2FsZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBsb2NhbGU/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXRVaUxvY2FsZU11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldFVpTG9jYWxlJz47XG5cbmV4cG9ydCB0eXBlIFNldERpc3BsYXlVaUV4dGVuc2lvblBvaW50c011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBkaXNwbGF5OiBTY2FsYXJzWydCb29sZWFuJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHNNdXRhdGlvbiA9IFBpY2s8TXV0YXRpb24sICdzZXREaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPjtcblxuZXhwb3J0IHR5cGUgU2V0Q29udGVudExhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGxhbmd1YWdlQ29kZTogTGFuZ3VhZ2VDb2RlO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0Q29udGVudExhbmd1YWdlTXV0YXRpb24gPSBQaWNrPE11dGF0aW9uLCAnc2V0Q29udGVudExhbmd1YWdlJz47XG5cbmV4cG9ydCB0eXBlIFNldFVpVGhlbWVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgdGhlbWU6IFNjYWxhcnNbJ1N0cmluZyddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0VWlUaGVtZU11dGF0aW9uID0gUGljazxNdXRhdGlvbiwgJ3NldFVpVGhlbWUnPjtcblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1N0YXR1c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0TmV0d29ya1N0YXR1c1F1ZXJ5ID0geyBuZXR3b3JrU3RhdHVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ05ldHdvcmtTdGF0dXMnIH1cbiAgICAmIFBpY2s8TmV0d29ya1N0YXR1cywgJ2luRmxpZ2h0UmVxdWVzdHMnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTdGF0dXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFVzZXJTdGF0dXNRdWVyeSA9IHsgdXNlclN0YXR1czogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJyB9XG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRVaVN0YXRlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRVaVN0YXRlUXVlcnkgPSB7IHVpU3RhdGU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVWlTdGF0ZScgfVxuICAgICYgUGljazxVaVN0YXRlLCAnbGFuZ3VhZ2UnIHwgJ2xvY2FsZScgfCAnY29udGVudExhbmd1YWdlJyB8ICd0aGVtZScgfCAnZGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRDbGllbnRTdGF0ZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2xpZW50U3RhdGVRdWVyeSA9IHsgbmV0d29ya1N0YXR1czogKFxuICAgIHsgX190eXBlbmFtZT86ICdOZXR3b3JrU3RhdHVzJyB9XG4gICAgJiBQaWNrPE5ldHdvcmtTdGF0dXMsICdpbkZsaWdodFJlcXVlc3RzJz5cbiAgKSwgdXNlclN0YXR1czogKFxuICAgIHsgX190eXBlbmFtZT86ICdVc2VyU3RhdHVzJyB9XG4gICAgJiBVc2VyU3RhdHVzRnJhZ21lbnRcbiAgKSwgdWlTdGF0ZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdVaVN0YXRlJyB9XG4gICAgJiBQaWNrPFVpU3RhdGUsICdsYW5ndWFnZScgfCAnbG9jYWxlJyB8ICdjb250ZW50TGFuZ3VhZ2UnIHwgJ3RoZW1lJyB8ICdkaXNwbGF5VWlFeHRlbnNpb25Qb2ludHMnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgY2hhbm5lbElkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uID0geyBzZXRBY3RpdmVDaGFubmVsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cbiAgICAmIFVzZXJTdGF0dXNGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjaGFubmVsczogQXJyYXk8Q3VycmVudFVzZXJDaGFubmVsSW5wdXQ+IHwgQ3VycmVudFVzZXJDaGFubmVsSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvbiA9IHsgdXBkYXRlVXNlckNoYW5uZWxzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXJTdGF0dXMnIH1cbiAgICAmIFVzZXJTdGF0dXNGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25GaWx0ZXJzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5ID0geyBjb2xsZWN0aW9uRmlsdGVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBDb2xsZWN0aW9uRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XG4gICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNQcml2YXRlJyB8ICdsYW5ndWFnZUNvZGUnPlxuICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cbiAgICAmIEFzc2V0RnJhZ21lbnRcbiAgKT4sIGFzc2V0czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxuICAgICYgQXNzZXRGcmFnbWVudFxuICApPiwgZmlsdGVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50XG4gICk+LCB0cmFuc2xhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvblRyYW5zbGF0aW9uJyB9XG4gICAgJiBQaWNrPENvbGxlY3Rpb25UcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ3NsdWcnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKT4sIHBhcmVudD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxuICAgICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ25hbWUnPlxuICApPiwgY2hpbGRyZW4/OiBNYXliZTxBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbGxlY3Rpb24nIH1cbiAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJz5cbiAgKT4+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25MaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM/OiBNYXliZTxDb2xsZWN0aW9uTGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvbkxpc3RRdWVyeSA9IHsgY29sbGVjdGlvbnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbkxpc3QnIH1cbiAgICAmIFBpY2s8Q29sbGVjdGlvbkxpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XG4gICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbicgfCAnaXNQcml2YXRlJz5cbiAgICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cbiAgICAgICAgJiBBc3NldEZyYWdtZW50XG4gICAgICApPiwgcGFyZW50PzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxuICAgICAgICAmIFBpY2s8Q29sbGVjdGlvbiwgJ2lkJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldENvbGxlY3Rpb25RdWVyeSA9IHsgY29sbGVjdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxuICAgICYgQ29sbGVjdGlvbkZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IENyZWF0ZUNvbGxlY3Rpb25JbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvbiA9IHsgY3JlYXRlQ29sbGVjdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XG4gICAgJiBDb2xsZWN0aW9uRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVDb2xsZWN0aW9uSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb24gPSB7IHVwZGF0ZUNvbGxlY3Rpb246IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxuICAgICYgQ29sbGVjdGlvbkZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgTW92ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IE1vdmVDb2xsZWN0aW9uSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBNb3ZlQ29sbGVjdGlvbk11dGF0aW9uID0geyBtb3ZlQ29sbGVjdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb2xsZWN0aW9uJyB9XG4gICAgJiBDb2xsZWN0aW9uRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uID0geyBkZWxldGVDb2xsZWN0aW9uOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBvcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeSA9IHsgY29sbGVjdGlvbj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29sbGVjdGlvbicgfVxuICAgICYgUGljazxDb2xsZWN0aW9uLCAnaWQnIHwgJ25hbWUnPlxuICAgICYgeyBwcm9kdWN0VmFyaWFudHM6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnIHwgJ3Byb2R1Y3RJZCcgfCAnbmFtZSc+XG4gICAgICApPiB9XG4gICAgKSB9XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIEFkZHJlc3NGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0FkZHJlc3MnIH1cbiAgJiBQaWNrPEFkZHJlc3MsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2Z1bGxOYW1lJyB8ICdjb21wYW55JyB8ICdzdHJlZXRMaW5lMScgfCAnc3RyZWV0TGluZTInIHwgJ2NpdHknIHwgJ3Byb3ZpbmNlJyB8ICdwb3N0YWxDb2RlJyB8ICdwaG9uZU51bWJlcicgfCAnZGVmYXVsdFNoaXBwaW5nQWRkcmVzcycgfCAnZGVmYXVsdEJpbGxpbmdBZGRyZXNzJz5cbiAgJiB7IGNvdW50cnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxuICAgICYgUGljazxDb3VudHJ5LCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnPlxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEN1c3RvbWVyRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxuICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ3RpdGxlJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJyB8ICdwaG9uZU51bWJlcicgfCAnZW1haWxBZGRyZXNzJz5cbiAgJiB7IHVzZXI/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1VzZXInIH1cbiAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICdpZGVudGlmaWVyJyB8ICd2ZXJpZmllZCcgfCAnbGFzdExvZ2luJz5cbiAgKT4sIGFkZHJlc3Nlcz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgQWRkcmVzc0ZyYWdtZW50XG4gICk+PiB9XG4pO1xuXG5leHBvcnQgdHlwZSBDdXN0b21lckdyb3VwRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XG4gICYgUGljazxDdXN0b21lckdyb3VwLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8Q3VzdG9tZXJMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckxpc3RRdWVyeSA9IHsgY3VzdG9tZXJzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyTGlzdCcgfVxuICAgICYgUGljazxDdXN0b21lckxpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxuICAgICAgJiBQaWNrPEN1c3RvbWVyLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICd0aXRsZScgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZScgfCAnZW1haWxBZGRyZXNzJz5cbiAgICAgICYgeyB1c2VyPzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVXNlcicgfVxuICAgICAgICAmIFBpY2s8VXNlciwgJ2lkJyB8ICd2ZXJpZmllZCc+XG4gICAgICApPiB9XG4gICAgKT4gfVxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBvcmRlckxpc3RPcHRpb25zPzogTWF5YmU8T3JkZXJMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lclF1ZXJ5ID0geyBjdXN0b21lcj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cbiAgICAmIHsgZ3JvdXBzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxuICAgICAgJiBQaWNrPEN1c3RvbWVyR3JvdXAsICdpZCcgfCAnbmFtZSc+XG4gICAgKT4sIG9yZGVyczogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGlzdCcgfVxuICAgICAgJiBQaWNrPE9yZGVyTGlzdCwgJ3RvdGFsSXRlbXMnPlxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxuICAgICAgICAmIFBpY2s8T3JkZXIsICdpZCcgfCAnY29kZScgfCAnc3RhdGUnIHwgJ3RvdGFsV2l0aFRheCcgfCAnY3VycmVuY3lDb2RlJyB8ICd1cGRhdGVkQXQnPlxuICAgICAgKT4gfVxuICAgICkgfVxuICAgICYgQ3VzdG9tZXJGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlQ3VzdG9tZXJJbnB1dDtcbiAgcGFzc3dvcmQ/OiBNYXliZTxTY2FsYXJzWydTdHJpbmcnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lck11dGF0aW9uID0geyBjcmVhdGVDdXN0b21lcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxuICAgICYgQ3VzdG9tZXJGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9FbWFpbEFkZHJlc3NDb25mbGljdEVycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFVwZGF0ZUN1c3RvbWVySW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck11dGF0aW9uID0geyB1cGRhdGVDdXN0b21lcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxuICAgICYgQ3VzdG9tZXJGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9FbWFpbEFkZHJlc3NDb25mbGljdEVycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lck11dGF0aW9uID0geyBkZWxldGVDdXN0b21lcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBjdXN0b21lcklkOiBTY2FsYXJzWydJRCddO1xuICBpbnB1dDogQ3JlYXRlQWRkcmVzc0lucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24gPSB7IGNyZWF0ZUN1c3RvbWVyQWRkcmVzczogKFxuICAgIHsgX190eXBlbmFtZT86ICdBZGRyZXNzJyB9XG4gICAgJiBBZGRyZXNzRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFVwZGF0ZUFkZHJlc3NJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uID0geyB1cGRhdGVDdXN0b21lckFkZHJlc3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQWRkcmVzcycgfVxuICAgICYgQWRkcmVzc0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb24gPSB7IGRlbGV0ZUN1c3RvbWVyQWRkcmVzczogKFxuICAgIHsgX190eXBlbmFtZT86ICdTdWNjZXNzJyB9XG4gICAgJiBQaWNrPFN1Y2Nlc3MsICdzdWNjZXNzJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBDcmVhdGVDdXN0b21lckdyb3VwSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwTXV0YXRpb24gPSB7IGNyZWF0ZUN1c3RvbWVyR3JvdXA6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxuICAgICYgQ3VzdG9tZXJHcm91cEZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJHcm91cElucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uID0geyB1cGRhdGVDdXN0b21lckdyb3VwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb24gPSB7IGRlbGV0ZUN1c3RvbWVyR3JvdXA6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8Q3VzdG9tZXJHcm91cExpc3RPcHRpb25zPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyR3JvdXBzUXVlcnkgPSB7IGN1c3RvbWVyR3JvdXBzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXBMaXN0JyB9XG4gICAgJiBQaWNrPEN1c3RvbWVyR3JvdXBMaXN0LCAndG90YWxJdGVtcyc+XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxuICAgICAgJiBDdXN0b21lckdyb3VwRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG9wdGlvbnM/OiBNYXliZTxDdXN0b21lckxpc3RPcHRpb25zPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnkgPSB7IGN1c3RvbWVyR3JvdXA/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cbiAgICAmIHsgY3VzdG9tZXJzOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJMaXN0JyB9XG4gICAgICAmIFBpY2s8Q3VzdG9tZXJMaXN0LCAndG90YWxJdGVtcyc+XG4gICAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XG4gICAgICAgICYgUGljazxDdXN0b21lciwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW1haWxBZGRyZXNzJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cbiAgICAgICk+IH1cbiAgICApIH1cbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGN1c3RvbWVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb24gPSB7IGFkZEN1c3RvbWVyc1RvR3JvdXA6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXJHcm91cCcgfVxuICAgICYgQ3VzdG9tZXJHcm91cEZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGN1c3RvbWVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvbiA9IHsgcmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyR3JvdXAnIH1cbiAgICAmIEN1c3RvbWVyR3JvdXBGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEN1c3RvbWVySGlzdG9yeVF1ZXJ5ID0geyBjdXN0b21lcj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCc+XG4gICAgJiB7IGhpc3Rvcnk6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnlMaXN0JyB9XG4gICAgICAmIFBpY2s8SGlzdG9yeUVudHJ5TGlzdCwgJ3RvdGFsSXRlbXMnPlxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnknIH1cbiAgICAgICAgJiBQaWNrPEhpc3RvcnlFbnRyeSwgJ2lkJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ2lzUHVibGljJyB8ICdkYXRhJz5cbiAgICAgICAgJiB7IGFkbWluaXN0cmF0b3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cbiAgICAgICAgICAmIFBpY2s8QWRtaW5pc3RyYXRvciwgJ2lkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICkgfVxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBBZGROb3RlVG9DdXN0b21lck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQWRkTm90ZVRvQ3VzdG9tZXJJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFkZE5vdGVUb0N1c3RvbWVyTXV0YXRpb24gPSB7IGFkZE5vdGVUb0N1c3RvbWVyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0N1c3RvbWVyJyB9XG4gICAgJiBQaWNrPEN1c3RvbWVyLCAnaWQnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlQ3VzdG9tZXJOb3RlSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck5vdGVNdXRhdGlvbiA9IHsgdXBkYXRlQ3VzdG9tZXJOb3RlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeScgfVxuICAgICYgUGljazxIaXN0b3J5RW50cnksICdpZCcgfCAnZGF0YScgfCAnaXNQdWJsaWMnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyTm90ZU11dGF0aW9uID0geyBkZWxldGVDdXN0b21lck5vdGU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBGYWNldFZhbHVlRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XG4gICYgUGljazxGYWNldFZhbHVlLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdsYW5ndWFnZUNvZGUnIHwgJ2NvZGUnIHwgJ25hbWUnPlxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWVUcmFuc2xhdGlvbicgfVxuICAgICYgUGljazxGYWNldFZhbHVlVHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cbiAgKT4sIGZhY2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XG4gICAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cbiAgKSB9XG4pO1xuXG5leHBvcnQgdHlwZSBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XG4gICYgUGljazxGYWNldCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICdpc1ByaXZhdGUnIHwgJ2NvZGUnIHwgJ25hbWUnPlxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VHJhbnNsYXRpb24nIH1cbiAgICAmIFBpY2s8RmFjZXRUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnPlxuICApPiwgdmFsdWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0VmFsdWUnIH1cbiAgICAmIEZhY2V0VmFsdWVGcmFnbWVudFxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlRmFjZXRJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUZhY2V0TXV0YXRpb24gPSB7IGNyZWF0ZUZhY2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XG4gICAgJiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVGYWNldElucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRNdXRhdGlvbiA9IHsgdXBkYXRlRmFjZXQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cbiAgICAmIEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0TXV0YXRpb24gPSB7IGRlbGV0ZUZhY2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IEFycmF5PENyZWF0ZUZhY2V0VmFsdWVJbnB1dD4gfCBDcmVhdGVGYWNldFZhbHVlSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVGYWNldFZhbHVlc011dGF0aW9uID0geyBjcmVhdGVGYWNldFZhbHVlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XG4gICAgJiBGYWNldFZhbHVlRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZUZhY2V0VmFsdWVJbnB1dD4gfCBVcGRhdGVGYWNldFZhbHVlSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVGYWNldFZhbHVlc011dGF0aW9uID0geyB1cGRhdGVGYWNldFZhbHVlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XG4gICAgJiBGYWNldFZhbHVlRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XG4gIGZvcmNlPzogTWF5YmU8U2NhbGFyc1snQm9vbGVhbiddPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUZhY2V0VmFsdWVzTXV0YXRpb24gPSB7IGRlbGV0ZUZhY2V0VmFsdWVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIEdldEZhY2V0TGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8RmFjZXRMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGYWNldExpc3RRdWVyeSA9IHsgZmFjZXRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0TGlzdCcgfVxuICAgICYgUGljazxGYWNldExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldCcgfVxuICAgICAgJiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRGYWNldFdpdGhWYWx1ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRGYWNldFdpdGhWYWx1ZXNRdWVyeSA9IHsgZmFjZXQ/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XG4gICAgJiBGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBEaXNjb3VudEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnRGlzY291bnQnIH1cbiAgJiBQaWNrPERpc2NvdW50LCAnYWRqdXN0bWVudFNvdXJjZScgfCAnYW1vdW50JyB8ICdhbW91bnRXaXRoVGF4JyB8ICdkZXNjcmlwdGlvbicgfCAndHlwZSc+XG4pO1xuXG5leHBvcnQgdHlwZSBSZWZ1bmRGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZCcgfVxuICAmIFBpY2s8UmVmdW5kLCAnaWQnIHwgJ3N0YXRlJyB8ICdpdGVtcycgfCAnc2hpcHBpbmcnIHwgJ2FkanVzdG1lbnQnIHwgJ3RyYW5zYWN0aW9uSWQnIHwgJ3BheW1lbnRJZCc+XG4pO1xuXG5leHBvcnQgdHlwZSBPcmRlckFkZHJlc3NGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcycgfVxuICAmIFBpY2s8T3JkZXJBZGRyZXNzLCAnZnVsbE5hbWUnIHwgJ2NvbXBhbnknIHwgJ3N0cmVldExpbmUxJyB8ICdzdHJlZXRMaW5lMicgfCAnY2l0eScgfCAncHJvdmluY2UnIHwgJ3Bvc3RhbENvZGUnIHwgJ2NvdW50cnknIHwgJ2NvdW50cnlDb2RlJyB8ICdwaG9uZU51bWJlcic+XG4pO1xuXG5leHBvcnQgdHlwZSBPcmRlckZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cbiAgJiBQaWNrPE9yZGVyLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdvcmRlclBsYWNlZEF0JyB8ICdjb2RlJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAndG90YWwnIHwgJ2N1cnJlbmN5Q29kZSc+XG4gICYgeyBjdXN0b21lcj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tZXInIH1cbiAgICAmIFBpY2s8Q3VzdG9tZXIsICdpZCcgfCAnZmlyc3ROYW1lJyB8ICdsYXN0TmFtZSc+XG4gICk+LCBzaGlwcGluZ0xpbmVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTGluZScgfVxuICAgICYgeyBzaGlwcGluZ01ldGhvZDogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XG4gICAgICAmIFBpY2s8U2hpcHBpbmdNZXRob2QsICduYW1lJz5cbiAgICApIH1cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50JyB9XG4gICYgUGljazxGdWxmaWxsbWVudCwgJ2lkJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ21ldGhvZCcgfCAndHJhY2tpbmdDb2RlJz5cbiAgJiB7IG9yZGVySXRlbXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJJdGVtJyB9XG4gICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgT3JkZXJMaW5lRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdPcmRlckxpbmUnIH1cbiAgJiBQaWNrPE9yZGVyTGluZSwgJ2lkJyB8ICd1bml0UHJpY2UnIHwgJ3VuaXRQcmljZVdpdGhUYXgnIHwgJ3Byb3JhdGVkVW5pdFByaWNlJyB8ICdwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXgnIHwgJ3F1YW50aXR5JyB8ICdsaW5lUHJpY2UnIHwgJ2xpbmVUYXgnIHwgJ2xpbmVQcmljZVdpdGhUYXgnIHwgJ2Rpc2NvdW50ZWRMaW5lUHJpY2UnIHwgJ2Rpc2NvdW50ZWRMaW5lUHJpY2VXaXRoVGF4Jz5cbiAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgJiBQaWNrPEFzc2V0LCAncHJldmlldyc+XG4gICk+LCBwcm9kdWN0VmFyaWFudDogKFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJyB8ICdza3UnIHwgJ3RyYWNrSW52ZW50b3J5JyB8ICdzdG9ja09uSGFuZCc+XG4gICksIGRpc2NvdW50czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdEaXNjb3VudCcgfVxuICAgICYgRGlzY291bnRGcmFnbWVudFxuICApPiwgaXRlbXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJJdGVtJyB9XG4gICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJyB8ICd1bml0UHJpY2UnIHwgJ3VuaXRQcmljZVdpdGhUYXgnIHwgJ3RheFJhdGUnIHwgJ3JlZnVuZElkJyB8ICdjYW5jZWxsZWQnPlxuICAgICYgeyBmdWxmaWxsbWVudD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxuICAgICAgJiBGdWxmaWxsbWVudEZyYWdtZW50XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBPcmRlckRldGFpbEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cbiAgJiBQaWNrPE9yZGVyLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICdzdGF0ZScgfCAnbmV4dFN0YXRlcycgfCAnYWN0aXZlJyB8ICdjb3Vwb25Db2RlcycgfCAnc3ViVG90YWwnIHwgJ3N1YlRvdGFsV2l0aFRheCcgfCAndG90YWwnIHwgJ3RvdGFsV2l0aFRheCcgfCAnY3VycmVuY3lDb2RlJyB8ICdzaGlwcGluZycgfCAnc2hpcHBpbmdXaXRoVGF4Jz5cbiAgJiB7IGN1c3RvbWVyPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lcicgfVxuICAgICYgUGljazxDdXN0b21lciwgJ2lkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cbiAgKT4sIGxpbmVzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGluZScgfVxuICAgICYgT3JkZXJMaW5lRnJhZ21lbnRcbiAgKT4sIHN1cmNoYXJnZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU3VyY2hhcmdlJyB9XG4gICAgJiBQaWNrPFN1cmNoYXJnZSwgJ2lkJyB8ICdza3UnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdwcmljZScgfCAncHJpY2VXaXRoVGF4JyB8ICd0YXhSYXRlJz5cbiAgKT4sIGRpc2NvdW50czogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdEaXNjb3VudCcgfVxuICAgICYgRGlzY291bnRGcmFnbWVudFxuICApPiwgcHJvbW90aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9tb3Rpb24nIH1cbiAgICAmIFBpY2s8UHJvbW90aW9uLCAnaWQnIHwgJ2NvdXBvbkNvZGUnPlxuICApPiwgc2hpcHBpbmdMaW5lczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ0xpbmUnIH1cbiAgICAmIHsgc2hpcHBpbmdNZXRob2Q6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZCcgfVxuICAgICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kLCAnaWQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2Z1bGZpbGxtZW50SGFuZGxlckNvZGUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgICApIH1cbiAgKT4sIHRheFN1bW1hcnk6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJUYXhTdW1tYXJ5JyB9XG4gICAgJiBQaWNrPE9yZGVyVGF4U3VtbWFyeSwgJ2Rlc2NyaXB0aW9uJyB8ICd0YXhCYXNlJyB8ICd0YXhSYXRlJyB8ICd0YXhUb3RhbCc+XG4gICk+LCBzaGlwcGluZ0FkZHJlc3M/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyQWRkcmVzcycgfVxuICAgICYgT3JkZXJBZGRyZXNzRnJhZ21lbnRcbiAgKT4sIGJpbGxpbmdBZGRyZXNzPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckFkZHJlc3MnIH1cbiAgICAmIE9yZGVyQWRkcmVzc0ZyYWdtZW50XG4gICk+LCBwYXltZW50cz86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxuICAgICYgUGljazxQYXltZW50LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndHJhbnNhY3Rpb25JZCcgfCAnYW1vdW50JyB8ICdtZXRob2QnIHwgJ3N0YXRlJyB8ICduZXh0U3RhdGVzJyB8ICdlcnJvck1lc3NhZ2UnIHwgJ21ldGFkYXRhJz5cbiAgICAmIHsgcmVmdW5kczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZCcgfVxuICAgICAgJiBQaWNrPFJlZnVuZCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3N0YXRlJyB8ICdpdGVtcycgfCAnYWRqdXN0bWVudCcgfCAndG90YWwnIHwgJ3BheW1lbnRJZCcgfCAncmVhc29uJyB8ICd0cmFuc2FjdGlvbklkJyB8ICdtZXRob2QnIHwgJ21ldGFkYXRhJz5cbiAgICAgICYgeyBvcmRlckl0ZW1zOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlckl0ZW0nIH1cbiAgICAgICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICk+PiwgZnVsZmlsbG1lbnRzPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxuICAgICYgRnVsZmlsbG1lbnRGcmFnbWVudFxuICApPj4sIG1vZGlmaWNhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb24nIH1cbiAgICAmIFBpY2s8T3JkZXJNb2RpZmljYXRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICdpc1NldHRsZWQnIHwgJ3ByaWNlQ2hhbmdlJyB8ICdub3RlJz5cbiAgICAmIHsgcGF5bWVudD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50JyB9XG4gICAgICAmIFBpY2s8UGF5bWVudCwgJ2lkJyB8ICdhbW91bnQnPlxuICAgICk+LCBvcmRlckl0ZW1zPzogTWF5YmU8QXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ09yZGVySXRlbScgfVxuICAgICAgJiBQaWNrPE9yZGVySXRlbSwgJ2lkJz5cbiAgICApPj4sIHJlZnVuZD86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmQnIH1cbiAgICAgICYgUGljazxSZWZ1bmQsICdpZCcgfCAncGF5bWVudElkJyB8ICd0b3RhbCc+XG4gICAgKT4sIHN1cmNoYXJnZXM/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU3VyY2hhcmdlJyB9XG4gICAgICAmIFBpY2s8U3VyY2hhcmdlLCAnaWQnPlxuICAgICk+PiB9XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldE9yZGVyTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8T3JkZXJMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRPcmRlckxpc3RRdWVyeSA9IHsgb3JkZXJzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTGlzdCcgfVxuICAgICYgUGljazxPcmRlckxpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxuICAgICAgJiBPcmRlckZyYWdtZW50XG4gICAgKT4gfVxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldE9yZGVyUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0T3JkZXJRdWVyeSA9IHsgb3JkZXI/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIFNldHRsZVBheW1lbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZXR0bGVQYXltZW50TXV0YXRpb24gPSB7IHNldHRsZVBheW1lbnQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxuICAgICYgUGljazxQYXltZW50LCAnaWQnIHwgJ3RyYW5zYWN0aW9uSWQnIHwgJ2Ftb3VudCcgfCAnbWV0aG9kJyB8ICdzdGF0ZScgfCAnbWV0YWRhdGEnPlxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdTZXR0bGVQYXltZW50RXJyb3InIH1cbiAgICAmIFBpY2s8U2V0dGxlUGF5bWVudEVycm9yLCAncGF5bWVudEVycm9yTWVzc2FnZSc+XG4gICAgJiBFcnJvclJlc3VsdF9TZXR0bGVQYXltZW50RXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XG4gICAgJiBQaWNrPFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ3RyYW5zaXRpb25FcnJvcic+XG4gICAgJiBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxuICAgICYgUGljazxPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cbiAgICAmIEVycm9yUmVzdWx0X09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uID0geyB0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudCcgfVxuICAgICYgUGljazxQYXltZW50LCAnaWQnIHwgJ3RyYW5zYWN0aW9uSWQnIHwgJ2Ftb3VudCcgfCAnbWV0aG9kJyB8ICdzdGF0ZScgfCAnbWV0YWRhdGEnPlxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cbiAgICAmIFBpY2s8UGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yLCAndHJhbnNpdGlvbkVycm9yJz5cbiAgICAmIEVycm9yUmVzdWx0X1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBGdWxmaWxsT3JkZXJJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb24gPSB7IGFkZEZ1bGZpbGxtZW50VG9PcmRlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxuICAgICYgRnVsZmlsbG1lbnRGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9FbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9JdGVtc0FscmVhZHlGdWxmaWxsZWRFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9JbnN1ZmZpY2llbnRTdG9ja09uSGFuZEVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfSW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cbiAgICAmIFBpY2s8RnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZScgfCAndHJhbnNpdGlvbkVycm9yJz5cbiAgICAmIEVycm9yUmVzdWx0X0Z1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcicgfVxuICAgICYgUGljazxDcmVhdGVGdWxmaWxsbWVudEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJyB8ICdmdWxmaWxsbWVudEhhbmRsZXJFcnJvcic+XG4gICAgJiBFcnJvclJlc3VsdF9DcmVhdGVGdWxmaWxsbWVudEVycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgQ2FuY2VsT3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IENhbmNlbE9yZGVySW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDYW5jZWxPcmRlck11dGF0aW9uID0geyBjYW5jZWxPcmRlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdFbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9FbXB0eU9yZGVyTGluZVNlbGVjdGlvbkVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1F1YW50aXR5VG9vR3JlYXRFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfUXVhbnRpdHlUb29HcmVhdEVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ011bHRpcGxlT3JkZXJFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfTXVsdGlwbGVPcmRlckVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFJlZnVuZE9yZGVyTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBSZWZ1bmRPcmRlcklucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXJNdXRhdGlvbiA9IHsgcmVmdW5kT3JkZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kJyB9XG4gICAgJiBSZWZ1bmRGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdRdWFudGl0eVRvb0dyZWF0RXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X1F1YW50aXR5VG9vR3JlYXRFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdOb3RoaW5nVG9SZWZ1bmRFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdNdWx0aXBsZU9yZGVyRXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X011bHRpcGxlT3JkZXJFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9QYXltZW50T3JkZXJNaXNtYXRjaEVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZE9yZGVyU3RhdGVFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfUmVmdW5kT3JkZXJTdGF0ZUVycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0FscmVhZHlSZWZ1bmRlZEVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9BbHJlYWR5UmVmdW5kZWRFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBTZXR0bGVSZWZ1bmRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFNldHRsZVJlZnVuZElucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgU2V0dGxlUmVmdW5kTXV0YXRpb24gPSB7IHNldHRsZVJlZnVuZDogKFxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmQnIH1cbiAgICAmIFJlZnVuZEZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9SZWZ1bmRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldE9yZGVySGlzdG9yeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgb3B0aW9ucz86IE1heWJlPEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldE9yZGVySGlzdG9yeVF1ZXJ5ID0geyBvcmRlcj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cbiAgICAmIFBpY2s8T3JkZXIsICdpZCc+XG4gICAgJiB7IGhpc3Rvcnk6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnlMaXN0JyB9XG4gICAgICAmIFBpY2s8SGlzdG9yeUVudHJ5TGlzdCwgJ3RvdGFsSXRlbXMnPlxuICAgICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdIaXN0b3J5RW50cnknIH1cbiAgICAgICAgJiBQaWNrPEhpc3RvcnlFbnRyeSwgJ2lkJyB8ICd0eXBlJyB8ICdjcmVhdGVkQXQnIHwgJ2lzUHVibGljJyB8ICdkYXRhJz5cbiAgICAgICAgJiB7IGFkbWluaXN0cmF0b3I/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0FkbWluaXN0cmF0b3InIH1cbiAgICAgICAgICAmIFBpY2s8QWRtaW5pc3RyYXRvciwgJ2lkJyB8ICdmaXJzdE5hbWUnIHwgJ2xhc3ROYW1lJz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICkgfVxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBBZGROb3RlVG9PcmRlck11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQWRkTm90ZVRvT3JkZXJJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEFkZE5vdGVUb09yZGVyTXV0YXRpb24gPSB7IGFkZE5vdGVUb09yZGVyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XG4gICAgJiBQaWNrPE9yZGVyLCAnaWQnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyTm90ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlT3JkZXJOb3RlSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVPcmRlck5vdGVNdXRhdGlvbiA9IHsgdXBkYXRlT3JkZXJOb3RlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0hpc3RvcnlFbnRyeScgfVxuICAgICYgUGljazxIaXN0b3J5RW50cnksICdpZCcgfCAnZGF0YScgfCAnaXNQdWJsaWMnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uID0geyBkZWxldGVPcmRlck5vdGU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xuICBzdGF0ZTogU2NhbGFyc1snU3RyaW5nJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb24gPSB7IHRyYW5zaXRpb25PcmRlclRvU3RhdGU/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XG4gICAgJiBPcmRlckZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cbiAgICAmIFBpY2s8T3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ3RyYW5zaXRpb25FcnJvcic+XG4gICAgJiBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVPcmRlcklucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJDdXN0b21GaWVsZHNNdXRhdGlvbiA9IHsgc2V0T3JkZXJDdXN0b21GaWVsZHM/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XG4gICAgJiBPcmRlckZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG4gIHN0YXRlOiBTY2FsYXJzWydTdHJpbmcnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvbiA9IHsgdHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudCcgfVxuICAgICYgRnVsZmlsbG1lbnRGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XG4gICAgJiBQaWNrPEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICd0cmFuc2l0aW9uRXJyb3InPlxuICAgICYgRXJyb3JSZXN1bHRfRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldE9yZGVyU3VtbWFyeVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBzdGFydDogU2NhbGFyc1snRGF0ZVRpbWUnXTtcbiAgZW5kOiBTY2FsYXJzWydEYXRlVGltZSddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0T3JkZXJTdW1tYXJ5UXVlcnkgPSB7IG9yZGVyczogKFxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpc3QnIH1cbiAgICAmIFBpY2s8T3JkZXJMaXN0LCAndG90YWxJdGVtcyc+XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXInIH1cbiAgICAgICYgUGljazxPcmRlciwgJ2lkJyB8ICd0b3RhbCcgfCAnY3VycmVuY3lDb2RlJz5cbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgTW9kaWZ5T3JkZXJNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IE1vZGlmeU9yZGVySW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBNb2RpZnlPcmRlck11dGF0aW9uID0geyBtb2RpZnlPcmRlcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlcicgfVxuICAgICYgT3JkZXJEZXRhaWxGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdOb0NoYW5nZXNTcGVjaWZpZWRFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnT3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X09yZGVyTGltaXRFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X05lZ2F0aXZlUXVhbnRpdHlFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja0Vycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9JbnN1ZmZpY2llbnRTdG9ja0Vycm9yX0ZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdXBvbkNvZGVFeHBpcmVkRXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X0NvdXBvbkNvZGVFeHBpcmVkRXJyb3JfRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUludmFsaWRFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUludmFsaWRFcnJvcl9GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlTGltaXRFcnJvcicgfVxuICAgICYgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUxpbWl0RXJyb3JfRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBNYW51YWxQYXltZW50SW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRNYW51YWxQYXltZW50TXV0YXRpb24gPSB7IGFkZE1hbnVhbFBheW1lbnRUb09yZGVyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ09yZGVyJyB9XG4gICAgJiBPcmRlckRldGFpbEZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01hbnVhbFBheW1lbnRTdGF0ZUVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9NYW51YWxQYXltZW50U3RhdGVFcnJvcl9GcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIEFzc2V0RnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxuICAmIFBpY2s8QXNzZXQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2ZpbGVTaXplJyB8ICdtaW1lVHlwZScgfCAndHlwZScgfCAncHJldmlldycgfCAnc291cmNlJyB8ICd3aWR0aCcgfCAnaGVpZ2h0Jz5cbiAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cbiAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBUYWdGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxuICAmIFBpY2s8VGFnLCAnaWQnIHwgJ3ZhbHVlJz5cbik7XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwJyB9XG4gICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XG4gICYgeyB0cmFuc2xhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24nIH1cbiAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbkdyb3VwVHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxuICAmIFBpY2s8UHJvZHVjdE9wdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdncm91cElkJz5cbiAgJiB7IHRyYW5zbGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uVHJhbnNsYXRpb24nIH1cbiAgICAmIFBpY2s8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uLCAnaWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50RnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxuICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2VuYWJsZWQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnbmFtZScgfCAncHJpY2UnIHwgJ2N1cnJlbmN5Q29kZScgfCAncHJpY2VXaXRoVGF4JyB8ICdzdG9ja09uSGFuZCcgfCAnc3RvY2tBbGxvY2F0ZWQnIHwgJ3RyYWNrSW52ZW50b3J5JyB8ICdvdXRPZlN0b2NrVGhyZXNob2xkJyB8ICd1c2VHbG9iYWxPdXRPZlN0b2NrVGhyZXNob2xkJyB8ICdza3UnPlxuICAmIHsgdGF4UmF0ZUFwcGxpZWQ6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxuICAgICYgUGljazxUYXhSYXRlLCAnaWQnIHwgJ25hbWUnIHwgJ3ZhbHVlJz5cbiAgKSwgdGF4Q2F0ZWdvcnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cbiAgICAmIFBpY2s8VGF4Q2F0ZWdvcnksICdpZCcgfCAnbmFtZSc+XG4gICksIG9wdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxuICAgICYgUHJvZHVjdE9wdGlvbkZyYWdtZW50XG4gICk+LCBmYWNldFZhbHVlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XG4gICAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnY29kZScgfCAnbmFtZSc+XG4gICAgJiB7IGZhY2V0OiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cbiAgICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICduYW1lJz5cbiAgICApIH1cbiAgKT4sIGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgJiBBc3NldEZyYWdtZW50XG4gICk+LCBhc3NldHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cbiAgICAmIEFzc2V0RnJhZ21lbnRcbiAgKT4sIHRyYW5zbGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudFRyYW5zbGF0aW9uJyB9XG4gICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50VHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cbiAgKT4sIGNoYW5uZWxzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cbiAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdERldGFpbEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxuICAmIFBpY2s8UHJvZHVjdCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdzbHVnJyB8ICdkZXNjcmlwdGlvbic+XG4gICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxuICAgICYgQXNzZXRGcmFnbWVudFxuICApPiwgYXNzZXRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgJiBBc3NldEZyYWdtZW50XG4gICk+LCB0cmFuc2xhdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFRyYW5zbGF0aW9uJyB9XG4gICAgJiBQaWNrPFByb2R1Y3RUcmFuc2xhdGlvbiwgJ2lkJyB8ICdsYW5ndWFnZUNvZGUnIHwgJ25hbWUnIHwgJ3NsdWcnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgKT4sIG9wdGlvbkdyb3VwczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cbiAgICAmIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50XG4gICk+LCBmYWNldFZhbHVlczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XG4gICAgJiBQaWNrPEZhY2V0VmFsdWUsICdpZCcgfCAnY29kZScgfCAnbmFtZSc+XG4gICAgJiB7IGZhY2V0OiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnRmFjZXQnIH1cbiAgICAgICYgUGljazxGYWNldCwgJ2lkJyB8ICduYW1lJz5cbiAgICApIH1cbiAgKT4sIGNoYW5uZWxzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cbiAgICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjb2RlJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxuICAmIFBpY2s8UHJvZHVjdE9wdGlvbkdyb3VwLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdsYW5ndWFnZUNvZGUnIHwgJ2NvZGUnIHwgJ25hbWUnPlxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uJyB9XG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb25Hcm91cFRyYW5zbGF0aW9uLCAnaWQnIHwgJ25hbWUnPlxuICApPiwgb3B0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XG4gICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdjb2RlJz5cbiAgICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uJyB9XG4gICAgICAmIFBpY2s8UHJvZHVjdE9wdGlvblRyYW5zbGF0aW9uLCAnbmFtZSc+XG4gICAgKT4gfVxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVQcm9kdWN0SW5wdXQ7XG4gIHZhcmlhbnRMaXN0T3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE11dGF0aW9uID0geyB1cGRhdGVQcm9kdWN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cbiAgICAmIHsgdmFyaWFudExpc3Q6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAgICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKSB9XG4gICAgJiBQcm9kdWN0RGV0YWlsRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0SW5wdXQ7XG4gIHZhcmlhbnRMaXN0T3B0aW9ucz86IE1heWJlPFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE11dGF0aW9uID0geyBjcmVhdGVQcm9kdWN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cbiAgICAmIHsgdmFyaWFudExpc3Q6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAgICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKSB9XG4gICAgJiBQcm9kdWN0RGV0YWlsRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdE11dGF0aW9uID0geyBkZWxldGVQcm9kdWN0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBBcnJheTxDcmVhdGVQcm9kdWN0VmFyaWFudElucHV0PiB8IENyZWF0ZVByb2R1Y3RWYXJpYW50SW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvbiA9IHsgY3JlYXRlUHJvZHVjdFZhcmlhbnRzOiBBcnJheTxNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50JyB9XG4gICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XG4gICk+PiB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IEFycmF5PFVwZGF0ZVByb2R1Y3RWYXJpYW50SW5wdXQ+IHwgVXBkYXRlUHJvZHVjdFZhcmlhbnRJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uID0geyB1cGRhdGVQcm9kdWN0VmFyaWFudHM6IEFycmF5PE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAmIFByb2R1Y3RWYXJpYW50RnJhZ21lbnRcbiAgKT4+IH07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbiA9IHsgY3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxuICAgICYgUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RPcHRpb25Hcm91cFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RPcHRpb25Hcm91cFF1ZXJ5ID0geyBwcm9kdWN0T3B0aW9uR3JvdXA/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxuICAgICYgUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBBZGRPcHRpb25Ub0dyb3VwTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBDcmVhdGVQcm9kdWN0T3B0aW9uSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRPcHRpb25Ub0dyb3VwTXV0YXRpb24gPSB7IGNyZWF0ZVByb2R1Y3RPcHRpb246IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJyB8ICdjb2RlJyB8ICdncm91cElkJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBwcm9kdWN0SWQ6IFNjYWxhcnNbJ0lEJ107XG4gIG9wdGlvbkdyb3VwSWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdE11dGF0aW9uID0geyBhZGRPcHRpb25Hcm91cFRvUHJvZHVjdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICYgeyBvcHRpb25Hcm91cHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cbiAgICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxuICAgICAgJiB7IG9wdGlvbnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHByb2R1Y3RJZDogU2NhbGFyc1snSUQnXTtcbiAgb3B0aW9uR3JvdXBJZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvbiA9IHsgcmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdDogKFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnPlxuICAgICYgeyBvcHRpb25Hcm91cHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cbiAgICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxuICAgICAgJiB7IG9wdGlvbnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbkluVXNlRXJyb3InIH1cbiAgICAmIEVycm9yUmVzdWx0X1Byb2R1Y3RPcHRpb25JblVzZUVycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFdpdGhWYXJpYW50c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgdmFyaWFudExpc3RPcHRpb25zPzogTWF5YmU8UHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnkgPSB7IHByb2R1Y3Q/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cbiAgICAmIHsgdmFyaWFudExpc3Q6IChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAgICYgeyBpdGVtczogQXJyYXk8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAgICAgJiBQcm9kdWN0VmFyaWFudEZyYWdtZW50XG4gICAgICApPiB9XG4gICAgKSB9XG4gICAgJiBQcm9kdWN0RGV0YWlsRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFNpbXBsZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RTaW1wbGVRdWVyeSA9IHsgcHJvZHVjdD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxuICAgICYgUGljazxQcm9kdWN0LCAnaWQnIHwgJ25hbWUnPlxuICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgICAmIEFzc2V0RnJhZ21lbnRcbiAgICApPiB9XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM/OiBNYXliZTxQcm9kdWN0TGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdExpc3RRdWVyeSA9IHsgcHJvZHVjdHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdExpc3QnIH1cbiAgICAmIFBpY2s8UHJvZHVjdExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XG4gICAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdzbHVnJz5cbiAgICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cbiAgICAgICAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdwcmV2aWV3Jz5cbiAgICAgICk+IH1cbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBmaWx0ZXJUZXJtPzogTWF5YmU8U2NhbGFyc1snU3RyaW5nJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5ID0geyBwcm9kdWN0T3B0aW9uR3JvdXBzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxuICAgICYgUGljazxQcm9kdWN0T3B0aW9uR3JvdXAsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2xhbmd1YWdlQ29kZScgfCAnY29kZScgfCAnbmFtZSc+XG4gICAgJiB7IG9wdGlvbnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XG4gICAgICAmIFBpY2s8UHJvZHVjdE9wdGlvbiwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICdjb2RlJyB8ICduYW1lJz5cbiAgICApPiB9XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIEdldEFzc2V0TGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8QXNzZXRMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRBc3NldExpc3RRdWVyeSA9IHsgYXNzZXRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0TGlzdCcgfVxuICAgICYgUGljazxBc3NldExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxuICAgICAgJiB7IHRhZ3M6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxuICAgICAgICAmIFRhZ0ZyYWdtZW50XG4gICAgICApPiB9XG4gICAgICAmIEFzc2V0RnJhZ21lbnRcbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0QXNzZXRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRBc3NldFF1ZXJ5ID0geyBhc3NldD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQXNzZXQnIH1cbiAgICAmIHsgdGFnczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxuICAgICAgJiBUYWdGcmFnbWVudFxuICAgICk+IH1cbiAgICAmIEFzc2V0RnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBBcnJheTxDcmVhdGVBc3NldElucHV0PiB8IENyZWF0ZUFzc2V0SW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVBc3NldHNNdXRhdGlvbiA9IHsgY3JlYXRlQXNzZXRzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgJiB7IHRhZ3M6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cbiAgICAgICYgVGFnRnJhZ21lbnRcbiAgICApPiB9XG4gICAgJiBBc3NldEZyYWdtZW50XG4gICkgfCAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ01pbWVUeXBlRXJyb3InIH1cbiAgICAmIFBpY2s8TWltZVR5cGVFcnJvciwgJ21lc3NhZ2UnPlxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVBc3NldE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlQXNzZXRJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUFzc2V0TXV0YXRpb24gPSB7IHVwZGF0ZUFzc2V0OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgJiB7IHRhZ3M6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cbiAgICAgICYgVGFnRnJhZ21lbnRcbiAgICApPiB9XG4gICAgJiBBc3NldEZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBEZWxldGVBc3NldHNJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUFzc2V0c011dGF0aW9uID0geyBkZWxldGVBc3NldHM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBTZWFyY2hQcm9kdWN0c1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogU2VhcmNoSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBTZWFyY2hQcm9kdWN0c1F1ZXJ5ID0geyBzZWFyY2g6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8U2VhcmNoUmVzcG9uc2UsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHQnIH1cbiAgICAgICYgUGljazxTZWFyY2hSZXN1bHQsICdlbmFibGVkJyB8ICdwcm9kdWN0SWQnIHwgJ3Byb2R1Y3ROYW1lJyB8ICdwcm9kdWN0VmFyaWFudElkJyB8ICdwcm9kdWN0VmFyaWFudE5hbWUnIHwgJ3NrdScgfCAnY2hhbm5lbElkcyc+XG4gICAgICAmIHsgcHJvZHVjdEFzc2V0PzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnIH1cbiAgICAgICAgJiBQaWNrPFNlYXJjaFJlc3VsdEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxuICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxuICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBwcm9kdWN0VmFyaWFudEFzc2V0PzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnIH1cbiAgICAgICAgJiBQaWNrPFNlYXJjaFJlc3VsdEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxuICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxuICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XG4gICAgICAgICk+IH1cbiAgICAgICk+IH1cbiAgICApPiwgZmFjZXRWYWx1ZXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlUmVzdWx0JyB9XG4gICAgICAmIFBpY2s8RmFjZXRWYWx1ZVJlc3VsdCwgJ2NvdW50Jz5cbiAgICAgICYgeyBmYWNldFZhbHVlOiAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdGYWNldFZhbHVlJyB9XG4gICAgICAgICYgUGljazxGYWNldFZhbHVlLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cbiAgICAgICAgJiB7IGZhY2V0OiAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ZhY2V0JyB9XG4gICAgICAgICAgJiBQaWNrPEZhY2V0LCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cbiAgICAgICAgKSB9XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgUHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHRlcm06IFNjYWxhcnNbJ1N0cmluZyddO1xuICB0YWtlOiBTY2FsYXJzWydJbnQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5ID0geyBzZWFyY2g6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzcG9uc2UnIH1cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTZWFyY2hSZXN1bHQnIH1cbiAgICAgICYgUGljazxTZWFyY2hSZXN1bHQsICdwcm9kdWN0VmFyaWFudElkJyB8ICdwcm9kdWN0VmFyaWFudE5hbWUnIHwgJ3NrdSc+XG4gICAgICAmIHsgcHJvZHVjdEFzc2V0PzogTWF5YmU8KFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2VhcmNoUmVzdWx0QXNzZXQnIH1cbiAgICAgICAgJiBQaWNrPFNlYXJjaFJlc3VsdEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxuICAgICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ29vcmRpbmF0ZScgfVxuICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XG4gICAgICAgICk+IH1cbiAgICAgICk+LCBwcmljZTogeyBfX3R5cGVuYW1lPzogJ1ByaWNlUmFuZ2UnIH0gfCAoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdTaW5nbGVQcmljZScgfVxuICAgICAgICAmIFBpY2s8U2luZ2xlUHJpY2UsICd2YWx1ZSc+XG4gICAgICApLCBwcmljZVdpdGhUYXg6IHsgX190eXBlbmFtZT86ICdQcmljZVJhbmdlJyB9IHwgKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU2luZ2xlUHJpY2UnIH1cbiAgICAgICAgJiBQaWNrPFNpbmdsZVByaWNlLCAndmFsdWUnPlxuICAgICAgKSB9XG4gICAgKT4gfVxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbiA9IHsgdXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25Hcm91cCcgfVxuICAgICYgUHJvZHVjdE9wdGlvbkdyb3VwRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVQcm9kdWN0T3B0aW9uSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb24gPSB7IHVwZGF0ZVByb2R1Y3RPcHRpb246IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdE9wdGlvbicgfVxuICAgICYgUHJvZHVjdE9wdGlvbkZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0VmFyaWFudE11dGF0aW9uID0geyBkZWxldGVQcm9kdWN0VmFyaWFudDogKFxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5ID0geyBwcm9kdWN0PzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnPlxuICAgICYgeyBvcHRpb25Hcm91cHM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uR3JvdXAnIH1cbiAgICAgICYgeyBvcHRpb25zOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0T3B0aW9uJyB9XG4gICAgICAgICYgUHJvZHVjdE9wdGlvbkZyYWdtZW50XG4gICAgICApPiB9XG4gICAgICAmIFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50XG4gICAgKT4sIHZhcmlhbnRzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnZW5hYmxlZCcgfCAnbmFtZScgfCAnc2t1JyB8ICdwcmljZScgfCAnc3RvY2tPbkhhbmQnPlxuICAgICAgJiB7IG9wdGlvbnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb24nIH1cbiAgICAgICAgJiBQaWNrPFByb2R1Y3RPcHRpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2dyb3VwSWQnPlxuICAgICAgKT4gfVxuICAgICk+IH1cbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IEFzc2lnblByb2R1Y3RzVG9DaGFubmVsSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbE11dGF0aW9uID0geyBhc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9XG4gICAgJiBQaWNrPFByb2R1Y3QsICdpZCc+XG4gICAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XG4gICAgKT4gfVxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uID0geyBhc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWw6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCc+XG4gICAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XG4gICAgKT4gfVxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb24gPSB7IHJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWw6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxuICAgICYgUGljazxQcm9kdWN0LCAnaWQnPlxuICAgICYgeyBjaGFubmVsczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cbiAgICAgICYgUGljazxDaGFubmVsLCAnaWQnIHwgJ2NvZGUnPlxuICAgICk+IH1cbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogUmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWxJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvbiA9IHsgcmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWw6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnQsICdpZCc+XG4gICAgJiB7IGNoYW5uZWxzOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxuICAgICAgJiBQaWNrPENoYW5uZWwsICdpZCcgfCAnY29kZSc+XG4gICAgKT4gfVxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFByb2R1Y3RWYXJpYW50UXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50PzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudCwgJ2lkJyB8ICduYW1lJyB8ICdza3UnPlxuICAgICYgeyBmZWF0dXJlZEFzc2V0PzogTWF5YmU8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgICAmIFBpY2s8QXNzZXQsICdpZCcgfCAncHJldmlldyc+XG4gICAgICAmIHsgZm9jYWxQb2ludD86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cbiAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cbiAgICAgICk+IH1cbiAgICApPiwgcHJvZHVjdDogKFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3QnIH1cbiAgICAgICYgUGljazxQcm9kdWN0LCAnaWQnPlxuICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdBc3NldCcgfVxuICAgICAgICAmIFBpY2s8QXNzZXQsICdpZCcgfCAncHJldmlldyc+XG4gICAgICAgICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdDb29yZGluYXRlJyB9XG4gICAgICAgICAgJiBQaWNrPENvb3JkaW5hdGUsICd4JyB8ICd5Jz5cbiAgICAgICAgKT4gfVxuICAgICAgKT4gfVxuICAgICkgfVxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgb3B0aW9uczogUHJvZHVjdFZhcmlhbnRMaXN0T3B0aW9ucztcbiAgcHJvZHVjdElkPzogTWF5YmU8U2NhbGFyc1snSUQnXT47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeSA9IHsgcHJvZHVjdFZhcmlhbnRzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RWYXJpYW50TGlzdCcgfVxuICAgICYgUGljazxQcm9kdWN0VmFyaWFudExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudCcgfVxuICAgICAgJiBQaWNrPFByb2R1Y3RWYXJpYW50LCAnaWQnIHwgJ25hbWUnIHwgJ3NrdSc+XG4gICAgICAmIHsgZmVhdHVyZWRBc3NldD86IE1heWJlPChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgICAgICYgUGljazxBc3NldCwgJ2lkJyB8ICdwcmV2aWV3Jz5cbiAgICAgICAgJiB7IGZvY2FsUG9pbnQ/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cbiAgICAgICAgICAmIFBpY2s8Q29vcmRpbmF0ZSwgJ3gnIHwgJ3knPlxuICAgICAgICApPiB9XG4gICAgICApPiwgcHJvZHVjdDogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfVxuICAgICAgICAmIFBpY2s8UHJvZHVjdCwgJ2lkJz5cbiAgICAgICAgJiB7IGZlYXR1cmVkQXNzZXQ/OiBNYXliZTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9XG4gICAgICAgICAgJiBQaWNrPEFzc2V0LCAnaWQnIHwgJ3ByZXZpZXcnPlxuICAgICAgICAgICYgeyBmb2NhbFBvaW50PzogTWF5YmU8KFxuICAgICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Nvb3JkaW5hdGUnIH1cbiAgICAgICAgICAgICYgUGljazxDb29yZGluYXRlLCAneCcgfCAneSc+XG4gICAgICAgICAgKT4gfVxuICAgICAgICApPiB9XG4gICAgICApIH1cbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM6IFByb2R1Y3RWYXJpYW50TGlzdE9wdGlvbnM7XG4gIHByb2R1Y3RJZD86IE1heWJlPFNjYWxhcnNbJ0lEJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnkgPSB7IHByb2R1Y3RWYXJpYW50czogKFxuICAgIHsgX190eXBlbmFtZT86ICdQcm9kdWN0VmFyaWFudExpc3QnIH1cbiAgICAmIFBpY2s8UHJvZHVjdFZhcmlhbnRMaXN0LCAndG90YWxJdGVtcyc+XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdFZhcmlhbnQnIH1cbiAgICAgICYgUHJvZHVjdFZhcmlhbnRGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRUYWdMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM/OiBNYXliZTxUYWdMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRUYWdMaXN0UXVlcnkgPSB7IHRhZ3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGFnTGlzdCcgfVxuICAgICYgUGljazxUYWdMaXN0LCAndG90YWxJdGVtcyc+XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XG4gICAgICAmIFRhZ0ZyYWdtZW50XG4gICAgKT4gfVxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFRhZ1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFRhZ1F1ZXJ5ID0geyB0YWc6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGFnJyB9XG4gICAgJiBUYWdGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVRhZ011dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlVGFnSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVUYWdNdXRhdGlvbiA9IHsgY3JlYXRlVGFnOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RhZycgfVxuICAgICYgVGFnRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVUYWdNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFVwZGF0ZVRhZ0lucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlVGFnTXV0YXRpb24gPSB7IHVwZGF0ZVRhZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdUYWcnIH1cbiAgICAmIFRhZ0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlVGFnTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlVGFnTXV0YXRpb24gPSB7IGRlbGV0ZVRhZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdtZXNzYWdlJyB8ICdyZXN1bHQnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIFByb21vdGlvbkZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XG4gICYgUGljazxQcm9tb3Rpb24sICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnIHwgJ2NvdXBvbkNvZGUnIHwgJ3BlckN1c3RvbWVyVXNhZ2VMaW1pdCcgfCAnc3RhcnRzQXQnIHwgJ2VuZHNBdCc+XG4gICYgeyBjb25kaXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcbiAgKT4sIGFjdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRQcm9tb3Rpb25MaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM/OiBNYXliZTxQcm9tb3Rpb25MaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRQcm9tb3Rpb25MaXN0UXVlcnkgPSB7IHByb21vdGlvbnM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uTGlzdCcgfVxuICAgICYgUGljazxQcm9tb3Rpb25MaXN0LCAndG90YWxJdGVtcyc+XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XG4gICAgICAmIFByb21vdGlvbkZyYWdtZW50XG4gICAgKT4gfVxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFByb21vdGlvblF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFByb21vdGlvblF1ZXJ5ID0geyBwcm9tb3Rpb24/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1Byb21vdGlvbicgfVxuICAgICYgUHJvbW90aW9uRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgR2V0QWRqdXN0bWVudE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEFkanVzdG1lbnRPcGVyYXRpb25zUXVlcnkgPSB7IHByb21vdGlvbkNvbmRpdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcbiAgKT4sIHByb21vdGlvbkFjdGlvbnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBDcmVhdGVQcm9tb3Rpb25JbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZVByb21vdGlvbk11dGF0aW9uID0geyBjcmVhdGVQcm9tb3Rpb246IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XG4gICAgJiBQcm9tb3Rpb25GcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdNaXNzaW5nQ29uZGl0aW9uc0Vycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9NaXNzaW5nQ29uZGl0aW9uc0Vycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVQcm9tb3Rpb25JbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVByb21vdGlvbk11dGF0aW9uID0geyB1cGRhdGVQcm9tb3Rpb246IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUHJvbW90aW9uJyB9XG4gICAgJiBQcm9tb3Rpb25GcmFnbWVudFxuICApIHwgeyBfX3R5cGVuYW1lPzogJ01pc3NpbmdDb25kaXRpb25zRXJyb3InIH0gfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUHJvbW90aW9uTXV0YXRpb24gPSB7IGRlbGV0ZVByb21vdGlvbjogKFxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIENvdW50cnlGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cbiAgJiBQaWNrPENvdW50cnksICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ2NvZGUnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnPlxuICAmIHsgdHJhbnNsYXRpb25zOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnlUcmFuc2xhdGlvbicgfVxuICAgICYgUGljazxDb3VudHJ5VHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJz5cbiAgKT4gfVxuKTtcblxuZXhwb3J0IHR5cGUgR2V0Q291bnRyeUxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgb3B0aW9ucz86IE1heWJlPENvdW50cnlMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb3VudHJ5TGlzdFF1ZXJ5ID0geyBjb3VudHJpZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeUxpc3QnIH1cbiAgICAmIFBpY2s8Q291bnRyeUxpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XG4gICAgICAmIFBpY2s8Q291bnRyeSwgJ2lkJyB8ICdjb2RlJyB8ICduYW1lJyB8ICdlbmFibGVkJz5cbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0QXZhaWxhYmxlQ291bnRyaWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRBdmFpbGFibGVDb3VudHJpZXNRdWVyeSA9IHsgY291bnRyaWVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnlMaXN0JyB9XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxuICAgICAgJiBQaWNrPENvdW50cnksICdpZCcgfCAnY29kZScgfCAnbmFtZScgfCAnZW5hYmxlZCc+XG4gICAgKT4gfVxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldENvdW50cnlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDb3VudHJ5UXVlcnkgPSB7IGNvdW50cnk/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cbiAgICAmIENvdW50cnlGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVDb3VudHJ5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBDcmVhdGVDb3VudHJ5SW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVDb3VudHJ5TXV0YXRpb24gPSB7IGNyZWF0ZUNvdW50cnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxuICAgICYgQ291bnRyeUZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ291bnRyeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlQ291bnRyeUlucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQ291bnRyeU11dGF0aW9uID0geyB1cGRhdGVDb3VudHJ5OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvdW50cnknIH1cbiAgICAmIENvdW50cnlGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIERlbGV0ZUNvdW50cnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVDb3VudHJ5TXV0YXRpb24gPSB7IGRlbGV0ZUNvdW50cnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBab25lRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdab25lJyB9XG4gICYgUGljazxab25lLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICduYW1lJz5cbiAgJiB7IG1lbWJlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ291bnRyeScgfVxuICAgICYgQ291bnRyeUZyYWdtZW50XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFpvbmVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRab25lc1F1ZXJ5ID0geyB6b25lczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XG4gICAgJiB7IG1lbWJlcnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdDb3VudHJ5JyB9XG4gICAgICAmIFBpY2s8Q291bnRyeSwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdpZCcgfCAnbmFtZScgfCAnY29kZScgfCAnZW5hYmxlZCc+XG4gICAgKT4gfVxuICAgICYgWm9uZUZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIEdldFpvbmVRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRab25lUXVlcnkgPSB7IHpvbmU/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cbiAgICAmIFpvbmVGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBDcmVhdGVab25lSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVab25lTXV0YXRpb24gPSB7IGNyZWF0ZVpvbmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxuICAgICYgWm9uZUZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlWm9uZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlWm9uZUlucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlWm9uZU11dGF0aW9uID0geyB1cGRhdGVab25lOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cbiAgICAmIFpvbmVGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIERlbGV0ZVpvbmVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBEZWxldGVab25lTXV0YXRpb24gPSB7IGRlbGV0ZVpvbmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAnbWVzc2FnZScgfCAncmVzdWx0Jz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBBZGRNZW1iZXJzVG9ab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcbiAgbWVtYmVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBBZGRNZW1iZXJzVG9ab25lTXV0YXRpb24gPSB7IGFkZE1lbWJlcnNUb1pvbmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxuICAgICYgWm9uZUZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgUmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIHpvbmVJZDogU2NhbGFyc1snSUQnXTtcbiAgbWVtYmVySWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBSZW1vdmVNZW1iZXJzRnJvbVpvbmVNdXRhdGlvbiA9IHsgcmVtb3ZlTWVtYmVyc0Zyb21ab25lOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1pvbmUnIH1cbiAgICAmIFpvbmVGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFRheENhdGVnb3J5RnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxuICAmIFBpY2s8VGF4Q2F0ZWdvcnksICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2lzRGVmYXVsdCc+XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRUYXhDYXRlZ29yaWVzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRUYXhDYXRlZ29yaWVzUXVlcnkgPSB7IHRheENhdGVnb3JpZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cbiAgICAmIFRheENhdGVnb3J5RnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgR2V0VGF4Q2F0ZWdvcnlRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRUYXhDYXRlZ29yeVF1ZXJ5ID0geyB0YXhDYXRlZ29yeT86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cbiAgICAmIFRheENhdGVnb3J5RnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IENyZWF0ZVRheENhdGVnb3J5SW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBDcmVhdGVUYXhDYXRlZ29yeU11dGF0aW9uID0geyBjcmVhdGVUYXhDYXRlZ29yeTogKFxuICAgIHsgX190eXBlbmFtZT86ICdUYXhDYXRlZ29yeScgfVxuICAgICYgVGF4Q2F0ZWdvcnlGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVRheENhdGVnb3J5TXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVUYXhDYXRlZ29yeUlucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvbiA9IHsgdXBkYXRlVGF4Q2F0ZWdvcnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cbiAgICAmIFRheENhdGVnb3J5RnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBEZWxldGVUYXhDYXRlZ29yeU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZVRheENhdGVnb3J5TXV0YXRpb24gPSB7IGRlbGV0ZVRheENhdGVnb3J5OiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVGF4UmF0ZUZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxuICAmIFBpY2s8VGF4UmF0ZSwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnbmFtZScgfCAnZW5hYmxlZCcgfCAndmFsdWUnPlxuICAmIHsgY2F0ZWdvcnk6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cbiAgICAmIFBpY2s8VGF4Q2F0ZWdvcnksICdpZCcgfCAnbmFtZSc+XG4gICksIHpvbmU6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxuICAgICYgUGljazxab25lLCAnaWQnIHwgJ25hbWUnPlxuICApLCBjdXN0b21lckdyb3VwPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdDdXN0b21lckdyb3VwJyB9XG4gICAgJiBQaWNrPEN1c3RvbWVyR3JvdXAsICdpZCcgfCAnbmFtZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFRheFJhdGVMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM/OiBNYXliZTxUYXhSYXRlTGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZUxpc3RRdWVyeSA9IHsgdGF4UmF0ZXM6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZUxpc3QnIH1cbiAgICAmIFBpY2s8VGF4UmF0ZUxpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XG4gICAgICAmIFRheFJhdGVGcmFnbWVudFxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8VGF4UmF0ZUxpc3RPcHRpb25zPjtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFRheFJhdGVMaXN0U2ltcGxlUXVlcnkgPSB7IHRheFJhdGVzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGVMaXN0JyB9XG4gICAgJiBQaWNrPFRheFJhdGVMaXN0LCAndG90YWxJdGVtcyc+XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnVGF4UmF0ZScgfVxuICAgICAgJiBQaWNrPFRheFJhdGUsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2VuYWJsZWQnIHwgJ3ZhbHVlJz5cbiAgICAgICYgeyBjYXRlZ29yeTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGF4Q2F0ZWdvcnknIH1cbiAgICAgICAgJiBQaWNrPFRheENhdGVnb3J5LCAnaWQnIHwgJ25hbWUnPlxuICAgICAgKSwgem9uZTogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxuICAgICAgICAmIFBpY2s8Wm9uZSwgJ2lkJyB8ICduYW1lJz5cbiAgICAgICkgfVxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBHZXRUYXhSYXRlUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0VGF4UmF0ZVF1ZXJ5ID0geyB0YXhSYXRlPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XG4gICAgJiBUYXhSYXRlRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4UmF0ZU11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlVGF4UmF0ZUlucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlVGF4UmF0ZU11dGF0aW9uID0geyBjcmVhdGVUYXhSYXRlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1RheFJhdGUnIH1cbiAgICAmIFRheFJhdGVGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVRheFJhdGVNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFVwZGF0ZVRheFJhdGVJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZVRheFJhdGVNdXRhdGlvbiA9IHsgdXBkYXRlVGF4UmF0ZTogKFxuICAgIHsgX190eXBlbmFtZT86ICdUYXhSYXRlJyB9XG4gICAgJiBUYXhSYXRlRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBEZWxldGVUYXhSYXRlTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlVGF4UmF0ZU11dGF0aW9uID0geyBkZWxldGVUYXhSYXRlOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgQ2hhbm5lbEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxuICAmIFBpY2s8Q2hhbm5lbCwgJ2lkJyB8ICdjcmVhdGVkQXQnIHwgJ3VwZGF0ZWRBdCcgfCAnY29kZScgfCAndG9rZW4nIHwgJ3ByaWNlc0luY2x1ZGVUYXgnIHwgJ2N1cnJlbmN5Q29kZScgfCAnZGVmYXVsdExhbmd1YWdlQ29kZSc+XG4gICYgeyBkZWZhdWx0U2hpcHBpbmdab25lPzogTWF5YmU8KFxuICAgIHsgX190eXBlbmFtZT86ICdab25lJyB9XG4gICAgJiBQaWNrPFpvbmUsICdpZCcgfCAnbmFtZSc+XG4gICk+LCBkZWZhdWx0VGF4Wm9uZT86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnWm9uZScgfVxuICAgICYgUGljazxab25lLCAnaWQnIHwgJ25hbWUnPlxuICApPiB9XG4pO1xuXG5leHBvcnQgdHlwZSBHZXRDaGFubmVsc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0Q2hhbm5lbHNRdWVyeSA9IHsgY2hhbm5lbHM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxuICAgICYgQ2hhbm5lbEZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIEdldENoYW5uZWxRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRDaGFubmVsUXVlcnkgPSB7IGNoYW5uZWw/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cbiAgICAmIENoYW5uZWxGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVDaGFubmVsUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRBY3RpdmVDaGFubmVsUXVlcnkgPSB7IGFjdGl2ZUNoYW5uZWw6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbCcgfVxuICAgICYgQ2hhbm5lbEZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlQ2hhbm5lbElucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ3JlYXRlQ2hhbm5lbE11dGF0aW9uID0geyBjcmVhdGVDaGFubmVsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cbiAgICAmIENoYW5uZWxGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9MYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogVXBkYXRlQ2hhbm5lbElucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlQ2hhbm5lbE11dGF0aW9uID0geyB1cGRhdGVDaGFubmVsOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NoYW5uZWwnIH1cbiAgICAmIENoYW5uZWxGcmFnbWVudFxuICApIHwgKFxuICAgIHsgX190eXBlbmFtZT86ICdMYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9MYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yX0ZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIERlbGV0ZUNoYW5uZWxNdXRhdGlvbiA9IHsgZGVsZXRlQ2hhbm5lbDogKFxuICAgIHsgX190eXBlbmFtZT86ICdEZWxldGlvblJlc3BvbnNlJyB9XG4gICAgJiBQaWNrPERlbGV0aW9uUmVzcG9uc2UsICdyZXN1bHQnIHwgJ21lc3NhZ2UnPlxuICApIH07XG5cbmV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2QnIH1cbiAgJiBQaWNrPFBheW1lbnRNZXRob2QsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICd1cGRhdGVkQXQnIHwgJ25hbWUnIHwgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdlbmFibGVkJz5cbiAgJiB7IGNoZWNrZXI/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcbiAgKT4sIGhhbmRsZXI6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uJyB9XG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudFxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIG9wdGlvbnM6IFBheW1lbnRNZXRob2RMaXN0T3B0aW9ucztcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnkgPSB7IHBheW1lbnRNZXRob2RzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRNZXRob2RMaXN0JyB9XG4gICAgJiBQaWNrPFBheW1lbnRNZXRob2RMaXN0LCAndG90YWxJdGVtcyc+XG4gICAgJiB7IGl0ZW1zOiBBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICAgJiBQYXltZW50TWV0aG9kRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RPcGVyYXRpb25zUXVlcnkgPSB7IHBheW1lbnRNZXRob2RFbGlnaWJpbGl0eUNoZWNrZXJzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZmluaXRpb24nIH1cbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50XG4gICk+LCBwYXltZW50TWV0aG9kSGFuZGxlcnM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgR2V0UGF5bWVudE1ldGhvZFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFBheW1lbnRNZXRob2RRdWVyeSA9IHsgcGF5bWVudE1ldGhvZD86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICYgUGF5bWVudE1ldGhvZEZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IENyZWF0ZVBheW1lbnRNZXRob2RJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZVBheW1lbnRNZXRob2RNdXRhdGlvbiA9IHsgY3JlYXRlUGF5bWVudE1ldGhvZDogKFxuICAgIHsgX190eXBlbmFtZT86ICdQYXltZW50TWV0aG9kJyB9XG4gICAgJiBQYXltZW50TWV0aG9kRnJhZ21lbnRcbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVQYXltZW50TWV0aG9kSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb24gPSB7IHVwZGF0ZVBheW1lbnRNZXRob2Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZCcgfVxuICAgICYgUGF5bWVudE1ldGhvZEZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgRGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpZDogU2NhbGFyc1snSUQnXTtcbiAgZm9yY2U/OiBNYXliZTxTY2FsYXJzWydCb29sZWFuJ10+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uID0geyBkZWxldGVQYXltZW50TWV0aG9kOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0RlbGV0aW9uUmVzcG9uc2UnIH1cbiAgICAmIFBpY2s8RGVsZXRpb25SZXNwb25zZSwgJ3Jlc3VsdCcgfCAnbWVzc2FnZSc+XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2xvYmFsU2V0dGluZ3NGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0dsb2JhbFNldHRpbmdzJyB9XG4gICYgUGljazxHbG9iYWxTZXR0aW5ncywgJ2lkJyB8ICdhdmFpbGFibGVMYW5ndWFnZXMnIHwgJ3RyYWNrSW52ZW50b3J5JyB8ICdvdXRPZlN0b2NrVGhyZXNob2xkJz5cbiAgJiB7IHNlcnZlckNvbmZpZzogKFxuICAgIHsgX190eXBlbmFtZT86ICdTZXJ2ZXJDb25maWcnIH1cbiAgICAmIHsgcGVybWlzc2lvbnM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdQZXJtaXNzaW9uRGVmaW5pdGlvbicgfVxuICAgICAgJiBQaWNrPFBlcm1pc3Npb25EZWZpbml0aW9uLCAnbmFtZScgfCAnZGVzY3JpcHRpb24nIHwgJ2Fzc2lnbmFibGUnPlxuICAgICk+LCBvcmRlclByb2Nlc3M6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlclByb2Nlc3NTdGF0ZScgfVxuICAgICAgJiBQaWNrPE9yZGVyUHJvY2Vzc1N0YXRlLCAnbmFtZSc+XG4gICAgKT4gfVxuICApIH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldEdsb2JhbFNldHRpbmdzUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7IFtrZXk6IHN0cmluZ106IG5ldmVyOyB9PjtcblxuXG5leHBvcnQgdHlwZSBHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5ID0geyBnbG9iYWxTZXR0aW5nczogKFxuICAgIHsgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncycgfVxuICAgICYgR2xvYmFsU2V0dGluZ3NGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFVwZGF0ZUdsb2JhbFNldHRpbmdzTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlucHV0OiBVcGRhdGVHbG9iYWxTZXR0aW5nc0lucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsU2V0dGluZ3NNdXRhdGlvbiA9IHsgdXBkYXRlR2xvYmFsU2V0dGluZ3M6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnR2xvYmFsU2V0dGluZ3MnIH1cbiAgICAmIEdsb2JhbFNldHRpbmdzRnJhZ21lbnRcbiAgKSB8IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yJyB9XG4gICAgJiBFcnJvclJlc3VsdF9DaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3JfRnJhZ21lbnRcbiAgKSB9O1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAmIFBpY2s8Qm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICYgUGljazxEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICYgUGljazxGbG9hdEN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgJiBQaWNrPEludEN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgJiBQaWNrPExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICYgUGljazxSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgJiBQaWNrPFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkQ29uZmlnX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIFBpY2s8VGV4dEN1c3RvbUZpZWxkQ29uZmlnLCAnbmFtZScgfCAndHlwZScgfCAnbGlzdCcgfCAncmVhZG9ubHknIHwgJ251bGxhYmxlJyB8ICd1aSc+XG4gICYgeyBkZXNjcmlwdGlvbj86IE1heWJlPEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgJiBQaWNrPExvY2FsaXplZFN0cmluZywgJ2xhbmd1YWdlQ29kZScgfCAndmFsdWUnPlxuICApPj4sIGxhYmVsPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGl6ZWRTdHJpbmcnIH1cbiAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICk+PiB9XG4pO1xuXG5leHBvcnQgdHlwZSBDdXN0b21GaWVsZENvbmZpZ0ZyYWdtZW50ID0gQ3VzdG9tRmllbGRDb25maWdfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZENvbmZpZ19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkQ29uZmlnX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRDb25maWdfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50O1xuXG5leHBvcnQgdHlwZSBTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgJiBQaWNrPFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnLCAncGF0dGVybic+XG4gICYgeyBvcHRpb25zPzogTWF5YmU8QXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdGaWVsZE9wdGlvbicgfVxuICAgICYgUGljazxTdHJpbmdGaWVsZE9wdGlvbiwgJ3ZhbHVlJz5cbiAgICAmIHsgbGFiZWw/OiBNYXliZTxBcnJheTwoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxpemVkU3RyaW5nJyB9XG4gICAgICAmIFBpY2s8TG9jYWxpemVkU3RyaW5nLCAnbGFuZ3VhZ2VDb2RlJyB8ICd2YWx1ZSc+XG4gICAgKT4+IH1cbiAgKT4+IH1cbiAgJiBDdXN0b21GaWVsZENvbmZpZ19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuKTtcblxuZXhwb3J0IHR5cGUgTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICYgUGljazxMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZywgJ3BhdHRlcm4nPlxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4pO1xuXG5leHBvcnQgdHlwZSBUZXh0Q3VzdG9tRmllbGRGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuKTtcblxuZXhwb3J0IHR5cGUgQm9vbGVhbkN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgJiBDdXN0b21GaWVsZENvbmZpZ19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbik7XG5cbmV4cG9ydCB0eXBlIEludEN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIHsgaW50TWluOiBJbnRDdXN0b21GaWVsZENvbmZpZ1snbWluJ10sIGludE1heDogSW50Q3VzdG9tRmllbGRDb25maWdbJ21heCddLCBpbnRTdGVwOiBJbnRDdXN0b21GaWVsZENvbmZpZ1snc3RlcCddIH1cbiAgJiBDdXN0b21GaWVsZENvbmZpZ19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuKTtcblxuZXhwb3J0IHR5cGUgRmxvYXRDdXN0b21GaWVsZEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIHsgZmxvYXRNaW46IEZsb2F0Q3VzdG9tRmllbGRDb25maWdbJ21pbiddLCBmbG9hdE1heDogRmxvYXRDdXN0b21GaWVsZENvbmZpZ1snbWF4J10sIGZsb2F0U3RlcDogRmxvYXRDdXN0b21GaWVsZENvbmZpZ1snc3RlcCddIH1cbiAgJiBDdXN0b21GaWVsZENvbmZpZ19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4pO1xuXG5leHBvcnQgdHlwZSBEYXRlVGltZUN1c3RvbUZpZWxkRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICYgeyBkYXRldGltZU1pbjogRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ1snbWluJ10sIGRhdGV0aW1lTWF4OiBEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnWydtYXgnXSwgZGF0ZXRpbWVTdGVwOiBEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnWydzdGVwJ10gfVxuICAmIEN1c3RvbUZpZWxkQ29uZmlnX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbik7XG5cbmV4cG9ydCB0eXBlIFJlbGF0aW9uQ3VzdG9tRmllbGRGcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgJiBQaWNrPFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcsICdlbnRpdHknIHwgJ3NjYWxhckZpZWxkcyc+XG4gICYgQ3VzdG9tRmllbGRDb25maWdfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuKTtcblxudHlwZSBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICYgQm9vbGVhbkN1c3RvbUZpZWxkRnJhZ21lbnRcbik7XG5cbnR5cGUgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICYgRGF0ZVRpbWVDdXN0b21GaWVsZEZyYWdtZW50XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIEZsb2F0Q3VzdG9tRmllbGRGcmFnbWVudFxuKTtcblxudHlwZSBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIEludEN1c3RvbUZpZWxkRnJhZ21lbnRcbik7XG5cbnR5cGUgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgJiBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50XG4pO1xuXG50eXBlIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxuICAmIFJlbGF0aW9uQ3VzdG9tRmllbGRGcmFnbWVudFxuKTtcblxudHlwZSBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIFN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnRcbik7XG5cbnR5cGUgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAmIFRleHRDdXN0b21GaWVsZEZyYWdtZW50XG4pO1xuXG5leHBvcnQgdHlwZSBDdXN0b21GaWVsZHNGcmFnbWVudCA9IEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudCB8IEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50IHwgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnQgfCBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50O1xuXG5leHBvcnQgdHlwZSBHZXRTZXJ2ZXJDb25maWdRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFNlcnZlckNvbmZpZ1F1ZXJ5ID0geyBnbG9iYWxTZXR0aW5nczogKFxuICAgIHsgX190eXBlbmFtZT86ICdHbG9iYWxTZXR0aW5ncycgfVxuICAgICYgUGljazxHbG9iYWxTZXR0aW5ncywgJ2lkJz5cbiAgICAmIHsgc2VydmVyQ29uZmlnOiAoXG4gICAgICB7IF9fdHlwZW5hbWU/OiAnU2VydmVyQ29uZmlnJyB9XG4gICAgICAmIFBpY2s8U2VydmVyQ29uZmlnLCAncGVybWl0dGVkQXNzZXRUeXBlcyc+XG4gICAgICAmIHsgb3JkZXJQcm9jZXNzOiBBcnJheTwoXG4gICAgICAgIHsgX190eXBlbmFtZT86ICdPcmRlclByb2Nlc3NTdGF0ZScgfVxuICAgICAgICAmIFBpY2s8T3JkZXJQcm9jZXNzU3RhdGUsICduYW1lJyB8ICd0byc+XG4gICAgICApPiwgcGVybWlzc2lvbnM6IEFycmF5PChcbiAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1Blcm1pc3Npb25EZWZpbml0aW9uJyB9XG4gICAgICAgICYgUGljazxQZXJtaXNzaW9uRGVmaW5pdGlvbiwgJ25hbWUnIHwgJ2Rlc2NyaXB0aW9uJyB8ICdhc3NpZ25hYmxlJz5cbiAgICAgICk+LCBjdXN0b21GaWVsZENvbmZpZzogKFxuICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQ3VzdG9tRmllbGRzJyB9XG4gICAgICAgICYgeyBBZGRyZXNzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIEFkbWluaXN0cmF0b3I6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgQXNzZXQ6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgQ2hhbm5lbDogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICk+LCBDb2xsZWN0aW9uOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIENvdW50cnk6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgQ3VzdG9tZXI6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgQ3VzdG9tZXJHcm91cDogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICk+LCBGYWNldDogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICk+LCBGYWNldFZhbHVlOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIEZ1bGZpbGxtZW50OiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIEdsb2JhbFNldHRpbmdzOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIE9yZGVyOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIE9yZGVyTGluZTogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICk+LCBQYXltZW50TWV0aG9kOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIFByb2R1Y3Q6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgUHJvZHVjdE9wdGlvbjogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICk+LCBQcm9kdWN0T3B0aW9uR3JvdXA6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgUHJvZHVjdFZhcmlhbnQ6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgUHJvbW90aW9uOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIFNoaXBwaW5nTWV0aG9kOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIFRheENhdGVnb3J5OiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4sIFRheFJhdGU6IEFycmF5PChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19TdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfSW50Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRmxvYXRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Zsb2F0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19EYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19SZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1RleHRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1RleHRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApPiwgVXNlcjogQXJyYXk8KFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0xvY2FsZVN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnSW50Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19JbnRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdGbG9hdEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRmxvYXRDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Cb29sZWFuQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0RhdGVUaW1lQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX1JlbGF0aW9uQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnVGV4dEN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfVGV4dEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICk+LCBab25lOiBBcnJheTwoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ1N0cmluZ0N1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfU3RyaW5nQ3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKSB8IChcbiAgICAgICAgICB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19Mb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdJbnRDdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0ludEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19GbG9hdEN1c3RvbUZpZWxkQ29uZmlnX0ZyYWdtZW50XG4gICAgICAgICkgfCAoXG4gICAgICAgICAgeyBfX3R5cGVuYW1lPzogJ0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZycgfVxuICAgICAgICAgICYgQ3VzdG9tRmllbGRzX0Jvb2xlYW5DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdEYXRlVGltZUN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9XG4gICAgICAgICAgJiBDdXN0b21GaWVsZHNfUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZ19GcmFnbWVudFxuICAgICAgICApIHwgKFxuICAgICAgICAgIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH1cbiAgICAgICAgICAmIEN1c3RvbUZpZWxkc19UZXh0Q3VzdG9tRmllbGRDb25maWdfRnJhZ21lbnRcbiAgICAgICAgKT4gfVxuICAgICAgKSB9XG4gICAgKSB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgSm9iSW5mb0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XG4gICYgUGljazxKb2IsICdpZCcgfCAnY3JlYXRlZEF0JyB8ICdzdGFydGVkQXQnIHwgJ3NldHRsZWRBdCcgfCAncXVldWVOYW1lJyB8ICdzdGF0ZScgfCAnaXNTZXR0bGVkJyB8ICdwcm9ncmVzcycgfCAnZHVyYXRpb24nIHwgJ2RhdGEnIHwgJ3Jlc3VsdCcgfCAnZXJyb3InIHwgJ3JldHJpZXMnIHwgJ2F0dGVtcHRzJz5cbik7XG5cbmV4cG9ydCB0eXBlIEdldEpvYkluZm9RdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWQ6IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRKb2JJbmZvUXVlcnkgPSB7IGpvYj86IE1heWJlPChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iJyB9XG4gICAgJiBKb2JJbmZvRnJhZ21lbnRcbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgR2V0QWxsSm9ic1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8Sm9iTGlzdE9wdGlvbnM+O1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0QWxsSm9ic1F1ZXJ5ID0geyBqb2JzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0pvYkxpc3QnIH1cbiAgICAmIFBpY2s8Sm9iTGlzdCwgJ3RvdGFsSXRlbXMnPlxuICAgICYgeyBpdGVtczogQXJyYXk8KFxuICAgICAgeyBfX3R5cGVuYW1lPzogJ0pvYicgfVxuICAgICAgJiBKb2JJbmZvRnJhZ21lbnRcbiAgICApPiB9XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgR2V0Sm9ic0J5SWRRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaWRzOiBBcnJheTxTY2FsYXJzWydJRCddPiB8IFNjYWxhcnNbJ0lEJ107XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRKb2JzQnlJZFF1ZXJ5ID0geyBqb2JzQnlJZDogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cbiAgICAmIEpvYkluZm9GcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBHZXRKb2JRdWV1ZUxpc3RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldEpvYlF1ZXVlTGlzdFF1ZXJ5ID0geyBqb2JRdWV1ZXM6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnSm9iUXVldWUnIH1cbiAgICAmIFBpY2s8Sm9iUXVldWUsICduYW1lJyB8ICdydW5uaW5nJz5cbiAgKT4gfTtcblxuZXhwb3J0IHR5cGUgQ2FuY2VsSm9iTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgQ2FuY2VsSm9iTXV0YXRpb24gPSB7IGNhbmNlbEpvYjogKFxuICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cbiAgICAmIEpvYkluZm9GcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIFJlaW5kZXhNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIFJlaW5kZXhNdXRhdGlvbiA9IHsgcmVpbmRleDogKFxuICAgIHsgX190eXBlbmFtZT86ICdKb2InIH1cbiAgICAmIEpvYkluZm9GcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIEdldFBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNRdWVyeSA9IFBpY2s8UXVlcnksICdwZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzJz47XG5cbmV4cG9ydCB0eXBlIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHsgW2tleTogc3RyaW5nXTogbmV2ZXI7IH0+O1xuXG5cbmV4cG9ydCB0eXBlIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvbiA9IHsgcnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlczogKFxuICAgIHsgX190eXBlbmFtZT86ICdTdWNjZXNzJyB9XG4gICAgJiBQaWNrPFN1Y2Nlc3MsICdzdWNjZXNzJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBDb25maWd1cmFibGVPcGVyYXRpb25GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxuICAmIFBpY2s8Q29uZmlndXJhYmxlT3BlcmF0aW9uLCAnY29kZSc+XG4gICYgeyBhcmdzOiBBcnJheTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ0FyZycgfVxuICAgICYgUGljazxDb25maWdBcmcsICduYW1lJyB8ICd2YWx1ZSc+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbicgfVxuICAmIFBpY2s8Q29uZmlndXJhYmxlT3BlcmF0aW9uRGVmaW5pdGlvbiwgJ2NvZGUnIHwgJ2Rlc2NyaXB0aW9uJz5cbiAgJiB7IGFyZ3M6IEFycmF5PChcbiAgICB7IF9fdHlwZW5hbWU/OiAnQ29uZmlnQXJnRGVmaW5pdGlvbicgfVxuICAgICYgUGljazxDb25maWdBcmdEZWZpbml0aW9uLCAnbmFtZScgfCAndHlwZScgfCAncmVxdWlyZWQnIHwgJ2RlZmF1bHRWYWx1ZScgfCAnbGlzdCcgfCAndWknIHwgJ2xhYmVsJz5cbiAgKT4gfVxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9BbHJlYWR5UmVmdW5kZWRFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0FscmVhZHlSZWZ1bmRlZEVycm9yJyB9XG4gICYgUGljazxBbHJlYWR5UmVmdW5kZWRFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X0NhbmNlbEFjdGl2ZU9yZGVyRXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdDYW5jZWxBY3RpdmVPcmRlckVycm9yJyB9XG4gICYgUGljazxDYW5jZWxBY3RpdmVPcmRlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQ2hhbm5lbERlZmF1bHRMYW5ndWFnZUVycm9yJyB9XG4gICYgUGljazxDaGFubmVsRGVmYXVsdExhbmd1YWdlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9Db3Vwb25Db2RlRXhwaXJlZEVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQ291cG9uQ29kZUV4cGlyZWRFcnJvcicgfVxuICAmIFBpY2s8Q291cG9uQ29kZUV4cGlyZWRFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X0NvdXBvbkNvZGVJbnZhbGlkRXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlSW52YWxpZEVycm9yJyB9XG4gICYgUGljazxDb3Vwb25Db2RlSW52YWxpZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUxpbWl0RXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdDb3Vwb25Db2RlTGltaXRFcnJvcicgfVxuICAmIFBpY2s8Q291cG9uQ29kZUxpbWl0RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9DcmVhdGVGdWxmaWxsbWVudEVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcicgfVxuICAmIFBpY2s8Q3JlYXRlRnVsZmlsbG1lbnRFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X0VtYWlsQWRkcmVzc0NvbmZsaWN0RXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yJyB9XG4gICYgUGljazxFbWFpbEFkZHJlc3NDb25mbGljdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfRW1wdHlPcmRlckxpbmVTZWxlY3Rpb25FcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3InIH1cbiAgJiBQaWNrPEVtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9GdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfVxuICAmIFBpY2s8RnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrRXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdJbnN1ZmZpY2llbnRTdG9ja0Vycm9yJyB9XG4gICYgUGljazxJbnN1ZmZpY2llbnRTdG9ja0Vycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tPbkhhbmRFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3InIH1cbiAgJiBQaWNrPEluc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9JbnZhbGlkQ3JlZGVudGlhbHNFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRDcmVkZW50aWFsc0Vycm9yJyB9XG4gICYgUGljazxJbnZhbGlkQ3JlZGVudGlhbHNFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcicgfVxuICAmIFBpY2s8SW52YWxpZEZ1bGZpbGxtZW50SGFuZGxlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfSXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdJdGVtc0FscmVhZHlGdWxmaWxsZWRFcnJvcicgfVxuICAmIFBpY2s8SXRlbXNBbHJlYWR5RnVsZmlsbGVkRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9MYW5ndWFnZU5vdEF2YWlsYWJsZUVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcicgfVxuICAmIFBpY2s8TGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X01hbnVhbFBheW1lbnRTdGF0ZUVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTWFudWFsUGF5bWVudFN0YXRlRXJyb3InIH1cbiAgJiBQaWNrPE1hbnVhbFBheW1lbnRTdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfTWltZVR5cGVFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ01pbWVUeXBlRXJyb3InIH1cbiAgJiBQaWNrPE1pbWVUeXBlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9NaXNzaW5nQ29uZGl0aW9uc0Vycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTWlzc2luZ0NvbmRpdGlvbnNFcnJvcicgfVxuICAmIFBpY2s8TWlzc2luZ0NvbmRpdGlvbnNFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X011bHRpcGxlT3JkZXJFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ011bHRpcGxlT3JkZXJFcnJvcicgfVxuICAmIFBpY2s8TXVsdGlwbGVPcmRlckVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfTmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcicgfVxuICAmIFBpY2s8TmF0aXZlQXV0aFN0cmF0ZWd5RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9OZWdhdGl2ZVF1YW50aXR5RXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdOZWdhdGl2ZVF1YW50aXR5RXJyb3InIH1cbiAgJiBQaWNrPE5lZ2F0aXZlUXVhbnRpdHlFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X05vQ2hhbmdlc1NwZWNpZmllZEVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnTm9DaGFuZ2VzU3BlY2lmaWVkRXJyb3InIH1cbiAgJiBQaWNrPE5vQ2hhbmdlc1NwZWNpZmllZEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdOb3RoaW5nVG9SZWZ1bmRFcnJvcicgfVxuICAmIFBpY2s8Tm90aGluZ1RvUmVmdW5kRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdPcmRlckxpbWl0RXJyb3InIH1cbiAgJiBQaWNrPE9yZGVyTGltaXRFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X09yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyTW9kaWZpY2F0aW9uU3RhdGVFcnJvcicgfVxuICAmIFBpY2s8T3JkZXJNb2RpZmljYXRpb25TdGF0ZUVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ09yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cbiAgJiBQaWNrPE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9QYXltZW50TWV0aG9kTWlzc2luZ0Vycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcicgfVxuICAmIFBpY2s8UGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yJyB9XG4gICYgUGljazxQYXltZW50T3JkZXJNaXNtYXRjaEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9XG4gICYgUGljazxQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9Qcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1Byb2R1Y3RPcHRpb25JblVzZUVycm9yJyB9XG4gICYgUGljazxQcm9kdWN0T3B0aW9uSW5Vc2VFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X1F1YW50aXR5VG9vR3JlYXRFcnJvcl9GcmFnbWVudCA9IChcbiAgeyBfX3R5cGVuYW1lPzogJ1F1YW50aXR5VG9vR3JlYXRFcnJvcicgfVxuICAmIFBpY2s8UXVhbnRpdHlUb29HcmVhdEVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfUmVmdW5kT3JkZXJTdGF0ZUVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kT3JkZXJTdGF0ZUVycm9yJyB9XG4gICYgUGljazxSZWZ1bmRPcmRlclN0YXRlRXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxudHlwZSBFcnJvclJlc3VsdF9SZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3JfRnJhZ21lbnQgPSAoXG4gIHsgX190eXBlbmFtZT86ICdSZWZ1bmRQYXltZW50SWRNaXNzaW5nRXJyb3InIH1cbiAgJiBQaWNrPFJlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvciwgJ2Vycm9yQ29kZScgfCAnbWVzc2FnZSc+XG4pO1xuXG50eXBlIEVycm9yUmVzdWx0X1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnUmVmdW5kU3RhdGVUcmFuc2l0aW9uRXJyb3InIH1cbiAgJiBQaWNrPFJlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yLCAnZXJyb3JDb2RlJyB8ICdtZXNzYWdlJz5cbik7XG5cbnR5cGUgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnU2V0dGxlUGF5bWVudEVycm9yJyB9XG4gICYgUGljazxTZXR0bGVQYXltZW50RXJyb3IsICdlcnJvckNvZGUnIHwgJ21lc3NhZ2UnPlxuKTtcblxuZXhwb3J0IHR5cGUgRXJyb3JSZXN1bHRGcmFnbWVudCA9IEVycm9yUmVzdWx0X0FscmVhZHlSZWZ1bmRlZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfQ2FuY2VsQWN0aXZlT3JkZXJFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NoYW5uZWxEZWZhdWx0TGFuZ3VhZ2VFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0NvdXBvbkNvZGVFeHBpcmVkRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9Db3Vwb25Db2RlSW52YWxpZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfQ291cG9uQ29kZUxpbWl0RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9DcmVhdGVGdWxmaWxsbWVudEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfRW1haWxBZGRyZXNzQ29uZmxpY3RFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0VtcHR5T3JkZXJMaW5lU2VsZWN0aW9uRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9GdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfSW5zdWZmaWNpZW50U3RvY2tFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0luc3VmZmljaWVudFN0b2NrT25IYW5kRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9JbnZhbGlkQ3JlZGVudGlhbHNFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0ludmFsaWRGdWxmaWxsbWVudEhhbmRsZXJFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X0l0ZW1zQWxyZWFkeUZ1bGZpbGxlZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTGFuZ3VhZ2VOb3RBdmFpbGFibGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X01hbnVhbFBheW1lbnRTdGF0ZUVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTWltZVR5cGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X01pc3NpbmdDb25kaXRpb25zRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9NdWx0aXBsZU9yZGVyRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9OYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05lZ2F0aXZlUXVhbnRpdHlFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X05vQ2hhbmdlc1NwZWNpZmllZEVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfTm90aGluZ1RvUmVmdW5kRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlckxpbWl0RXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlck1vZGlmaWNhdGlvblN0YXRlRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9PcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfUGF5bWVudE1ldGhvZE1pc3NpbmdFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1BheW1lbnRPcmRlck1pc21hdGNoRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9QYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3JfRnJhZ21lbnQgfCBFcnJvclJlc3VsdF9Qcm9kdWN0T3B0aW9uSW5Vc2VFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1F1YW50aXR5VG9vR3JlYXRFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZE9yZGVyU3RhdGVFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZFBheW1lbnRJZE1pc3NpbmdFcnJvcl9GcmFnbWVudCB8IEVycm9yUmVzdWx0X1JlZnVuZFN0YXRlVHJhbnNpdGlvbkVycm9yX0ZyYWdtZW50IHwgRXJyb3JSZXN1bHRfU2V0dGxlUGF5bWVudEVycm9yX0ZyYWdtZW50O1xuXG5leHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZEZyYWdtZW50ID0gKFxuICB7IF9fdHlwZW5hbWU/OiAnU2hpcHBpbmdNZXRob2QnIH1cbiAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kLCAnaWQnIHwgJ2NyZWF0ZWRBdCcgfCAndXBkYXRlZEF0JyB8ICdjb2RlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbicgfCAnZnVsZmlsbG1lbnRIYW5kbGVyQ29kZSc+XG4gICYgeyBjaGVja2VyOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ0NvbmZpZ3VyYWJsZU9wZXJhdGlvbicgfVxuICAgICYgQ29uZmlndXJhYmxlT3BlcmF0aW9uRnJhZ21lbnRcbiAgKSwgY2FsY3VsYXRvcjogKFxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb24nIH1cbiAgICAmIENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50XG4gICksIHRyYW5zbGF0aW9uczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFRyYW5zbGF0aW9uJyB9XG4gICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kVHJhbnNsYXRpb24sICdpZCcgfCAnbGFuZ3VhZ2VDb2RlJyB8ICduYW1lJyB8ICdkZXNjcmlwdGlvbic+XG4gICk+IH1cbik7XG5cbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8e1xuICBvcHRpb25zPzogTWF5YmU8U2hpcHBpbmdNZXRob2RMaXN0T3B0aW9ucz47XG59PjtcblxuXG5leHBvcnQgdHlwZSBHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeSA9IHsgc2hpcHBpbmdNZXRob2RzOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kTGlzdCcgfVxuICAgICYgUGljazxTaGlwcGluZ01ldGhvZExpc3QsICd0b3RhbEl0ZW1zJz5cbiAgICAmIHsgaXRlbXM6IEFycmF5PChcbiAgICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZCcgfVxuICAgICAgJiBTaGlwcGluZ01ldGhvZEZyYWdtZW50XG4gICAgKT4gfVxuICApIH07XG5cbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kUXVlcnlWYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RRdWVyeSA9IHsgc2hpcHBpbmdNZXRob2Q/OiBNYXliZTwoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XG4gICAgJiBTaGlwcGluZ01ldGhvZEZyYWdtZW50XG4gICk+IH07XG5cbmV4cG9ydCB0eXBlIEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9uc1F1ZXJ5VmFyaWFibGVzID0gRXhhY3Q8eyBba2V5OiBzdHJpbmddOiBuZXZlcjsgfT47XG5cblxuZXhwb3J0IHR5cGUgR2V0U2hpcHBpbmdNZXRob2RPcGVyYXRpb25zUXVlcnkgPSB7IHNoaXBwaW5nRWxpZ2liaWxpdHlDaGVja2VyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxuICApPiwgc2hpcHBpbmdDYWxjdWxhdG9yczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxuICApPiwgZnVsZmlsbG1lbnRIYW5kbGVyczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdDb25maWd1cmFibGVPcGVyYXRpb25EZWZpbml0aW9uJyB9XG4gICAgJiBDb25maWd1cmFibGVPcGVyYXRpb25EZWZGcmFnbWVudFxuICApPiB9O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzID0gRXhhY3Q8e1xuICBpbnB1dDogQ3JlYXRlU2hpcHBpbmdNZXRob2RJbnB1dDtcbn0+O1xuXG5cbmV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb24gPSB7IGNyZWF0ZVNoaXBwaW5nTWV0aG9kOiAoXG4gICAgeyBfX3R5cGVuYW1lPzogJ1NoaXBwaW5nTWV0aG9kJyB9XG4gICAgJiBTaGlwcGluZ01ldGhvZEZyYWdtZW50XG4gICkgfTtcblxuZXhwb3J0IHR5cGUgVXBkYXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvblZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFVwZGF0ZVNoaXBwaW5nTWV0aG9kSW5wdXQ7XG59PjtcblxuXG5leHBvcnQgdHlwZSBVcGRhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uID0geyB1cGRhdGVTaGlwcGluZ01ldGhvZDogKFxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZCcgfVxuICAgICYgU2hpcHBpbmdNZXRob2RGcmFnbWVudFxuICApIH07XG5cbmV4cG9ydCB0eXBlIERlbGV0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXMgPSBFeGFjdDx7XG4gIGlkOiBTY2FsYXJzWydJRCddO1xufT47XG5cblxuZXhwb3J0IHR5cGUgRGVsZXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvbiA9IHsgZGVsZXRlU2hpcHBpbmdNZXRob2Q6IChcbiAgICB7IF9fdHlwZW5hbWU/OiAnRGVsZXRpb25SZXNwb25zZScgfVxuICAgICYgUGljazxEZWxldGlvblJlc3BvbnNlLCAncmVzdWx0JyB8ICdtZXNzYWdlJz5cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBUZXN0U2hpcHBpbmdNZXRob2RRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFRlc3RTaGlwcGluZ01ldGhvZElucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVGVzdFNoaXBwaW5nTWV0aG9kUXVlcnkgPSB7IHRlc3RTaGlwcGluZ01ldGhvZDogKFxuICAgIHsgX190eXBlbmFtZT86ICdUZXN0U2hpcHBpbmdNZXRob2RSZXN1bHQnIH1cbiAgICAmIFBpY2s8VGVzdFNoaXBwaW5nTWV0aG9kUmVzdWx0LCAnZWxpZ2libGUnPlxuICAgICYgeyBxdW90ZT86IE1heWJlPChcbiAgICAgIHsgX190eXBlbmFtZT86ICdUZXN0U2hpcHBpbmdNZXRob2RRdW90ZScgfVxuICAgICAgJiBQaWNrPFRlc3RTaGlwcGluZ01ldGhvZFF1b3RlLCAncHJpY2UnIHwgJ3ByaWNlV2l0aFRheCcgfCAnbWV0YWRhdGEnPlxuICAgICk+IH1cbiAgKSB9O1xuXG5leHBvcnQgdHlwZSBUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVZhcmlhYmxlcyA9IEV4YWN0PHtcbiAgaW5wdXQ6IFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0lucHV0O1xufT47XG5cblxuZXhwb3J0IHR5cGUgVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnkgPSB7IHRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kczogQXJyYXk8KFxuICAgIHsgX190eXBlbmFtZT86ICdTaGlwcGluZ01ldGhvZFF1b3RlJyB9XG4gICAgJiBQaWNrPFNoaXBwaW5nTWV0aG9kUXVvdGUsICdpZCcgfCAnbmFtZScgfCAnY29kZScgfCAnZGVzY3JpcHRpb24nIHwgJ3ByaWNlJyB8ICdwcmljZVdpdGhUYXgnIHwgJ21ldGFkYXRhJz5cbiAgKT4gfTtcblxudHlwZSBEaXNjcmltaW5hdGVVbmlvbjxULCBVPiA9IFQgZXh0ZW5kcyBVID8gVCA6IG5ldmVyO1xuXG5leHBvcnQgbmFtZXNwYWNlIFJvbGUge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFJvbGVGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Um9sZUZyYWdtZW50WydjaGFubmVscyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRtaW5pc3RyYXRvciB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQWRtaW5pc3RyYXRvckZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBVc2VyID0gKE5vbk51bGxhYmxlPEFkbWluaXN0cmF0b3JGcmFnbWVudFsndXNlciddPik7XG4gIGV4cG9ydCB0eXBlIFJvbGVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxBZG1pbmlzdHJhdG9yRnJhZ21lbnRbJ3VzZXInXT4pWydyb2xlcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0QWRtaW5pc3RyYXRvcnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBZG1pbmlzdHJhdG9yc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFkbWluaXN0cmF0b3JzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3JzID0gKE5vbk51bGxhYmxlPEdldEFkbWluaXN0cmF0b3JzUXVlcnlbJ2FkbWluaXN0cmF0b3JzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEFkbWluaXN0cmF0b3JzUXVlcnlbJ2FkbWluaXN0cmF0b3JzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEFjdGl2ZUFkbWluaXN0cmF0b3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBY3RpdmVBZG1pbmlzdHJhdG9yUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWN0aXZlQWRtaW5pc3RyYXRvclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBBY3RpdmVBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPEdldEFjdGl2ZUFkbWluaXN0cmF0b3JRdWVyeVsnYWN0aXZlQWRtaW5pc3RyYXRvciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0QWRtaW5pc3RyYXRvciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFkbWluaXN0cmF0b3JRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRBZG1pbmlzdHJhdG9yUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8R2V0QWRtaW5pc3RyYXRvclF1ZXJ5WydhZG1pbmlzdHJhdG9yJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVBZG1pbmlzdHJhdG9yIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxDcmVhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25bJ2NyZWF0ZUFkbWluaXN0cmF0b3InXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUFkbWluaXN0cmF0b3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVBZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQWRtaW5pc3RyYXRvck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVBZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPFVwZGF0ZUFkbWluaXN0cmF0b3JNdXRhdGlvblsndXBkYXRlQWRtaW5pc3RyYXRvciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3JNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUFjdGl2ZUFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8VXBkYXRlQWN0aXZlQWRtaW5pc3RyYXRvck11dGF0aW9uWyd1cGRhdGVBY3RpdmVBZG1pbmlzdHJhdG9yJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVBZG1pbmlzdHJhdG9yIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQWRtaW5pc3RyYXRvck11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUFkbWluaXN0cmF0b3JNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxEZWxldGVBZG1pbmlzdHJhdG9yTXV0YXRpb25bJ2RlbGV0ZUFkbWluaXN0cmF0b3InXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFJvbGVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Um9sZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRSb2xlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBSb2xlcyA9IChOb25OdWxsYWJsZTxHZXRSb2xlc1F1ZXJ5Wydyb2xlcyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRSb2xlc1F1ZXJ5Wydyb2xlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRSb2xlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Um9sZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFJvbGVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgUm9sZSA9IChOb25OdWxsYWJsZTxHZXRSb2xlUXVlcnlbJ3JvbGUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVJvbGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVSb2xlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlUm9sZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVSb2xlID0gKE5vbk51bGxhYmxlPENyZWF0ZVJvbGVNdXRhdGlvblsnY3JlYXRlUm9sZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUm9sZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVJvbGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVSb2xlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVJvbGUgPSAoTm9uTnVsbGFibGU8VXBkYXRlUm9sZU11dGF0aW9uWyd1cGRhdGVSb2xlJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVSb2xlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUm9sZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVJvbGVNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlUm9sZSA9IChOb25OdWxsYWJsZTxEZWxldGVSb2xlTXV0YXRpb25bJ2RlbGV0ZVJvbGUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBc3NpZ25Sb2xlVG9BZG1pbmlzdHJhdG9yID0gKE5vbk51bGxhYmxlPEFzc2lnblJvbGVUb0FkbWluaXN0cmF0b3JNdXRhdGlvblsnYXNzaWduUm9sZVRvQWRtaW5pc3RyYXRvciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3VycmVudFVzZXIge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEN1cnJlbnRVc2VyRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEN1cnJlbnRVc2VyRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBdHRlbXB0TG9naW4ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBdHRlbXB0TG9naW5NdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBdHRlbXB0TG9naW5NdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgTG9naW4gPSAoTm9uTnVsbGFibGU8QXR0ZW1wdExvZ2luTXV0YXRpb25bJ2xvZ2luJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBMb2dPdXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBMb2dPdXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBMb2dPdXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgTG9nb3V0ID0gKE5vbk51bGxhYmxlPExvZ091dE11dGF0aW9uWydsb2dvdXQnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1cnJlbnRVc2VyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VycmVudFVzZXJRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXJyZW50VXNlclF1ZXJ5O1xuICBleHBvcnQgdHlwZSBNZSA9IChOb25OdWxsYWJsZTxHZXRDdXJyZW50VXNlclF1ZXJ5WydtZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVxdWVzdFN0YXJ0ZWQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZXF1ZXN0U3RhcnRlZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlcXVlc3RTdGFydGVkTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVxdWVzdENvbXBsZXRlZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlcXVlc3RDb21wbGV0ZWRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZXF1ZXN0Q29tcGxldGVkTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXNlclN0YXR1cyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVXNlclN0YXR1c0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVc2VyU3RhdHVzRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTZXRBc0xvZ2dlZEluIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QXNMb2dnZWRJbk11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldEFzTG9nZ2VkSW5NdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgU2V0QXNMb2dnZWRJbiA9IChOb25OdWxsYWJsZTxTZXRBc0xvZ2dlZEluTXV0YXRpb25bJ3NldEFzTG9nZ2VkSW4nXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldEFzTG9nZ2VkT3V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0QXNMb2dnZWRPdXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRBc0xvZ2dlZE91dE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRBc0xvZ2dlZE91dCA9IChOb25OdWxsYWJsZTxTZXRBc0xvZ2dlZE91dE11dGF0aW9uWydzZXRBc0xvZ2dlZE91dCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0VWlMYW5ndWFnZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVpTGFuZ3VhZ2VNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRVaUxhbmd1YWdlTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0VWlMb2NhbGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXRVaUxvY2FsZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldFVpTG9jYWxlTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0RGlzcGxheVVpRXh0ZW5zaW9uUG9pbnRzTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0Q29udGVudExhbmd1YWdlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2V0Q29udGVudExhbmd1YWdlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0Q29udGVudExhbmd1YWdlTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0VWlUaGVtZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldFVpVGhlbWVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRVaVRoZW1lTXV0YXRpb247XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0TmV0d29ya1N0YXR1cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE5ldHdvcmtTdGF0dXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXROZXR3b3JrU3RhdHVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIE5ldHdvcmtTdGF0dXMgPSAoTm9uTnVsbGFibGU8R2V0TmV0d29ya1N0YXR1c1F1ZXJ5WyduZXR3b3JrU3RhdHVzJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRVc2VyU3RhdHVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VXNlclN0YXR1c1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFVzZXJTdGF0dXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgVXNlclN0YXR1cyA9IChOb25OdWxsYWJsZTxHZXRVc2VyU3RhdHVzUXVlcnlbJ3VzZXJTdGF0dXMnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFVpU3RhdGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRVaVN0YXRlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VWlTdGF0ZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBVaVN0YXRlID0gKE5vbk51bGxhYmxlPEdldFVpU3RhdGVRdWVyeVsndWlTdGF0ZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q2xpZW50U3RhdGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDbGllbnRTdGF0ZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENsaWVudFN0YXRlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIE5ldHdvcmtTdGF0dXMgPSAoTm9uTnVsbGFibGU8R2V0Q2xpZW50U3RhdGVRdWVyeVsnbmV0d29ya1N0YXR1cyddPik7XG4gIGV4cG9ydCB0eXBlIFVzZXJTdGF0dXMgPSAoTm9uTnVsbGFibGU8R2V0Q2xpZW50U3RhdGVRdWVyeVsndXNlclN0YXR1cyddPik7XG4gIGV4cG9ydCB0eXBlIFVpU3RhdGUgPSAoTm9uTnVsbGFibGU8R2V0Q2xpZW50U3RhdGVRdWVyeVsndWlTdGF0ZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU2V0QWN0aXZlQ2hhbm5lbCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldEFjdGl2ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBTZXRBY3RpdmVDaGFubmVsTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFNldEFjdGl2ZUNoYW5uZWwgPSAoTm9uTnVsbGFibGU8U2V0QWN0aXZlQ2hhbm5lbE11dGF0aW9uWydzZXRBY3RpdmVDaGFubmVsJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVVc2VyQ2hhbm5lbHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVVc2VyQ2hhbm5lbHNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlVXNlckNoYW5uZWxzID0gKE5vbk51bGxhYmxlPFVwZGF0ZVVzZXJDaGFubmVsc011dGF0aW9uWyd1cGRhdGVVc2VyQ2hhbm5lbHMnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvbGxlY3Rpb25GaWx0ZXJzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29sbGVjdGlvbkZpbHRlcnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBDb2xsZWN0aW9uRmlsdGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uRmlsdGVyc1F1ZXJ5Wydjb2xsZWN0aW9uRmlsdGVycyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29sbGVjdGlvbiB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ29sbGVjdGlvbkZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPENvbGxlY3Rpb25GcmFnbWVudFsnZmVhdHVyZWRBc3NldCddPik7XG4gIGV4cG9ydCB0eXBlIEFzc2V0cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb2xsZWN0aW9uRnJhZ21lbnRbJ2Fzc2V0cyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEZpbHRlcnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50WydmaWx0ZXJzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENvbGxlY3Rpb25GcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUGFyZW50ID0gKE5vbk51bGxhYmxlPENvbGxlY3Rpb25GcmFnbWVudFsncGFyZW50J10+KTtcbiAgZXhwb3J0IHR5cGUgQ2hpbGRyZW4gPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q29sbGVjdGlvbkZyYWdtZW50WydjaGlsZHJlbiddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29sbGVjdGlvbkxpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbGxlY3Rpb25MaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIENvbGxlY3Rpb25zID0gKE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25MaXN0UXVlcnlbJ2NvbGxlY3Rpb25zJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25MaXN0UXVlcnlbJ2NvbGxlY3Rpb25zJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkxpc3RRdWVyeVsnY29sbGVjdGlvbnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZlYXR1cmVkQXNzZXQnXT4pO1xuICBleHBvcnQgdHlwZSBQYXJlbnQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uTGlzdFF1ZXJ5Wydjb2xsZWN0aW9ucyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncGFyZW50J10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDb2xsZWN0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29sbGVjdGlvblF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvbGxlY3Rpb25RdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uUXVlcnlbJ2NvbGxlY3Rpb24nXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUNvbGxlY3Rpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ29sbGVjdGlvbk11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVDb2xsZWN0aW9uID0gKE5vbk51bGxhYmxlPENyZWF0ZUNvbGxlY3Rpb25NdXRhdGlvblsnY3JlYXRlQ29sbGVjdGlvbiddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ29sbGVjdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUNvbGxlY3Rpb25NdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDb2xsZWN0aW9uTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8VXBkYXRlQ29sbGVjdGlvbk11dGF0aW9uWyd1cGRhdGVDb2xsZWN0aW9uJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBNb3ZlQ29sbGVjdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IE1vdmVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gTW92ZUNvbGxlY3Rpb25NdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgTW92ZUNvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8TW92ZUNvbGxlY3Rpb25NdXRhdGlvblsnbW92ZUNvbGxlY3Rpb24nXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUNvbGxlY3Rpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVDb2xsZWN0aW9uTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ29sbGVjdGlvbk11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVDb2xsZWN0aW9uID0gKE5vbk51bGxhYmxlPERlbGV0ZUNvbGxlY3Rpb25NdXRhdGlvblsnZGVsZXRlQ29sbGVjdGlvbiddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q29sbGVjdGlvbkNvbnRlbnRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIENvbGxlY3Rpb24gPSAoTm9uTnVsbGFibGU8R2V0Q29sbGVjdGlvbkNvbnRlbnRzUXVlcnlbJ2NvbGxlY3Rpb24nXT4pO1xuICBleHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudHMgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldENvbGxlY3Rpb25Db250ZW50c1F1ZXJ5Wydjb2xsZWN0aW9uJ10+KVsncHJvZHVjdFZhcmlhbnRzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDb2xsZWN0aW9uQ29udGVudHNRdWVyeVsnY29sbGVjdGlvbiddPilbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBBZGRyZXNzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIENvdW50cnkgPSAoTm9uTnVsbGFibGU8QWRkcmVzc0ZyYWdtZW50Wydjb3VudHJ5J10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDdXN0b21lciB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VzdG9tZXJGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgVXNlciA9IChOb25OdWxsYWJsZTxDdXN0b21lckZyYWdtZW50Wyd1c2VyJ10+KTtcbiAgZXhwb3J0IHR5cGUgQWRkcmVzc2VzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEN1c3RvbWVyRnJhZ21lbnRbJ2FkZHJlc3NlcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3VzdG9tZXJHcm91cCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VzdG9tZXJHcm91cEZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVyTGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyTGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEN1c3RvbWVyTGlzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBDdXN0b21lcnMgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJMaXN0UXVlcnlbJ2N1c3RvbWVycyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckxpc3RRdWVyeVsnY3VzdG9tZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBVc2VyID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJMaXN0UXVlcnlbJ2N1c3RvbWVycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsndXNlciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q3VzdG9tZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXN0b21lclF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEN1c3RvbWVyUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyID0gKE5vbk51bGxhYmxlPEdldEN1c3RvbWVyUXVlcnlbJ2N1c3RvbWVyJ10+KTtcbiAgZXhwb3J0IHR5cGUgR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lclF1ZXJ5WydjdXN0b21lciddPilbJ2dyb3VwcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIE9yZGVycyA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJRdWVyeVsnY3VzdG9tZXInXT4pWydvcmRlcnMnXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldEN1c3RvbWVyUXVlcnlbJ2N1c3RvbWVyJ10+KVsnb3JkZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUN1c3RvbWVyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlQ3VzdG9tZXJNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVDdXN0b21lck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lciA9IChOb25OdWxsYWJsZTxDcmVhdGVDdXN0b21lck11dGF0aW9uWydjcmVhdGVDdXN0b21lciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVDdXN0b21lck11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUN1c3RvbWVyTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyID0gKE5vbk51bGxhYmxlPFVwZGF0ZUN1c3RvbWVyTXV0YXRpb25bJ3VwZGF0ZUN1c3RvbWVyJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUN1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ3VzdG9tZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8RGVsZXRlQ3VzdG9tZXJNdXRhdGlvblsnZGVsZXRlQ3VzdG9tZXInXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUN1c3RvbWVyQWRkcmVzcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckFkZHJlc3MgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25bJ2NyZWF0ZUN1c3RvbWVyQWRkcmVzcyddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlQ3VzdG9tZXJBZGRyZXNzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyQWRkcmVzcyA9IChOb25OdWxsYWJsZTxVcGRhdGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblsndXBkYXRlQ3VzdG9tZXJBZGRyZXNzJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lckFkZHJlc3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVDdXN0b21lckFkZHJlc3NNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVDdXN0b21lckFkZHJlc3NNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJBZGRyZXNzID0gKE5vbk51bGxhYmxlPERlbGV0ZUN1c3RvbWVyQWRkcmVzc011dGF0aW9uWydkZWxldGVDdXN0b21lckFkZHJlc3MnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUN1c3RvbWVyR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVDdXN0b21lckdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVDdXN0b21lckdyb3VwID0gKE5vbk51bGxhYmxlPENyZWF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblsnY3JlYXRlQ3VzdG9tZXJHcm91cCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ3VzdG9tZXJHcm91cCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDdXN0b21lckdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUN1c3RvbWVyR3JvdXAgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uWyd1cGRhdGVDdXN0b21lckdyb3VwJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDdXN0b21lckdyb3VwIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ3VzdG9tZXJHcm91cE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUN1c3RvbWVyR3JvdXBNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ3VzdG9tZXJHcm91cCA9IChOb25OdWxsYWJsZTxEZWxldGVDdXN0b21lckdyb3VwTXV0YXRpb25bJ2RlbGV0ZUN1c3RvbWVyR3JvdXAnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEN1c3RvbWVyR3JvdXBzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q3VzdG9tZXJHcm91cHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBDdXN0b21lckdyb3VwcyA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5WydjdXN0b21lckdyb3VwcyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3Vwc1F1ZXJ5WydjdXN0b21lckdyb3VwcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVycyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEN1c3RvbWVyR3JvdXBXaXRoQ3VzdG9tZXJzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q3VzdG9tZXJHcm91cFdpdGhDdXN0b21lcnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXJHcm91cCA9IChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5WydjdXN0b21lckdyb3VwJ10+KTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXJzID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5WydjdXN0b21lckdyb3VwJ10+KVsnY3VzdG9tZXJzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckdyb3VwV2l0aEN1c3RvbWVyc1F1ZXJ5WydjdXN0b21lckdyb3VwJ10+KVsnY3VzdG9tZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZEN1c3RvbWVyc1RvR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRDdXN0b21lcnNUb0dyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkQ3VzdG9tZXJzVG9Hcm91cE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRDdXN0b21lcnNUb0dyb3VwID0gKE5vbk51bGxhYmxlPEFkZEN1c3RvbWVyc1RvR3JvdXBNdXRhdGlvblsnYWRkQ3VzdG9tZXJzVG9Hcm91cCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJlbW92ZUN1c3RvbWVyc0Zyb21Hcm91cCA9IChOb25OdWxsYWJsZTxSZW1vdmVDdXN0b21lcnNGcm9tR3JvdXBNdXRhdGlvblsncmVtb3ZlQ3VzdG9tZXJzRnJvbUdyb3VwJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRDdXN0b21lckhpc3Rvcnkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDdXN0b21lckhpc3RvcnlRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDdXN0b21lckhpc3RvcnlRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlbJ2N1c3RvbWVyJ10+KTtcbiAgZXhwb3J0IHR5cGUgSGlzdG9yeSA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlbJ2N1c3RvbWVyJ10+KVsnaGlzdG9yeSddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q3VzdG9tZXJIaXN0b3J5UXVlcnlbJ2N1c3RvbWVyJ10+KVsnaGlzdG9yeSddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgQWRtaW5pc3RyYXRvciA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDdXN0b21lckhpc3RvcnlRdWVyeVsnY3VzdG9tZXInXT4pWydoaXN0b3J5J10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydhZG1pbmlzdHJhdG9yJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGROb3RlVG9DdXN0b21lciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZE5vdGVUb0N1c3RvbWVyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWRkTm90ZVRvQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8QWRkTm90ZVRvQ3VzdG9tZXJNdXRhdGlvblsnYWRkTm90ZVRvQ3VzdG9tZXInXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZUN1c3RvbWVyTm90ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUN1c3RvbWVyTm90ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVDdXN0b21lck5vdGUgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25bJ3VwZGF0ZUN1c3RvbWVyTm90ZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlQ3VzdG9tZXJOb3RlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ3VzdG9tZXJOb3RlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIERlbGV0ZUN1c3RvbWVyTm90ZSA9IChOb25OdWxsYWJsZTxEZWxldGVDdXN0b21lck5vdGVNdXRhdGlvblsnZGVsZXRlQ3VzdG9tZXJOb3RlJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGYWNldFZhbHVlIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBGYWNldFZhbHVlRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGYWNldFZhbHVlRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPEZhY2V0VmFsdWVGcmFnbWVudFsnZmFjZXQnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZhY2V0V2l0aFZhbHVlcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRmFjZXRXaXRoVmFsdWVzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGYWNldFdpdGhWYWx1ZXNGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgVmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEZhY2V0V2l0aFZhbHVlc0ZyYWdtZW50Wyd2YWx1ZXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUZhY2V0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlRmFjZXRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGYWNldE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVGYWNldCA9IChOb25OdWxsYWJsZTxDcmVhdGVGYWNldE11dGF0aW9uWydjcmVhdGVGYWNldCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlRmFjZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVGYWNldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUZhY2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0ID0gKE5vbk51bGxhYmxlPFVwZGF0ZUZhY2V0TXV0YXRpb25bJ3VwZGF0ZUZhY2V0J10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVGYWNldCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUZhY2V0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmFjZXRNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXQgPSAoTm9uTnVsbGFibGU8RGVsZXRlRmFjZXRNdXRhdGlvblsnZGVsZXRlRmFjZXQnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUZhY2V0VmFsdWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlRmFjZXRWYWx1ZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGYWNldFZhbHVlc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVGYWNldFZhbHVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVGYWNldFZhbHVlc011dGF0aW9uWydjcmVhdGVGYWNldFZhbHVlcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlRmFjZXRWYWx1ZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVGYWNldFZhbHVlc011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUZhY2V0VmFsdWVzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFVwZGF0ZUZhY2V0VmFsdWVzTXV0YXRpb25bJ3VwZGF0ZUZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVGYWNldFZhbHVlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZUZhY2V0VmFsdWVzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8RGVsZXRlRmFjZXRWYWx1ZXNNdXRhdGlvblsnZGVsZXRlRmFjZXRWYWx1ZXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEZhY2V0TGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEZhY2V0TGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEZhY2V0TGlzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBGYWNldHMgPSAoTm9uTnVsbGFibGU8R2V0RmFjZXRMaXN0UXVlcnlbJ2ZhY2V0cyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRGYWNldExpc3RRdWVyeVsnZmFjZXRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEZhY2V0V2l0aFZhbHVlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEZhY2V0V2l0aFZhbHVlc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEZhY2V0V2l0aFZhbHVlc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBGYWNldCA9IChOb25OdWxsYWJsZTxHZXRGYWNldFdpdGhWYWx1ZXNRdWVyeVsnZmFjZXQnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERpc2NvdW50IHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBEaXNjb3VudEZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlZnVuZCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmVmdW5kRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgT3JkZXJBZGRyZXNzIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPcmRlckFkZHJlc3NGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBPcmRlciB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gT3JkZXJGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ3VzdG9tZXIgPSAoTm9uTnVsbGFibGU8T3JkZXJGcmFnbWVudFsnY3VzdG9tZXInXT4pO1xuICBleHBvcnQgdHlwZSBTaGlwcGluZ0xpbmVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRnJhZ21lbnRbJ3NoaXBwaW5nTGluZXMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJGcmFnbWVudFsnc2hpcHBpbmdMaW5lcyddPilbbnVtYmVyXT5bJ3NoaXBwaW5nTWV0aG9kJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGdWxmaWxsbWVudCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRnVsZmlsbG1lbnRGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgT3JkZXJJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxGdWxmaWxsbWVudEZyYWdtZW50WydvcmRlckl0ZW1zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBPcmRlckxpbmUge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IE9yZGVyTGluZUZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydmZWF0dXJlZEFzc2V0J10+KTtcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnQgPSAoTm9uTnVsbGFibGU8T3JkZXJMaW5lRnJhZ21lbnRbJ3Byb2R1Y3RWYXJpYW50J10+KTtcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyTGluZUZyYWdtZW50WydkaXNjb3VudHMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckxpbmVGcmFnbWVudFsnaXRlbXMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBGdWxmaWxsbWVudCA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJMaW5lRnJhZ21lbnRbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnZnVsZmlsbG1lbnQnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE9yZGVyRGV0YWlsIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBPcmRlckRldGFpbEZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBDdXN0b21lciA9IChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydjdXN0b21lciddPik7XG4gIGV4cG9ydCB0eXBlIExpbmVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgU3VyY2hhcmdlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydzdXJjaGFyZ2VzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgRGlzY291bnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Rpc2NvdW50cyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFByb21vdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsncHJvbW90aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTGluZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnc2hpcHBpbmdMaW5lcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydzaGlwcGluZ0xpbmVzJ10+KVtudW1iZXJdPlsnc2hpcHBpbmdNZXRob2QnXT4pO1xuICBleHBvcnQgdHlwZSBUYXhTdW1tYXJ5ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3RheFN1bW1hcnknXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBTaGlwcGluZ0FkZHJlc3MgPSAoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnc2hpcHBpbmdBZGRyZXNzJ10+KTtcbiAgZXhwb3J0IHR5cGUgQmlsbGluZ0FkZHJlc3MgPSAoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnYmlsbGluZ0FkZHJlc3MnXT4pO1xuICBleHBvcnQgdHlwZSBQYXltZW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydwYXltZW50cyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFJlZnVuZHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ3BheW1lbnRzJ10+KVtudW1iZXJdPlsncmVmdW5kcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIE9yZGVySXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50WydwYXltZW50cyddPilbbnVtYmVyXT5bJ3JlZnVuZHMnXT4pW251bWJlcl0+WydvcmRlckl0ZW1zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Z1bGZpbGxtZW50cyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIE1vZGlmaWNhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8T3JkZXJEZXRhaWxGcmFnbWVudFsnbW9kaWZpY2F0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFBheW1lbnQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+WydwYXltZW50J10+KTtcbiAgZXhwb3J0IHR5cGUgX09yZGVySXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+WydvcmRlckl0ZW1zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUmVmdW5kID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxPcmRlckRldGFpbEZyYWdtZW50Wydtb2RpZmljYXRpb25zJ10+KVtudW1iZXJdPlsncmVmdW5kJ10+KTtcbiAgZXhwb3J0IHR5cGUgX1N1cmNoYXJnZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE9yZGVyRGV0YWlsRnJhZ21lbnRbJ21vZGlmaWNhdGlvbnMnXT4pW251bWJlcl0+WydzdXJjaGFyZ2VzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRPcmRlckxpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRPcmRlckxpc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRPcmRlckxpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgT3JkZXJzID0gKE5vbk51bGxhYmxlPEdldE9yZGVyTGlzdFF1ZXJ5WydvcmRlcnMnXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0T3JkZXJMaXN0UXVlcnlbJ29yZGVycyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRPcmRlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE9yZGVyUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0T3JkZXJRdWVyeTtcbiAgZXhwb3J0IHR5cGUgT3JkZXIgPSAoTm9uTnVsbGFibGU8R2V0T3JkZXJRdWVyeVsnb3JkZXInXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldHRsZVBheW1lbnQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBTZXR0bGVQYXltZW50TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gU2V0dGxlUGF5bWVudE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXR0bGVQYXltZW50ID0gKE5vbk51bGxhYmxlPFNldHRsZVBheW1lbnRNdXRhdGlvblsnc2V0dGxlUGF5bWVudCddPik7XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8U2V0dGxlUGF5bWVudE11dGF0aW9uWydzZXR0bGVQYXltZW50J10+KSwgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnQnIH0+KTtcbiAgZXhwb3J0IHR5cGUgU2V0dGxlUGF5bWVudEVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFNldHRsZVBheW1lbnRNdXRhdGlvblsnc2V0dGxlUGF5bWVudCddPiksIHsgX190eXBlbmFtZT86ICdTZXR0bGVQYXltZW50RXJyb3InIH0+KTtcbiAgZXhwb3J0IHR5cGUgUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFNldHRsZVBheW1lbnRNdXRhdGlvblsnc2V0dGxlUGF5bWVudCddPiksIHsgX190eXBlbmFtZT86ICdQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3InIH0+KTtcbiAgZXhwb3J0IHR5cGUgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxTZXR0bGVQYXltZW50TXV0YXRpb25bJ3NldHRsZVBheW1lbnQnXT4pLCB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFRyYW5zaXRpb25QYXltZW50VG9TdGF0ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGUgPSAoTm9uTnVsbGFibGU8VHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25QYXltZW50VG9TdGF0ZSddPik7XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjwoTm9uTnVsbGFibGU8VHJhbnNpdGlvblBheW1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25QYXltZW50VG9TdGF0ZSddPiksIHsgX190eXBlbmFtZT86ICdQYXltZW50JyB9Pik7XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGVNdXRhdGlvblsndHJhbnNpdGlvblBheW1lbnRUb1N0YXRlJ10+KSwgeyBfX3R5cGVuYW1lPzogJ1BheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUZ1bGZpbGxtZW50IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRGdWxmaWxsbWVudFRvT3JkZXIgPSAoTm9uTnVsbGFibGU8Q3JlYXRlRnVsZmlsbG1lbnRNdXRhdGlvblsnYWRkRnVsZmlsbG1lbnRUb09yZGVyJ10+KTtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxDcmVhdGVGdWxmaWxsbWVudE11dGF0aW9uWydhZGRGdWxmaWxsbWVudFRvT3JkZXInXT4pLCB7IF9fdHlwZW5hbWU/OiAnQ3JlYXRlRnVsZmlsbG1lbnRFcnJvcicgfT4pO1xuICBleHBvcnQgdHlwZSBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9ySW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPENyZWF0ZUZ1bGZpbGxtZW50TXV0YXRpb25bJ2FkZEZ1bGZpbGxtZW50VG9PcmRlciddPiksIHsgX190eXBlbmFtZT86ICdGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yJyB9Pik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2FuY2VsT3JkZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDYW5jZWxPcmRlck11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENhbmNlbE9yZGVyTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENhbmNlbE9yZGVyID0gKE5vbk51bGxhYmxlPENhbmNlbE9yZGVyTXV0YXRpb25bJ2NhbmNlbE9yZGVyJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZWZ1bmRPcmRlciB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlZnVuZE9yZGVyTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVmdW5kT3JkZXJNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmVmdW5kT3JkZXIgPSAoTm9uTnVsbGFibGU8UmVmdW5kT3JkZXJNdXRhdGlvblsncmVmdW5kT3JkZXInXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNldHRsZVJlZnVuZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFNldHRsZVJlZnVuZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFNldHRsZVJlZnVuZE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXR0bGVSZWZ1bmQgPSAoTm9uTnVsbGFibGU8U2V0dGxlUmVmdW5kTXV0YXRpb25bJ3NldHRsZVJlZnVuZCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0T3JkZXJIaXN0b3J5IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0T3JkZXJIaXN0b3J5UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0T3JkZXJIaXN0b3J5UXVlcnk7XG4gIGV4cG9ydCB0eXBlIE9yZGVyID0gKE5vbk51bGxhYmxlPEdldE9yZGVySGlzdG9yeVF1ZXJ5WydvcmRlciddPik7XG4gIGV4cG9ydCB0eXBlIEhpc3RvcnkgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldE9yZGVySGlzdG9yeVF1ZXJ5WydvcmRlciddPilbJ2hpc3RvcnknXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldE9yZGVySGlzdG9yeVF1ZXJ5WydvcmRlciddPilbJ2hpc3RvcnknXT4pWydpdGVtcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0T3JkZXJIaXN0b3J5UXVlcnlbJ29yZGVyJ10+KVsnaGlzdG9yeSddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnYWRtaW5pc3RyYXRvciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkTm90ZVRvT3JkZXIge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGROb3RlVG9PcmRlck11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFkZE5vdGVUb09yZGVyTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZE5vdGVUb09yZGVyID0gKE5vbk51bGxhYmxlPEFkZE5vdGVUb09yZGVyTXV0YXRpb25bJ2FkZE5vdGVUb09yZGVyJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVPcmRlck5vdGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVPcmRlck5vdGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVPcmRlck5vdGVNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlT3JkZXJOb3RlID0gKE5vbk51bGxhYmxlPFVwZGF0ZU9yZGVyTm90ZU11dGF0aW9uWyd1cGRhdGVPcmRlck5vdGUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZU9yZGVyTm90ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZU9yZGVyTm90ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVPcmRlck5vdGUgPSAoTm9uTnVsbGFibGU8RGVsZXRlT3JkZXJOb3RlTXV0YXRpb25bJ2RlbGV0ZU9yZGVyTm90ZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVHJhbnNpdGlvbk9yZGVyVG9TdGF0ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFRyYW5zaXRpb25PcmRlclRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFRyYW5zaXRpb25PcmRlclRvU3RhdGUgPSAoTm9uTnVsbGFibGU8VHJhbnNpdGlvbk9yZGVyVG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uT3JkZXJUb1N0YXRlJ10+KTtcbiAgZXhwb3J0IHR5cGUgT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxUcmFuc2l0aW9uT3JkZXJUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25PcmRlclRvU3RhdGUnXT4pLCB7IF9fdHlwZW5hbWU/OiAnT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlT3JkZXJDdXN0b21GaWVsZHNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVPcmRlckN1c3RvbUZpZWxkc011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBTZXRPcmRlckN1c3RvbUZpZWxkcyA9IChOb25OdWxsYWJsZTxVcGRhdGVPcmRlckN1c3RvbUZpZWxkc011dGF0aW9uWydzZXRPcmRlckN1c3RvbUZpZWxkcyddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUgPSAoTm9uTnVsbGFibGU8VHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZU11dGF0aW9uWyd0cmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlJ10+KTtcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcklubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlTXV0YXRpb25bJ3RyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUnXT4pLCB7IF9fdHlwZW5hbWU/OiAnRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvcicgfT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldE9yZGVyU3VtbWFyeSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldE9yZGVyU3VtbWFyeVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldE9yZGVyU3VtbWFyeVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBPcmRlcnMgPSAoTm9uTnVsbGFibGU8R2V0T3JkZXJTdW1tYXJ5UXVlcnlbJ29yZGVycyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRPcmRlclN1bW1hcnlRdWVyeVsnb3JkZXJzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGlmeU9yZGVyIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gTW9kaWZ5T3JkZXJNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBNb2RpZnlPcmRlck11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBNb2RpZnlPcmRlciA9IChOb25OdWxsYWJsZTxNb2RpZnlPcmRlck11dGF0aW9uWydtb2RpZnlPcmRlciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkTWFudWFsUGF5bWVudCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZE1hbnVhbFBheW1lbnRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRNYW51YWxQYXltZW50TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFkZE1hbnVhbFBheW1lbnRUb09yZGVyID0gKE5vbk51bGxhYmxlPEFkZE1hbnVhbFBheW1lbnRNdXRhdGlvblsnYWRkTWFudWFsUGF5bWVudFRvT3JkZXInXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFzc2V0IHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBBc3NldEZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBGb2NhbFBvaW50ID0gKE5vbk51bGxhYmxlPEFzc2V0RnJhZ21lbnRbJ2ZvY2FsUG9pbnQnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRhZyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVGFnRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUHJvZHVjdE9wdGlvbkdyb3VwIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9kdWN0T3B0aW9uR3JvdXBGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25Hcm91cEZyYWdtZW50Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFByb2R1Y3RPcHRpb24ge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFByb2R1Y3RPcHRpb25GcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25GcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0VmFyaWFudCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvZHVjdFZhcmlhbnRGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgVGF4UmF0ZUFwcGxpZWQgPSAoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsndGF4UmF0ZUFwcGxpZWQnXT4pO1xuICBleHBvcnQgdHlwZSBUYXhDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxQcm9kdWN0VmFyaWFudEZyYWdtZW50Wyd0YXhDYXRlZ29yeSddPik7XG4gIGV4cG9ydCB0eXBlIE9wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnb3B0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEZhY2V0VmFsdWVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgRmFjZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXQnXT4pO1xuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xuICBleHBvcnQgdHlwZSBBc3NldHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFZhcmlhbnRGcmFnbWVudFsnYXNzZXRzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIENoYW5uZWxzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RWYXJpYW50RnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0RGV0YWlsIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9kdWN0RGV0YWlsRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50WydmZWF0dXJlZEFzc2V0J10+KTtcbiAgZXhwb3J0IHR5cGUgQXNzZXRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnYXNzZXRzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsndHJhbnNsYXRpb25zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgT3B0aW9uR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3REZXRhaWxGcmFnbWVudFsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdERldGFpbEZyYWdtZW50WydmYWNldFZhbHVlcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXQnXT4pO1xuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0RGV0YWlsRnJhZ21lbnRbJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0T3B0aW9uR3JvdXBXaXRoT3B0aW9ucyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIE9wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdE9wdGlvbkdyb3VwV2l0aE9wdGlvbnNGcmFnbWVudFsnb3B0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIF9UcmFuc2xhdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFByb2R1Y3RPcHRpb25Hcm91cFdpdGhPcHRpb25zRnJhZ21lbnRbJ29wdGlvbnMnXT4pW251bWJlcl0+Wyd0cmFuc2xhdGlvbnMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVByb2R1Y3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVQcm9kdWN0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUHJvZHVjdE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVQcm9kdWN0ID0gKE5vbk51bGxhYmxlPFVwZGF0ZVByb2R1Y3RNdXRhdGlvblsndXBkYXRlUHJvZHVjdCddPik7XG4gIGV4cG9ydCB0eXBlIFZhcmlhbnRMaXN0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0TXV0YXRpb25bJ3VwZGF0ZVByb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlUHJvZHVjdE11dGF0aW9uWyd1cGRhdGVQcm9kdWN0J10+KVsndmFyaWFudExpc3QnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUHJvZHVjdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQcm9kdWN0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3QgPSAoTm9uTnVsbGFibGU8Q3JlYXRlUHJvZHVjdE11dGF0aW9uWydjcmVhdGVQcm9kdWN0J10+KTtcbiAgZXhwb3J0IHR5cGUgVmFyaWFudExpc3QgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZVByb2R1Y3RNdXRhdGlvblsnY3JlYXRlUHJvZHVjdCddPilbJ3ZhcmlhbnRMaXN0J10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVQcm9kdWN0TXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVQcm9kdWN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUHJvZHVjdE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVByb2R1Y3RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlUHJvZHVjdCA9IChOb25OdWxsYWJsZTxEZWxldGVQcm9kdWN0TXV0YXRpb25bJ2RlbGV0ZVByb2R1Y3QnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVByb2R1Y3RWYXJpYW50cyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVByb2R1Y3RWYXJpYW50c011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVQcm9kdWN0VmFyaWFudHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Q3JlYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25bJ2NyZWF0ZVByb2R1Y3RWYXJpYW50cyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUHJvZHVjdFZhcmlhbnRzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUHJvZHVjdFZhcmlhbnRzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RWYXJpYW50cyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0VmFyaWFudHNNdXRhdGlvblsndXBkYXRlUHJvZHVjdFZhcmlhbnRzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlUHJvZHVjdE9wdGlvbkdyb3VwID0gKE5vbk51bGxhYmxlPENyZWF0ZVByb2R1Y3RPcHRpb25Hcm91cE11dGF0aW9uWydjcmVhdGVQcm9kdWN0T3B0aW9uR3JvdXAnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RPcHRpb25Hcm91cCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RPcHRpb25Hcm91cFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RPcHRpb25Hcm91cFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXAgPSAoTm9uTnVsbGFibGU8R2V0UHJvZHVjdE9wdGlvbkdyb3VwUXVlcnlbJ3Byb2R1Y3RPcHRpb25Hcm91cCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQWRkT3B0aW9uVG9Hcm91cCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZE9wdGlvblRvR3JvdXBNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBZGRPcHRpb25Ub0dyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZVByb2R1Y3RPcHRpb24gPSAoTm9uTnVsbGFibGU8QWRkT3B0aW9uVG9Hcm91cE11dGF0aW9uWydjcmVhdGVQcm9kdWN0T3B0aW9uJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBZGRPcHRpb25Hcm91cFRvUHJvZHVjdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QgPSAoTm9uTnVsbGFibGU8QWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3RNdXRhdGlvblsnYWRkT3B0aW9uR3JvdXBUb1Byb2R1Y3QnXT4pO1xuICBleHBvcnQgdHlwZSBPcHRpb25Hcm91cHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb25bJ2FkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0J10+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0TXV0YXRpb25bJ2FkZE9wdGlvbkdyb3VwVG9Qcm9kdWN0J10+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPlsnb3B0aW9ucyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QgPSAoTm9uTnVsbGFibGU8UmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdE11dGF0aW9uWydyZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0J10+KTtcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0TXV0YXRpb25bJ3JlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QnXT4pLCB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfT4pO1xuICBleHBvcnQgdHlwZSBPcHRpb25Hcm91cHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KERpc2NyaW1pbmF0ZVVuaW9uPChOb25OdWxsYWJsZTxSZW1vdmVPcHRpb25Hcm91cEZyb21Qcm9kdWN0TXV0YXRpb25bJ3JlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3QnXT4pLCB7IF9fdHlwZW5hbWU/OiAnUHJvZHVjdCcgfT4pWydvcHRpb25Hcm91cHMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBPcHRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPFJlbW92ZU9wdGlvbkdyb3VwRnJvbVByb2R1Y3RNdXRhdGlvblsncmVtb3ZlT3B0aW9uR3JvdXBGcm9tUHJvZHVjdCddPiksIHsgX190eXBlbmFtZT86ICdQcm9kdWN0JyB9PilbJ29wdGlvbkdyb3VwcyddPilbbnVtYmVyXT5bJ29wdGlvbnMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RXaXRoVmFyaWFudHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdFdpdGhWYXJpYW50c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBQcm9kdWN0ID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RXaXRoVmFyaWFudHNRdWVyeVsncHJvZHVjdCddPik7XG4gIGV4cG9ydCB0eXBlIFZhcmlhbnRMaXN0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0V2l0aFZhcmlhbnRzUXVlcnlbJ3Byb2R1Y3QnXT4pWyd2YXJpYW50TGlzdCddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFdpdGhWYXJpYW50c1F1ZXJ5Wydwcm9kdWN0J10+KVsndmFyaWFudExpc3QnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdFNpbXBsZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFByb2R1Y3RTaW1wbGVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0U2ltcGxlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3QgPSAoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0J10+KTtcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0J10+KVsnZmVhdHVyZWRBc3NldCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdExpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0TGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RMaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RzID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RMaXN0UXVlcnlbJ3Byb2R1Y3RzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RMaXN0UXVlcnlbJ3Byb2R1Y3RzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBGZWF0dXJlZEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdExpc3RRdWVyeVsncHJvZHVjdHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ2ZlYXR1cmVkQXNzZXQnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb2R1Y3RPcHRpb25Hcm91cHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0T3B0aW9uR3JvdXBzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdE9wdGlvbkdyb3Vwc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXBzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RPcHRpb25Hcm91cHNRdWVyeVsncHJvZHVjdE9wdGlvbkdyb3VwcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIE9wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RPcHRpb25Hcm91cHNRdWVyeVsncHJvZHVjdE9wdGlvbkdyb3VwcyddPilbbnVtYmVyXT5bJ29wdGlvbnMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEFzc2V0TGlzdCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFzc2V0TGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFzc2V0TGlzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBBc3NldHMgPSAoTm9uTnVsbGFibGU8R2V0QXNzZXRMaXN0UXVlcnlbJ2Fzc2V0cyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBc3NldExpc3RRdWVyeVsnYXNzZXRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBUYWdzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0QXNzZXRMaXN0UXVlcnlbJ2Fzc2V0cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsndGFncyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0QXNzZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRBc3NldFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFzc2V0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEFzc2V0ID0gKE5vbk51bGxhYmxlPEdldEFzc2V0UXVlcnlbJ2Fzc2V0J10+KTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0QXNzZXRRdWVyeVsnYXNzZXQnXT4pWyd0YWdzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVBc3NldHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVBc3NldHNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVBc3NldHNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlQXNzZXRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENyZWF0ZUFzc2V0c011dGF0aW9uWydjcmVhdGVBc3NldHMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBBc3NldElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVBc3NldHNNdXRhdGlvblsnY3JlYXRlQXNzZXRzJ10+KVtudW1iZXJdPiwgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9Pik7XG4gIGV4cG9ydCB0eXBlIFRhZ3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KERpc2NyaW1pbmF0ZVVuaW9uPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVBc3NldHNNdXRhdGlvblsnY3JlYXRlQXNzZXRzJ10+KVtudW1iZXJdPiwgeyBfX3R5cGVuYW1lPzogJ0Fzc2V0JyB9PilbJ3RhZ3MnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBFcnJvclJlc3VsdElubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDcmVhdGVBc3NldHNNdXRhdGlvblsnY3JlYXRlQXNzZXRzJ10+KVtudW1iZXJdPiwgeyBfX3R5cGVuYW1lPzogJ0Vycm9yUmVzdWx0JyB9Pik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQXNzZXQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVBc3NldE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUFzc2V0TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUFzc2V0ID0gKE5vbk51bGxhYmxlPFVwZGF0ZUFzc2V0TXV0YXRpb25bJ3VwZGF0ZUFzc2V0J10+KTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8VXBkYXRlQXNzZXRNdXRhdGlvblsndXBkYXRlQXNzZXQnXT4pWyd0YWdzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVBc3NldHMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVBc3NldHNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVBc3NldHNNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQXNzZXRzID0gKE5vbk51bGxhYmxlPERlbGV0ZUFzc2V0c011dGF0aW9uWydkZWxldGVBc3NldHMnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFNlYXJjaFByb2R1Y3RzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gU2VhcmNoUHJvZHVjdHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBTZWFyY2hQcm9kdWN0c1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBTZWFyY2ggPSAoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8U2VhcmNoUHJvZHVjdHNRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0QXNzZXQnXT4pO1xuICBleHBvcnQgdHlwZSBGb2NhbFBvaW50ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50QXNzZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTZWFyY2hQcm9kdWN0c1F1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3Byb2R1Y3RWYXJpYW50QXNzZXQnXT4pO1xuICBleHBvcnQgdHlwZSBfRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTZWFyY2hQcm9kdWN0c1F1ZXJ5WydzZWFyY2gnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3Byb2R1Y3RWYXJpYW50QXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgRmFjZXRWYWx1ZSA9IChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXRWYWx1ZSddPik7XG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNlYXJjaFByb2R1Y3RzUXVlcnlbJ3NlYXJjaCddPilbJ2ZhY2V0VmFsdWVzJ10+KVtudW1iZXJdPlsnZmFjZXRWYWx1ZSddPilbJ2ZhY2V0J10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBQcm9kdWN0U2VsZWN0b3JTZWFyY2gge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2VhcmNoID0gKE5vbk51bGxhYmxlPFByb2R1Y3RTZWxlY3RvclNlYXJjaFF1ZXJ5WydzZWFyY2gnXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdEFzc2V0ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdEFzc2V0J10+KTtcbiAgZXhwb3J0IHR5cGUgRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0QXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcbiAgZXhwb3J0IHR5cGUgUHJpY2UgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9kdWN0U2VsZWN0b3JTZWFyY2hRdWVyeVsnc2VhcmNoJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydwcmljZSddPik7XG4gIGV4cG9ydCB0eXBlIFNpbmdsZVByaWNlSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJpY2UnXT4pLCB7IF9fdHlwZW5hbWU/OiAnU2luZ2xlUHJpY2UnIH0+KTtcbiAgZXhwb3J0IHR5cGUgUHJpY2VXaXRoVGF4ID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJpY2VXaXRoVGF4J10+KTtcbiAgZXhwb3J0IHR5cGUgX1NpbmdsZVByaWNlSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvZHVjdFNlbGVjdG9yU2VhcmNoUXVlcnlbJ3NlYXJjaCddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJpY2VXaXRoVGF4J10+KSwgeyBfX3R5cGVuYW1lPzogJ1NpbmdsZVByaWNlJyB9Pik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVByb2R1Y3RPcHRpb25Hcm91cCA9IChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0T3B0aW9uR3JvdXBNdXRhdGlvblsndXBkYXRlUHJvZHVjdE9wdGlvbkdyb3VwJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQcm9kdWN0T3B0aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUHJvZHVjdE9wdGlvbk11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb2R1Y3RPcHRpb25NdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUHJvZHVjdE9wdGlvbiA9IChOb25OdWxsYWJsZTxVcGRhdGVQcm9kdWN0T3B0aW9uTXV0YXRpb25bJ3VwZGF0ZVByb2R1Y3RPcHRpb24nXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVByb2R1Y3RWYXJpYW50IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUHJvZHVjdFZhcmlhbnRNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVQcm9kdWN0VmFyaWFudE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVQcm9kdWN0VmFyaWFudCA9IChOb25OdWxsYWJsZTxEZWxldGVQcm9kdWN0VmFyaWFudE11dGF0aW9uWydkZWxldGVQcm9kdWN0VmFyaWFudCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3QgPSAoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRPcHRpb25zUXVlcnlbJ3Byb2R1Y3QnXT4pO1xuICBleHBvcnQgdHlwZSBPcHRpb25Hcm91cHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5Wydwcm9kdWN0J10+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50T3B0aW9uc1F1ZXJ5Wydwcm9kdWN0J10+KVsnb3B0aW9uR3JvdXBzJ10+KVtudW1iZXJdPlsnb3B0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFZhcmlhbnRzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeVsncHJvZHVjdCddPilbJ3ZhcmlhbnRzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgX09wdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudE9wdGlvbnNRdWVyeVsncHJvZHVjdCddPilbJ3ZhcmlhbnRzJ10+KVtudW1iZXJdPlsnb3B0aW9ucyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQXNzaWduUHJvZHVjdHNUb0NoYW5uZWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBc3NpZ25Qcm9kdWN0c1RvQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIEFzc2lnblByb2R1Y3RzVG9DaGFubmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb25bJ2Fzc2lnblByb2R1Y3RzVG9DaGFubmVsJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFzc2lnblByb2R1Y3RzVG9DaGFubmVsTXV0YXRpb25bJ2Fzc2lnblByb2R1Y3RzVG9DaGFubmVsJ10+KVtudW1iZXJdPlsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFzc2lnblZhcmlhbnRzVG9DaGFubmVsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBBc3NpZ25WYXJpYW50c1RvQ2hhbm5lbE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBc3NpZ25Qcm9kdWN0VmFyaWFudHNUb0NoYW5uZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8QXNzaWduVmFyaWFudHNUb0NoYW5uZWxNdXRhdGlvblsnYXNzaWduUHJvZHVjdFZhcmlhbnRzVG9DaGFubmVsJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEFzc2lnblZhcmlhbnRzVG9DaGFubmVsTXV0YXRpb25bJ2Fzc2lnblByb2R1Y3RWYXJpYW50c1RvQ2hhbm5lbCddPilbbnVtYmVyXT5bJ2NoYW5uZWxzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFJlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWxNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgUmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsTXV0YXRpb25bJ3JlbW92ZVByb2R1Y3RzRnJvbUNoYW5uZWwnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UmVtb3ZlUHJvZHVjdHNGcm9tQ2hhbm5lbE11dGF0aW9uWydyZW1vdmVQcm9kdWN0c0Zyb21DaGFubmVsJ10+KVtudW1iZXJdPlsnY2hhbm5lbHMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlVmFyaWFudHNGcm9tQ2hhbm5lbE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZW1vdmVQcm9kdWN0VmFyaWFudHNGcm9tQ2hhbm5lbCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxSZW1vdmVWYXJpYW50c0Zyb21DaGFubmVsTXV0YXRpb25bJ3JlbW92ZVByb2R1Y3RWYXJpYW50c0Zyb21DaGFubmVsJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgQ2hhbm5lbHMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFJlbW92ZVZhcmlhbnRzRnJvbUNoYW5uZWxNdXRhdGlvblsncmVtb3ZlUHJvZHVjdFZhcmlhbnRzRnJvbUNoYW5uZWwnXT4pW251bWJlcl0+WydjaGFubmVscyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdFZhcmlhbnQge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFByb2R1Y3RWYXJpYW50UXVlcnk7XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50ID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+KTtcbiAgZXhwb3J0IHR5cGUgRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRRdWVyeVsncHJvZHVjdFZhcmlhbnQnXT4pWydmZWF0dXJlZEFzc2V0J10+KTtcbiAgZXhwb3J0IHR5cGUgRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+KVsnZmVhdHVyZWRBc3NldCddPilbJ2ZvY2FsUG9pbnQnXT4pO1xuICBleHBvcnQgdHlwZSBQcm9kdWN0ID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5Wydwcm9kdWN0VmFyaWFudCddPilbJ3Byb2R1Y3QnXT4pO1xuICBleHBvcnQgdHlwZSBfRmVhdHVyZWRBc3NldCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50UXVlcnlbJ3Byb2R1Y3RWYXJpYW50J10+KVsncHJvZHVjdCddPilbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xuICBleHBvcnQgdHlwZSBfRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudFF1ZXJ5Wydwcm9kdWN0VmFyaWFudCddPilbJ3Byb2R1Y3QnXT4pWydmZWF0dXJlZEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3RWYXJpYW50cyA9IChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFNpbXBsZVF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydmZWF0dXJlZEFzc2V0J10+KTtcbiAgZXhwb3J0IHR5cGUgRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+WydmZWF0dXJlZEFzc2V0J10+KVsnZm9jYWxQb2ludCddPik7XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3QgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9kdWN0VmFyaWFudExpc3RTaW1wbGVRdWVyeVsncHJvZHVjdFZhcmlhbnRzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+Wydwcm9kdWN0J10+KTtcbiAgZXhwb3J0IHR5cGUgX0ZlYXR1cmVkQXNzZXQgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdCddPilbJ2ZlYXR1cmVkQXNzZXQnXT4pO1xuICBleHBvcnQgdHlwZSBfRm9jYWxQb2ludCA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0U2ltcGxlUXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsncHJvZHVjdCddPilbJ2ZlYXR1cmVkQXNzZXQnXT4pWydmb2NhbFBvaW50J10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRQcm9kdWN0VmFyaWFudExpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQcm9kdWN0VmFyaWFudExpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdFZhcmlhbnRzID0gKE5vbk51bGxhYmxlPEdldFByb2R1Y3RWYXJpYW50TGlzdFF1ZXJ5Wydwcm9kdWN0VmFyaWFudHMnXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0UHJvZHVjdFZhcmlhbnRMaXN0UXVlcnlbJ3Byb2R1Y3RWYXJpYW50cyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYWdMaXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGFnTGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRhZ0xpc3RRdWVyeTtcbiAgZXhwb3J0IHR5cGUgVGFncyA9IChOb25OdWxsYWJsZTxHZXRUYWdMaXN0UXVlcnlbJ3RhZ3MnXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0VGFnTGlzdFF1ZXJ5Wyd0YWdzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFRhZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFRhZ1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRhZ1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBUYWcgPSAoTm9uTnVsbGFibGU8R2V0VGFnUXVlcnlbJ3RhZyddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlVGFnIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gQ3JlYXRlVGFnTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlVGFnTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZVRhZyA9IChOb25OdWxsYWJsZTxDcmVhdGVUYWdNdXRhdGlvblsnY3JlYXRlVGFnJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVUYWcge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBVcGRhdGVUYWdNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVUYWdNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlVGFnID0gKE5vbk51bGxhYmxlPFVwZGF0ZVRhZ011dGF0aW9uWyd1cGRhdGVUYWcnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVRhZyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IERlbGV0ZVRhZ011dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVRhZ011dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVUYWcgPSAoTm9uTnVsbGFibGU8RGVsZXRlVGFnTXV0YXRpb25bJ2RlbGV0ZVRhZyddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUHJvbW90aW9uIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBQcm9tb3Rpb25GcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ29uZGl0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxQcm9tb3Rpb25GcmFnbWVudFsnY29uZGl0aW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEFjdGlvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8UHJvbW90aW9uRnJhZ21lbnRbJ2FjdGlvbnMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFByb21vdGlvbkxpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQcm9tb3Rpb25MaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvbW90aW9uTGlzdFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBQcm9tb3Rpb25zID0gKE5vbk51bGxhYmxlPEdldFByb21vdGlvbkxpc3RRdWVyeVsncHJvbW90aW9ucyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQcm9tb3Rpb25MaXN0UXVlcnlbJ3Byb21vdGlvbnMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UHJvbW90aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UHJvbW90aW9uUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UHJvbW90aW9uUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFByb21vdGlvbiA9IChOb25OdWxsYWJsZTxHZXRQcm9tb3Rpb25RdWVyeVsncHJvbW90aW9uJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBZGp1c3RtZW50T3BlcmF0aW9ucyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEFkanVzdG1lbnRPcGVyYXRpb25zUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0QWRqdXN0bWVudE9wZXJhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9uQ29uZGl0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBZGp1c3RtZW50T3BlcmF0aW9uc1F1ZXJ5Wydwcm9tb3Rpb25Db25kaXRpb25zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9uQWN0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBZGp1c3RtZW50T3BlcmF0aW9uc1F1ZXJ5Wydwcm9tb3Rpb25BY3Rpb25zJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVQcm9tb3Rpb24ge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVQcm9tb3Rpb25NdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQcm9tb3Rpb25NdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ3JlYXRlUHJvbW90aW9uID0gKE5vbk51bGxhYmxlPENyZWF0ZVByb21vdGlvbk11dGF0aW9uWydjcmVhdGVQcm9tb3Rpb24nXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFVwZGF0ZVByb21vdGlvbiB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVByb21vdGlvbk11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVByb21vdGlvbk11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBVcGRhdGVQcm9tb3Rpb24gPSAoTm9uTnVsbGFibGU8VXBkYXRlUHJvbW90aW9uTXV0YXRpb25bJ3VwZGF0ZVByb21vdGlvbiddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlUHJvbW90aW9uIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlUHJvbW90aW9uTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUHJvbW90aW9uTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIERlbGV0ZVByb21vdGlvbiA9IChOb25OdWxsYWJsZTxEZWxldGVQcm9tb3Rpb25NdXRhdGlvblsnZGVsZXRlUHJvbW90aW9uJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb3VudHJ5IHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDb3VudHJ5RnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFRyYW5zbGF0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDb3VudHJ5RnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q291bnRyeUxpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb3VudHJ5TGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldENvdW50cnlMaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIENvdW50cmllcyA9IChOb25OdWxsYWJsZTxHZXRDb3VudHJ5TGlzdFF1ZXJ5Wydjb3VudHJpZXMnXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Q291bnRyeUxpc3RRdWVyeVsnY291bnRyaWVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEF2YWlsYWJsZUNvdW50cmllcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldEF2YWlsYWJsZUNvdW50cmllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEF2YWlsYWJsZUNvdW50cmllc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBDb3VudHJpZXMgPSAoTm9uTnVsbGFibGU8R2V0QXZhaWxhYmxlQ291bnRyaWVzUXVlcnlbJ2NvdW50cmllcyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRBdmFpbGFibGVDb3VudHJpZXNRdWVyeVsnY291bnRyaWVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENvdW50cnkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRDb3VudHJ5UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Q291bnRyeVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBDb3VudHJ5ID0gKE5vbk51bGxhYmxlPEdldENvdW50cnlRdWVyeVsnY291bnRyeSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlQ291bnRyeSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZUNvdW50cnlNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVDb3VudHJ5TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZUNvdW50cnkgPSAoTm9uTnVsbGFibGU8Q3JlYXRlQ291bnRyeU11dGF0aW9uWydjcmVhdGVDb3VudHJ5J10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVDb3VudHJ5IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlQ291bnRyeU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZUNvdW50cnlNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlQ291bnRyeSA9IChOb25OdWxsYWJsZTxVcGRhdGVDb3VudHJ5TXV0YXRpb25bJ3VwZGF0ZUNvdW50cnknXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZUNvdW50cnkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVDb3VudHJ5TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlQ291bnRyeU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVDb3VudHJ5ID0gKE5vbk51bGxhYmxlPERlbGV0ZUNvdW50cnlNdXRhdGlvblsnZGVsZXRlQ291bnRyeSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgWm9uZSB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gWm9uZUZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBNZW1iZXJzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFpvbmVGcmFnbWVudFsnbWVtYmVycyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Wm9uZXMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRab25lc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFpvbmVzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFpvbmVzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFpvbmVzUXVlcnlbJ3pvbmVzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgTWVtYmVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0Wm9uZXNRdWVyeVsnem9uZXMnXT4pW251bWJlcl0+WydtZW1iZXJzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRab25lIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Wm9uZVF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFpvbmVRdWVyeTtcbiAgZXhwb3J0IHR5cGUgWm9uZSA9IChOb25OdWxsYWJsZTxHZXRab25lUXVlcnlbJ3pvbmUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZVpvbmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVab25lTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlWm9uZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVab25lID0gKE5vbk51bGxhYmxlPENyZWF0ZVpvbmVNdXRhdGlvblsnY3JlYXRlWm9uZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlWm9uZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVpvbmVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVab25lTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZVpvbmUgPSAoTm9uTnVsbGFibGU8VXBkYXRlWm9uZU11dGF0aW9uWyd1cGRhdGVab25lJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVab25lIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlWm9uZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZVpvbmVNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlWm9uZSA9IChOb25OdWxsYWJsZTxEZWxldGVab25lTXV0YXRpb25bJ2RlbGV0ZVpvbmUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEFkZE1lbWJlcnNUb1pvbmUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBBZGRNZW1iZXJzVG9ab25lTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQWRkTWVtYmVyc1RvWm9uZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBBZGRNZW1iZXJzVG9ab25lID0gKE5vbk51bGxhYmxlPEFkZE1lbWJlcnNUb1pvbmVNdXRhdGlvblsnYWRkTWVtYmVyc1RvWm9uZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVtb3ZlTWVtYmVyc0Zyb21ab25lIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gUmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVtb3ZlTWVtYmVyc0Zyb21ab25lTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJlbW92ZU1lbWJlcnNGcm9tWm9uZSA9IChOb25OdWxsYWJsZTxSZW1vdmVNZW1iZXJzRnJvbVpvbmVNdXRhdGlvblsncmVtb3ZlTWVtYmVyc0Zyb21ab25lJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUYXhDYXRlZ29yeSB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVGF4Q2F0ZWdvcnlGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRUYXhDYXRlZ29yaWVzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4Q2F0ZWdvcmllc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRheENhdGVnb3JpZXNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgVGF4Q2F0ZWdvcmllcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhDYXRlZ29yaWVzUXVlcnlbJ3RheENhdGVnb3JpZXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFRheENhdGVnb3J5IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4Q2F0ZWdvcnlRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRUYXhDYXRlZ29yeVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBUYXhDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxHZXRUYXhDYXRlZ29yeVF1ZXJ5Wyd0YXhDYXRlZ29yeSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlVGF4Q2F0ZWdvcnkge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVUYXhDYXRlZ29yeU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVRheENhdGVnb3J5TXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZVRheENhdGVnb3J5ID0gKE5vbk51bGxhYmxlPENyZWF0ZVRheENhdGVnb3J5TXV0YXRpb25bJ2NyZWF0ZVRheENhdGVnb3J5J10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVUYXhDYXRlZ29yeSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVRheENhdGVnb3J5TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlVGF4Q2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8VXBkYXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblsndXBkYXRlVGF4Q2F0ZWdvcnknXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVRheENhdGVnb3J5IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlVGF4Q2F0ZWdvcnlNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVUYXhDYXRlZ29yeU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVUYXhDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxEZWxldGVUYXhDYXRlZ29yeU11dGF0aW9uWydkZWxldGVUYXhDYXRlZ29yeSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGF4UmF0ZSB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gVGF4UmF0ZUZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBDYXRlZ29yeSA9IChOb25OdWxsYWJsZTxUYXhSYXRlRnJhZ21lbnRbJ2NhdGVnb3J5J10+KTtcbiAgZXhwb3J0IHR5cGUgWm9uZSA9IChOb25OdWxsYWJsZTxUYXhSYXRlRnJhZ21lbnRbJ3pvbmUnXT4pO1xuICBleHBvcnQgdHlwZSBDdXN0b21lckdyb3VwID0gKE5vbk51bGxhYmxlPFRheFJhdGVGcmFnbWVudFsnY3VzdG9tZXJHcm91cCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0VGF4UmF0ZUxpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRUYXhSYXRlTGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFRheFJhdGVMaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIFRheFJhdGVzID0gKE5vbk51bGxhYmxlPEdldFRheFJhdGVMaXN0UXVlcnlbJ3RheFJhdGVzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFRheFJhdGVMaXN0UXVlcnlbJ3RheFJhdGVzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFRheFJhdGVMaXN0U2ltcGxlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0VGF4UmF0ZUxpc3RTaW1wbGVRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBUYXhSYXRlcyA9IChOb25OdWxsYWJsZTxHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5Wyd0YXhSYXRlcyddPik7XG4gIGV4cG9ydCB0eXBlIEl0ZW1zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5Wyd0YXhSYXRlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgQ2F0ZWdvcnkgPSAoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRUYXhSYXRlTGlzdFNpbXBsZVF1ZXJ5Wyd0YXhSYXRlcyddPilbJ2l0ZW1zJ10+KVtudW1iZXJdPlsnY2F0ZWdvcnknXT4pO1xuICBleHBvcnQgdHlwZSBab25lID0gKE5vbk51bGxhYmxlPE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0VGF4UmF0ZUxpc3RTaW1wbGVRdWVyeVsndGF4UmF0ZXMnXT4pWydpdGVtcyddPilbbnVtYmVyXT5bJ3pvbmUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFRheFJhdGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRUYXhSYXRlUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0VGF4UmF0ZVF1ZXJ5O1xuICBleHBvcnQgdHlwZSBUYXhSYXRlID0gKE5vbk51bGxhYmxlPEdldFRheFJhdGVRdWVyeVsndGF4UmF0ZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlVGF4UmF0ZSB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVRheFJhdGVNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVUYXhSYXRlTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZVRheFJhdGUgPSAoTm9uTnVsbGFibGU8Q3JlYXRlVGF4UmF0ZU11dGF0aW9uWydjcmVhdGVUYXhSYXRlJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVUYXhSYXRlIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlVGF4UmF0ZU11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVRheFJhdGVNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlVGF4UmF0ZSA9IChOb25OdWxsYWJsZTxVcGRhdGVUYXhSYXRlTXV0YXRpb25bJ3VwZGF0ZVRheFJhdGUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVRheFJhdGUge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVUYXhSYXRlTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlVGF4UmF0ZU11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVUYXhSYXRlID0gKE5vbk51bGxhYmxlPERlbGV0ZVRheFJhdGVNdXRhdGlvblsnZGVsZXRlVGF4UmF0ZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2hhbm5lbCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ2hhbm5lbEZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBEZWZhdWx0U2hpcHBpbmdab25lID0gKE5vbk51bGxhYmxlPENoYW5uZWxGcmFnbWVudFsnZGVmYXVsdFNoaXBwaW5nWm9uZSddPik7XG4gIGV4cG9ydCB0eXBlIERlZmF1bHRUYXhab25lID0gKE5vbk51bGxhYmxlPENoYW5uZWxGcmFnbWVudFsnZGVmYXVsdFRheFpvbmUnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldENoYW5uZWxzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Q2hhbm5lbHNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDaGFubmVsc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBDaGFubmVscyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRDaGFubmVsc1F1ZXJ5WydjaGFubmVscyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Q2hhbm5lbCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldENoYW5uZWxRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRDaGFubmVsUXVlcnk7XG4gIGV4cG9ydCB0eXBlIENoYW5uZWwgPSAoTm9uTnVsbGFibGU8R2V0Q2hhbm5lbFF1ZXJ5WydjaGFubmVsJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBY3RpdmVDaGFubmVsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWN0aXZlQ2hhbm5lbFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFjdGl2ZUNoYW5uZWxRdWVyeTtcbiAgZXhwb3J0IHR5cGUgQWN0aXZlQ2hhbm5lbCA9IChOb25OdWxsYWJsZTxHZXRBY3RpdmVDaGFubmVsUXVlcnlbJ2FjdGl2ZUNoYW5uZWwnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUNoYW5uZWwge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVDaGFubmVsTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gQ3JlYXRlQ2hhbm5lbE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBDcmVhdGVDaGFubmVsID0gKE5vbk51bGxhYmxlPENyZWF0ZUNoYW5uZWxNdXRhdGlvblsnY3JlYXRlQ2hhbm5lbCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlQ2hhbm5lbCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUNoYW5uZWxNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBVcGRhdGVDaGFubmVsTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFVwZGF0ZUNoYW5uZWwgPSAoTm9uTnVsbGFibGU8VXBkYXRlQ2hhbm5lbE11dGF0aW9uWyd1cGRhdGVDaGFubmVsJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEZWxldGVDaGFubmVsIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlQ2hhbm5lbE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IERlbGV0ZUNoYW5uZWxNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgRGVsZXRlQ2hhbm5lbCA9IChOb25OdWxsYWJsZTxEZWxldGVDaGFubmVsTXV0YXRpb25bJ2RlbGV0ZUNoYW5uZWwnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IFBheW1lbnRNZXRob2RGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ2hlY2tlciA9IChOb25OdWxsYWJsZTxQYXltZW50TWV0aG9kRnJhZ21lbnRbJ2NoZWNrZXInXT4pO1xuICBleHBvcnQgdHlwZSBIYW5kbGVyID0gKE5vbk51bGxhYmxlPFBheW1lbnRNZXRob2RGcmFnbWVudFsnaGFuZGxlciddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UGF5bWVudE1ldGhvZExpc3Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQYXltZW50TWV0aG9kTGlzdFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RzID0gKE5vbk51bGxhYmxlPEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnlbJ3BheW1lbnRNZXRob2RzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFBheW1lbnRNZXRob2RMaXN0UXVlcnlbJ3BheW1lbnRNZXRob2RzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFBheW1lbnRNZXRob2RPcGVyYXRpb25zIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0UGF5bWVudE1ldGhvZE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5O1xuICBleHBvcnQgdHlwZSBQYXltZW50TWV0aG9kRWxpZ2liaWxpdHlDaGVja2VycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5WydwYXltZW50TWV0aG9kRWxpZ2liaWxpdHlDaGVja2VycyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFBheW1lbnRNZXRob2RIYW5kbGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRQYXltZW50TWV0aG9kT3BlcmF0aW9uc1F1ZXJ5WydwYXltZW50TWV0aG9kSGFuZGxlcnMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldFBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRQYXltZW50TWV0aG9kUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0UGF5bWVudE1ldGhvZFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0gKE5vbk51bGxhYmxlPEdldFBheW1lbnRNZXRob2RRdWVyeVsncGF5bWVudE1ldGhvZCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlUGF5bWVudE1ldGhvZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IENyZWF0ZVBheW1lbnRNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDcmVhdGVQYXltZW50TWV0aG9kTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZVBheW1lbnRNZXRob2QgPSAoTm9uTnVsbGFibGU8Q3JlYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uWydjcmVhdGVQYXltZW50TWV0aG9kJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVQYXltZW50TWV0aG9kIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVXBkYXRlUGF5bWVudE1ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IFVwZGF0ZVBheW1lbnRNZXRob2RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlUGF5bWVudE1ldGhvZCA9IChOb25OdWxsYWJsZTxVcGRhdGVQYXltZW50TWV0aG9kTXV0YXRpb25bJ3VwZGF0ZVBheW1lbnRNZXRob2QnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVBheW1lbnRNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBEZWxldGVQYXltZW50TWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gRGVsZXRlUGF5bWVudE1ldGhvZE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVQYXltZW50TWV0aG9kID0gKE5vbk51bGxhYmxlPERlbGV0ZVBheW1lbnRNZXRob2RNdXRhdGlvblsnZGVsZXRlUGF5bWVudE1ldGhvZCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2xvYmFsU2V0dGluZ3Mge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEdsb2JhbFNldHRpbmdzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFNlcnZlckNvbmZpZyA9IChOb25OdWxsYWJsZTxHbG9iYWxTZXR0aW5nc0ZyYWdtZW50WydzZXJ2ZXJDb25maWcnXT4pO1xuICBleHBvcnQgdHlwZSBQZXJtaXNzaW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2xvYmFsU2V0dGluZ3NGcmFnbWVudFsnc2VydmVyQ29uZmlnJ10+KVsncGVybWlzc2lvbnMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBPcmRlclByb2Nlc3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdsb2JhbFNldHRpbmdzRnJhZ21lbnRbJ3NlcnZlckNvbmZpZyddPilbJ29yZGVyUHJvY2VzcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0R2xvYmFsU2V0dGluZ3Mge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRHbG9iYWxTZXR0aW5nc1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEdsb2JhbFNldHRpbmdzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdsb2JhbFNldHRpbmdzID0gKE5vbk51bGxhYmxlPEdldEdsb2JhbFNldHRpbmdzUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVHbG9iYWxTZXR0aW5ncyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZUdsb2JhbFNldHRpbmdzTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlR2xvYmFsU2V0dGluZ3NNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlR2xvYmFsU2V0dGluZ3MgPSAoTm9uTnVsbGFibGU8VXBkYXRlR2xvYmFsU2V0dGluZ3NNdXRhdGlvblsndXBkYXRlR2xvYmFsU2V0dGluZ3MnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEN1c3RvbUZpZWxkQ29uZmlnIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBDdXN0b21GaWVsZENvbmZpZ0ZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBEZXNjcmlwdGlvbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxDdXN0b21GaWVsZENvbmZpZ0ZyYWdtZW50WydkZXNjcmlwdGlvbiddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIExhYmVsID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEN1c3RvbUZpZWxkQ29uZmlnRnJhZ21lbnRbJ2xhYmVsJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTdHJpbmdDdXN0b21GaWVsZCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gU3RyaW5nQ3VzdG9tRmllbGRGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgT3B0aW9ucyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxTdHJpbmdDdXN0b21GaWVsZEZyYWdtZW50WydvcHRpb25zJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgTGFiZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8Tm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnRbJ29wdGlvbnMnXT4pW251bWJlcl0+WydsYWJlbCddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGQge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IExvY2FsZVN0cmluZ0N1c3RvbUZpZWxkRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGV4dEN1c3RvbUZpZWxkIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBUZXh0Q3VzdG9tRmllbGRGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCb29sZWFuQ3VzdG9tRmllbGQge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEJvb2xlYW5DdXN0b21GaWVsZEZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEludEN1c3RvbUZpZWxkIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBJbnRDdXN0b21GaWVsZEZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZsb2F0Q3VzdG9tRmllbGQge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEZsb2F0Q3VzdG9tRmllbGRGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBEYXRlVGltZUN1c3RvbUZpZWxkIHtcbiAgZXhwb3J0IHR5cGUgRnJhZ21lbnQgPSBEYXRlVGltZUN1c3RvbUZpZWxkRnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUmVsYXRpb25DdXN0b21GaWVsZCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gUmVsYXRpb25DdXN0b21GaWVsZEZyYWdtZW50O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEN1c3RvbUZpZWxkcyB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gQ3VzdG9tRmllbGRzRnJhZ21lbnQ7XG4gIGV4cG9ydCB0eXBlIFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdTdHJpbmdDdXN0b21GaWVsZENvbmZpZycgfT4pO1xuICBleHBvcnQgdHlwZSBMb2NhbGVTdHJpbmdDdXN0b21GaWVsZENvbmZpZ0lubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPEN1c3RvbUZpZWxkc0ZyYWdtZW50LCB7IF9fdHlwZW5hbWU/OiAnTG9jYWxlU3RyaW5nQ3VzdG9tRmllbGRDb25maWcnIH0+KTtcbiAgZXhwb3J0IHR5cGUgVGV4dEN1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdUZXh0Q3VzdG9tRmllbGRDb25maWcnIH0+KTtcbiAgZXhwb3J0IHR5cGUgQm9vbGVhbkN1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdCb29sZWFuQ3VzdG9tRmllbGRDb25maWcnIH0+KTtcbiAgZXhwb3J0IHR5cGUgSW50Q3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ0ludEN1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XG4gIGV4cG9ydCB0eXBlIEZsb2F0Q3VzdG9tRmllbGRDb25maWdJbmxpbmVGcmFnbWVudCA9IChEaXNjcmltaW5hdGVVbmlvbjxDdXN0b21GaWVsZHNGcmFnbWVudCwgeyBfX3R5cGVuYW1lPzogJ0Zsb2F0Q3VzdG9tRmllbGRDb25maWcnIH0+KTtcbiAgZXhwb3J0IHR5cGUgRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZ0lubGluZUZyYWdtZW50ID0gKERpc2NyaW1pbmF0ZVVuaW9uPEN1c3RvbUZpZWxkc0ZyYWdtZW50LCB7IF9fdHlwZW5hbWU/OiAnRGF0ZVRpbWVDdXN0b21GaWVsZENvbmZpZycgfT4pO1xuICBleHBvcnQgdHlwZSBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnSW5saW5lRnJhZ21lbnQgPSAoRGlzY3JpbWluYXRlVW5pb248Q3VzdG9tRmllbGRzRnJhZ21lbnQsIHsgX190eXBlbmFtZT86ICdSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnJyB9Pik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0U2VydmVyQ29uZmlnIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0U2VydmVyQ29uZmlnUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0U2VydmVyQ29uZmlnUXVlcnk7XG4gIGV4cG9ydCB0eXBlIEdsb2JhbFNldHRpbmdzID0gKE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPik7XG4gIGV4cG9ydCB0eXBlIFNlcnZlckNvbmZpZyA9IChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KTtcbiAgZXhwb3J0IHR5cGUgT3JkZXJQcm9jZXNzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnb3JkZXJQcm9jZXNzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUGVybWlzc2lvbnMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydwZXJtaXNzaW9ucyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEN1c3RvbUZpZWxkQ29uZmlnID0gKE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pO1xuICBleHBvcnQgdHlwZSBBZGRyZXNzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQWRkcmVzcyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEFkbWluaXN0cmF0b3IgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydBZG1pbmlzdHJhdG9yJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgQXNzZXQgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydBc3NldCddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIENoYW5uZWwgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydDaGFubmVsJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgQ29sbGVjdGlvbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ0NvbGxlY3Rpb24nXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBDb3VudHJ5ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQ291bnRyeSddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEN1c3RvbWVyID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQ3VzdG9tZXInXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBDdXN0b21lckdyb3VwID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnQ3VzdG9tZXJHcm91cCddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEZhY2V0ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnRmFjZXQnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBGYWNldFZhbHVlID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnRmFjZXRWYWx1ZSddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIEZ1bGZpbGxtZW50ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnRnVsZmlsbG1lbnQnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBfR2xvYmFsU2V0dGluZ3MgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydHbG9iYWxTZXR0aW5ncyddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIE9yZGVyID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnT3JkZXInXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBPcmRlckxpbmUgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydPcmRlckxpbmUnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBQYXltZW50TWV0aG9kID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnUGF5bWVudE1ldGhvZCddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFByb2R1Y3QgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydQcm9kdWN0J10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUHJvZHVjdE9wdGlvbiA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1Byb2R1Y3RPcHRpb24nXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBQcm9kdWN0T3B0aW9uR3JvdXAgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydQcm9kdWN0T3B0aW9uR3JvdXAnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBQcm9kdWN0VmFyaWFudCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1Byb2R1Y3RWYXJpYW50J10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgUHJvbW90aW9uID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnUHJvbW90aW9uJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdNZXRob2QgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydTaGlwcGluZ01ldGhvZCddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFRheENhdGVnb3J5ID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnVGF4Q2F0ZWdvcnknXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBUYXhSYXRlID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNlcnZlckNvbmZpZ1F1ZXJ5WydnbG9iYWxTZXR0aW5ncyddPilbJ3NlcnZlckNvbmZpZyddPilbJ2N1c3RvbUZpZWxkQ29uZmlnJ10+KVsnVGF4UmF0ZSddPilbbnVtYmVyXT47XG4gIGV4cG9ydCB0eXBlIFVzZXIgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0U2VydmVyQ29uZmlnUXVlcnlbJ2dsb2JhbFNldHRpbmdzJ10+KVsnc2VydmVyQ29uZmlnJ10+KVsnY3VzdG9tRmllbGRDb25maWcnXT4pWydVc2VyJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgWm9uZSA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTZXJ2ZXJDb25maWdRdWVyeVsnZ2xvYmFsU2V0dGluZ3MnXT4pWydzZXJ2ZXJDb25maWcnXT4pWydjdXN0b21GaWVsZENvbmZpZyddPilbJ1pvbmUnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEpvYkluZm8ge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IEpvYkluZm9GcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRKb2JJbmZvIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Sm9iSW5mb1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEpvYkluZm9RdWVyeTtcbiAgZXhwb3J0IHR5cGUgSm9iID0gKE5vbk51bGxhYmxlPEdldEpvYkluZm9RdWVyeVsnam9iJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRBbGxKb2JzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0QWxsSm9ic1F1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldEFsbEpvYnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgSm9icyA9IChOb25OdWxsYWJsZTxHZXRBbGxKb2JzUXVlcnlbJ2pvYnMnXT4pO1xuICBleHBvcnQgdHlwZSBJdGVtcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8R2V0QWxsSm9ic1F1ZXJ5Wydqb2JzJ10+KVsnaXRlbXMnXT4pW251bWJlcl0+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdldEpvYnNCeUlkIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Sm9ic0J5SWRRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRKb2JzQnlJZFF1ZXJ5O1xuICBleHBvcnQgdHlwZSBKb2JzQnlJZCA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRKb2JzQnlJZFF1ZXJ5Wydqb2JzQnlJZCddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0Sm9iUXVldWVMaXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0Sm9iUXVldWVMaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0Sm9iUXVldWVMaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIEpvYlF1ZXVlcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRKb2JRdWV1ZUxpc3RRdWVyeVsnam9iUXVldWVzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDYW5jZWxKb2Ige1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDYW5jZWxKb2JNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBDYW5jZWxKb2JNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgQ2FuY2VsSm9iID0gKE5vbk51bGxhYmxlPENhbmNlbEpvYk11dGF0aW9uWydjYW5jZWxKb2InXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJlaW5kZXgge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBSZWluZGV4TXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gUmVpbmRleE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBSZWluZGV4ID0gKE5vbk51bGxhYmxlPFJlaW5kZXhNdXRhdGlvblsncmVpbmRleCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0UGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IEdldFBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRQZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzUXVlcnk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlcyB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXNNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBSdW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIFJ1blBlbmRpbmdTZWFyY2hJbmRleFVwZGF0ZXMgPSAoTm9uTnVsbGFibGU8UnVuUGVuZGluZ1NlYXJjaEluZGV4VXBkYXRlc011dGF0aW9uWydydW5QZW5kaW5nU2VhcmNoSW5kZXhVcGRhdGVzJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb25maWd1cmFibGVPcGVyYXRpb24ge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBBcmdzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbkZyYWdtZW50WydhcmdzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb25maWd1cmFibGVPcGVyYXRpb25EZWYge1xuICBleHBvcnQgdHlwZSBGcmFnbWVudCA9IENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50O1xuICBleHBvcnQgdHlwZSBBcmdzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPENvbmZpZ3VyYWJsZU9wZXJhdGlvbkRlZkZyYWdtZW50WydhcmdzJ10+KVtudW1iZXJdPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFcnJvclJlc3VsdCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gRXJyb3JSZXN1bHRGcmFnbWVudDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTaGlwcGluZ01ldGhvZCB7XG4gIGV4cG9ydCB0eXBlIEZyYWdtZW50ID0gU2hpcHBpbmdNZXRob2RGcmFnbWVudDtcbiAgZXhwb3J0IHR5cGUgQ2hlY2tlciA9IChOb25OdWxsYWJsZTxTaGlwcGluZ01ldGhvZEZyYWdtZW50WydjaGVja2VyJ10+KTtcbiAgZXhwb3J0IHR5cGUgQ2FsY3VsYXRvciA9IChOb25OdWxsYWJsZTxTaGlwcGluZ01ldGhvZEZyYWdtZW50WydjYWxjdWxhdG9yJ10+KTtcbiAgZXhwb3J0IHR5cGUgVHJhbnNsYXRpb25zID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFNoaXBwaW5nTWV0aG9kRnJhZ21lbnRbJ3RyYW5zbGF0aW9ucyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0U2hpcHBpbmdNZXRob2RMaXN0IHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gR2V0U2hpcHBpbmdNZXRob2RMaXN0UXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gR2V0U2hpcHBpbmdNZXRob2RMaXN0UXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kcyA9IChOb25OdWxsYWJsZTxHZXRTaGlwcGluZ01ldGhvZExpc3RRdWVyeVsnc2hpcHBpbmdNZXRob2RzJ10+KTtcbiAgZXhwb3J0IHR5cGUgSXRlbXMgPSBOb25OdWxsYWJsZTwoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kTGlzdFF1ZXJ5WydzaGlwcGluZ01ldGhvZHMnXT4pWydpdGVtcyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgR2V0U2hpcHBpbmdNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRTaGlwcGluZ01ldGhvZFF1ZXJ5VmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBRdWVyeSA9IEdldFNoaXBwaW5nTWV0aG9kUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kUXVlcnlbJ3NoaXBwaW5nTWV0aG9kJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnMge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeVZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgUXVlcnkgPSBHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeTtcbiAgZXhwb3J0IHR5cGUgU2hpcHBpbmdFbGlnaWJpbGl0eUNoZWNrZXJzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9uc1F1ZXJ5WydzaGlwcGluZ0VsaWdpYmlsaXR5Q2hlY2tlcnMnXT4pW251bWJlcl0+O1xuICBleHBvcnQgdHlwZSBTaGlwcGluZ0NhbGN1bGF0b3JzID0gTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPEdldFNoaXBwaW5nTWV0aG9kT3BlcmF0aW9uc1F1ZXJ5WydzaGlwcGluZ0NhbGN1bGF0b3JzJ10+KVtudW1iZXJdPjtcbiAgZXhwb3J0IHR5cGUgRnVsZmlsbG1lbnRIYW5kbGVycyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxHZXRTaGlwcGluZ01ldGhvZE9wZXJhdGlvbnNRdWVyeVsnZnVsZmlsbG1lbnRIYW5kbGVycyddPilbbnVtYmVyXT47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ3JlYXRlU2hpcHBpbmdNZXRob2Qge1xuICBleHBvcnQgdHlwZSBWYXJpYWJsZXMgPSBDcmVhdGVTaGlwcGluZ01ldGhvZE11dGF0aW9uVmFyaWFibGVzO1xuICBleHBvcnQgdHlwZSBNdXRhdGlvbiA9IENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb247XG4gIGV4cG9ydCB0eXBlIENyZWF0ZVNoaXBwaW5nTWV0aG9kID0gKE5vbk51bGxhYmxlPENyZWF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25bJ2NyZWF0ZVNoaXBwaW5nTWV0aG9kJ10+KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBVcGRhdGVTaGlwcGluZ01ldGhvZCB7XG4gIGV4cG9ydCB0eXBlIFZhcmlhYmxlcyA9IFVwZGF0ZVNoaXBwaW5nTWV0aG9kTXV0YXRpb25WYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIE11dGF0aW9uID0gVXBkYXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvbjtcbiAgZXhwb3J0IHR5cGUgVXBkYXRlU2hpcHBpbmdNZXRob2QgPSAoTm9uTnVsbGFibGU8VXBkYXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvblsndXBkYXRlU2hpcHBpbmdNZXRob2QnXT4pO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIERlbGV0ZVNoaXBwaW5nTWV0aG9kIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gRGVsZXRlU2hpcHBpbmdNZXRob2RNdXRhdGlvblZhcmlhYmxlcztcbiAgZXhwb3J0IHR5cGUgTXV0YXRpb24gPSBEZWxldGVTaGlwcGluZ01ldGhvZE11dGF0aW9uO1xuICBleHBvcnQgdHlwZSBEZWxldGVTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxEZWxldGVTaGlwcGluZ01ldGhvZE11dGF0aW9uWydkZWxldGVTaGlwcGluZ01ldGhvZCddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGVzdFNoaXBwaW5nTWV0aG9kIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVGVzdFNoaXBwaW5nTWV0aG9kUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gVGVzdFNoaXBwaW5nTWV0aG9kUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFRlc3RTaGlwcGluZ01ldGhvZCA9IChOb25OdWxsYWJsZTxUZXN0U2hpcHBpbmdNZXRob2RRdWVyeVsndGVzdFNoaXBwaW5nTWV0aG9kJ10+KTtcbiAgZXhwb3J0IHR5cGUgUXVvdGUgPSAoTm9uTnVsbGFibGU8KE5vbk51bGxhYmxlPFRlc3RTaGlwcGluZ01ldGhvZFF1ZXJ5Wyd0ZXN0U2hpcHBpbmdNZXRob2QnXT4pWydxdW90ZSddPik7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzIHtcbiAgZXhwb3J0IHR5cGUgVmFyaWFibGVzID0gVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnlWYXJpYWJsZXM7XG4gIGV4cG9ydCB0eXBlIFF1ZXJ5ID0gVGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzUXVlcnk7XG4gIGV4cG9ydCB0eXBlIFRlc3RFbGlnaWJsZVNoaXBwaW5nTWV0aG9kcyA9IE5vbk51bGxhYmxlPChOb25OdWxsYWJsZTxUZXN0RWxpZ2libGVTaGlwcGluZ01ldGhvZHNRdWVyeVsndGVzdEVsaWdpYmxlU2hpcHBpbmdNZXRob2RzJ10+KVtudW1iZXJdPjtcbn1cbiJdfQ==
|